@budibase/backend-core 3.37.0 → 3.37.2
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.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +2 -2
- package/dist/src/environment.js +1 -1
- package/dist/src/environment.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
attempted value: ${o}
|
|
4
4
|
`+(a!==o?`result of cast: ${a}`:""))}return i}_cast(e,r){let n=e===void 0?e:this.transforms.reduce((i,o)=>o.call(this,i,e,this),e);return n===void 0&&(n=this.getDefault()),n}_validate(e,r={},n){let{sync:i,path:o,from:a=[],originalValue:u=e,strict:c=this.spec.strict,abortEarly:l=this.spec.abortEarly}=r,d=e;c||(d=this._cast(d,Je({assert:!1},r)));let f={value:d,path:o,options:r,originalValue:u,schema:this,label:this.spec.label,sync:i,from:a},E=[];this._typeError&&E.push(this._typeError),this._whitelistError&&E.push(this._whitelistError),this._blacklistError&&E.push(this._blacklistError),(0,tE.default)({args:f,value:d,path:o,sync:i,tests:E,endEarly:l},p=>{if(p)return void n(p,d);(0,tE.default)({tests:this.tests,args:f,path:o,sync:i,value:d,endEarly:l},n)})}validate(e,r,n){let i=this.resolve(Je({},r,{value:e}));return typeof n=="function"?i._validate(e,r,n):new Promise((o,a)=>i._validate(e,r,(u,c)=>{u?a(u):o(c)}))}validateSync(e,r){let n=this.resolve(Je({},r,{value:e})),i;return n._validate(e,Je({},r,{sync:!0}),(o,a)=>{if(o)throw o;i=a}),i}isValid(e,r){return this.validate(e,r).then(()=>!0,n=>{if(nE.default.isError(n))return!1;throw n})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(n){if(nE.default.isError(n))return!1;throw n}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,eE.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Nn.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Nn.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(n){return this.schema._isPresent(n)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Nn.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let n=this.clone(),i=(0,ca.default)(r),o=r.exclusive||r.name&&n.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(n.exclusiveTests[r.name]=!!r.exclusive),n.tests=n.tests.filter(a=>!(a.OPTIONS.name===r.name&&(o||a.OPTIONS.test===i.OPTIONS.test))),n.tests.push(i),n}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let n=this.clone(),i=(0,Dw.default)(e).map(o=>new ww.default(o));return i.forEach(o=>{o.isSibling&&n.deps.push(o.key)}),n.conditions.push(new Iw.default(i,r)),n}typeError(e){var r=this.clone();return r._typeError=(0,ca.default)({message:e,name:"typeError",test(n){return n!==void 0&&!this.schema.isType(n)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Nn.mixed.oneOf){var n=this.clone();return e.forEach(i=>{n._whitelist.add(i),n._blacklist.delete(i)}),n._whitelistError=(0,ca.default)({message:r,name:"oneOf",test(i){if(i===void 0)return!0;let o=this.schema._whitelist;return o.has(i,this.resolve)?!0:this.createError({params:{values:o.toArray().join(", ")}})}}),n}notOneOf(e,r=Nn.mixed.notOneOf){var n=this.clone();return e.forEach(i=>{n._blacklist.add(i),n._whitelist.delete(i)}),n._blacklistError=(0,ca.default)({message:r,name:"notOneOf",test(i){let o=this.schema._blacklist;return o.has(i,this.resolve)?this.createError({params:{values:o.toArray().join(", ")}}):!0}}),n}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:n}=e.spec;return{meta:n,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(o=>({name:o.OPTIONS.name,params:o.OPTIONS.params})).filter((o,a,u)=>u.findIndex(c=>c.name===o.name)===a)}}};la.default=ct;ct.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])ct.prototype[`${t}At`]=function(e,r,n={}){let{parent:i,parentPath:o,schema:a}=(0,Rw.getIn)(this,e,r,n.context);return a[t](i&&i[o],Je({},n,{parent:i,path:e}))};for(let t of["equals","is"])ct.prototype[t]=ct.prototype.oneOf;for(let t of["not","nope"])ct.prototype[t]=ct.prototype.notOneOf;ct.prototype.optional=ct.prototype.notRequired});var oE=q(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.create=sE;Yi.default=void 0;var Cw=bw(Lt());function bw(t){return t&&t.__esModule?t:{default:t}}s(bw,"_interopRequireDefault");var Al=Cw.default,xw=Al;Yi.default=xw;function sE(){return new Al}s(sE,"create");sE.prototype=Al.prototype});var Un=q(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.default=void 0;var vw=s(t=>t==null,"_default");da.default=vw});var dE=q(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.create=lE;Ji.default=void 0;var Pw=cE(Lt()),aE=Nt(),uE=cE(Un());function cE(t){return t&&t.__esModule?t:{default:t}}s(cE,"_interopRequireDefault");function lE(){return new zi}s(lE,"create");var zi=class extends Pw.default{static{s(this,"BooleanSchema")}constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=aE.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,uE.default)(r)||r===!0}})}isFalse(e=aE.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,uE.default)(r)||r===!1}})}};Ji.default=zi;lE.prototype=zi.prototype});var mE=q(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.create=pE;Zi.default=void 0;var wt=Nt(),kt=fE(Un()),Nw=fE(Lt());function fE(t){return t&&t.__esModule?t:{default:t}}s(fE,"_interopRequireDefault");var Uw=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,Lw=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,kw=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Mw=s(t=>(0,kt.default)(t)||t===t.trim(),"isTrimmed"),Fw={}.toString();function pE(){return new Xi}s(pE,"create");var Xi=class extends Nw.default{static{s(this,"StringSchema")}constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===Fw?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=wt.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,kt.default)(n)||n.length===this.resolve(e)}})}min(e,r=wt.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,kt.default)(n)||n.length>=this.resolve(e)}})}max(e,r=wt.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(n){return(0,kt.default)(n)||n.length<=this.resolve(e)}})}matches(e,r){let n=!1,i,o;return r&&(typeof r=="object"?{excludeEmptyString:n=!1,message:i,name:o}=r:i=r),this.test({name:o||"matches",message:i||wt.string.matches,params:{regex:e},test:a=>(0,kt.default)(a)||a===""&&n||a.search(e)!==-1})}email(e=wt.string.email){return this.matches(Uw,{name:"email",message:e,excludeEmptyString:!0})}url(e=wt.string.url){return this.matches(Lw,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=wt.string.uuid){return this.matches(kw,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=wt.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:Mw})}lowercase(e=wt.string.lowercase){return this.transform(r=>(0,kt.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,kt.default)(r)||r===r.toLowerCase()})}uppercase(e=wt.string.uppercase){return this.transform(r=>(0,kt.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,kt.default)(r)||r===r.toUpperCase()})}};Zi.default=Xi;pE.prototype=Xi.prototype});var gE=q(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.create=EE;ts.default=void 0;var Vr=Nt(),qr=hE(Un()),Bw=hE(Lt());function hE(t){return t&&t.__esModule?t:{default:t}}s(hE,"_interopRequireDefault");var Ww=s(t=>t!=+t,"isNaN");function EE(){return new es}s(EE,"create");var es=class extends Bw.default{static{s(this,"NumberSchema")}constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!Ww(e)}min(e,r=Vr.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,qr.default)(n)||n>=this.resolve(e)}})}max(e,r=Vr.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,qr.default)(n)||n<=this.resolve(e)}})}lessThan(e,r=Vr.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(n){return(0,qr.default)(n)||n<this.resolve(e)}})}moreThan(e,r=Vr.number.moreThan){return this.test({message:r,name:"min",exclusive:!0,params:{more:e},test(n){return(0,qr.default)(n)||n>this.resolve(e)}})}positive(e=Vr.number.positive){return this.moreThan(0,e)}negative(e=Vr.number.negative){return this.lessThan(0,e)}integer(e=Vr.number.integer){return this.test({name:"integer",message:e,test:r=>(0,qr.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,qr.default)(e)?e:e|0)}round(e){var r,n=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(n.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+n.join(", "));return this.transform(i=>(0,qr.default)(i)?i:Math[e](i))}};ts.default=es;EE.prototype=es.prototype});var yE=q(_l=>{"use strict";Object.defineProperty(_l,"__esModule",{value:!0});_l.default=$w;var Gw=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function $w(t){var e=[1,4,5,6,7,10,11],r=0,n,i;if(i=Gw.exec(t)){for(var o=0,a;a=e[o];++o)i[a]=+i[a]||0;i[2]=(+i[2]||1)-1,i[3]=+i[3]||1,i[7]=i[7]?String(i[7]).substr(0,3):0,(i[8]===void 0||i[8]==="")&&(i[9]===void 0||i[9]==="")?n=+new Date(i[1],i[2],i[3],i[4],i[5],i[6],i[7]):(i[8]!=="Z"&&i[9]!==void 0&&(r=i[10]*60+i[11],i[9]==="+"&&(r=0-r)),n=Date.UTC(i[1],i[2],i[3],i[4],i[5]+r,i[6],i[7]))}else n=Date.parse?Date.parse(t):NaN;return n}s($w,"parseIsoDate")});var AE=q(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.create=Il;rs.default=void 0;var Vw=fa(yE()),TE=Nt(),SE=fa(Un()),qw=fa($r()),Kw=fa(Lt());function fa(t){return t&&t.__esModule?t:{default:t}}s(fa,"_interopRequireDefault");var Ol=new Date(""),Qw=s(t=>Object.prototype.toString.call(t)==="[object Date]","isDate");function Il(){return new Ln}s(Il,"create");var Ln=class extends Kw.default{static{s(this,"DateSchema")}constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,Vw.default)(e),isNaN(e)?Ol:new Date(e))})})}_typeCheck(e){return Qw(e)&&!isNaN(e.getTime())}prepareParam(e,r){let n;if(qw.default.isRef(e))n=e;else{let i=this.cast(e);if(!this._typeCheck(i))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);n=i}return n}min(e,r=TE.date.min){let n=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,SE.default)(i)||i>=this.resolve(n)}})}max(e,r=TE.date.max){var n=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,SE.default)(i)||i<=this.resolve(n)}})}};rs.default=Ln;Ln.INVALID_DATE=Ol;Il.prototype=Ln.prototype;Il.INVALID_DATE=Ol});var OE=q((zB,wl)=>{"use strict";wl.exports=function(t){return _E(jw(t),t)};wl.exports.array=_E;function _E(t,e){var r=t.length,n=new Array(r),i={},o=r,a=Hw(e),u=Yw(t);for(e.forEach(function(l){if(!u.has(l[0])||!u.has(l[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});o--;)i[o]||c(t[o],o,new Set);return n;function c(l,d,f){if(f.has(l)){var E;try{E=", node was:"+JSON.stringify(l)}catch{E=""}throw new Error("Cyclic dependency"+E)}if(!u.has(l))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(l));if(!i[d]){i[d]=!0;var p=a.get(l)||new Set;if(p=Array.from(p),d=p.length){f.add(l);do{var T=p[--d];c(T,u.get(T),f)}while(d);f.delete(l)}n[--r]=l}}}s(_E,"toposort");function jw(t){for(var e=new Set,r=0,n=t.length;r<n;r++){var i=t[r];e.add(i[0]),e.add(i[1])}return Array.from(e)}s(jw,"uniqueNodes");function Hw(t){for(var e=new Map,r=0,n=t.length;r<n;r++){var i=t[r];e.has(i[0])||e.set(i[0],new Set),e.has(i[1])||e.set(i[1],new Set),e.get(i[0]).add(i[1])}return e}s(Hw,"makeOutgoingEdges");function Yw(t){for(var e=new Map,r=0,n=t.length;r<n;r++)e.set(t[r],r);return e}s(Yw,"makeNodesHash")});var IE=q(Rl=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});Rl.default=tR;var zw=pa(require("lodash/has")),Jw=pa(OE()),Xw=Ki(),Zw=pa($r()),eR=pa(Pn());function pa(t){return t&&t.__esModule?t:{default:t}}s(pa,"_interopRequireDefault");function tR(t,e=[]){let r=[],n=[];function i(o,a){var u=(0,Xw.split)(o)[0];~n.indexOf(u)||n.push(u),~e.indexOf(`${a}-${u}`)||r.push([a,u])}s(i,"addNode");for(let o in t)if((0,zw.default)(t,o)){let a=t[o];~n.indexOf(o)||n.push(o),Zw.default.isRef(a)&&a.isSibling?i(a.path,o):(0,eR.default)(a)&&"deps"in a&&a.deps.forEach(u=>i(u,o))}return Jw.default.array(n,r).reverse()}s(tR,"sortFields")});var RE=q(Dl=>{"use strict";Object.defineProperty(Dl,"__esModule",{value:!0});Dl.default=rR;function wE(t,e){let r=1/0;return t.some((n,i)=>{var o;if(((o=e.path)==null?void 0:o.indexOf(n))!==-1)return r=i,!0}),r}s(wE,"findIndex");function rR(t){return(e,r)=>wE(t,e)-wE(t,r)}s(rR,"sortByKeyOrder")});var NE=q(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.create=PE;is.default=void 0;var DE=Rt(require("lodash/has")),CE=Rt(require("lodash/snakeCase")),nR=Rt(require("lodash/camelCase")),iR=Rt(require("lodash/mapKeys")),sR=Rt(require("lodash/mapValues")),oR=Ki(),bE=Nt(),aR=Rt(IE()),vE=Rt(RE()),uR=Rt(ia()),cR=Rt(Wr()),Cl=Rt(Lt());function Rt(t){return t&&t.__esModule?t:{default:t}}s(Rt,"_interopRequireDefault");function kn(){return kn=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},kn.apply(this,arguments)}s(kn,"_extends");var xE=s(t=>Object.prototype.toString.call(t)==="[object Object]","isObject");function lR(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(n=>r.indexOf(n)===-1)}s(lR,"unknown");var dR=(0,vE.default)([]),ns=class extends Cl.default{static{s(this,"ObjectSchema")}constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=dR,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(s(function(n){if(typeof n=="string")try{n=JSON.parse(n)}catch{n=null}return this.isType(n)?n:null},"coerce")),e&&this.shape(e)})}_typeCheck(e){return xE(e)||typeof e=="function"}_cast(e,r={}){var n;let i=super._cast(e,r);if(i===void 0)return this.getDefault();if(!this._typeCheck(i))return i;let o=this.fields,a=(n=r.stripUnknown)!=null?n:this.spec.noUnknown,u=this._nodes.concat(Object.keys(i).filter(f=>this._nodes.indexOf(f)===-1)),c={},l=kn({},r,{parent:c,__validating:r.__validating||!1}),d=!1;for(let f of u){let E=o[f],p=(0,DE.default)(i,f);if(E){let T,h=i[f];l.path=(r.path?`${r.path}.`:"")+f,E=E.resolve({value:h,context:r.context,parent:c});let g="spec"in E?E.spec:void 0,y=g?.strict;if(g?.strip){d=d||f in i;continue}T=!r.__validating||!y?E.cast(i[f],l):i[f],T!==void 0&&(c[f]=T)}else p&&!a&&(c[f]=i[f]);c[f]!==i[f]&&(d=!0)}return d?c:i}_validate(e,r={},n){let i=[],{sync:o,from:a=[],originalValue:u=e,abortEarly:c=this.spec.abortEarly,recursive:l=this.spec.recursive}=r;a=[{schema:this,value:u},...a],r.__validating=!0,r.originalValue=u,r.from=a,super._validate(e,r,(d,f)=>{if(d){if(!cR.default.isError(d)||c)return void n(d,f);i.push(d)}if(!l||!xE(f)){n(i[0]||null,f);return}u=u||f;let E=this._nodes.map(p=>(T,h)=>{let g=p.indexOf(".")===-1?(r.path?`${r.path}.`:"")+p:`${r.path||""}["${p}"]`,y=this.fields[p];if(y&&"validate"in y){y.validate(f[p],kn({},r,{path:g,from:a,strict:!0,parent:f,originalValue:u[p]}),h);return}h(null)});(0,uR.default)({sync:o,tests:E,value:f,errors:i,endEarly:c,sort:this._sortErrors,path:r.path},n)})}clone(e){let r=super.clone(e);return r.fields=kn({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),n=r.fields;for(let[i,o]of Object.entries(this.fields)){let a=n[i];a===void 0?n[i]=o:a instanceof Cl.default&&o instanceof Cl.default&&(n[i]=o.concat(a))}return r.withMutation(()=>r.shape(n))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let n=this.fields[r];e[r]="default"in n?n.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let n=this.clone(),i=Object.assign(n.fields,e);if(n.fields=i,n._sortErrors=(0,vE.default)(Object.keys(i)),r.length){Array.isArray(r[0])||(r=[r]);let o=r.map(([a,u])=>`${a}-${u}`);n._excludedEdges=n._excludedEdges.concat(o)}return n._nodes=(0,aR.default)(i,n._excludedEdges),n}pick(e){let r={};for(let n of e)this.fields[n]&&(r[n]=this.fields[n]);return this.clone().withMutation(n=>(n.fields={},n.shape(r)))}omit(e){let r=this.clone(),n=r.fields;r.fields={};for(let i of e)delete n[i];return r.withMutation(()=>r.shape(n))}from(e,r,n){let i=(0,oR.getter)(e,!0);return this.transform(o=>{if(o==null)return o;let a=o;return(0,DE.default)(o,e)&&(a=kn({},o),n||delete a[e],a[r]=i(o)),a})}noUnknown(e=!0,r=bE.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let n=this.test({name:"noUnknown",exclusive:!0,message:r,test(i){if(i==null)return!0;let o=lR(this.schema,i);return!e||o.length===0||this.createError({params:{unknown:o.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,r=bE.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,iR.default)(r,(n,i)=>e(i)))}camelCase(){return this.transformKeys(nR.default)}snakeCase(){return this.transformKeys(CE.default)}constantCase(){return this.transformKeys(e=>(0,CE.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,sR.default)(this.fields,r=>r.describe()),e}};is.default=ns;function PE(t){return new ns(t)}s(PE,"create");PE.prototype=ns.prototype});var LE=q(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.create=UE;os.default=void 0;var bl=Mn(Un()),fR=Mn(Pn()),pR=Mn(qi()),xl=Nt(),mR=Mn(ia()),hR=Mn(Wr()),ER=Mn(Lt());function Mn(t){return t&&t.__esModule?t:{default:t}}s(Mn,"_interopRequireDefault");function ma(){return ma=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},ma.apply(this,arguments)}s(ma,"_extends");function UE(t){return new ss(t)}s(UE,"create");var ss=class extends ER.default{static{s(this,"ArraySchema")}constructor(e){super({type:"array"}),this.innerType=e,this.withMutation(()=>{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch{r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let n=super._cast(e,r);if(!this._typeCheck(n)||!this.innerType)return n;let i=!1,o=n.map((a,u)=>{let c=this.innerType.cast(a,ma({},r,{path:`${r.path||""}[${u}]`}));return c!==a&&(i=!0),c});return i?o:n}_validate(e,r={},n){var i,o;let a=[],u=r.sync,c=r.path,l=this.innerType,d=(i=r.abortEarly)!=null?i:this.spec.abortEarly,f=(o=r.recursive)!=null?o:this.spec.recursive,E=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(p,T)=>{if(p){if(!hR.default.isError(p)||d)return void n(p,T);a.push(p)}if(!f||!l||!this._typeCheck(T)){n(a[0]||null,T);return}E=E||T;let h=new Array(T.length);for(let g=0;g<T.length;g++){let y=T[g],I=`${r.path||""}[${g}]`,O=ma({},r,{path:I,strict:!0,parent:T,index:g,originalValue:E[g]});h[g]=(w,S)=>l.validate(y,O,S)}(0,mR.default)({sync:u,path:c,value:T,errors:a,endEarly:d,tests:h},n)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,fR.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,pR.default)(e));return r.innerType=e,r}length(e,r=xl.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,bl.default)(n)||n.length===this.resolve(e)}})}min(e,r){return r=r||xl.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,bl.default)(n)||n.length>=this.resolve(e)}})}max(e,r){return r=r||xl.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,bl.default)(n)||n.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(n,i,o)=>!e(n,i,o):n=>!!n;return this.transform(n=>n!=null?n.filter(r):n)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};os.default=ss;UE.prototype=ss.prototype});var kE=q(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.create=TR;as.default=void 0;var gR=yR(Pn());function yR(t){return t&&t.__esModule?t:{default:t}}s(yR,"_interopRequireDefault");function TR(t){return new ha(t)}s(TR,"create");var ha=class{static{s(this,"Lazy")}constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,n={})=>{let i=this.builder(r,n);if(!(0,gR.default)(i))throw new TypeError("lazy() functions must return a valid schema");return i.resolve(n)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,n){return this._resolve(e,r).validate(e,r,n)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,n){return this._resolve(r,n).validateAt(e,r,n)}validateSyncAt(e,r,n){return this._resolve(r,n).validateSyncAt(e,r,n)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},SR=ha;as.default=SR});var ME=q(vl=>{"use strict";Object.defineProperty(vl,"__esModule",{value:!0});vl.default=OR;var AR=_R(Nt());function _R(t){return t&&t.__esModule?t:{default:t}}s(_R,"_interopRequireDefault");function OR(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{AR.default[e][r]=t[e][r]})})}s(OR,"setLocale")});var Nl=q(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.addMethod=xR;Object.defineProperty(ne,"MixedSchema",{enumerable:!0,get:function(){return FE.default}});Object.defineProperty(ne,"mixed",{enumerable:!0,get:function(){return FE.create}});Object.defineProperty(ne,"BooleanSchema",{enumerable:!0,get:function(){return Pl.default}});Object.defineProperty(ne,"bool",{enumerable:!0,get:function(){return Pl.create}});Object.defineProperty(ne,"boolean",{enumerable:!0,get:function(){return Pl.create}});Object.defineProperty(ne,"StringSchema",{enumerable:!0,get:function(){return BE.default}});Object.defineProperty(ne,"string",{enumerable:!0,get:function(){return BE.create}});Object.defineProperty(ne,"NumberSchema",{enumerable:!0,get:function(){return WE.default}});Object.defineProperty(ne,"number",{enumerable:!0,get:function(){return WE.create}});Object.defineProperty(ne,"DateSchema",{enumerable:!0,get:function(){return GE.default}});Object.defineProperty(ne,"date",{enumerable:!0,get:function(){return GE.create}});Object.defineProperty(ne,"ObjectSchema",{enumerable:!0,get:function(){return $E.default}});Object.defineProperty(ne,"object",{enumerable:!0,get:function(){return $E.create}});Object.defineProperty(ne,"ArraySchema",{enumerable:!0,get:function(){return VE.default}});Object.defineProperty(ne,"array",{enumerable:!0,get:function(){return VE.create}});Object.defineProperty(ne,"ref",{enumerable:!0,get:function(){return IR.create}});Object.defineProperty(ne,"lazy",{enumerable:!0,get:function(){return wR.create}});Object.defineProperty(ne,"ValidationError",{enumerable:!0,get:function(){return RR.default}});Object.defineProperty(ne,"reach",{enumerable:!0,get:function(){return DR.default}});Object.defineProperty(ne,"isSchema",{enumerable:!0,get:function(){return qE.default}});Object.defineProperty(ne,"setLocale",{enumerable:!0,get:function(){return CR.default}});Object.defineProperty(ne,"BaseSchema",{enumerable:!0,get:function(){return bR.default}});var FE=Kr(oE()),Pl=Kr(dE()),BE=Kr(mE()),WE=Kr(gE()),GE=Kr(AE()),$E=Kr(NE()),VE=Kr(LE()),IR=$r(),wR=kE(),RR=us(Wr()),DR=us(Tl()),qE=us(Pn()),CR=us(ME()),bR=us(Lt());function us(t){return t&&t.__esModule?t:{default:t}}s(us,"_interopRequireDefault");function KE(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return KE=s(function(){return t},"_getRequireWildcardCache"),t}s(KE,"_getRequireWildcardCache");function Kr(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=KE();if(e&&e.has(t))return e.get(t);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var o=n?Object.getOwnPropertyDescriptor(t,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=t[i]}return r.default=t,e&&e.set(t,r),r}s(Kr,"_interopRequireWildcard");function xR(t,e,r){if(!t||!(0,qE.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}s(xR,"addMethod")});var QE=q(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var Ul=kl();Ll.default=()=>{(0,Ul.registerOptionPreset)("npm-node-cron",{presetId:"npm-node-cron",useSeconds:!0,useYears:!1,useAliases:!0,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:0,maxValue:11},daysOfWeek:{minValue:0,maxValue:6},years:{minValue:1970,maxValue:2099}}),(0,Ul.registerOptionPreset)("aws-cloud-watch",{presetId:"aws-cloud-watch",useSeconds:!1,useYears:!0,useAliases:!0,useBlankDay:!0,allowOnlyOneBlankDayField:!0,mustHaveBlankDayField:!0,useLastDayOfMonth:!0,useLastDayOfWeek:!0,useNearestWeekday:!0,useNthWeekdayOfMonth:!0,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:1,maxValue:12},daysOfWeek:{minValue:1,maxValue:7},years:{minValue:1970,maxValue:2199}}),(0,Ul.registerOptionPreset)("npm-cron-schedule",{presetId:"npm-cron-schedule",useSeconds:!0,useYears:!1,useAliases:!0,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:1,maxValue:12},daysOfWeek:{minValue:0,maxValue:7},years:{minValue:1970,maxValue:2099}})}});var kl=q(Ae=>{"use strict";var vR=Ae&&Ae.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),PR=Ae&&Ae.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),NR=Ae&&Ae.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&vR(e,t,r);return PR(e,t),e},UR=Ae&&Ae.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.validateOptions=Ae.registerOptionPreset=Ae.getOptionPresets=Ae.getOptionPreset=void 0;var b=NR(Nl());Nl();var cs=at(),LR=UR(QE());ut();var Qr={default:{presetId:"default",useSeconds:!1,useYears:!1,useAliases:!1,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:0,maxValue:31},months:{minValue:0,maxValue:12},daysOfWeek:{minValue:0,maxValue:7},years:{minValue:1970,maxValue:2099}}},jE=b.object({presetId:b.string().required(),useSeconds:b.boolean().required(),useYears:b.boolean().required(),useAliases:b.boolean(),useBlankDay:b.boolean().required(),allowOnlyOneBlankDayField:b.boolean().required(),mustHaveBlankDayField:b.boolean(),useLastDayOfMonth:b.boolean(),useLastDayOfWeek:b.boolean(),useNearestWeekday:b.boolean(),useNthWeekdayOfMonth:b.boolean(),seconds:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),minutes:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),hours:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),daysOfMonth:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),months:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),daysOfWeek:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),years:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required()}).required(),kR=s(t=>Qr[t]?(0,cs.valid)(Qr[t]):(0,cs.err)(`Option preset '${t}' not found.`),"getOptionPreset");Ae.getOptionPreset=kR;var MR=s(()=>Qr,"getOptionPresets");Ae.getOptionPresets=MR;var FR=s((t,e)=>{Qr[t]=jE.validateSync(e,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0})},"registerOptionPreset");Ae.registerOptionPreset=FR;var BR=s(t=>{var e,r,n,i,o,a,u,c,l,d,f,E,p,T,h,g,y,I,O,w;try{(0,LR.default)();let S;if(t.preset)if(typeof t.preset=="string"){if(!Qr[t.preset])return(0,cs.err)([`Option preset ${t.preset} does not exist.`]);S=Qr[t.preset]}else S=t.preset;else S=Qr.default;let _=Object.assign(Object.assign({presetId:S.presetId,preset:S},{useSeconds:S.useSeconds,useYears:S.useYears,useAliases:(e=S.useAliases)!==null&&e!==void 0?e:!1,useBlankDay:S.useBlankDay,allowOnlyOneBlankDayField:S.allowOnlyOneBlankDayField,mustHaveBlankDayField:(r=S.mustHaveBlankDayField)!==null&&r!==void 0?r:!1,useLastDayOfMonth:(n=S.useLastDayOfMonth)!==null&&n!==void 0?n:!1,useLastDayOfWeek:(i=S.useLastDayOfWeek)!==null&&i!==void 0?i:!1,useNearestWeekday:(o=S.useNearestWeekday)!==null&&o!==void 0?o:!1,useNthWeekdayOfMonth:(a=S.useNthWeekdayOfMonth)!==null&&a!==void 0?a:!1,seconds:{lowerLimit:(u=S.seconds.lowerLimit)!==null&&u!==void 0?u:S.seconds.minValue,upperLimit:(c=S.seconds.upperLimit)!==null&&c!==void 0?c:S.seconds.maxValue},minutes:{lowerLimit:(l=S.minutes.lowerLimit)!==null&&l!==void 0?l:S.minutes.minValue,upperLimit:(d=S.minutes.upperLimit)!==null&&d!==void 0?d:S.minutes.maxValue},hours:{lowerLimit:(f=S.hours.lowerLimit)!==null&&f!==void 0?f:S.hours.minValue,upperLimit:(E=S.hours.upperLimit)!==null&&E!==void 0?E:S.hours.maxValue},daysOfMonth:{lowerLimit:(p=S.daysOfMonth.lowerLimit)!==null&&p!==void 0?p:S.daysOfMonth.minValue,upperLimit:(T=S.daysOfMonth.upperLimit)!==null&&T!==void 0?T:S.daysOfMonth.maxValue},months:{lowerLimit:(h=S.months.lowerLimit)!==null&&h!==void 0?h:S.months.minValue,upperLimit:(g=S.months.upperLimit)!==null&&g!==void 0?g:S.months.maxValue},daysOfWeek:{lowerLimit:(y=S.daysOfWeek.lowerLimit)!==null&&y!==void 0?y:S.daysOfWeek.minValue,upperLimit:(I=S.daysOfWeek.upperLimit)!==null&&I!==void 0?I:S.daysOfWeek.maxValue},years:{lowerLimit:(O=S.years.lowerLimit)!==null&&O!==void 0?O:S.years.minValue,upperLimit:(w=S.years.upperLimit)!==null&&w!==void 0?w:S.years.maxValue}}),t.override),C=b.object({presetId:b.string().required(),preset:jE.required(),useSeconds:b.boolean().required(),useYears:b.boolean().required(),useAliases:b.boolean(),useBlankDay:b.boolean().required(),allowOnlyOneBlankDayField:b.boolean().required(),mustHaveBlankDayField:b.boolean(),useLastDayOfMonth:b.boolean(),useLastDayOfWeek:b.boolean(),useNearestWeekday:b.boolean(),useNthWeekdayOfMonth:b.boolean(),seconds:b.object({lowerLimit:b.number().min(S.seconds.minValue).max(S.seconds.maxValue),upperLimit:b.number().min(S.seconds.minValue).max(S.seconds.maxValue)}).required(),minutes:b.object({lowerLimit:b.number().min(S.minutes.minValue).max(S.minutes.maxValue),upperLimit:b.number().min(S.minutes.minValue).max(S.minutes.maxValue)}).required(),hours:b.object({lowerLimit:b.number().min(S.hours.minValue).max(S.hours.maxValue),upperLimit:b.number().min(S.hours.minValue).max(S.hours.maxValue)}).required(),daysOfMonth:b.object({lowerLimit:b.number().min(S.daysOfMonth.minValue).max(S.daysOfMonth.maxValue),upperLimit:b.number().min(S.daysOfMonth.minValue).max(S.daysOfMonth.maxValue)}).required(),months:b.object({lowerLimit:b.number().min(S.months.minValue).max(S.months.maxValue),upperLimit:b.number().min(S.months.minValue).max(S.months.maxValue)}).required(),daysOfWeek:b.object({lowerLimit:b.number().min(S.daysOfWeek.minValue).max(S.daysOfWeek.maxValue),upperLimit:b.number().min(S.daysOfWeek.minValue).max(S.daysOfWeek.maxValue)}).required(),years:b.object({lowerLimit:b.number().min(S.years.minValue).max(S.years.maxValue),upperLimit:b.number().min(S.years.minValue).max(S.years.maxValue)}).required()}).required().validateSync(_,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0});return(0,cs.valid)(C)}catch(S){return(0,cs.err)(S.errors)}},"validateOptions");Ae.validateOptions=BR});var It=q((ls,Fl)=>{"use strict";var Hr=ls&&ls.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ls,"__esModule",{value:!0});var jr=at(),WR=Hr(_h()),GR=Hr(Oh()),$R=Hr(Ih()),VR=Hr(wh()),qR=Hr(Rh()),KR=Hr(Dh()),QR=Hr(Ch()),jR=kl();ut();var HR=s((t,e)=>{let r=t.trim().split(" ");if(e.useSeconds&&e.useYears&&r.length!==7)return(0,jr.err)(`Expected 7 values, but got ${r.length}.`);if((e.useSeconds&&!e.useYears||e.useYears&&!e.useSeconds)&&r.length!==6)return(0,jr.err)(`Expected 6 values, but got ${r.length}.`);if(!e.useSeconds&&!e.useYears&&r.length!==5)return(0,jr.err)(`Expected 5 values, but got ${r.length}.`);let n={seconds:e.useSeconds?r[0]:void 0,minutes:r[e.useSeconds?1:0],hours:r[e.useSeconds?2:1],daysOfMonth:r[e.useSeconds?3:2],months:r[e.useSeconds?4:3],daysOfWeek:r[e.useSeconds?5:4],years:e.useYears?r[e.useSeconds?6:5]:void 0};return(0,jr.valid)(n)},"splitCronString"),Ml=s((t,e={})=>{let r=(0,jR.validateOptions)(e);if(r.isError())return r;let n=r.getValue(),i=HR(t,n);if(i.isError())return(0,jr.err)([`${i.getError()} (Input cron: '${t}')`]);let o=i.getValue(),a=[];if(n.useSeconds&&a.push((0,WR.default)(o,n)),a.push((0,GR.default)(o,n)),a.push((0,$R.default)(o,n)),a.push((0,VR.default)(o,n)),a.push((0,qR.default)(o,n)),a.push((0,KR.default)(o,n)),n.useYears&&a.push((0,QR.default)(o,n)),a.every(c=>c.isValid()))return(0,jr.valid)(o);let u=[];return a.forEach(c=>{c.isError()&&c.getError().forEach(l=>{u.push(l)})}),u.forEach((c,l)=>{u[l]=`${c} (Input cron: '${t}')`}),(0,jr.err)(u)},"cron");ls.default=Ml;Fl.exports=Ml;Fl.exports.default=Ml});var Oy=q(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});var Ft=class extends Error{static{s(this,"LuxonError")}},Hl=class extends Ft{static{s(this,"InvalidDateTimeError")}constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}},Yl=class extends Ft{static{s(this,"InvalidIntervalError")}constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}},zl=class extends Ft{static{s(this,"InvalidDurationError")}constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}},lr=class extends Ft{static{s(this,"ConflictingSpecificationError")}},Oa=class extends Ft{static{s(this,"InvalidUnitError")}constructor(e){super(`Invalid unit ${e}`)}},_e=class extends Ft{static{s(this,"InvalidArgumentError")}},Dt=class extends Ft{static{s(this,"ZoneIsAbstractError")}constructor(){super("Zone is an abstract class")}},v="numeric",ft="short",qe="long",Ia={year:v,month:v,day:v},Ig={year:v,month:ft,day:v},YR={year:v,month:ft,day:v,weekday:ft},wg={year:v,month:qe,day:v},Rg={year:v,month:qe,day:v,weekday:qe},Dg={hour:v,minute:v},Cg={hour:v,minute:v,second:v},bg={hour:v,minute:v,second:v,timeZoneName:ft},xg={hour:v,minute:v,second:v,timeZoneName:qe},vg={hour:v,minute:v,hourCycle:"h23"},Pg={hour:v,minute:v,second:v,hourCycle:"h23"},Ng={hour:v,minute:v,second:v,hourCycle:"h23",timeZoneName:ft},Ug={hour:v,minute:v,second:v,hourCycle:"h23",timeZoneName:qe},Lg={year:v,month:v,day:v,hour:v,minute:v},kg={year:v,month:v,day:v,hour:v,minute:v,second:v},Mg={year:v,month:ft,day:v,hour:v,minute:v},Fg={year:v,month:ft,day:v,hour:v,minute:v,second:v},zR={year:v,month:ft,day:v,weekday:ft,hour:v,minute:v},Bg={year:v,month:qe,day:v,hour:v,minute:v,timeZoneName:ft},Wg={year:v,month:qe,day:v,hour:v,minute:v,second:v,timeZoneName:ft},Gg={year:v,month:qe,day:v,weekday:qe,hour:v,minute:v,timeZoneName:qe},$g={year:v,month:qe,day:v,weekday:qe,hour:v,minute:v,second:v,timeZoneName:qe},fr=class{static{s(this,"Zone")}get type(){throw new Dt}get name(){throw new Dt}get ianaName(){return this.name}get isUniversal(){throw new Dt}offsetName(e,r){throw new Dt}formatOffset(e,r){throw new Dt}offset(e){throw new Dt}equals(e){throw new Dt}get isValid(){throw new Dt}},Bl=null,Es=class t extends fr{static{s(this,"SystemZone")}static get instance(){return Bl===null&&(Bl=new t),Bl}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return Zg(e,r,n)}formatOffset(e,r){return hs(this.offset(e),r)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}},Jl=new Map;function JR(t){let e=Jl.get(t);return e===void 0&&(e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),Jl.set(t,e)),e}s(JR,"makeDTF");var XR={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function ZR(t,e){let r=t.format(e).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(r),[,i,o,a,u,c,l,d]=n;return[a,i,o,u,c,l,d]}s(ZR,"hackyOffset");function eD(t,e){let r=t.formatToParts(e),n=[];for(let i=0;i<r.length;i++){let{type:o,value:a}=r[i],u=XR[o];o==="era"?n[u]=a:Q(u)||(n[u]=parseInt(a,10))}return n}s(eD,"partsOffset");var Wl=new Map,Bt=class t extends fr{static{s(this,"IANAZone")}static create(e){let r=Wl.get(e);return r===void 0&&Wl.set(e,r=new t(e)),r}static resetCache(){Wl.clear(),Jl.clear()}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch{return!1}}constructor(e){super(),this.zoneName=e,this.valid=t.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return Zg(e,r,n,this.name)}formatOffset(e,r){return hs(this.offset(e),r)}offset(e){if(!this.valid)return NaN;let r=new Date(e);if(isNaN(r))return NaN;let n=JR(this.name),[i,o,a,u,c,l,d]=n.formatToParts?eD(n,r):ZR(n,r);u==="BC"&&(i=-Math.abs(i)+1);let E=va({year:i,month:o,day:a,hour:c===24?0:c,minute:l,second:d,millisecond:0}),p=+r,T=p%1e3;return p-=T>=0?T:1e3+T,(E-p)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}},HE={};function tD(t,e={}){let r=JSON.stringify([t,e]),n=HE[r];return n||(n=new Intl.ListFormat(t,e),HE[r]=n),n}s(tD,"getCachedLF");var Xl=new Map;function Zl(t,e={}){let r=JSON.stringify([t,e]),n=Xl.get(r);return n===void 0&&(n=new Intl.DateTimeFormat(t,e),Xl.set(r,n)),n}s(Zl,"getCachedDTF");var ed=new Map;function rD(t,e={}){let r=JSON.stringify([t,e]),n=ed.get(r);return n===void 0&&(n=new Intl.NumberFormat(t,e),ed.set(r,n)),n}s(rD,"getCachedINF");var td=new Map;function nD(t,e={}){let{base:r,...n}=e,i=JSON.stringify([t,n]),o=td.get(i);return o===void 0&&(o=new Intl.RelativeTimeFormat(t,e),td.set(i,o)),o}s(nD,"getCachedRTF");var fs=null;function iD(){return fs||(fs=new Intl.DateTimeFormat().resolvedOptions().locale,fs)}s(iD,"systemLocale");var rd=new Map;function Vg(t){let e=rd.get(t);return e===void 0&&(e=new Intl.DateTimeFormat(t).resolvedOptions(),rd.set(t,e)),e}s(Vg,"getCachedIntResolvedOptions");var nd=new Map;function sD(t){let e=nd.get(t);if(!e){let r=new Intl.Locale(t);e="getWeekInfo"in r?r.getWeekInfo():r.weekInfo,"minimalDays"in e||(e={...qg,...e}),nd.set(t,e)}return e}s(sD,"getCachedWeekInfo");function oD(t){let e=t.indexOf("-x-");e!==-1&&(t=t.substring(0,e));let r=t.indexOf("-u-");if(r===-1)return[t];{let n,i;try{n=Zl(t).resolvedOptions(),i=t}catch{let c=t.substring(0,r);n=Zl(c).resolvedOptions(),i=c}let{numberingSystem:o,calendar:a}=n;return[i,o,a]}}s(oD,"parseLocaleString");function aD(t,e,r){return(r||e)&&(t.includes("-u-")||(t+="-u"),r&&(t+=`-ca-${r}`),e&&(t+=`-nu-${e}`)),t}s(aD,"intlConfigString");function uD(t){let e=[];for(let r=1;r<=12;r++){let n=oe.utc(2009,r,1);e.push(t(n))}return e}s(uD,"mapMonths");function cD(t){let e=[];for(let r=1;r<=7;r++){let n=oe.utc(2016,11,13+r);e.push(t(n))}return e}s(cD,"mapWeekdays");function Ea(t,e,r,n){let i=t.listingMode();return i==="error"?null:i==="en"?r(e):n(e)}s(Ea,"listStuff");function lD(t){return t.numberingSystem&&t.numberingSystem!=="latn"?!1:t.numberingSystem==="latn"||!t.locale||t.locale.startsWith("en")||Vg(t.locale).numberingSystem==="latn"}s(lD,"supportsFastNumbers");var id=class{static{s(this,"PolyNumberFormatter")}constructor(e,r,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;let{padTo:i,floor:o,...a}=n;if(!r||Object.keys(a).length>0){let u={useGrouping:!1,...n};n.padTo>0&&(u.minimumIntegerDigits=n.padTo),this.inf=rD(e,u)}}format(e){if(this.inf){let r=this.floor?Math.floor(e):e;return this.inf.format(r)}else{let r=this.floor?Math.floor(e):hd(e,3);return me(r,this.padTo)}}},sd=class{static{s(this,"PolyDateFormatter")}constructor(e,r,n){this.opts=n,this.originalZone=void 0;let i;if(this.opts.timeZone)this.dt=e;else if(e.zone.type==="fixed"){let a=-1*(e.offset/60),u=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;e.offset!==0&&Bt.create(u).valid?(i=u,this.dt=e):(i="UTC",this.dt=e.offset===0?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type==="system"?this.dt=e:e.zone.type==="iana"?(this.dt=e,i=e.zone.name):(i="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);let o={...this.opts};o.timeZone=o.timeZone||i,this.dtf=Zl(r,o)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(r=>{if(r.type==="timeZoneName"){let n=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...r,value:n}}else return r}):e}resolvedOptions(){return this.dtf.resolvedOptions()}},od=class{static{s(this,"PolyRelFormatter")}constructor(e,r,n){this.opts={style:"long",...n},!r&&Jg()&&(this.rtf=nD(e,n))}format(e,r){return this.rtf?this.rtf.format(e,r):vD(r,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,r){return this.rtf?this.rtf.formatToParts(e,r):[]}},qg={firstDay:1,minimalDays:4,weekend:[6,7]},te=class t{static{s(this,"Locale")}static fromOpts(e){return t.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,r,n,i,o=!1){let a=e||ie.defaultLocale,u=a||(o?"en-US":iD()),c=r||ie.defaultNumberingSystem,l=n||ie.defaultOutputCalendar,d=ud(i)||ie.defaultWeekSettings;return new t(u,c,l,d,a)}static resetCache(){fs=null,Xl.clear(),ed.clear(),td.clear(),rd.clear(),nd.clear()}static fromObject({locale:e,numberingSystem:r,outputCalendar:n,weekSettings:i}={}){return t.create(e,r,n,i)}constructor(e,r,n,i,o){let[a,u,c]=oD(e);this.locale=a,this.numberingSystem=r||u||null,this.outputCalendar=n||c||null,this.weekSettings=i,this.intl=aD(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=o,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=lD(this)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),r=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&r?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:t.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,ud(e.weekSettings)||this.weekSettings,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,r=!1){return Ea(this,e,ry,()=>{let n=this.intl==="ja"||this.intl.startsWith("ja-");r&=!n;let i=r?{month:e,day:"numeric"}:{month:e},o=r?"format":"standalone";if(!this.monthsCache[o][e]){let a=n?u=>this.dtFormatter(u,i).format():u=>this.extract(u,i,"month");this.monthsCache[o][e]=uD(a)}return this.monthsCache[o][e]})}weekdays(e,r=!1){return Ea(this,e,sy,()=>{let n=r?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=r?"format":"standalone";return this.weekdaysCache[i][e]||(this.weekdaysCache[i][e]=cD(o=>this.extract(o,n,"weekday"))),this.weekdaysCache[i][e]})}meridiems(){return Ea(this,void 0,()=>oy,()=>{if(!this.meridiemCache){let e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[oe.utc(2016,11,13,9),oe.utc(2016,11,13,19)].map(r=>this.extract(r,e,"dayperiod"))}return this.meridiemCache})}eras(e){return Ea(this,e,ay,()=>{let r={era:e};return this.eraCache[e]||(this.eraCache[e]=[oe.utc(-40,1,1),oe.utc(2017,1,1)].map(n=>this.extract(n,r,"era"))),this.eraCache[e]})}extract(e,r,n){let i=this.dtFormatter(e,r),o=i.formatToParts(),a=o.find(u=>u.type.toLowerCase()===n);return a?a.value:null}numberFormatter(e={}){return new id(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,r={}){return new sd(e,this.intl,r)}relFormatter(e={}){return new od(this.intl,this.isEnglish(),e)}listFormatter(e={}){return tD(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||Vg(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:Xg()?sD(this.locale):qg}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},Gl=null,Ke=class t extends fr{static{s(this,"FixedOffsetZone")}static get utcInstance(){return Gl===null&&(Gl=new t(0)),Gl}static instance(e){return e===0?t.utcInstance:new t(e)}static parseSpecifier(e){if(e){let r=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r)return new t(Pa(r[1],r[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${hs(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${hs(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,r){return hs(this.fixed,r)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}},wa=class extends fr{static{s(this,"InvalidZone")}constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function cr(t,e){if(Q(t)||t===null)return e;if(t instanceof fr)return t;if(ED(t)){let r=t.toLowerCase();return r==="default"?e:r==="local"||r==="system"?Es.instance:r==="utc"||r==="gmt"?Ke.utcInstance:Ke.parseSpecifier(r)||Bt.create(t)}else return dr(t)?Ke.instance(t):typeof t=="object"&&"offset"in t&&typeof t.offset=="function"?t:new wa(t)}s(cr,"normalizeZone");var dd={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},YE={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},dD=dd.hanidec.replace(/[\[|\]]/g,"").split("");function fD(t){let e=parseInt(t,10);if(isNaN(e)){e="";for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);if(t[r].search(dd.hanidec)!==-1)e+=dD.indexOf(t[r]);else for(let i in YE){let[o,a]=YE[i];n>=o&&n<=a&&(e+=n-o)}}return parseInt(e,10)}else return e}s(fD,"parseDigits");var ad=new Map;function pD(){ad.clear()}s(pD,"resetDigitRegexCache");function lt({numberingSystem:t},e=""){let r=t||"latn",n=ad.get(r);n===void 0&&(n=new Map,ad.set(r,n));let i=n.get(e);return i===void 0&&(i=new RegExp(`${dd[r]}${e}`),n.set(e,i)),i}s(lt,"digitRegex");var zE=s(()=>Date.now(),"now"),JE="system",XE=null,ZE=null,eg=null,tg=60,rg,ng=null,ie=class{static{s(this,"Settings")}static get now(){return zE}static set now(e){zE=e}static set defaultZone(e){JE=e}static get defaultZone(){return cr(JE,Es.instance)}static get defaultLocale(){return XE}static set defaultLocale(e){XE=e}static get defaultNumberingSystem(){return ZE}static set defaultNumberingSystem(e){ZE=e}static get defaultOutputCalendar(){return eg}static set defaultOutputCalendar(e){eg=e}static get defaultWeekSettings(){return ng}static set defaultWeekSettings(e){ng=ud(e)}static get twoDigitCutoffYear(){return tg}static set twoDigitCutoffYear(e){tg=e%100}static get throwOnInvalid(){return rg}static set throwOnInvalid(e){rg=e}static resetCaches(){te.resetCache(),Bt.resetCache(),oe.resetCache(),pD()}},Ve=class{static{s(this,"Invalid")}constructor(e,r){this.reason=e,this.explanation=r}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},Kg=[0,31,59,90,120,151,181,212,243,273,304,334],Qg=[0,31,60,91,121,152,182,213,244,274,305,335];function Ze(t,e){return new Ve("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${t}, which is invalid`)}s(Ze,"unitOutOfRange");function fd(t,e,r){let n=new Date(Date.UTC(t,e-1,r));t<100&&t>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);let i=n.getUTCDay();return i===0?7:i}s(fd,"dayOfWeek");function jg(t,e,r){return r+(ys(t)?Qg:Kg)[e-1]}s(jg,"computeOrdinal");function Hg(t,e){let r=ys(t)?Qg:Kg,n=r.findIndex(o=>o<e),i=e-r[n];return{month:n+1,day:i}}s(Hg,"uncomputeOrdinal");function pd(t,e){return(t-e+7)%7+1}s(pd,"isoWeekdayToLocal");function Ra(t,e=4,r=1){let{year:n,month:i,day:o}=t,a=jg(n,i,o),u=pd(fd(n,i,o),r),c=Math.floor((a-u+14-e)/7),l;return c<1?(l=n-1,c=gs(l,e,r)):c>gs(n,e,r)?(l=n+1,c=1):l=n,{weekYear:l,weekNumber:c,weekday:u,...Na(t)}}s(Ra,"gregorianToWeek");function ig(t,e=4,r=1){let{weekYear:n,weekNumber:i,weekday:o}=t,a=pd(fd(n,1,e),r),u=Gn(n),c=i*7+o-a-7+e,l;c<1?(l=n-1,c+=Gn(l)):c>u?(l=n+1,c-=Gn(n)):l=n;let{month:d,day:f}=Hg(l,c);return{year:l,month:d,day:f,...Na(t)}}s(ig,"weekToGregorian");function $l(t){let{year:e,month:r,day:n}=t,i=jg(e,r,n);return{year:e,ordinal:i,...Na(t)}}s($l,"gregorianToOrdinal");function sg(t){let{year:e,ordinal:r}=t,{month:n,day:i}=Hg(e,r);return{year:e,month:n,day:i,...Na(t)}}s(sg,"ordinalToGregorian");function og(t,e){if(!Q(t.localWeekday)||!Q(t.localWeekNumber)||!Q(t.localWeekYear)){if(!Q(t.weekday)||!Q(t.weekNumber)||!Q(t.weekYear))throw new lr("Cannot mix locale-based week fields with ISO-based week fields");return Q(t.localWeekday)||(t.weekday=t.localWeekday),Q(t.localWeekNumber)||(t.weekNumber=t.localWeekNumber),Q(t.localWeekYear)||(t.weekYear=t.localWeekYear),delete t.localWeekday,delete t.localWeekNumber,delete t.localWeekYear,{minDaysInFirstWeek:e.getMinDaysInFirstWeek(),startOfWeek:e.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}s(og,"usesLocalWeekValues");function mD(t,e=4,r=1){let n=xa(t.weekYear),i=et(t.weekNumber,1,gs(t.weekYear,e,r)),o=et(t.weekday,1,7);return n?i?o?!1:Ze("weekday",t.weekday):Ze("week",t.weekNumber):Ze("weekYear",t.weekYear)}s(mD,"hasInvalidWeekData");function hD(t){let e=xa(t.year),r=et(t.ordinal,1,Gn(t.year));return e?r?!1:Ze("ordinal",t.ordinal):Ze("year",t.year)}s(hD,"hasInvalidOrdinalData");function Yg(t){let e=xa(t.year),r=et(t.month,1,12),n=et(t.day,1,Da(t.year,t.month));return e?r?n?!1:Ze("day",t.day):Ze("month",t.month):Ze("year",t.year)}s(Yg,"hasInvalidGregorianData");function zg(t){let{hour:e,minute:r,second:n,millisecond:i}=t,o=et(e,0,23)||e===24&&r===0&&n===0&&i===0,a=et(r,0,59),u=et(n,0,59),c=et(i,0,999);return o?a?u?c?!1:Ze("millisecond",i):Ze("second",n):Ze("minute",r):Ze("hour",e)}s(zg,"hasInvalidTimeData");function Q(t){return typeof t>"u"}s(Q,"isUndefined");function dr(t){return typeof t=="number"}s(dr,"isNumber");function xa(t){return typeof t=="number"&&t%1===0}s(xa,"isInteger");function ED(t){return typeof t=="string"}s(ED,"isString");function gD(t){return Object.prototype.toString.call(t)==="[object Date]"}s(gD,"isDate");function Jg(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}s(Jg,"hasRelative");function Xg(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}s(Xg,"hasLocaleWeekInfo");function yD(t){return Array.isArray(t)?t:[t]}s(yD,"maybeArray");function ag(t,e,r){if(t.length!==0)return t.reduce((n,i)=>{let o=[e(i),i];return n&&r(n[0],o[0])===n[0]?n:o},null)[1]}s(ag,"bestBy");function TD(t,e){return e.reduce((r,n)=>(r[n]=t[n],r),{})}s(TD,"pick");function Vn(t,e){return Object.prototype.hasOwnProperty.call(t,e)}s(Vn,"hasOwnProperty");function ud(t){if(t==null)return null;if(typeof t!="object")throw new _e("Week settings must be an object");if(!et(t.firstDay,1,7)||!et(t.minimalDays,1,7)||!Array.isArray(t.weekend)||t.weekend.some(e=>!et(e,1,7)))throw new _e("Invalid week settings");return{firstDay:t.firstDay,minimalDays:t.minimalDays,weekend:Array.from(t.weekend)}}s(ud,"validateWeekSettings");function et(t,e,r){return xa(t)&&t>=e&&t<=r}s(et,"integerBetween");function SD(t,e){return t-e*Math.floor(t/e)}s(SD,"floorMod");function me(t,e=2){let r=t<0,n;return r?n="-"+(""+-t).padStart(e,"0"):n=(""+t).padStart(e,"0"),n}s(me,"padStart");function ur(t){if(!(Q(t)||t===null||t===""))return parseInt(t,10)}s(ur,"parseInteger");function Yr(t){if(!(Q(t)||t===null||t===""))return parseFloat(t)}s(Yr,"parseFloating");function md(t){if(!(Q(t)||t===null||t==="")){let e=parseFloat("0."+t)*1e3;return Math.floor(e)}}s(md,"parseMillis");function hd(t,e,r="round"){let n=10**e;switch(r){case"expand":return t>0?Math.ceil(t*n)/n:Math.floor(t*n)/n;case"trunc":return Math.trunc(t*n)/n;case"round":return Math.round(t*n)/n;case"floor":return Math.floor(t*n)/n;case"ceil":return Math.ceil(t*n)/n;default:throw new RangeError(`Value rounding ${r} is out of range`)}}s(hd,"roundTo");function ys(t){return t%4===0&&(t%100!==0||t%400===0)}s(ys,"isLeapYear");function Gn(t){return ys(t)?366:365}s(Gn,"daysInYear");function Da(t,e){let r=SD(e-1,12)+1,n=t+(e-r)/12;return r===2?ys(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}s(Da,"daysInMonth");function va(t){let e=Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,t.second,t.millisecond);return t.year<100&&t.year>=0&&(e=new Date(e),e.setUTCFullYear(t.year,t.month-1,t.day)),+e}s(va,"objToLocalTS");function ug(t,e,r){return-pd(fd(t,1,e),r)+e-1}s(ug,"firstWeekOffset");function gs(t,e=4,r=1){let n=ug(t,e,r),i=ug(t+1,e,r);return(Gn(t)-n+i)/7}s(gs,"weeksInWeekYear");function cd(t){return t>99?t:t>ie.twoDigitCutoffYear?1900+t:2e3+t}s(cd,"untruncateYear");function Zg(t,e,r,n=null){let i=new Date(t),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(o.timeZone=n);let a={timeZoneName:e,...o},u=new Intl.DateTimeFormat(r,a).formatToParts(i).find(c=>c.type.toLowerCase()==="timezonename");return u?u.value:null}s(Zg,"parseZoneInfo");function Pa(t,e){let r=parseInt(t,10);Number.isNaN(r)&&(r=0);let n=parseInt(e,10)||0,i=r<0||Object.is(r,-0)?-n:n;return r*60+i}s(Pa,"signedOffset");function ey(t){let e=Number(t);if(typeof t=="boolean"||t===""||!Number.isFinite(e))throw new _e(`Invalid unit value ${t}`);return e}s(ey,"asNumber");function Ca(t,e){let r={};for(let n in t)if(Vn(t,n)){let i=t[n];if(i==null)continue;r[e(n)]=ey(i)}return r}s(Ca,"normalizeObject");function hs(t,e){let r=Math.trunc(Math.abs(t/60)),n=Math.trunc(Math.abs(t%60)),i=t>=0?"+":"-";switch(e){case"short":return`${i}${me(r,2)}:${me(n,2)}`;case"narrow":return`${i}${r}${n>0?`:${n}`:""}`;case"techie":return`${i}${me(r,2)}${me(n,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}s(hs,"formatOffset");function Na(t){return TD(t,["hour","minute","second","millisecond"])}s(Na,"timeObject");var AD=["January","February","March","April","May","June","July","August","September","October","November","December"],ty=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],_D=["J","F","M","A","M","J","J","A","S","O","N","D"];function ry(t){switch(t){case"narrow":return[..._D];case"short":return[...ty];case"long":return[...AD];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}s(ry,"months");var ny=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],iy=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],OD=["M","T","W","T","F","S","S"];function sy(t){switch(t){case"narrow":return[...OD];case"short":return[...iy];case"long":return[...ny];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}s(sy,"weekdays");var oy=["AM","PM"],ID=["Before Christ","Anno Domini"],wD=["BC","AD"],RD=["B","A"];function ay(t){switch(t){case"narrow":return[...RD];case"short":return[...wD];case"long":return[...ID];default:return null}}s(ay,"eras");function DD(t){return oy[t.hour<12?0:1]}s(DD,"meridiemForDateTime");function CD(t,e){return sy(e)[t.weekday-1]}s(CD,"weekdayForDateTime");function bD(t,e){return ry(e)[t.month-1]}s(bD,"monthForDateTime");function xD(t,e){return ay(e)[t.year<0?0:1]}s(xD,"eraForDateTime");function vD(t,e,r="always",n=!1){let i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},o=["hours","minutes","seconds"].indexOf(t)===-1;if(r==="auto"&&o){let f=t==="days";switch(e){case 1:return f?"tomorrow":`next ${i[t][0]}`;case-1:return f?"yesterday":`last ${i[t][0]}`;case 0:return f?"today":`this ${i[t][0]}`}}let a=Object.is(e,-0)||e<0,u=Math.abs(e),c=u===1,l=i[t],d=n?c?l[1]:l[2]||l[1]:c?i[t][0]:t;return a?`${u} ${d} ago`:`in ${u} ${d}`}s(vD,"formatRelativeTime");function cg(t,e){let r="";for(let n of t)n.literal?r+=n.val:r+=e(n.val);return r}s(cg,"stringifyTokens");var PD={D:Ia,DD:Ig,DDD:wg,DDDD:Rg,t:Dg,tt:Cg,ttt:bg,tttt:xg,T:vg,TT:Pg,TTT:Ng,TTTT:Ug,f:Lg,ff:Mg,fff:Bg,ffff:Gg,F:kg,FF:Fg,FFF:Wg,FFFF:$g},$e=class t{static{s(this,"Formatter")}static create(e,r={}){return new t(e,r)}static parseFormat(e){let r=null,n="",i=!1,o=[];for(let a=0;a<e.length;a++){let u=e.charAt(a);u==="'"?((n.length>0||i)&&o.push({literal:i||/^\s+$/.test(n),val:n===""?"'":n}),r=null,n="",i=!i):i||u===r?n+=u:(n.length>0&&o.push({literal:/^\s+$/.test(n),val:n}),n=u,r=u)}return n.length>0&&o.push({literal:i||/^\s+$/.test(n),val:n}),o}static macroTokenToFormatOpts(e){return PD[e]}constructor(e,r){this.opts=r,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,r){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...r}).format()}dtFormatter(e,r={}){return this.loc.dtFormatter(e,{...this.opts,...r})}formatDateTime(e,r){return this.dtFormatter(e,r).format()}formatDateTimeParts(e,r){return this.dtFormatter(e,r).formatToParts()}formatInterval(e,r){return this.dtFormatter(e.start,r).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,r){return this.dtFormatter(e,r).resolvedOptions()}num(e,r=0,n=void 0){if(this.opts.forceSimple)return me(e,r);let i={...this.opts};return r>0&&(i.padTo=r),n&&(i.signDisplay=n),this.loc.numberFormatter(i).format(e)}formatDateTimeFromString(e,r){let n=this.loc.listingMode()==="en",i=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",o=s((p,T)=>this.loc.extract(e,p,T),"string"),a=s(p=>e.isOffsetFixed&&e.offset===0&&p.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,p.format):"","formatOffset"),u=s(()=>n?DD(e):o({hour:"numeric",hourCycle:"h12"},"dayperiod"),"meridiem"),c=s((p,T)=>n?bD(e,p):o(T?{month:p}:{month:p,day:"numeric"},"month"),"month"),l=s((p,T)=>n?CD(e,p):o(T?{weekday:p}:{weekday:p,month:"long",day:"numeric"},"weekday"),"weekday"),d=s(p=>{let T=t.macroTokenToFormatOpts(p);return T?this.formatWithSystemDefault(e,T):p},"maybeMacro"),f=s(p=>n?xD(e,p):o({era:p},"era"),"era"),E=s(p=>{switch(p){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return u();case"d":return i?o({day:"numeric"},"day"):this.num(e.day);case"dd":return i?o({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return i?o({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return i?o({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return c("short",!0);case"LLLL":return c("long",!0);case"LLLLL":return c("narrow",!0);case"M":return i?o({month:"numeric"},"month"):this.num(e.month);case"MM":return i?o({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return c("short",!1);case"MMMM":return c("long",!1);case"MMMMM":return c("narrow",!1);case"y":return i?o({year:"numeric"},"year"):this.num(e.year);case"yy":return i?o({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return i?o({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return i?o({year:"numeric"},"year"):this.num(e.year,6);case"G":return f("short");case"GG":return f("long");case"GGGGG":return f("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return d(p)}},"tokenToString");return cg(t.parseFormat(r),E)}formatDurationFromString(e,r){let n=this.opts.signMode==="negativeLargestOnly"?-1:1,i=s(d=>{switch(d[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},"tokenToField"),o=s((d,f)=>E=>{let p=i(E);if(p){let T=f.isNegativeDuration&&p!==f.largestUnit?n:1,h;return this.opts.signMode==="negativeLargestOnly"&&p!==f.largestUnit?h="never":this.opts.signMode==="all"?h="always":h="auto",this.num(d.get(p)*T,E.length,h)}else return E},"tokenToString"),a=t.parseFormat(r),u=a.reduce((d,{literal:f,val:E})=>f?d:d.concat(E),[]),c=e.shiftTo(...u.map(i).filter(d=>d)),l={isNegativeDuration:c<0,largestUnit:Object.keys(c.values)[0]};return cg(a,o(c,l))}},uy=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function qn(...t){let e=t.reduce((r,n)=>r+n.source,"");return RegExp(`^${e}$`)}s(qn,"combineRegexes");function Kn(...t){return e=>t.reduce(([r,n,i],o)=>{let[a,u,c]=o(e,i);return[{...r,...a},u||n,c]},[{},null,1]).slice(0,2)}s(Kn,"combineExtractors");function Qn(t,...e){if(t==null)return[null,null];for(let[r,n]of e){let i=r.exec(t);if(i)return n(i)}return[null,null]}s(Qn,"parse");function cy(...t){return(e,r)=>{let n={},i;for(i=0;i<t.length;i++)n[t[i]]=ur(e[r+i]);return[n,null,r+i]}}s(cy,"simpleParse");var ly=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,ND=`(?:${ly.source}?(?:\\[(${uy.source})\\])?)?`,Ed=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,dy=RegExp(`${Ed.source}${ND}`),gd=RegExp(`(?:[Tt]${dy.source})?`),UD=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,LD=/(\d{4})-?W(\d\d)(?:-?(\d))?/,kD=/(\d{4})-?(\d{3})/,MD=cy("weekYear","weekNumber","weekDay"),FD=cy("year","ordinal"),BD=/(\d{4})-(\d\d)-(\d\d)/,fy=RegExp(`${Ed.source} ?(?:${ly.source}|(${uy.source}))?`),WD=RegExp(`(?: ${fy.source})?`);function $n(t,e,r){let n=t[e];return Q(n)?r:ur(n)}s($n,"int");function GD(t,e){return[{year:$n(t,e),month:$n(t,e+1,1),day:$n(t,e+2,1)},null,e+3]}s(GD,"extractISOYmd");function jn(t,e){return[{hours:$n(t,e,0),minutes:$n(t,e+1,0),seconds:$n(t,e+2,0),milliseconds:md(t[e+3])},null,e+4]}s(jn,"extractISOTime");function Ts(t,e){let r=!t[e]&&!t[e+1],n=Pa(t[e+1],t[e+2]),i=r?null:Ke.instance(n);return[{},i,e+3]}s(Ts,"extractISOOffset");function Ss(t,e){let r=t[e]?Bt.create(t[e]):null;return[{},r,e+1]}s(Ss,"extractIANAZone");var $D=RegExp(`^T?${Ed.source}$`),VD=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function qD(t){let[e,r,n,i,o,a,u,c,l]=t,d=e[0]==="-",f=c&&c[0]==="-",E=s((p,T=!1)=>p!==void 0&&(T||p&&d)?-p:p,"maybeNegate");return[{years:E(Yr(r)),months:E(Yr(n)),weeks:E(Yr(i)),days:E(Yr(o)),hours:E(Yr(a)),minutes:E(Yr(u)),seconds:E(Yr(c),c==="-0"),milliseconds:E(md(l),f)}]}s(qD,"extractISODuration");var KD={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function yd(t,e,r,n,i,o,a){let u={year:e.length===2?cd(ur(e)):ur(e),month:ty.indexOf(r)+1,day:ur(n),hour:ur(i),minute:ur(o)};return a&&(u.second=ur(a)),t&&(u.weekday=t.length>3?ny.indexOf(t)+1:iy.indexOf(t)+1),u}s(yd,"fromStrings");var QD=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function jD(t){let[,e,r,n,i,o,a,u,c,l,d,f]=t,E=yd(e,i,n,r,o,a,u),p;return c?p=KD[c]:l?p=0:p=Pa(d,f),[E,new Ke(p)]}s(jD,"extractRFC2822");function HD(t){return t.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}s(HD,"preprocessRFC2822");var YD=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,zD=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,JD=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function lg(t){let[,e,r,n,i,o,a,u]=t;return[yd(e,i,n,r,o,a,u),Ke.utcInstance]}s(lg,"extractRFC1123Or850");function XD(t){let[,e,r,n,i,o,a,u]=t;return[yd(e,u,r,n,i,o,a),Ke.utcInstance]}s(XD,"extractASCII");var ZD=qn(UD,gd),eC=qn(LD,gd),tC=qn(kD,gd),rC=qn(dy),py=Kn(GD,jn,Ts,Ss),nC=Kn(MD,jn,Ts,Ss),iC=Kn(FD,jn,Ts,Ss),sC=Kn(jn,Ts,Ss);function oC(t){return Qn(t,[ZD,py],[eC,nC],[tC,iC],[rC,sC])}s(oC,"parseISODate");function aC(t){return Qn(HD(t),[QD,jD])}s(aC,"parseRFC2822Date");function uC(t){return Qn(t,[YD,lg],[zD,lg],[JD,XD])}s(uC,"parseHTTPDate");function cC(t){return Qn(t,[VD,qD])}s(cC,"parseISODuration");var lC=Kn(jn);function dC(t){return Qn(t,[$D,lC])}s(dC,"parseISOTimeOnly");var fC=qn(BD,WD),pC=qn(fy),mC=Kn(jn,Ts,Ss);function hC(t){return Qn(t,[fC,py],[pC,mC])}s(hC,"parseSQL");var dg="Invalid Duration",my={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},EC={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...my},Xe=146097/400,Fn=146097/4800,gC={years:{quarters:4,months:12,weeks:Xe/7,days:Xe,hours:Xe*24,minutes:Xe*24*60,seconds:Xe*24*60*60,milliseconds:Xe*24*60*60*1e3},quarters:{months:3,weeks:Xe/28,days:Xe/4,hours:Xe*24/4,minutes:Xe*24*60/4,seconds:Xe*24*60*60/4,milliseconds:Xe*24*60*60*1e3/4},months:{weeks:Fn/7,days:Fn,hours:Fn*24,minutes:Fn*24*60,seconds:Fn*24*60*60,milliseconds:Fn*24*60*60*1e3},...my},Jr=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],yC=Jr.slice(0).reverse();function Mt(t,e,r=!1){let n={values:r?e.values:{...t.values,...e.values||{}},loc:t.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||t.conversionAccuracy,matrix:e.matrix||t.matrix};return new ge(n)}s(Mt,"clone$1");function hy(t,e){var r;let n=(r=e.milliseconds)!=null?r:0;for(let i of yC.slice(1))e[i]&&(n+=e[i]*t[i].milliseconds);return n}s(hy,"durationToMillis");function fg(t,e){let r=hy(t,e)<0?-1:1;Jr.reduceRight((n,i)=>{if(Q(e[i]))return n;if(n){let o=e[n]*r,a=t[i][n],u=Math.floor(o/a);e[i]+=u*r,e[n]-=u*a*r}return i},null),Jr.reduce((n,i)=>{if(Q(e[i]))return n;if(n){let o=e[n]%1;e[n]-=o,e[i]+=o*t[n][i]}return i},null)}s(fg,"normalizeValues");function pg(t){let e={};for(let[r,n]of Object.entries(t))n!==0&&(e[r]=n);return e}s(pg,"removeZeroes");var ge=class t{static{s(this,"Duration")}constructor(e){let r=e.conversionAccuracy==="longterm"||!1,n=r?gC:EC;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||te.create(),this.conversionAccuracy=r?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(e,r){return t.fromObject({milliseconds:e},r)}static fromObject(e,r={}){if(e==null||typeof e!="object")throw new _e(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new t({values:Ca(e,t.normalizeUnit),loc:te.fromObject(r),conversionAccuracy:r.conversionAccuracy,matrix:r.matrix})}static fromDurationLike(e){if(dr(e))return t.fromMillis(e);if(t.isDuration(e))return e;if(typeof e=="object")return t.fromObject(e);throw new _e(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,r){let[n]=cC(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,r){let[n]=dC(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the Duration is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(ie.throwOnInvalid)throw new zl(n);return new t({invalid:n})}static normalizeUnit(e){let r={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!r)throw new Oa(e);return r}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,r={}){let n={...r,floor:r.round!==!1&&r.floor!==!1};return this.isValid?$e.create(this.loc,n).formatDurationFromString(this,e):dg}toHuman(e={}){if(!this.isValid)return dg;let r=e.showZeros!==!1,n=Jr.map(i=>{let o=this.values[i];return Q(o)||o===0&&!r?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:i.slice(0,-1)}).format(o)}).filter(i=>i);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=hd(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let r=this.toMillis();return r<0||r>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},oe.fromMillis(r,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?hy(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e),n={};for(let i of Jr)(Vn(r.values,i)||Vn(this.values,i))&&(n[i]=r.get(i)+this.get(i));return Mt(this,{values:n},!0)}minus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e);return this.plus(r.negate())}mapUnits(e){if(!this.isValid)return this;let r={};for(let n of Object.keys(this.values))r[n]=ey(e(this.values[n],n));return Mt(this,{values:r},!0)}get(e){return this[t.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let r={...this.values,...Ca(e,t.normalizeUnit)};return Mt(this,{values:r})}reconfigure({locale:e,numberingSystem:r,conversionAccuracy:n,matrix:i}={}){let a={loc:this.loc.clone({locale:e,numberingSystem:r}),matrix:i,conversionAccuracy:n};return Mt(this,a)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return fg(this.matrix,e),Mt(this,{values:e},!0)}rescale(){if(!this.isValid)return this;let e=pg(this.normalize().shiftToAll().toObject());return Mt(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(a=>t.normalizeUnit(a));let r={},n={},i=this.toObject(),o;for(let a of Jr)if(e.indexOf(a)>=0){o=a;let u=0;for(let l in n)u+=this.matrix[l][a]*n[l],n[l]=0;dr(i[a])&&(u+=i[a]);let c=Math.trunc(u);r[a]=c,n[a]=(u*1e3-c*1e3)/1e3}else dr(i[a])&&(n[a]=i[a]);for(let a in n)n[a]!==0&&(r[o]+=a===o?n[a]:n[a]/this.matrix[o][a]);return fg(this.matrix,r),Mt(this,{values:r},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let e={};for(let r of Object.keys(this.values))e[r]=this.values[r]===0?0:-this.values[r];return Mt(this,{values:e},!0)}removeZeros(){if(!this.isValid)return this;let e=pg(this.values);return Mt(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function r(n,i){return n===void 0||n===0?i===void 0||i===0:n===i}s(r,"eq");for(let n of Jr)if(!r(this.values[n],e.values[n]))return!1;return!0}},Bn="Invalid Interval";function TC(t,e){return!t||!t.isValid?Zr.invalid("missing or invalid start"):!e||!e.isValid?Zr.invalid("missing or invalid end"):e<t?Zr.invalid("end before start",`The end of an interval must be after its start, but you had start=${t.toISO()} and end=${e.toISO()}`):null}s(TC,"validateStartEnd");var Zr=class t{static{s(this,"Interval")}constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the Interval is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(ie.throwOnInvalid)throw new Yl(n);return new t({invalid:n})}static fromDateTimes(e,r){let n=ds(e),i=ds(r),o=TC(n,i);return o??new t({start:n,end:i})}static after(e,r){let n=ge.fromDurationLike(r),i=ds(e);return t.fromDateTimes(i,i.plus(n))}static before(e,r){let n=ge.fromDurationLike(r),i=ds(e);return t.fromDateTimes(i.minus(n),i)}static fromISO(e,r){let[n,i]=(e||"").split("/",2);if(n&&i){let o,a;try{o=oe.fromISO(n,r),a=o.isValid}catch{a=!1}let u,c;try{u=oe.fromISO(i,r),c=u.isValid}catch{c=!1}if(a&&c)return t.fromDateTimes(o,u);if(a){let l=ge.fromISO(i,r);if(l.isValid)return t.after(o,l)}else if(c){let l=ge.fromISO(n,r);if(l.isValid)return t.before(u,l)}}return t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds",r){if(!this.isValid)return NaN;let n=this.start.startOf(e,r),i;return r!=null&&r.useLocaleWeeks?i=this.end.reconfigure({locale:n.locale}):i=this.end,i=i.startOf(e,r),Math.floor(i.diff(n,e).get(e))+(i.valueOf()!==this.end.valueOf())}hasSame(e){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,e):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return this.isValid?this.s>e:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:r}={}){return this.isValid?t.fromDateTimes(e||this.s,r||this.e):this}splitAt(...e){if(!this.isValid)return[];let r=e.map(ds).filter(a=>this.contains(a)).sort((a,u)=>a.toMillis()-u.toMillis()),n=[],{s:i}=this,o=0;for(;i<this.e;){let a=r[o]||this.e,u=+a>+this.e?this.e:a;n.push(t.fromDateTimes(i,u)),i=u,o+=1}return n}splitBy(e){let r=ge.fromDurationLike(e);if(!this.isValid||!r.isValid||r.as("milliseconds")===0)return[];let{s:n}=this,i=1,o,a=[];for(;n<this.e;){let u=this.start.plus(r.mapUnits(c=>c*i));o=+u>+this.e?this.e:u,a.push(t.fromDateTimes(n,o)),n=o,i+=1}return a}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return this.isValid?+this.e==+e.s:!1}abutsEnd(e){return this.isValid?+e.e==+this.s:!1}engulfs(e){return this.isValid?this.s<=e.s&&this.e>=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let r=this.s>e.s?this.s:e.s,n=this.e<e.e?this.e:e.e;return r>=n?null:t.fromDateTimes(r,n)}union(e){if(!this.isValid)return this;let r=this.s<e.s?this.s:e.s,n=this.e>e.e?this.e:e.e;return t.fromDateTimes(r,n)}static merge(e){let[r,n]=e.sort((i,o)=>i.s-o.s).reduce(([i,o],a)=>o?o.overlaps(a)||o.abutsStart(a)?[i,o.union(a)]:[i.concat([o]),a]:[i,a],[[],null]);return n&&r.push(n),r}static xor(e){let r=null,n=0,i=[],o=e.map(c=>[{time:c.s,type:"s"},{time:c.e,type:"e"}]),a=Array.prototype.concat(...o),u=a.sort((c,l)=>c.time-l.time);for(let c of u)n+=c.type==="s"?1:-1,n===1?r=c.time:(r&&+r!=+c.time&&i.push(t.fromDateTimes(r,c.time)),r=null);return t.merge(i)}difference(...e){return t.xor([this].concat(e)).map(r=>this.intersection(r)).filter(r=>r&&!r.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:Bn}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=Ia,r={}){return this.isValid?$e.create(this.s.loc.clone(r),e).formatInterval(this):Bn}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:Bn}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Bn}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:Bn}toFormat(e,{separator:r=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${r}${this.e.toFormat(e)}`:Bn}toDuration(e,r){return this.isValid?this.e.diff(this.s,e,r):ge.invalid(this.invalidReason)}mapEndpoints(e){return t.fromDateTimes(e(this.s),e(this.e))}},Xr=class{static{s(this,"Info")}static hasDST(e=ie.defaultZone){let r=oe.now().setZone(e).set({month:12});return!e.isUniversal&&r.offset!==r.set({month:6}).offset}static isValidIANAZone(e){return Bt.isValidZone(e)}static normalizeZone(e){return cr(e,ie.defaultZone)}static getStartOfWeek({locale:e=null,locObj:r=null}={}){return(r||te.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:r=null}={}){return(r||te.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:r=null}={}){return(r||te.create(e)).getWeekendDays().slice()}static months(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||te.create(r,n,o)).months(e)}static monthsFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||te.create(r,n,o)).months(e,!0)}static weekdays(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||te.create(r,n,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||te.create(r,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return te.create(e).meridiems()}static eras(e="short",{locale:r=null}={}){return te.create(r,null,"gregory").eras(e)}static features(){return{relative:Jg(),localeWeek:Xg()}}};function mg(t,e){let r=s(i=>i.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),"utcDayStart"),n=r(e)-r(t);return Math.floor(ge.fromMillis(n).as("days"))}s(mg,"dayDiff");function SC(t,e,r){let n=[["years",(c,l)=>l.year-c.year],["quarters",(c,l)=>l.quarter-c.quarter+(l.year-c.year)*4],["months",(c,l)=>l.month-c.month+(l.year-c.year)*12],["weeks",(c,l)=>{let d=mg(c,l);return(d-d%7)/7}],["days",mg]],i={},o=t,a,u;for(let[c,l]of n)r.indexOf(c)>=0&&(a=c,i[c]=l(t,e),u=o.plus(i),u>e?(i[c]--,t=o.plus(i),t>e&&(u=t,i[c]--,t=o.plus(i))):t=u);return[t,i,u,a]}s(SC,"highOrderDiffs");function AC(t,e,r,n){let[i,o,a,u]=SC(t,e,r),c=e-i,l=r.filter(f=>["hours","minutes","seconds","milliseconds"].indexOf(f)>=0);l.length===0&&(a<e&&(a=i.plus({[u]:1})),a!==i&&(o[u]=(o[u]||0)+c/(a-i)));let d=ge.fromObject(o,n);return l.length>0?ge.fromMillis(c,n).shiftTo(...l).plus(d):d}s(AC,"diff");var _C="missing Intl.DateTimeFormat.formatToParts support";function Z(t,e=r=>r){return{regex:t,deser:([r])=>e(fD(r))}}s(Z,"intUnit");var OC=String.fromCharCode(160),Ey=`[ ${OC}]`,gy=new RegExp(Ey,"g");function IC(t){return t.replace(/\./g,"\\.?").replace(gy,Ey)}s(IC,"fixListRegex");function hg(t){return t.replace(/\./g,"").replace(gy," ").toLowerCase()}s(hg,"stripInsensitivities");function dt(t,e){return t===null?null:{regex:RegExp(t.map(IC).join("|")),deser:([r])=>t.findIndex(n=>hg(r)===hg(n))+e}}s(dt,"oneOf");function Eg(t,e){return{regex:t,deser:([,r,n])=>Pa(r,n),groups:e}}s(Eg,"offset");function ga(t){return{regex:t,deser:([e])=>e}}s(ga,"simple");function wC(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}s(wC,"escapeToken");function RC(t,e){let r=lt(e),n=lt(e,"{2}"),i=lt(e,"{3}"),o=lt(e,"{4}"),a=lt(e,"{6}"),u=lt(e,"{1,2}"),c=lt(e,"{1,3}"),l=lt(e,"{1,6}"),d=lt(e,"{1,9}"),f=lt(e,"{2,4}"),E=lt(e,"{4,6}"),p=s(g=>({regex:RegExp(wC(g.val)),deser:([y])=>y,literal:!0}),"literal"),h=s(g=>{if(t.literal)return p(g);switch(g.val){case"G":return dt(e.eras("short"),0);case"GG":return dt(e.eras("long"),0);case"y":return Z(l);case"yy":return Z(f,cd);case"yyyy":return Z(o);case"yyyyy":return Z(E);case"yyyyyy":return Z(a);case"M":return Z(u);case"MM":return Z(n);case"MMM":return dt(e.months("short",!0),1);case"MMMM":return dt(e.months("long",!0),1);case"L":return Z(u);case"LL":return Z(n);case"LLL":return dt(e.months("short",!1),1);case"LLLL":return dt(e.months("long",!1),1);case"d":return Z(u);case"dd":return Z(n);case"o":return Z(c);case"ooo":return Z(i);case"HH":return Z(n);case"H":return Z(u);case"hh":return Z(n);case"h":return Z(u);case"mm":return Z(n);case"m":return Z(u);case"q":return Z(u);case"qq":return Z(n);case"s":return Z(u);case"ss":return Z(n);case"S":return Z(c);case"SSS":return Z(i);case"u":return ga(d);case"uu":return ga(u);case"uuu":return Z(r);case"a":return dt(e.meridiems(),0);case"kkkk":return Z(o);case"kk":return Z(f,cd);case"W":return Z(u);case"WW":return Z(n);case"E":case"c":return Z(r);case"EEE":return dt(e.weekdays("short",!1),1);case"EEEE":return dt(e.weekdays("long",!1),1);case"ccc":return dt(e.weekdays("short",!0),1);case"cccc":return dt(e.weekdays("long",!0),1);case"Z":case"ZZ":return Eg(new RegExp(`([+-]${u.source})(?::(${n.source}))?`),2);case"ZZZ":return Eg(new RegExp(`([+-]${u.source})(${n.source})?`),2);case"z":return ga(/[a-z_+-/]{1,256}?/i);case" ":return ga(/[^\S\n\r]/);default:return p(g)}},"unitate")(t)||{invalidReason:_C};return h.token=t,h}s(RC,"unitForToken");var DC={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function CC(t,e,r){let{type:n,value:i}=t;if(n==="literal"){let c=/^\s+$/.test(i);return{literal:!c,val:c?" ":i}}let o=e[n],a=n;n==="hour"&&(e.hour12!=null?a=e.hour12?"hour12":"hour24":e.hourCycle!=null?e.hourCycle==="h11"||e.hourCycle==="h12"?a="hour12":a="hour24":a=r.hour12?"hour12":"hour24");let u=DC[a];if(typeof u=="object"&&(u=u[o]),u)return{literal:!1,val:u}}s(CC,"tokenForPart");function bC(t){return[`^${t.map(r=>r.regex).reduce((r,n)=>`${r}(${n.source})`,"")}$`,t]}s(bC,"buildRegex");function xC(t,e,r){let n=t.match(e);if(n){let i={},o=1;for(let a in r)if(Vn(r,a)){let u=r[a],c=u.groups?u.groups+1:1;!u.literal&&u.token&&(i[u.token.val[0]]=u.deser(n.slice(o,o+c))),o+=c}return[n,i]}else return[n,{}]}s(xC,"match");function vC(t){let e=s(o=>{switch(o){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},"toField"),r=null,n;return Q(t.z)||(r=Bt.create(t.z)),Q(t.Z)||(r||(r=new Ke(t.Z)),n=t.Z),Q(t.q)||(t.M=(t.q-1)*3+1),Q(t.h)||(t.h<12&&t.a===1?t.h+=12:t.h===12&&t.a===0&&(t.h=0)),t.G===0&&t.y&&(t.y=-t.y),Q(t.u)||(t.S=md(t.u)),[Object.keys(t).reduce((o,a)=>{let u=e(a);return u&&(o[u]=t[a]),o},{}),r,n]}s(vC,"dateTimeFromMatches");var Vl=null;function PC(){return Vl||(Vl=oe.fromMillis(1555555555555)),Vl}s(PC,"getDummyDateTime");function NC(t,e){if(t.literal)return t;let r=$e.macroTokenToFormatOpts(t.val),n=Sy(r,e);return n==null||n.includes(void 0)?t:n}s(NC,"maybeExpandMacroToken");function yy(t,e){return Array.prototype.concat(...t.map(r=>NC(r,e)))}s(yy,"expandMacroTokens");var ba=class{static{s(this,"TokenParser")}constructor(e,r){if(this.locale=e,this.format=r,this.tokens=yy($e.parseFormat(r),e),this.units=this.tokens.map(n=>RC(n,e)),this.disqualifyingUnit=this.units.find(n=>n.invalidReason),!this.disqualifyingUnit){let[n,i]=bC(this.units);this.regex=RegExp(n,"i"),this.handlers=i}}explainFromTokens(e){if(this.isValid){let[r,n]=xC(e,this.regex,this.handlers),[i,o,a]=n?vC(n):[null,null,void 0];if(Vn(n,"a")&&Vn(n,"H"))throw new lr("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:r,matches:n,result:i,zone:o,specificOffset:a}}else return{input:e,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function Ty(t,e,r){return new ba(t,r).explainFromTokens(e)}s(Ty,"explainFromTokens");function UC(t,e,r){let{result:n,zone:i,specificOffset:o,invalidReason:a}=Ty(t,e,r);return[n,i,o,a]}s(UC,"parseFromTokens");function Sy(t,e){if(!t)return null;let n=$e.create(e,t).dtFormatter(PC()),i=n.formatToParts(),o=n.resolvedOptions();return i.map(a=>CC(a,t,o))}s(Sy,"formatOptsToTokens");var ql="Invalid DateTime",gg=864e13;function ps(t){return new Ve("unsupported zone",`the zone "${t.name}" is not supported`)}s(ps,"unsupportedZone");function Kl(t){return t.weekData===null&&(t.weekData=Ra(t.c)),t.weekData}s(Kl,"possiblyCachedWeekData");function Ql(t){return t.localWeekData===null&&(t.localWeekData=Ra(t.c,t.loc.getMinDaysInFirstWeek(),t.loc.getStartOfWeek())),t.localWeekData}s(Ql,"possiblyCachedLocalWeekData");function zr(t,e){let r={ts:t.ts,zone:t.zone,c:t.c,o:t.o,loc:t.loc,invalid:t.invalid};return new oe({...r,...e,old:r})}s(zr,"clone");function Ay(t,e,r){let n=t-e*60*1e3,i=r.offset(n);if(e===i)return[n,e];n-=(i-e)*60*1e3;let o=r.offset(n);return i===o?[n,i]:[t-Math.min(i,o)*60*1e3,Math.max(i,o)]}s(Ay,"fixOffset");function ya(t,e){t+=e*60*1e3;let r=new Date(t);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}s(ya,"tsToObj");function Sa(t,e,r){return Ay(va(t),e,r)}s(Sa,"objToTS");function yg(t,e){let r=t.o,n=t.c.year+Math.trunc(e.years),i=t.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,o={...t.c,year:n,month:i,day:Math.min(t.c.day,Da(n,i))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},a=ge.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),u=va(o),[c,l]=Ay(u,r,t.zone);return a!==0&&(c+=a,l=t.zone.offset(c)),{ts:c,o:l}}s(yg,"adjustTime");function Wn(t,e,r,n,i,o){let{setZone:a,zone:u}=r;if(t&&Object.keys(t).length!==0||e){let c=e||u,l=oe.fromObject(t,{...r,zone:c,specificOffset:o});return a?l:l.setZone(u)}else return oe.invalid(new Ve("unparsable",`the input "${i}" can't be parsed as ${n}`))}s(Wn,"parseDataToDateTime");function Ta(t,e,r=!0){return t.isValid?$e.create(te.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(t,e):null}s(Ta,"toTechFormat");function jl(t,e,r){let n=t.c.year>9999||t.c.year<0,i="";if(n&&t.c.year>=0&&(i+="+"),i+=me(t.c.year,n?6:4),r==="year")return i;if(e){if(i+="-",i+=me(t.c.month),r==="month")return i;i+="-"}else if(i+=me(t.c.month),r==="month")return i;return i+=me(t.c.day),i}s(jl,"toISODate");function Tg(t,e,r,n,i,o,a){let u=!r||t.c.millisecond!==0||t.c.second!==0,c="";switch(a){case"day":case"month":case"year":break;default:if(c+=me(t.c.hour),a==="hour")break;if(e){if(c+=":",c+=me(t.c.minute),a==="minute")break;u&&(c+=":",c+=me(t.c.second))}else{if(c+=me(t.c.minute),a==="minute")break;u&&(c+=me(t.c.second))}if(a==="second")break;u&&(!n||t.c.millisecond!==0)&&(c+=".",c+=me(t.c.millisecond,3))}return i&&(t.isOffsetFixed&&t.offset===0&&!o?c+="Z":t.o<0?(c+="-",c+=me(Math.trunc(-t.o/60)),c+=":",c+=me(Math.trunc(-t.o%60))):(c+="+",c+=me(Math.trunc(t.o/60)),c+=":",c+=me(Math.trunc(t.o%60)))),o&&(c+="["+t.zone.ianaName+"]"),c}s(Tg,"toISOTime");var _y={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},LC={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},kC={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Aa=["year","month","day","hour","minute","second","millisecond"],MC=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],FC=["year","ordinal","hour","minute","second","millisecond"];function _a(t){let e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[t.toLowerCase()];if(!e)throw new Oa(t);return e}s(_a,"normalizeUnit");function Sg(t){switch(t.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return _a(t)}}s(Sg,"normalizeUnitWithLocalWeeks");function BC(t){if(ms===void 0&&(ms=ie.now()),t.type!=="iana")return t.offset(ms);let e=t.name,r=ld.get(e);return r===void 0&&(r=t.offset(ms),ld.set(e,r)),r}s(BC,"guessOffsetForZone");function Ag(t,e){let r=cr(e.zone,ie.defaultZone);if(!r.isValid)return oe.invalid(ps(r));let n=te.fromObject(e),i,o;if(Q(t.year))i=ie.now();else{for(let c of Aa)Q(t[c])&&(t[c]=_y[c]);let a=Yg(t)||zg(t);if(a)return oe.invalid(a);let u=BC(r);[i,o]=Sa(t,u,r)}return new oe({ts:i,zone:r,loc:n,o})}s(Ag,"quickDT");function _g(t,e,r){let n=Q(r.round)?!0:r.round,i=Q(r.rounding)?"trunc":r.rounding,o=s((u,c)=>(u=hd(u,n||r.calendary?0:2,r.calendary?"round":i),e.loc.clone(r).relFormatter(r).format(u,c)),"format"),a=s(u=>r.calendary?e.hasSame(t,u)?0:e.startOf(u).diff(t.startOf(u),u).get(u):e.diff(t,u).get(u),"differ");if(r.unit)return o(a(r.unit),r.unit);for(let u of r.units){let c=a(u);if(Math.abs(c)>=1)return o(c,u)}return o(t>e?-0:0,r.units[r.units.length-1])}s(_g,"diffRelative");function Og(t){let e={},r;return t.length>0&&typeof t[t.length-1]=="object"?(e=t[t.length-1],r=Array.from(t).slice(0,t.length-1)):r=Array.from(t),[e,r]}s(Og,"lastOpts");var ms,ld=new Map,oe=class t{static{s(this,"DateTime")}constructor(e){let r=e.zone||ie.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new Ve("invalid input"):null)||(r.isValid?null:ps(r));this.ts=Q(e.ts)?ie.now():e.ts;let i=null,o=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(r))[i,o]=[e.old.c,e.old.o];else{let u=dr(e.o)&&!e.old?e.o:r.offset(this.ts);i=ya(this.ts,u),n=Number.isNaN(i.year)?new Ve("invalid input"):null,i=n?null:i,o=n?null:u}this._zone=r,this.loc=e.loc||te.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=i,this.o=o,this.isLuxonDateTime=!0}static now(){return new t({})}static local(){let[e,r]=Og(arguments),[n,i,o,a,u,c,l]=r;return Ag({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static utc(){let[e,r]=Og(arguments),[n,i,o,a,u,c,l]=r;return e.zone=Ke.utcInstance,Ag({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static fromJSDate(e,r={}){let n=gD(e)?e.valueOf():NaN;if(Number.isNaN(n))return t.invalid("invalid input");let i=cr(r.zone,ie.defaultZone);return i.isValid?new t({ts:n,zone:i,loc:te.fromObject(r)}):t.invalid(ps(i))}static fromMillis(e,r={}){if(dr(e))return e<-gg||e>gg?t.invalid("Timestamp out of range"):new t({ts:e,zone:cr(r.zone,ie.defaultZone),loc:te.fromObject(r)});throw new _e(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,r={}){if(dr(e))return new t({ts:e*1e3,zone:cr(r.zone,ie.defaultZone),loc:te.fromObject(r)});throw new _e("fromSeconds requires a numerical input")}static fromObject(e,r={}){e=e||{};let n=cr(r.zone,ie.defaultZone);if(!n.isValid)return t.invalid(ps(n));let i=te.fromObject(r),o=Ca(e,Sg),{minDaysInFirstWeek:a,startOfWeek:u}=og(o,i),c=ie.now(),l=Q(r.specificOffset)?n.offset(c):r.specificOffset,d=!Q(o.ordinal),f=!Q(o.year),E=!Q(o.month)||!Q(o.day),p=f||E,T=o.weekYear||o.weekNumber;if((p||d)&&T)throw new lr("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(E&&d)throw new lr("Can't mix ordinal dates with month/day");let h=T||o.weekday&&!p,g,y,I=ya(c,l);h?(g=MC,y=LC,I=Ra(I,a,u)):d?(g=FC,y=kC,I=$l(I)):(g=Aa,y=_y);let O=!1;for(let H of g){let we=o[H];Q(we)?O?o[H]=y[H]:o[H]=I[H]:O=!0}let w=h?mD(o,a,u):d?hD(o):Yg(o),S=w||zg(o);if(S)return t.invalid(S);let _=h?ig(o,a,u):d?sg(o):o,[U,C]=Sa(_,l,n),M=new t({ts:U,zone:n,o:C,loc:i});return o.weekday&&p&&e.weekday!==M.weekday?t.invalid("mismatched weekday",`you can't specify both a weekday of ${o.weekday} and a date of ${M.toISO()}`):M.isValid?M:t.invalid(M.invalid)}static fromISO(e,r={}){let[n,i]=oC(e);return Wn(n,i,r,"ISO 8601",e)}static fromRFC2822(e,r={}){let[n,i]=aC(e);return Wn(n,i,r,"RFC 2822",e)}static fromHTTP(e,r={}){let[n,i]=uC(e);return Wn(n,i,r,"HTTP",r)}static fromFormat(e,r,n={}){if(Q(e)||Q(r))throw new _e("fromFormat requires an input string and a format");let{locale:i=null,numberingSystem:o=null}=n,a=te.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0}),[u,c,l,d]=UC(a,e,r);return d?t.invalid(d):Wn(u,c,n,`format ${r}`,e,l)}static fromString(e,r,n={}){return t.fromFormat(e,r,n)}static fromSQL(e,r={}){let[n,i]=hC(e);return Wn(n,i,r,"SQL",e)}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the DateTime is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(ie.throwOnInvalid)throw new Hl(n);return new t({invalid:n})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,r={}){let n=Sy(e,te.fromObject(r));return n?n.map(i=>i?i.val:null).join(""):null}static expandFormat(e,r={}){return yy($e.parseFormat(e),te.fromObject(r)).map(i=>i.val).join("")}static resetCache(){ms=void 0,ld.clear()}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Kl(this).weekYear:NaN}get weekNumber(){return this.isValid?Kl(this).weekNumber:NaN}get weekday(){return this.isValid?Kl(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Ql(this).weekday:NaN}get localWeekNumber(){return this.isValid?Ql(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Ql(this).weekYear:NaN}get ordinal(){return this.isValid?$l(this.c).ordinal:NaN}get monthShort(){return this.isValid?Xr.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Xr.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Xr.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Xr.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=864e5,r=6e4,n=va(this.c),i=this.zone.offset(n-e),o=this.zone.offset(n+e),a=this.zone.offset(n-i*r),u=this.zone.offset(n-o*r);if(a===u)return[this];let c=n-a*r,l=n-u*r,d=ya(c,a),f=ya(l,u);return d.hour===f.hour&&d.minute===f.minute&&d.second===f.second&&d.millisecond===f.millisecond?[zr(this,{ts:c}),zr(this,{ts:l})]:[this]}get isInLeapYear(){return ys(this.year)}get daysInMonth(){return Da(this.year,this.month)}get daysInYear(){return this.isValid?Gn(this.year):NaN}get weeksInWeekYear(){return this.isValid?gs(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?gs(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:r,numberingSystem:n,calendar:i}=$e.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:r,numberingSystem:n,outputCalendar:i}}toUTC(e=0,r={}){return this.setZone(Ke.instance(e),r)}toLocal(){return this.setZone(ie.defaultZone)}setZone(e,{keepLocalTime:r=!1,keepCalendarTime:n=!1}={}){if(e=cr(e,ie.defaultZone),e.equals(this.zone))return this;if(e.isValid){let i=this.ts;if(r||n){let o=e.offset(this.ts),a=this.toObject();[i]=Sa(a,o,e)}return zr(this,{ts:i,zone:e})}else return t.invalid(ps(e))}reconfigure({locale:e,numberingSystem:r,outputCalendar:n}={}){let i=this.loc.clone({locale:e,numberingSystem:r,outputCalendar:n});return zr(this,{loc:i})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let r=Ca(e,Sg),{minDaysInFirstWeek:n,startOfWeek:i}=og(r,this.loc),o=!Q(r.weekYear)||!Q(r.weekNumber)||!Q(r.weekday),a=!Q(r.ordinal),u=!Q(r.year),c=!Q(r.month)||!Q(r.day),l=u||c,d=r.weekYear||r.weekNumber;if((l||a)&&d)throw new lr("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(c&&a)throw new lr("Can't mix ordinal dates with month/day");let f;o?f=ig({...Ra(this.c,n,i),...r},n,i):Q(r.ordinal)?(f={...this.toObject(),...r},Q(r.day)&&(f.day=Math.min(Da(f.year,f.month),f.day))):f=sg({...$l(this.c),...r});let[E,p]=Sa(f,this.o,this.zone);return zr(this,{ts:E,o:p})}plus(e){if(!this.isValid)return this;let r=ge.fromDurationLike(e);return zr(this,yg(this,r))}minus(e){if(!this.isValid)return this;let r=ge.fromDurationLike(e).negate();return zr(this,yg(this,r))}startOf(e,{useLocaleWeeks:r=!1}={}){if(!this.isValid)return this;let n={},i=ge.normalizeUnit(e);switch(i){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0;break}if(i==="weeks")if(r){let o=this.loc.getStartOfWeek(),{weekday:a}=this;a<o&&(n.weekNumber=this.weekNumber-1),n.weekday=o}else n.weekday=1;if(i==="quarters"){let o=Math.ceil(this.month/3);n.month=(o-1)*3+1}return this.set(n)}endOf(e,r){return this.isValid?this.plus({[e]:1}).startOf(e,r).minus(1):this}toFormat(e,r={}){return this.isValid?$e.create(this.loc.redefaultToEN(r)).formatDateTimeFromString(this,e):ql}toLocaleString(e=Ia,r={}){return this.isValid?$e.create(this.loc.clone(r),e).formatDateTime(this):ql}toLocaleParts(e={}){return this.isValid?$e.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:r=!1,suppressMilliseconds:n=!1,includeOffset:i=!0,extendedZone:o=!1,precision:a="milliseconds"}={}){if(!this.isValid)return null;a=_a(a);let u=e==="extended",c=jl(this,u,a);return Aa.indexOf(a)>=3&&(c+="T"),c+=Tg(this,u,r,n,i,o,a),c}toISODate({format:e="extended",precision:r="day"}={}){return this.isValid?jl(this,e==="extended",_a(r)):null}toISOWeekDate(){return Ta(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:r=!1,includeOffset:n=!0,includePrefix:i=!1,extendedZone:o=!1,format:a="extended",precision:u="milliseconds"}={}){return this.isValid?(u=_a(u),(i&&Aa.indexOf(u)>=3?"T":"")+Tg(this,a==="extended",r,e,n,o,u)):null}toRFC2822(){return Ta(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Ta(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?jl(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:r=!1,includeOffsetSpace:n=!0}={}){let i="HH:mm:ss.SSS";return(r||e)&&(n&&(i+=" "),r?i+="z":e&&(i+="ZZ")),Ta(this,i,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():ql}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let r={...this.c};return e.includeConfig&&(r.outputCalendar=this.outputCalendar,r.numberingSystem=this.loc.numberingSystem,r.locale=this.loc.locale),r}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,r="milliseconds",n={}){if(!this.isValid||!e.isValid)return ge.invalid("created by diffing an invalid DateTime");let i={locale:this.locale,numberingSystem:this.numberingSystem,...n},o=yD(r).map(ge.normalizeUnit),a=e.valueOf()>this.valueOf(),u=a?this:e,c=a?e:this,l=AC(u,c,o,i);return a?l.negate():l}diffNow(e="milliseconds",r={}){return this.diff(t.now(),e,r)}until(e){return this.isValid?Zr.fromDateTimes(this,e):this}hasSame(e,r,n){if(!this.isValid)return!1;let i=e.valueOf(),o=this.setZone(e.zone,{keepLocalTime:!0});return o.startOf(r,n)<=i&&i<=o.endOf(r,n)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let r=e.base||t.fromObject({},{zone:this.zone}),n=e.padding?this<r?-e.padding:e.padding:0,i=["years","months","days","hours","minutes","seconds"],o=e.unit;return Array.isArray(e.unit)&&(i=e.unit,o=void 0),_g(r,this.plus(n),{...e,numeric:"always",units:i,unit:o})}toRelativeCalendar(e={}){return this.isValid?_g(e.base||t.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(t.isDateTime))throw new _e("min requires all arguments be DateTimes");return ag(e,r=>r.valueOf(),Math.min)}static max(...e){if(!e.every(t.isDateTime))throw new _e("max requires all arguments be DateTimes");return ag(e,r=>r.valueOf(),Math.max)}static fromFormatExplain(e,r,n={}){let{locale:i=null,numberingSystem:o=null}=n,a=te.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0});return Ty(a,e,r)}static fromStringExplain(e,r,n={}){return t.fromFormatExplain(e,r,n)}static buildFormatParser(e,r={}){let{locale:n=null,numberingSystem:i=null}=r,o=te.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0});return new ba(o,e)}static fromFormatParser(e,r,n={}){if(Q(e)||Q(r))throw new _e("fromFormatParser requires an input string and a format parser");let{locale:i=null,numberingSystem:o=null}=n,a=te.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0});if(!a.equals(r.locale))throw new _e(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${r.locale}`);let{result:u,zone:c,specificOffset:l,invalidReason:d}=r.explainFromTokens(e);return d?t.invalid(d):Wn(u,c,n,`format ${r.format}`,e,l)}static get DATE_SHORT(){return Ia}static get DATE_MED(){return Ig}static get DATE_MED_WITH_WEEKDAY(){return YR}static get DATE_FULL(){return wg}static get DATE_HUGE(){return Rg}static get TIME_SIMPLE(){return Dg}static get TIME_WITH_SECONDS(){return Cg}static get TIME_WITH_SHORT_OFFSET(){return bg}static get TIME_WITH_LONG_OFFSET(){return xg}static get TIME_24_SIMPLE(){return vg}static get TIME_24_WITH_SECONDS(){return Pg}static get TIME_24_WITH_SHORT_OFFSET(){return Ng}static get TIME_24_WITH_LONG_OFFSET(){return Ug}static get DATETIME_SHORT(){return Lg}static get DATETIME_SHORT_WITH_SECONDS(){return kg}static get DATETIME_MED(){return Mg}static get DATETIME_MED_WITH_SECONDS(){return Fg}static get DATETIME_MED_WITH_WEEKDAY(){return zR}static get DATETIME_FULL(){return Bg}static get DATETIME_FULL_WITH_SECONDS(){return Wg}static get DATETIME_HUGE(){return Gg}static get DATETIME_HUGE_WITH_SECONDS(){return $g}};function ds(t){if(oe.isDateTime(t))return t;if(t&&t.valueOf&&dr(t.valueOf()))return oe.fromJSDate(t);if(t&&typeof t=="object")return oe.fromObject(t);throw new _e(`Unknown datetime argument: ${t}, of type ${typeof t}`)}s(ds,"friendlyDateTime");var WC="3.7.2";Qe.DateTime=oe;Qe.Duration=ge;Qe.FixedOffsetZone=Ke;Qe.IANAZone=Bt;Qe.Info=Xr;Qe.Interval=Zr;Qe.InvalidZone=wa;Qe.Settings=ie;Qe.SystemZone=Es;Qe.VERSION=WC;Qe.Zone=fr});var wy=q((yW,Iy)=>{"use strict";var en=Oy();j.prototype.addYear=function(){this._date=this._date.plus({years:1})};j.prototype.addMonth=function(){this._date=this._date.plus({months:1}).startOf("month")};j.prototype.addDay=function(){this._date=this._date.plus({days:1}).startOf("day")};j.prototype.addHour=function(){var t=this._date;this._date=this._date.plus({hours:1}).startOf("hour"),this._date<=t&&(this._date=this._date.plus({hours:1}))};j.prototype.addMinute=function(){var t=this._date;this._date=this._date.plus({minutes:1}).startOf("minute"),this._date<t&&(this._date=this._date.plus({hours:1}))};j.prototype.addSecond=function(){var t=this._date;this._date=this._date.plus({seconds:1}).startOf("second"),this._date<t&&(this._date=this._date.plus({hours:1}))};j.prototype.subtractYear=function(){this._date=this._date.minus({years:1})};j.prototype.subtractMonth=function(){this._date=this._date.minus({months:1}).endOf("month").startOf("second")};j.prototype.subtractDay=function(){this._date=this._date.minus({days:1}).endOf("day").startOf("second")};j.prototype.subtractHour=function(){var t=this._date;this._date=this._date.minus({hours:1}).endOf("hour").startOf("second"),this._date>=t&&(this._date=this._date.minus({hours:1}))};j.prototype.subtractMinute=function(){var t=this._date;this._date=this._date.minus({minutes:1}).endOf("minute").startOf("second"),this._date>t&&(this._date=this._date.minus({hours:1}))};j.prototype.subtractSecond=function(){var t=this._date;this._date=this._date.minus({seconds:1}).startOf("second"),this._date>t&&(this._date=this._date.minus({hours:1}))};j.prototype.getDate=function(){return this._date.day};j.prototype.getFullYear=function(){return this._date.year};j.prototype.getDay=function(){var t=this._date.weekday;return t==7?0:t};j.prototype.getMonth=function(){return this._date.month-1};j.prototype.getHours=function(){return this._date.hour};j.prototype.getMinutes=function(){return this._date.minute};j.prototype.getSeconds=function(){return this._date.second};j.prototype.getMilliseconds=function(){return this._date.millisecond};j.prototype.getTime=function(){return this._date.valueOf()};j.prototype.getUTCDate=function(){return this._getUTC().day};j.prototype.getUTCFullYear=function(){return this._getUTC().year};j.prototype.getUTCDay=function(){var t=this._getUTC().weekday;return t==7?0:t};j.prototype.getUTCMonth=function(){return this._getUTC().month-1};j.prototype.getUTCHours=function(){return this._getUTC().hour};j.prototype.getUTCMinutes=function(){return this._getUTC().minute};j.prototype.getUTCSeconds=function(){return this._getUTC().second};j.prototype.toISOString=function(){return this._date.toUTC().toISO()};j.prototype.toJSON=function(){return this._date.toJSON()};j.prototype.setDate=function(t){this._date=this._date.set({day:t})};j.prototype.setFullYear=function(t){this._date=this._date.set({year:t})};j.prototype.setDay=function(t){this._date=this._date.set({weekday:t})};j.prototype.setMonth=function(t){this._date=this._date.set({month:t+1})};j.prototype.setHours=function(t){this._date=this._date.set({hour:t})};j.prototype.setMinutes=function(t){this._date=this._date.set({minute:t})};j.prototype.setSeconds=function(t){this._date=this._date.set({second:t})};j.prototype.setMilliseconds=function(t){this._date=this._date.set({millisecond:t})};j.prototype._getUTC=function(){return this._date.toUTC()};j.prototype.toString=function(){return this.toDate().toString()};j.prototype.toDate=function(){return this._date.toJSDate()};j.prototype.isLastDayOfMonth=function(){var t=this._date.plus({days:1}).startOf("day");return this._date.month!==t.month};j.prototype.isLastWeekdayOfMonth=function(){var t=this._date.plus({days:7}).startOf("day");return this._date.month!==t.month};function j(t,e){var r={zone:e};if(t?t instanceof j?this._date=t._date:t instanceof Date?this._date=en.DateTime.fromJSDate(t,r):typeof t=="number"?this._date=en.DateTime.fromMillis(t,r):typeof t=="string"&&(this._date=en.DateTime.fromISO(t,r),this._date.isValid||(this._date=en.DateTime.fromRFC2822(t,r)),this._date.isValid||(this._date=en.DateTime.fromSQL(t,r)),this._date.isValid||(this._date=en.DateTime.fromFormat(t,"EEE, d MMM yyyy HH:mm:ss",r))):this._date=en.DateTime.local(),!this._date||!this._date.isValid)throw new Error("CronDate: unhandled timestamp: "+JSON.stringify(t));e&&e!==this._date.zoneName&&(this._date=this._date.setZone(e))}s(j,"CronDate");Iy.exports=j});var Cy=q((SW,Dy)=>{"use strict";function tn(t){return{start:t,count:1}}s(tn,"buildRange");function Ry(t,e){t.end=e,t.step=e-t.start,t.count=2}s(Ry,"completeRangeWithItem");function Td(t,e,r){e&&(e.count===2?(t.push(tn(e.start)),t.push(tn(e.end))):t.push(e)),r&&t.push(r)}s(Td,"finalizeCurrentRange");function GC(t){for(var e=[],r=void 0,n=0;n<t.length;n++){var i=t[n];typeof i!="number"?(Td(e,r,tn(i)),r=void 0):r?r.count===1?Ry(r,i):r.step===i-r.end?(r.count++,r.end=i):r.count===2?(e.push(tn(r.start)),r=tn(r.end),Ry(r,i)):(Td(e,r),r=tn(i)):r=tn(i)}return Td(e,r),e}s(GC,"compactField");Dy.exports=GC});var xy=q((_W,by)=>{"use strict";var $C=Cy();function VC(t,e,r){var n=$C(t);if(n.length===1){var i=n[0],o=i.step;if(o===1&&i.start===e&&i.end===r)return"*";if(o!==1&&i.start===e&&i.end===r-o+1)return"*/"+o}for(var a=[],u=0,c=n.length;u<c;++u){var l=n[u];if(l.count===1){a.push(l.start);continue}var o=l.step;if(l.step===1){a.push(l.start+"-"+l.end);continue}var d=l.start==0?l.count-1:l.count;l.step*d>l.end?a=a.concat(Array.from({length:l.end-l.start+1}).map(function(E,p){var T=l.start+p;return(T-l.start)%l.step===0?T:null}).filter(function(E){return E!=null})):l.end===r-l.step+1?a.push(l.start+"/"+l.step):a.push(l.start+"-"+l.end+"/"+l.step)}return a.join(",")}s(VC,"stringifyField");by.exports=VC});var Ny=q((IW,Py)=>{"use strict";var rn=wy(),qC=xy(),vy=1e4;function L(t,e){this._options=e,this._utc=e.utc||!1,this._tz=this._utc?"UTC":e.tz,this._currentDate=new rn(e.currentDate,this._tz),this._startDate=e.startDate?new rn(e.startDate,this._tz):null,this._endDate=e.endDate?new rn(e.endDate,this._tz):null,this._isIterator=e.iterator||!1,this._hasIterated=!1,this._nthDayOfWeek=e.nthDayOfWeek||0,this.fields=L._freezeFields(t)}s(L,"CronExpression");L.map=["second","minute","hour","dayOfMonth","month","dayOfWeek"];L.predefined={"@yearly":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@hourly":"0 * * * *"};L.constraints=[{min:0,max:59,chars:[]},{min:0,max:59,chars:[]},{min:0,max:23,chars:[]},{min:1,max:31,chars:["L"]},{min:1,max:12,chars:[]},{min:0,max:7,chars:["L"]}];L.daysInMonth=[31,29,31,30,31,30,31,31,30,31,30,31];L.aliases={month:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},dayOfWeek:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}};L.parseDefaults=["0","*","*","*","*","*"];L.standardValidCharacters=/^[,*\d/-]+$/;L.dayOfWeekValidCharacters=/^[?,*\dL#/-]+$/;L.dayOfMonthValidCharacters=/^[?,*\dL/-]+$/;L.validCharacters={second:L.standardValidCharacters,minute:L.standardValidCharacters,hour:L.standardValidCharacters,dayOfMonth:L.dayOfMonthValidCharacters,month:L.standardValidCharacters,dayOfWeek:L.dayOfWeekValidCharacters};L._isValidConstraintChar=s(function(e,r){return typeof r!="string"?!1:e.chars.some(function(n){return r.indexOf(n)>-1})},"_isValidConstraintChar");L._parseField=s(function(e,r,n){switch(e){case"month":case"dayOfWeek":var i=L.aliases[e];r=r.replace(/[a-z]{3}/gi,function(c){if(c=c.toLowerCase(),typeof i[c]<"u")return i[c];throw new Error('Validation error, cannot resolve alias "'+c+'"')});break}if(!L.validCharacters[e].test(r))throw new Error("Invalid characters, got value: "+r);r.indexOf("*")!==-1?r=r.replace(/\*/g,n.min+"-"+n.max):r.indexOf("?")!==-1&&(r=r.replace(/\?/g,n.min+"-"+n.max));function o(c){var l=[];function d(T){if(T instanceof Array)for(var h=0,g=T.length;h<g;h++){var y=T[h];if(L._isValidConstraintChar(n,y)){l.push(y);continue}if(typeof y!="number"||Number.isNaN(y)||y<n.min||y>n.max)throw new Error("Constraint error, got value "+y+" expected range "+n.min+"-"+n.max);l.push(y)}else{if(L._isValidConstraintChar(n,T)){l.push(T);return}var I=+T;if(Number.isNaN(I)||I<n.min||I>n.max)throw new Error("Constraint error, got value "+T+" expected range "+n.min+"-"+n.max);e==="dayOfWeek"&&(I=I%7),l.push(I)}}s(d,"handleResult");var f=c.split(",");if(!f.every(function(T){return T.length>0}))throw new Error("Invalid list value format");if(f.length>1)for(var E=0,p=f.length;E<p;E++)d(a(f[E]));else d(a(c));return l.sort(L._sortCompareFn),l}s(o,"parseSequence");function a(c){var l=1,d=c.split("/");if(d.length>2)throw new Error("Invalid repeat: "+c);return d.length>1?(d[0]==+d[0]&&(d=[d[0]+"-"+n.max,d[1]]),u(d[0],d[d.length-1])):u(c,l)}s(a,"parseRepeat");function u(c,l){var d=[],f=c.split("-");if(f.length>1){if(f.length<2)return+c;if(!f[0].length){if(!f[1].length)throw new Error("Invalid range: "+c);return+c}var E=+f[0],p=+f[1];if(Number.isNaN(E)||Number.isNaN(p)||E<n.min||p>n.max)throw new Error("Constraint error, got range "+E+"-"+p+" expected range "+n.min+"-"+n.max);if(E>p)throw new Error("Invalid range: "+c);var T=+l;if(Number.isNaN(T)||T<=0)throw new Error("Constraint error, cannot repeat at every "+T+" time.");e==="dayOfWeek"&&p%7===0&&d.push(0);for(var h=E,g=p;h<=g;h++){var y=d.indexOf(h)!==-1;!y&&T>0&&T%l===0?(T=1,d.push(h)):T++}return d}return Number.isNaN(+c)?c:+c}return s(u,"parseRange"),o(r)},"_parseField");L._sortCompareFn=function(t,e){var r=typeof t=="number",n=typeof e=="number";return r&&n?t-e:!r&&n?1:r&&!n?-1:t.localeCompare(e)};L._handleMaxDaysInMonth=function(t){if(t.month.length===1){var e=L.daysInMonth[t.month[0]-1];if(t.dayOfMonth[0]>e)throw new Error("Invalid explicit day of month definition");return t.dayOfMonth.filter(function(r){return r==="L"?!0:r<=e}).sort(L._sortCompareFn)}};L._freezeFields=function(t){for(var e=0,r=L.map.length;e<r;++e){var n=L.map[e],i=t[n];t[n]=Object.freeze(i)}return Object.freeze(t)};L.prototype._applyTimezoneShift=function(t,e,r){if(r==="Month"||r==="Day"){var n=t.getTime();t[e+r]();var i=t.getTime();n===i&&(t.getMinutes()===0&&t.getSeconds()===0?t.addHour():t.getMinutes()===59&&t.getSeconds()===59&&t.subtractHour())}else{var o=t.getHours();t[e+r]();var a=t.getHours(),u=a-o;u===2?this.fields.hour.length!==24&&(this._dstStart=a):u===0&&t.getMinutes()===0&&t.getSeconds()===0&&this.fields.hour.length!==24&&(this._dstEnd=a)}};L.prototype._findSchedule=s(function(e){function r(y,I){for(var O=0,w=I.length;O<w;O++)if(I[O]>=y)return I[O]===y;return I[0]===y}s(r,"matchSchedule");function n(y,I){if(I<6){if(y.getDate()<8&&I===1)return!0;var O=y.getDate()%7?1:0,w=y.getDate()-y.getDate()%7,S=Math.floor(w/7)+O;return S===I}return!1}s(n,"isNthDayMatch");function i(y){return y.length>0&&y.some(function(I){return typeof I=="string"&&I.indexOf("L")>=0})}s(i,"isLInExpressions"),e=e||!1;var o=e?"subtract":"add",a=new rn(this._currentDate,this._tz),u=this._startDate,c=this._endDate,l=a.getTime(),d=0;function f(y){return y.some(function(I){if(!i([I]))return!1;var O=Number.parseInt(I[0])%7;if(Number.isNaN(O))throw new Error("Invalid last weekday of the month expression: "+I);return a.getDay()===O&&a.isLastWeekdayOfMonth()})}for(s(f,"isLastWeekdayOfMonthMatch");d<vy;){if(d++,e){if(u&&a.getTime()-u.getTime()<0)throw new Error("Out of the timespan range")}else if(c&&c.getTime()-a.getTime()<0)throw new Error("Out of the timespan range");var E=r(a.getDate(),this.fields.dayOfMonth);i(this.fields.dayOfMonth)&&(E=E||a.isLastDayOfMonth());var p=r(a.getDay(),this.fields.dayOfWeek);i(this.fields.dayOfWeek)&&(p=p||f(this.fields.dayOfWeek));var T=this.fields.dayOfMonth.length>=L.daysInMonth[a.getMonth()],h=this.fields.dayOfWeek.length===L.constraints[5].max-L.constraints[5].min+1,g=a.getHours();if(!E&&(!p||h)){this._applyTimezoneShift(a,o,"Day");continue}if(!T&&h&&!E){this._applyTimezoneShift(a,o,"Day");continue}if(T&&!h&&!p){this._applyTimezoneShift(a,o,"Day");continue}if(this._nthDayOfWeek>0&&!n(a,this._nthDayOfWeek)){this._applyTimezoneShift(a,o,"Day");continue}if(!r(a.getMonth()+1,this.fields.month)){this._applyTimezoneShift(a,o,"Month");continue}if(r(g,this.fields.hour)){if(this._dstEnd===g&&!e){this._dstEnd=null,this._applyTimezoneShift(a,"add","Hour");continue}}else if(this._dstStart!==g){this._dstStart=null,this._applyTimezoneShift(a,o,"Hour");continue}else if(!r(g-1,this.fields.hour)){a[o+"Hour"]();continue}if(!r(a.getMinutes(),this.fields.minute)){this._applyTimezoneShift(a,o,"Minute");continue}if(!r(a.getSeconds(),this.fields.second)){this._applyTimezoneShift(a,o,"Second");continue}if(l===a.getTime()){o==="add"||a.getMilliseconds()===0?this._applyTimezoneShift(a,o,"Second"):a.setMilliseconds(0);continue}break}if(d>=vy)throw new Error("Invalid expression, loop limit exceeded");return this._currentDate=new rn(a,this._tz),this._hasIterated=!0,a},"_findSchedule");L.prototype.next=s(function(){var e=this._findSchedule();return this._isIterator?{value:e,done:!this.hasNext()}:e},"next");L.prototype.prev=s(function(){var e=this._findSchedule(!0);return this._isIterator?{value:e,done:!this.hasPrev()}:e},"prev");L.prototype.hasNext=function(){var t=this._currentDate,e=this._hasIterated;try{return this._findSchedule(),!0}catch{return!1}finally{this._currentDate=t,this._hasIterated=e}};L.prototype.hasPrev=function(){var t=this._currentDate,e=this._hasIterated;try{return this._findSchedule(!0),!0}catch{return!1}finally{this._currentDate=t,this._hasIterated=e}};L.prototype.iterate=s(function(e,r){var n=[];if(e>=0)for(var i=0,o=e;i<o;i++)try{var a=this.next();n.push(a),r&&r(a,i)}catch{break}else for(var i=0,o=e;i>o;i--)try{var a=this.prev();n.push(a),r&&r(a,i)}catch{break}return n},"iterate");L.prototype.reset=s(function(e){this._currentDate=new rn(e||this._options.currentDate)},"reset");L.prototype.stringify=s(function(e){for(var r=[],n=e?0:1,i=L.map.length;n<i;++n){var o=L.map[n],a=this.fields[o],u=L.constraints[n];o==="dayOfMonth"&&this.fields.month.length===1?u={min:1,max:L.daysInMonth[this.fields.month[0]-1]}:o==="dayOfWeek"&&(u={min:0,max:6},a=a[a.length-1]===7?a.slice(0,-1):a),r.push(qC(a,u.min,u.max))}return r.join(" ")},"stringify");L.parse=s(function(e,r){var n=this;typeof r=="function"&&(r={});function i(o,a){a||(a={}),typeof a.currentDate>"u"&&(a.currentDate=new rn(void 0,n._tz)),L.predefined[o]&&(o=L.predefined[o]);var u=[],c=(o+"").trim().split(/\s+/);if(c.length>6)throw new Error("Invalid cron expression");for(var l=L.map.length-c.length,d=0,f=L.map.length;d<f;++d){var E=L.map[d],p=c[c.length>f?d:d-l];if(d<l||!p)u.push(L._parseField(E,L.parseDefaults[d],L.constraints[d]));else{var T=E==="dayOfWeek"?I(p):p;u.push(L._parseField(E,T,L.constraints[d]))}}for(var h={},d=0,f=L.map.length;d<f;d++){var g=L.map[d];h[g]=u[d]}var y=L._handleMaxDaysInMonth(h);return h.dayOfMonth=y||h.dayOfMonth,new L(h,a);function I(O){var w=O.split("#");if(w.length>1){var S=+w[w.length-1];if(/,/.test(O))throw new Error("Constraint error, invalid dayOfWeek `#` and `,` special characters are incompatible");if(/\//.test(O))throw new Error("Constraint error, invalid dayOfWeek `#` and `/` special characters are incompatible");if(/-/.test(O))throw new Error("Constraint error, invalid dayOfWeek `#` and `-` special characters are incompatible");if(w.length>2||Number.isNaN(S)||S<1||S>5)throw new Error("Constraint error, invalid dayOfWeek occurrence number (#)");return a.nthDayOfWeek=S,w[0]}return O}s(I,"parseNthDay")}return s(i,"parse"),i(e,r)},"parse");L.fieldsToExpression=s(function(e,r){function n(E,p,T){if(!p)throw new Error("Validation error, Field "+E+" is missing");if(p.length===0)throw new Error("Validation error, Field "+E+" contains no values");for(var h=0,g=p.length;h<g;h++){var y=p[h];if(!L._isValidConstraintChar(T,y)&&(typeof y!="number"||Number.isNaN(y)||y<T.min||y>T.max))throw new Error("Constraint error, got value "+y+" expected range "+T.min+"-"+T.max)}}s(n,"validateConstraints");for(var i={},o=0,a=L.map.length;o<a;++o){var u=L.map[o],c=e[u];n(u,c,L.constraints[o]);for(var l=[],d=-1;++d<c.length;)l[d]=c[d];if(c=l.sort(L._sortCompareFn).filter(function(E,p,T){return!p||E!==T[p-1]}),c.length!==l.length)throw new Error("Validation error, Field "+u+" contains duplicate values");i[u]=c}var f=L._handleMaxDaysInMonth(i);return i.dayOfMonth=f||i.dayOfMonth,new L(i,r||{})},"fieldsToExpression");Py.exports=L});var Ly=q((RW,Uy)=>{"use strict";var Ua=Ny();function pr(){}s(pr,"CronParser");pr._parseEntry=s(function(e){var r=e.split(" ");if(r.length===6)return{interval:Ua.parse(e)};if(r.length>6)return{interval:Ua.parse(r.slice(0,6).join(" ")),command:r.slice(6,r.length)};throw new Error("Invalid entry: "+e)},"_parseEntry");pr.parseExpression=s(function(e,r){return Ua.parse(e,r)},"parseExpression");pr.fieldsToExpression=s(function(e,r){return Ua.fieldsToExpression(e,r)},"fieldsToExpression");pr.parseString=s(function(e){for(var r=e.split(`
|
|
5
|
-
`),n={variables:{},expressions:[],errors:{}},i=0,o=r.length;i<o;i++){var a=r[i],u=null,c=a.trim();if(c.length>0){if(c.match(/^#/))continue;if(u=c.match(/^(.*)=(.*)$/))n.variables[u[1]]=u[2];else{var l=null;try{l=pr._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");pr.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,pr.parseString(i.toString()))})},"parseFile");Uy.exports=pr});var BM={};P(BM,{APIWarning:()=>Rn,ActiveContentFileError:()=>qu,AutomationViewMode:()=>Va,BUDIBASE_DATASOURCE_TYPE:()=>zd,BadRequestError:()=>ho,BudibaseError:()=>mo,Config:()=>rf,Cookie:()=>nn,DEFAULT_BB_DATASOURCE_ID:()=>vn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DEFAULT_TENANT_ID:()=>ue,DeprecatedViews:()=>Yn,DesignDocuments:()=>Ds,DocumentType:()=>ce,Duration:()=>pe,DurationType:()=>np,EmailUnavailableError:()=>Jt,Endpoint:()=>$c,EndpointGroup:()=>Dn,EndpointGroupList:()=>$o,FeatureDisabledError:()=>ju,FeatureDisabledWarning:()=>xc,ForbiddenError:()=>Ku,GlobalRole:()=>tf,HTTPError:()=>Me,Header:()=>Ne,InternalTable:()=>_t,InvalidAPIKeyWarning:()=>wi,MAX_VALID_DATE:()=>Qa,MIN_VALID_DATE:()=>tT,NotFoundError:()=>Vu,NotImplementedError:()=>Qu,RedisClient:()=>De,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>Ct,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>Rs,UnexpectedError:()=>$u,UsageLimitError:()=>Hu,UsageLimitWarning:()=>bc,UserStatus:()=>Ka,ViewName:()=>Gt,WORKSPACE_DEV:()=>qa,WORKSPACE_DEV_PREFIX:()=>rt,WORKSPACE_PREFIX:()=>tt,accounts:()=>_n,auth:()=>$m,blacklist:()=>lp,cache:()=>xo,configs:()=>Xt,constants:()=>nf,context:()=>ae,csv:()=>nh,db:()=>Sr,docIds:()=>Qf,docUpdates:()=>jm,encryption:()=>Lm,env:()=>m,errors:()=>zu,events:()=>Ti,features:()=>xm,getErrorMessage:()=>wA,getPublicError:()=>Yu,init:()=>FM,installation:()=>nc,locks:()=>Sn,logging:()=>so,middleware:()=>Gm,objectStore:()=>wp,permissions:()=>Dm,platform:()=>po,plugins:()=>qm,queue:()=>vp,redis:()=>Km,roles:()=>Rm,security:()=>qp,sessions:()=>Ju,setEnv:()=>bs,sql:()=>rh,tenancy:()=>MM,timers:()=>Cu,userUtils:()=>im,users:()=>Ai,utils:()=>ui,warnings:()=>km,withEnv:()=>oT});module.exports=PO(BM);var Xt={};P(Xt,{analyticsEnabled:()=>ec,generateConfigID:()=>Lo,getConfig:()=>We,getDefaultGoogleConfig:()=>pm,getGoogleConfig:()=>hc,getGoogleDatasourceConfig:()=>hm,getOIDCConfig:()=>H0,getOIDCConfigById:()=>Em,getOIDCLogosDoc:()=>Q0,getPlatformUrl:()=>ko,getRecaptchaConfig:()=>J0,getSCIMConfig:()=>z0,getSMTPConfig:()=>Y0,getSMTPConfigDoc:()=>R_,getSettingsConfig:()=>mm,getSettingsConfigDoc:()=>_i,getTranslationsConfig:()=>q0,getTranslationsConfigDoc:()=>w_,save:()=>V0});var NO=["user:created","user:updated","user:deleted","user:admin:assigned","user:admin:removed","user:builder:assigned","user:builder:removed","user_group:created","user_group:updated","user_group:deleted","user_group:user_added","user_group:users_deleted","user_group:permissions_edited"],UO=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],oh=[...NO,...UO],ah={"user:created":'User "{{ email }}" created{{#if viaScim}} via SCIM{{/if}}',"user:updated":'User "{{ email }}" updated{{#if viaScim}} via SCIM{{/if}}',"user:deleted":'User "{{ email }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user:admin:assigned":'User "{{ email }}" admin role assigned',"user:admin:removed":'User "{{ email }}" admin role removed',"user:builder:assigned":'User "{{ email }}" builder role assigned',"user:builder:removed":'User "{{ email }}" builder role removed',"user:invited":'User "{{ email }}" invited',"user:invite:accepted":'User "{{ email }}" accepted invite',"user:password:updated":'User "{{ email }}" password updated',"user:password:reset:requested":'User "{{ email }}" password reset requested',"user:password:reset":'User "{{ email }}" password reset',"user_group:created":'User group "{{ name }}" created{{#if viaScim}} via SCIM{{/if}}',"user_group:updated":'User group "{{ name }}" updated{{#if viaScim}} via SCIM{{/if}}',"user_group:deleted":'User group "{{ name }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user_group:user_added":'User group "{{ name }}" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}',"user_group:users_deleted":'User group "{{ name }}" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}',"user_group:permissions_edited":'User group "{{ name }}" permissions edited',"user:password:force:reset":void 0,"user_group:onboarding_added":void 0,"user:onboarding:complete":void 0,"user:data:collaboration":void 0,"email:smtp:created":"Email configuration created","email:smtp:updated":"Email configuration updated","ai:config:created":'AI configuration "{{ name }}" created',"ai:config:updated":'AI configuration "{{ name }}" updated',"ai:config:deleted":'AI configuration "{{ name }}" deleted',"ai:agent:created":'AI agent "{{ name }}" created',"ai:agent:updated":'AI agent "{{ name }}" updated',"ai:agent:deleted":'AI agent "{{ name }}" deleted',"auth:sso:created":"SSO configuration created","auth:sso:updated":"SSO configuration updated","auth:sso:activated":"SSO configuration activated","auth:sso:deactivated":"SSO configuration deactivated","auth:login":'User "{{ email }}" logged in',"auth:logout":'User "{{ email }}" logged out',"org:info:name:updated":"Organisation name updated","org:info:logo:updated":"Organisation logo updated","org:platformurl:updated":"Organisation platform URL updated","app:created":'App "{{ name }}" created',"app:updated":'App "{{ name }}" updated',"app:deleted":'App "{{ name }}" deleted',"app:duplicated":'App "{{ name }}" duplicated',"app:published":'App "{{ name }}" published',"app:unpublished":'App "{{ name }}" unpublished',"app:template:imported":'App "{{ name }}" template imported',"app:file:imported":'App "{{ name }}" file imported',"app:version:updated":'App "{{ name }}" version updated',"app:version:reverted":'App "{{ name }}" version reverted',"app:reverted":'App "{{ name }}" reverted',"app:exported":'App "{{ name }}" exported',"app:backup:restored":'App backup "{{ name }}" restored',"app:backup:triggered":'App backup "{{ name }}" triggered',"datasource:created":"Datasource created","datasource:updated":"Datasource updated","datasource:deleted":"Datasource deleted","query:created":"Query created","query:updated":"Query updated","query:deleted":"Query deleted","query:import":"Query import","queries:run":void 0,"query:previewed":void 0,"table:created":'Table "{{ name }}" created',"table:updated":'Table "{{ name }}" updated',"table:deleted":'Table "{{ name }}" deleted',"table:exported":'Table "{{ name }}" exported',"table:imported":'Table "{{ name }}" imported',"table:data:imported":"Data imported to table","rows:created":"Rows created","rows:imported":"Rows imported","automation:created":'Automation "{{ name }}" created',"automation:deleted":'Automation "{{ name }}" deleted',"automation:step:created":'Automation "{{ name }}" step added',"automation:step:deleted":'Automation "{{ name }}" step removed',"automation:tested":void 0,"automations:run":void 0,"automation:trigger:updated":void 0,"screen:created":'Screen "{{ name }}" created',"screen:deleted":'Screen "{{ name }}" deleted',"component:created":"Component created","component:deleted":"Component deleted","environment_variable:created":"Environment variable created","environment_variable:deleted":"Environment variable deleted","environment_variable:upgrade_panel_opened":void 0,"plugin:imported":"Plugin imported","plugin:deleted":"Plugin deleted","plugin:init":void 0,"action:automation_step:executed":void 0,"action:crud:executed":void 0,"action:ai_agent:executed":void 0,"role:created":void 0,"role:updated":void 0,"role:deleted":void 0,"role:assigned":void 0,"role:unassigned":void 0,"license:plan:changed":void 0,"license:activated":void 0,"license:payment:failed":void 0,"license:payment:recovered":void 0,"license:checkout:opened":void 0,"license:checkout:success":void 0,"license:portal:opened":void 0,"account:created":void 0,"account:deleted":void 0,"account:verified":void 0,"app:backfill:succeeded":void 0,"app:backfill:failed":void 0,"tenant:backfill:succeeded":void 0,"tenant:backfill:failed":void 0,"installation:backfill:succeeded":void 0,"installation:backfill:failed":void 0,"layout:created":void 0,"layout:deleted":void 0,"view:created":void 0,"view:updated":void 0,"view:deleted":void 0,"view:exported":void 0,"view:filter:created":void 0,"view:filter:updated":void 0,"view:filter:deleted":void 0,"view:calculation:created":void 0,"view:calculation:updated":void 0,"view:calculation:deleted":void 0,"view:join:created":void 0,"served:builder":void 0,"served:app":void 0,"served:app:preview":void 0,"analytics:opt:out":void 0,"analytics:opt:in":void 0,"installation:version:checked":void 0,"installation:version:upgraded":void 0,"installation:version:downgraded":void 0,"installation:firstStartup":void 0,"audit_log:filtered":void 0,"audit_log:downloaded":void 0,"row_action:created":void 0,"workspace_app:created":void 0,"workspace_app:deleted":void 0,"workspace_app:updated":void 0,"resource:copied_to_workspace":"{{ resource.type }} copied to workspace"};var Vc=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(Vc||{}),qc=(p=>(p.STRING="string",p.CODE="code",p.LONGFORM="longForm",p.SENSITIVE_LONGFORM="sensitiveLongForm",p.BOOLEAN="boolean",p.NUMBER="number",p.PASSWORD="password",p.LIST="list",p.OBJECT="object",p.JSON="json",p.FILE="file",p.FIELD_GROUP="fieldGroup",p.SELECT="select",p))(qc||{}),qo=(y=>(y.AIRTABLE="AIRTABLE",y.ARANGODB="ARANGODB",y.BUDIBASE="BUDIBASE",y.COUCHDB="COUCHDB",y.DYNAMODB="DYNAMODB",y.ELASTICSEARCH="ELASTICSEARCH",y.FIRESTORE="FIRESTORE",y.GOOGLE_SHEETS="GOOGLE_SHEETS",y.MONGODB="MONGODB",y.MYSQL="MYSQL",y.ORACLE="ORACLE",y.POSTGRES="POSTGRES",y.REDIS="REDIS",y.REST="REST",y.S3="S3",y.SNOWFLAKE="SNOWFLAKE",y.SQL_SERVER="SQL_SERVER",y))(qo||{});var Kc=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(Kc||{});var LO=B(require("lodash/isPlainObject"));var Br=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Br||{}),sr=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(sr||{}),bn=(e=>(e.RANGE="range",e))(bn||{}),xi=(r=>(r.AND="$and",r.OR="$or",r))(xi||{});function Ko(t){return Object.values(xi).includes(t)}s(Ko,"isLogicalSearchOperator");function uh(t){return Object.values(Br).includes(t)}s(uh,"isBasicSearchOperator");function ch(t){return Object.values(sr).includes(t)}s(ch,"isArraySearchOperator");function Qo(t){return Object.values(bn).includes(t)}s(Qo,"isRangeSearchOperator");var lh=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var vi=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(vi||{});var Pi=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(Pi||{});var jo=(f=>(f.WORKSPACE="app",f.TABLE="table",f.USER="user",f.AUTOMATION="automation",f.WEBHOOK="webhook",f.BUILDER="builder",f.CREATOR="creator",f.GLOBAL_BUILDER="globalBuilder",f.QUERY="query",f.VIEW="view",f.LEGACY_VIEW="legacy_view",f))(jo||{});var Ho=s(t=>t.hosting==="cloud","isCloudAccount");var Yo=s(t=>t.authType==="sso","isSSOAccount");var D="_",Pe="\uFFF0",or=s(t=>`${t}${D}`,"prefixed"),ce=(V=>(V.USER="us",V.GROUP="gr",V.CONFIG="config",V.TEMPLATE="template",V.WORKSPACE="app",V.DEV="dev",V.WORKSPACE_DEV="app_dev",V.WORKSPACE_METADATA="app_metadata",V.ROLE="role",V.DEV_INFO="devinfo",V.AUTOMATION_LOG="log_au",V.ACCOUNT_METADATA="acc_metadata",V.PLUGIN="plg",V.DATASOURCE="datasource",V.DATASOURCE_PLUS="datasource_plus",V.WORKSPACE_BACKUP="backup",V.TABLE="ta",V.ROW="ro",V.AUTOMATION="au",V.LINK="li",V.WEBHOOK="wh",V.INSTANCE="inst",V.LAYOUT="layout",V.SCREEN="screen",V.QUERY="query",V.DEPLOYMENTS="deployments",V.METADATA="metadata",V.MEM_VIEW="view",V.USER_FLAG="flag",V.AUTOMATION_METADATA="meta_au",V.AUDIT_LOG="al",V.SCIM_LOG="scimlog",V.ROW_ACTIONS="ra",V.OAUTH2_CONFIG="oauth2",V.OAUTH2_CONFIG_LOG="oauth2log",V.AGENT="agent",V.CHAT_APP="chatapp",V.CHAT_CONVERSATION="chatconvo",V.CHAT_IDENTITY_LINK="chatidentitylink",V.AGENT_TOOL_SOURCE="agenttoolsource",V.AGENT_FILE="agentfile",V.AGENT_LOG_SESSION="agentlogsession",V.AGENT_LOG_REQUEST="agentlogrequest",V.AGENT_KNOWLEDGE_SOURCE_SYNC_STATE="agentknowledgesync",V.AGENT_KNOWLEDGE_SOURCE_CONNECTION="agentknowledgeconn",V.KNOWLEDGE_BASE_FILE="knowledgebasefile",V.AI_CONFIG="aiconfig",V.LITELLM_KEY="litellmkey",V.KNOWLEDGE_BASE="knowledgebase",V.WORKSPACE_APP="workspace_app",V.WORKSPACE_FAVOURITE="workspace_favourite",V.AUTO_COLUMN_STATE="autocolumn_state",V))(ce||{});var _t=(e=>(e.USER_METADATA="ta_users",e))(_t||{});function zo(t){return!!t.providerType}s(zo,"isSSOUser");var Qc=(d=>(d.OBJECT="object",d.STRING="string",d.BOOLEAN="boolean",d.NUMBER="number",d.ARRAY="array",d.JSON="json",d.DATE="date",d.DATETIME="datetime",d.ATTACHMENT="attachment",d.LONGFORM="longform",d))(Qc||{}),jc=(_=>(_.TABLE="table",_.ROW="row",_.ROWS="rows",_.WIDE="wide",_.QUERY="query",_.QUERY_PARAMS="queryParams",_.QUERY_LIMIT="queryLimit",_.LOOP_OPTION="loopOption",_.ITEM="item",_.CODE="code",_.FILTERS="filters",_.COLUMN="column",_.TRIGGER_SCHEMA="triggerSchema",_.CRON="cron",_.WEBHOOK_URL="webhookUrl",_.AUTOMATION="automation",_.AUTOMATION_FIELDS="automationFields",_.MULTI_ATTACHMENTS="multi_attachments",_.TRIGGER_FILTER="trigger_filter",_.CATEGORIES="categories",_.AGENT="agent",_.OUTPUT_SCHEMA="outputSchema",_))(jc||{}),Hc=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c.EMAIL="EMAIL",c))(Hc||{});var Yc=(R=>(R.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",R.CREATE_ROW="CREATE_ROW",R.GET_ROW="GET_ROW",R.UPDATE_ROW="UPDATE_ROW",R.DELETE_ROW="DELETE_ROW",R.QUERY_ROWS="QUERY_ROWS",R.EXECUTE_BASH="EXECUTE_BASH",R.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",R.EXECUTE_SCRIPT="EXECUTE_SCRIPT",R.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",R.EXECUTE_QUERY="EXECUTE_QUERY",R.SERVER_LOG="SERVER_LOG",R.DELAY="DELAY",R.FILTER="FILTER",R.API_REQUEST="API_REQUEST",R.LOOP="LOOP",R.COLLECT="COLLECT",R.OPENAI="OPENAI",R.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",R.BRANCH="BRANCH",R.CLASSIFY_CONTENT="CLASSIFY_CONTENT",R.PROMPT_LLM="PROMPT_LLM",R.TRANSLATE="TRANSLATE",R.SUMMARISE="SUMMARISE",R.GENERATE_TEXT="GENERATE_TEXT",R.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",R.EXTRACT_STATE="EXTRACT_STATE",R.LOOP_V2="LOOP_V2",R.AGENT="AGENT",R.discord="discord",R.slack="slack",R.zapier="zapier",R.integromat="integromat",R.n8n="n8n",R))(Yc||{}),dh=[...Object.values(Yc),...Object.values(Hc)];function fh(t){return t.stepId==="BRANCH"}s(fh,"isBranchStep");var zc="bb_internal";var ph=["attachment_single","attachment","signature_single","bb_reference","json","array"];var nf={};P(nf,{AutomationViewMode:()=>Va,BUDIBASE_DATASOURCE_TYPE:()=>zd,Config:()=>rf,Cookie:()=>nn,DEFAULT_BB_DATASOURCE_ID:()=>vn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DEFAULT_TENANT_ID:()=>ue,DeprecatedViews:()=>Yn,DesignDocuments:()=>Ds,DocumentType:()=>ce,GlobalRole:()=>tf,Header:()=>Ne,InternalTable:()=>_t,MAX_VALID_DATE:()=>Qa,MIN_VALID_DATE:()=>tT,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>Ct,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>Rs,UserStatus:()=>Ka,ViewName:()=>Gt,WORKSPACE_DEV:()=>qa,WORKSPACE_DEV_PREFIX:()=>rt,WORKSPACE_PREFIX:()=>tt});var Ne=(w=>(w.API_KEY="x-budibase-api-key",w.LICENSE_KEY="x-budibase-license-key",w.API_VER="x-budibase-api-version",w.APP_ID="x-budibase-app-id",w.SESSION_ID="x-budibase-session-id",w.CLIENT="x-budibase-client",w.TYPE="x-budibase-type",w.PREVIEW_ROLE="x-budibase-role",w.TENANT_ID="x-budibase-tenant-id",w.VERIFICATION_CODE="x-budibase-verification-code",w.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",w.RESET_PASSWORD_CODE="x-budibase-reset-password-code",w.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",w.TOKEN="x-budibase-token",w.CSRF_TOKEN="x-csrf-token",w.CORRELATION_ID="x-budibase-correlation-id",w.AUTHORIZATION="authorization",w.MIGRATING_APP="x-budibase-migrating-app",w.SKIP_MIGRATING_WAIT="x-budibase-migrating-app-skip-wait",w.COOKIE="cookie",w))(Ne||{});var xn={WORKSPACES:"/builder/apps",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},Ni={ACCOUNT:"/portal/account",BILLING:"/portal/billing",TENANTS:"/portal/tenants",UPGRADE:"/portal/upgrade"};var Ge={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},mh={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var vn="datasource_internal_bb_default";var mr={};P(mr,{ColumnSplitter:()=>kd,NoEmptyFilterStrings:()=>Yy,buildQuery:()=>zy,cleanupQuery:()=>Bd,fixupFilterArrays:()=>Gd,getKeyNumbering:()=>Wd,getValidOperatorsForType:()=>gb,hasFilters:()=>Md,limit:()=>Xy,recurseLogicalOperators:()=>Fd,removeKeyNumbering:()=>Jo,runQuery:()=>Ba,search:()=>Sb,sort:()=>Jy,splitFiltersArray:()=>Xo});var Hn=B(hh());var Ot={};P(Ot,{filterValueToLabel:()=>GO,hasSchema:()=>$O,isSupportedUserSearch:()=>yh,nameToUrl:()=>jO,parallelForeach:()=>WO,processSearchFilters:()=>Zc,toMap:()=>qO,trimOtherProps:()=>VO,unreachable:()=>BO});var gh=B(require("lodash/pick"));var FO=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function BO(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(BO,"unreachable");async function WO(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let u=await(i?o.next():Promise.resolve(o.next()));for(;!u.done;)await e(u.value),u=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}s(WO,"parallelForeach");function GO(){return Object.keys(Ge).reduce((t,e)=>{let n=Ge[e];return t[n.value]=n.label,t},{})}s(GO,"filterValueToLabel");function $O(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s($O,"hasSchema");function VO(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(VO,"trimOtherProps");function yh(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(Ko(o)){for(let l of t[o].conditions)if(!yh(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!e.find(l=>l.op===o&&u.length===1&&u[0]===l.key))return!1}return!0}s(yh,"isSupportedUserSearch");function Zc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=Xo(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,gh.default)(i,FO);return o.field=Jo(o.field),o})}]}}s(Zc,"processSearchFilters");function qO(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(qO,"toMap");var KO=s(t=>t?t.trim():null,"resolveWorkspaceName"),QO=s(t=>{let e,r=KO(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),jO=s(t=>{let e=QO(t);return HO(e)},"nameToUrl"),HO=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var Le={};P(Le,{accountPortalAccountUrl:()=>Rd,accountPortalBillingUrl:()=>Dd,accountPortalUpgradeUrl:()=>Cd,agentChatUrl:()=>Ud,appAgentUrl:()=>Ma,appChatUrl:()=>ka,applyBaseUrl:()=>$y,builderAppsUrl:()=>Nd,builderSettingsAuthUrl:()=>vd,builderSettingsEmailUrl:()=>xd,builderSettingsPeopleUsersUrl:()=>Pd,builderWorkspacesUrl:()=>bd,cancelableTimeout:()=>Th,cron:()=>pb,deepGet:()=>el,duplicateName:()=>ab,escapeHtml:()=>ZO,formatBytes:()=>fb,getSequentialName:()=>ub,getUserColor:()=>zO,getUserInitials:()=>YO,getUserLabel:()=>JO,isEnvironmentVariableKey:()=>Qy,isGoogleSheets:()=>tI,isSQL:()=>rI,lists:()=>wd,normalizeForComparison:()=>eI,retry:()=>nI,roles:()=>Id,schema:()=>As,structuredOutput:()=>Ad,urlHelpers:()=>Ky,views:()=>Od,wait:()=>tl,withTimeout:()=>XO});var el=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),YO=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),zO=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),JO=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function Th(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(Th,"cancelableTimeout");async function XO(t,e){let[r,n]=Th(t),i=await Promise.race([e(),r]);return n(),i}s(XO,"withTimeout");var ZO=s(t=>t==null?"":String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),"escapeHtml"),eI=s(t=>t.toLowerCase().trim(),"normalizeForComparison");function tI(t){return t==="GOOGLE_SHEETS"}s(tI,"isGoogleSheets");function rI(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(rI,"isSQL");async function tl(t){return new Promise(e=>setTimeout(e,t))}s(tl,"wait");async function nI(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await tl(o);try{return await t()}catch(a){n=a}}throw n}s(nI,"retry");var My=B(It()),Fy=B(Ly());var ky="(Input cron: ",KC={"smaller than lower limit":"less than","bigger than upper limit":"greater than",daysOfMonth:"'days of the month'",daysOfWeek:"'days of the week'",years:"'years'",months:"'months'",hours:"'hours'",minutes:"'minutes'",seconds:"'seconds'"};function QC(t){let e=[];for(let r of t){r.includes(ky)&&(r=r.split(ky)[0].trim());for(let[n,i]of Object.entries(KC))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(QC,"improveErrors");function By(t,e=4){let r=Fy.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(By,"getNextExecutionDates");function Wy(t){let e=(0,My.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:QC(e.getError())}}s(Wy,"validate");var As={};P(As,{decodeNonAscii:()=>Sd,encodeNonAscii:()=>YC,isDeprecatedSingleUserColumn:()=>jC,isNumeric:()=>zC,isRequired:()=>HC});function jC(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(jC,"isDeprecatedSingleUserColumn");function HC(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(HC,"isRequired");function YC(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(YC,"encodeNonAscii");function Sd(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(Sd,"decodeNonAscii");function zC(t){return t.type==="number"||t.type==="bigint"}s(zC,"isNumeric");var Ad={};P(Ad,{normalizeSchemaForStructuredOutput:()=>JC});function JC(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],u={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let E=f;if(E.required===!0){a.push(d);let{required:p,...T}=E;u[d]=e(T)}else u[d]=e(E)}else u[d]=f;i.properties=u;let c=Array.isArray(i.required)?i.required:[],l=[...new Set([...c,...a])];l.length>0?i.required=l:i.required=Object.keys(u)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(JC,"normalizeSchemaForStructuredOutput");var Od={};P(Od,{basicFields:()=>rb,calculationFields:()=>tb,hasCalculationFields:()=>eb,isBasicViewField:()=>XC,isCalculationField:()=>_s,isCalculationView:()=>ZC,isV2:()=>nb,isVisible:()=>Gy});var _d=B(require("lodash/pickBy"));function _s(t){return"calculationType"in t}s(_s,"isCalculationField");function XC(t){return!_s(t)}s(XC,"isBasicViewField");function ZC(t){return t.type==="calculation"}s(ZC,"isCalculationView");function eb(t){return Object.values(t.schema||{}).some(_s)}s(eb,"hasCalculationFields");function tb(t){return(0,_d.default)(t.schema||{},_s)}s(tb,"calculationFields");function Gy(t){return t.visible!==!1}s(Gy,"isVisible");function rb(t,e){let{visible:r=!0}=e||{};return(0,_d.default)(t.schema||{},n=>!_s(n)&&(!r||Gy(n)))}s(rb,"basicFields");function nb(t){return t.version===2}s(nb,"isV2");var Id={};P(Id,{checkForRoleInheritanceLoops:()=>sb});function ib(t){return`role${D}${t}`}s(ib,"prefixForCheck");function sb(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=ib(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let u=e.get(a)||e.get(o);if(!u)return n.delete(o),!1;let c=Array.isArray(u.inherits)?u.inherits:[u.inherits];for(let l of c)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(sb,"checkForRoleInheritanceLoops");var wd={};P(wd,{punctuateList:()=>ob});function ob(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(ob,"punctuateList");var ab=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(o.push(parseInt(c[1])),!0):!1}),o.sort((u,c)=>u-c);let a;if(o.length===0)a=1;else{for(let u=0;u<o.length;u++)if(o[u]!==u+1){a=u+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),ub=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let u=0;return t.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>u&&(u=f)}),u===0?a:`${e}${i}${u+1}`},"getSequentialName");var cb=/{?{{([^{].*?)}}}?/g;function $y(t,e){if(!e)return t;let r=t.match(cb)??[],n=[],i=t;for(let l of r){let d=`:${l}`;i.includes(d)&&(n.push(l),i=i.replace(d,":0"))}let o=s(l=>`__hbs${l}__`,"placeholder"),a=r.filter(l=>!n.includes(l));i=a.reduce((l,d,f)=>l.replace(d,o(f)),i);let u=s(l=>a.reduce((d,f,E)=>d.replace(o(E),f),l),"restore"),c=e.replace(/\/$/,"");try{let l=new URL(i),d=l.pathname==="/"?"":l.pathname;return c+u(d+l.search+l.hash)}catch{let l=u(i);return l.startsWith("/")?c+l:c}}s($y,"applyBaseUrl");var Vy=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),lb=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),Wt=s((t,e)=>{let r=Vy(e);if(!t)return r;let n=lb(t);return r?`${n}${r}`:n},"joinBaseAndPath"),db=s(t=>t.replace(/\/+$/,""),"trimTrailingSlash"),qy=s(t=>db(Vy(t)),"normalizeAppUrl"),Rd=s(t=>Wt(t,Ni.ACCOUNT),"accountPortalAccountUrl"),Dd=s(t=>Wt(t,Ni.BILLING),"accountPortalBillingUrl"),Cd=s((t,e)=>{if(e){let r=Wt(t,Ni.TENANTS),n=encodeURIComponent(e);return`${r}?managePlansTenantId=${n}`}return Wt(t,Ni.UPGRADE)},"accountPortalUpgradeUrl"),bd=s(t=>Wt(t,xn.WORKSPACES),"builderWorkspacesUrl"),xd=s(t=>Wt(t,xn.SETTINGS_EMAIL),"builderSettingsEmailUrl"),vd=s(t=>Wt(t,xn.SETTINGS_AUTH),"builderSettingsAuthUrl"),Pd=s(t=>Wt(t,xn.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),Nd=s(t=>Wt(t,xn.APPS),"builderAppsUrl"),ka=s(t=>`/app-chat${qy(t)}`,"appChatUrl"),Ma=s((t,e)=>`${qy(t)}/agent/${encodeURIComponent(e)}`,"appAgentUrl"),Ud=s((t,e)=>ka(Ma(t,e)),"agentChatUrl"),Ky={accountPortalAccountUrl:Rd,accountPortalBillingUrl:Dd,accountPortalUpgradeUrl:Cd,builderWorkspacesUrl:bd,builderSettingsEmailUrl:xd,builderSettingsAuthUrl:vd,builderSettingsPeopleUsersUrl:Pd,builderAppsUrl:Nd,appChatUrl:ka,appAgentUrl:Ma,agentChatUrl:Ud};function fb(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(fb,"formatBytes");function Qy(t){return/^{{\s*env\.([^\s]+)\s*}}$/.test(String(t))}s(Qy,"isEnvironmentVariableKey");var pb={getNextExecutionDates:By,validate:Wy};var Fa=B(require("lodash/isPlainObject")),Ld=B(require("lodash/isEmpty"));var hb=/{{([^{].*?)}}/g,Hy=Object.values(xi),Eb=[...Object.values(Br),...Object.values(sr),...Object.values(bn)],gb=s((t,e,r)=>{let n=Ge,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],o=[n.Equals,n.NotEquals,n.MoreThan,n.LessThan,n.Empty,n.NotEmpty,n.In],a=[n.Contains,n.NotContains,n.ContainsAny,n.Empty,n.NotEmpty],u=[],{type:c,formulaType:l,subtype:d}=t;c==="string"?d==="array"?u=a:u=i:c==="number"||c==="bigint"?u=o:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=o:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||As.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),Yy=[Ge.StartsWith.value,Ge.Like.value,Ge.Equals.value,Ge.NotEquals.value,Ge.Contains.value,Ge.NotContains.value,Ge.ContainsAny.value,Ge.In.value];function Fd(t,e){for(let r of Hy)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(Fd,"recurseLogicalOperators");var Bd=s(t=>{for(let e of Yy)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||yb(o))&&delete t[e][i]}return t=Fd(t,Bd),t},"cleanupQuery");function yb(t){return Array.isArray(t)&&t.length===0}s(yb,"isEmptyArray");var Jo=s(t=>Wd(t).key,"removeKeyNumbering"),Wd=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),kd=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=Wd(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let u=`${a}.`;n.startsWith(u)&&(i=this.aliases[a],n=n.slice(u.length))}let o;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),o=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=Sd(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Tb(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(hb)||[]).length>0;switch(i){case"datetime":if(!u&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Qo(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(Qo(r)){let l=mh[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if(uh(r)||ch(r)||Qo(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s(Tb,"buildCondition");function Xo(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(Xo,"splitFiltersArray");function zy(t){if(!t)return{};if(Array.isArray(t)&&(t=Zc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=jy(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=zy(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=Xo(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=jy(n.logicalOperator)),{[u]:{conditions:a.map(Tb).filter(c=>c)}}})},e}s(zy,"buildQuery");function jy(t){return t==="all"?"$and":"$or"}s(jy,"logicalOperatorFromUI");function Gd(t){if(!t)return t;for(let e of Object.values(sr)){let r=t[e];if(!(r==null||!(0,Fa.default)(r)))for(let n of Object.keys(r)){if(Array.isArray(r[n]))continue;let i=r[n];typeof i=="string"?r[n]=i.split(",").map(o=>o.trim()):r[n]=[i]}}return Fd(t,Gd),t}s(Gd,"fixupFilterArrays");function Sb(t,e){let r=Ba(t,e.query);e.sort&&(r=Jy(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=Xy(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(Sb,"search");function Ba(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=Bd(e),e=Gd(e),!Md(e)&&e.onEmptyFilter==="none")return[];let r=s((S,_)=>U=>{for(let[C,M]of Object.entries(e[S]||{})){let H=Ko(S)?U:el(U,Jo(C)),we=_(H,M);if(e.allOr&&we)return!0;if(!e.allOr&&!we)return!1}return!e.allOr},"match"),n=r("string",(S,_)=>typeof S!="string"||typeof _!="string"?!1:S.toLowerCase().startsWith(_.toLowerCase())),i=r("fuzzy",(S,_)=>typeof S!="string"||typeof _!="string"?!1:S.toLowerCase().includes(_.toLowerCase())),o=r("range",(S,_)=>{if(S==null||S===""||((0,Fa.default)(_.low)&&(0,Ld.default)(_.low)&&(_.low=void 0),(0,Fa.default)(_.high)&&(0,Ld.default)(_.high)&&(_.high=void 0),_.low==null&&_.high==null))return!1;let U=+S;if(!isNaN(U)){let M=+_.low,H=+_.high;if(!isNaN(M)&&!isNaN(H))return U>=M&&U<=H;if(isNaN(M)){if(!isNaN(H))return U<=H}else return U>=M}let C=(0,Hn.default)(S);if(C.isValid()){let M=(0,Hn.default)(_.low||"0000-00-00T00:00:00.000Z"),H=(0,Hn.default)(_.high||"9999-00-00T00:00:00.000Z");if(M.isValid()&&H.isValid())return C.isAfter(M)&&C.isBefore(H)||C.isSame(M)||C.isSame(H);if(M.isValid())return C.isAfter(M)||C.isSame(M);if(H.isValid())return C.isBefore(H)||C.isSame(H)}return _.low!=null&&_.high!=null?S>=_.low&&S<=_.high:_.low!=null?S>=_.low:_.high!=null?S<=_.high:!1}),a=s((S,_)=>{if(Array.isArray(S)){for(let C of S)if(a(C,_))return!0;return!1}if(S&&typeof S=="object"&&typeof _=="string")return S._id===_;if(S===_)return!0;if(S==null&&_!=null||S!=null&&_==null)return!1;let U=(0,Hn.default)(S);if(U.isValid()){let C=(0,Hn.default)(_);if(C.isValid())return U.isSame(C)}return!1},"_valueMatches"),u=s(S=>(..._)=>!S(..._),"not"),c=r("equal",a),l=r("notEqual",u(a)),d=s(S=>typeof S=="string"?S==="":Array.isArray(S)?S.length===0:S&&typeof S=="object"?Object.keys(S).length===0:S==null,"_empty"),f=r("empty",d),E=r("notEmpty",u(d)),p=r("oneOf",(S,_)=>(typeof _=="string"&&(_=_.split(",")),typeof S=="number"&&(_=_.map(U=>parseFloat(U))),Array.isArray(_)?_.some(U=>a(S,U)):!1)),T=s(S=>(_,U)=>!Array.isArray(_)||(typeof U=="string"&&(U=U.split(","),typeof _[0]=="number"&&(U=U.map(C=>parseFloat(C)))),!Array.isArray(U))?!1:U.length===0?!0:U[S](C=>a(_,C)),"_contains"),h=r("contains",(S,_)=>Array.isArray(_)&&_.length===0?!0:T("every")(S,_)),g=r("notContains",(S,_)=>Array.isArray(_)&&_.length===0?!0:u(T("every"))(S,_)),y=r("containsAny",T("some")),I=r("$and",(S,_)=>{if(!_.length)return!1;for(let U of _)if(!Ba([S],U).length)return!1;return!0}),O=r("$or",(S,_)=>{if(!_.length)return!1;for(let U of _)if(Ba([S],{...U,allOr:!0}).length)return!0;return!1}),w=s(S=>{let _={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:E,oneOf:p,contains:h,containsAny:y,notContains:g,$and:I,$or:O},U=Object.entries(e||{}).filter(([C,M])=>!["allOr","onEmptyFilter"].includes(C)&&M&&Object.keys(M).length>0).map(([C])=>_[C]?.(S)??!1);return Md(e)?e.allOr?U.some(C=>C===!0):U.every(C=>C===!0):!0},"docMatch");return t.filter(w)}s(Ba,"runQuery");function Jy(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let u=i(o[e]),c=i(a[e]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(Jy,"sort");function Xy(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(Xy,"limit");var Md=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of Hy)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of Eb){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let u=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||u}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var ke={};P(ke,{applications:()=>Vd,automations:()=>qd,screens:()=>Hd,users:()=>jd});var Vd={};P(Vd,{getDevAppID:()=>Ab,getProdAppID:()=>Is});var $d=or("app"),Os=or("app_dev");function Ab(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(Os))return t;let e=t.split($d);e.shift();let r=e.join($d);return`${Os}${r}`}s(Ab,"getDevAppID");function Is(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(Os))return t;let e=t.split(Os);e.shift();let r=e.join(Os);return`${$d}${r}`}s(Is,"getProdAppID");var qd={};P(qd,{checkForCollectStep:()=>wb,isAppAction:()=>Ib,isRowAction:()=>_b,isWebhookAction:()=>Ob});function _b(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(_b,"isRowAction");function Ob(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(Ob,"isWebhookAction");function Ib(t){return t.definition.trigger?.stepId==="APP"}s(Ib,"isAppAction");function Zy(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(fh(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(Zy(r))return!0}}return!1}s(Zy,"hasCollectBlockRecursive");function wb(t){return Zy(t.definition.steps)}s(wb,"checkForCollectStep");var jd={};P(jd,{canCreateApps:()=>Rb,containsUserID:()=>Ub,getGlobalUserID:()=>Nb,getUserAppGroups:()=>Lb,hasAdminPermissions:()=>Qd,hasAppBuilderPermissions:()=>Ga,hasBuilderPermissions:()=>vb,hasCreatorPermissions:()=>$a,isAdmin:()=>ws,isAdminOrBuilder:()=>Cb,isAdminOrGlobalBuilder:()=>bb,isAdminOrWorkspaceBuilder:()=>Db,isBuilder:()=>Kd,isCreator:()=>Pb,isGlobalBuilder:()=>Wa,userAppAccessList:()=>kb});function Kd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(Is(e))):!1}s(Kd,"isBuilder");function Wa(t){return Kd(t)&&!Ga(t)||ws(t)}s(Wa,"isGlobalBuilder");function Rb(t){return Wa(t)||$a(t)}s(Rb,"canCreateApps");function ws(t){return t?Qd(t):!1}s(ws,"isAdmin");function Db(t,e){return t?!!(ws(t)||e&&t.builder?.apps?.includes(Is(e))):!1}s(Db,"isAdminOrWorkspaceBuilder");function Cb(t,e){return Kd(t,e)||ws(t)}s(Cb,"isAdminOrBuilder");function bb(t){return Wa(t)||ws(t)}s(bb,"isAdminOrGlobalBuilder");function Ga(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(Ga,"hasAppBuilderPermissions");function xb(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(xb,"hasAppCreatorPermissions");function vb(t){return t?t.builder?.global||Ga(t)||$a(t):!1}s(vb,"hasBuilderPermissions");function Qd(t){return t?!!t.admin?.global:!1}s(Qd,"hasAdminPermissions");function $a(t){return t?!!t.builder?.creator:!1}s($a,"hasCreatorPermissions");function Pb(t){return t?Wa(t)||Qd(t)||$a(t)||Ga(t)||xb(t):!1}s(Pb,"isCreator");function Nb(t){if(typeof t!="string")return t;let e=`ro${D}ta_users${D}`;return t.startsWith(e)?t.split(e)[1]:t}s(Nb,"getGlobalUserID");function Ub(t){return typeof t!="string"?!1:t.includes(`us${D}`)}s(Ub,"containsUserID");function eT(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(eT,"getUserGroups");function Lb(t,e,r){let n=Is(t);return eT(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Lb,"getUserAppGroups");function kb(t,e){let n=eT(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(kb,"userAppAccessList");var Hd={};P(Hd,{findInSettings:()=>Mb});function Mb(t,e){let r=[];function n(i,o=""){for(let[a,u]of Object.entries(i))u&&(typeof u=="string"&&u.includes(e)?r.push({setting:o?`${o}.${a}`:a,value:u}):typeof u=="object"&&n(u,a))}return s(n,"recurse"),n(t.props),r}s(Mb,"findInSettings");var Va=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(Va||{}),Gt=(d=>(d.USER_BY_WORKSPACE="by_app",d.USER_BY_EMAIL="by_email2",d.BY_API_KEY="by_api_key",d.LINK="by_link",d.ROUTING="screen_routes_2",d.AUTOMATION_LOGS="automation_logs",d.ACCOUNT_BY_EMAIL="account_by_email",d.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",d.USER_BY_GROUP="user_by_group",d.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",d))(Gt||{}),Yn={by_email2:["by_email"]},fe={GLOBAL:{name:"global-db",docs:{apiKeys:"apikeys",usageQuota:"usage_quota",licenseInfo:"license_info",environmentVariables:"environmentvariables"}},PLATFORM_INFO:{name:"global-info",docs:{tenants:"tenants",install:"install"}},AUDIT_LOGS:{name:"audit-logs"},SCIM_LOGS:{name:"scim-logs"},SELF_HOST_CLOUD:{name:"self-host-cloud"}},tt=or("app"),qa=or("app_dev"),rt=qa,Yd="internal",zd="budibase",Ct="_design/sqlite",Jd="ta_bb_jobs",Xd="ta_bb_inventory",Zd="ta_bb_expenses",ef="ta_bb_employee",Rs=`ro${D}ta_users${D}`,Ds=(r=>(r[r.SQLITE=Ct]="SQLITE",r.MIGRATIONS="_design/migrations",r))(Ds||{});var Ka=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(Ka||{}),nn=(u=>(u.Auth="budibase:auth",u.Init="budibase:init",u.ACCOUNT_RETURN_URL="budibase:account:returnurl",u.DatasourceAuth="budibase:datasourceauth",u.OIDC_CONFIG="budibase:oidc:config",u.FeatureFlags="budibase:featureflags",u.RecaptchaSession="budibase:recaptcha",u))(nn||{}),tf=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(tf||{}),rf=(c=>(c.SETTINGS="settings",c.ACCOUNT="account",c.SMTP="smtp",c.GOOGLE="google",c.OIDC="oidc",c.OIDC_LOGOS="logos_oidc",c.SCIM="scim",c.AI="AI",c))(rf||{}),tT=new Date(-2147483647e3),Qa=new Date(2147483647e3),ue="default";var xo={};P(xo,{CacheKey:()=>ye,TTL:()=>gn,bustCache:()=>pi,destroy:()=>ao,docWritethrough:()=>Np,generic:()=>uo,get:()=>yn,invite:()=>kp,keys:()=>Wu,passwordReset:()=>Mp,store:()=>zt,user:()=>vr,withCache:()=>Rr,withCacheWithDynamicTTL:()=>mA,workspace:()=>Ws,writethrough:()=>fm});var Np={};P(Np,{DocWritethrough:()=>Pp,DocWritethroughProcessor:()=>oo,getProcessor:()=>BP,init:()=>pA});var vp={};P(vp,{BudibaseQueue:()=>gt,InMemoryQueue:()=>Du,JobQueue:()=>ci,QueuedProcessor:()=>xp,UnretriableError:()=>Fu,shutdown:()=>Zv});var sf=require("crypto"),Ha=require("fs"),iT=require("lodash"),Cs=require("path");var Fb=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,Cs.resolve)((0,Cs.join)(__dirname,"..","..","..")),rT=!1;!rT&&ja()&&!of()&&(require("dotenv").config({path:(0,Cs.join)(Fb,".env")}),rT=!0);function of(){return sT()}s(of,"isTest");function sT(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(sT,"isJest");function ja(){return process.env.NODE_ENV!=="production"}s(ja,"isDev");function Bb(t){if(t)return parseInt(t)}s(Bb,"parseIntSafe");var zn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},nT=!!parseInt(process.env.SELF_HOSTED||"");function Wb(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Wb,"getAPIEncryptionKey");function Gb(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Gb,"httpLogging");function $b(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Ha.existsSync)(l))return l;let d=`${c}/..`;return d===c?null:n(u,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,Ha.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(ja()&&!of())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s($b,"getPackageJsonFields");function Vb(){return pt.SERVICE_TYPE==="worker"}s(Vb,"isWorker");function qb(){return pt.SERVICE_TYPE==="apps"}s(qb,"isApps");function Kb(){return pt.BUDIBASE_ENVIRONMENT==="QA"}s(Kb,"isQA");function Qb(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}s(Qb,"getServiceName");var pt={isTest:of,isJest:sT,isDev:ja,isWorker:Vb,isApps:qb,isQA:Kb,isProd:()=>!ja(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,sf.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,sf.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Wb(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,MICROSOFT_CLIENT_ID:process.env.MICROSOFT_CLIENT_ID,MICROSOFT_CLIENT_SECRET:process.env.MICROSOFT_CLIENT_SECRET,MICROSOFT_TENANT_ID:process.env.MICROSOFT_TENANT_ID,RAG_SHAREPOINT_DEFAULT_SCOPE:process.env.RAG_SHAREPOINT_DEFAULT_SCOPE||"offline_access https://graph.microsoft.com/Sites.Read.All",SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:nT,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||zn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||zn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||zn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||zn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||zn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||zn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:Qb(),LOG_LEVEL:process.env.LOG_LEVEL||"info",SESSION_UPDATE_PERIOD:process.env.SESSION_UPDATE_PERIOD,DEPLOYMENT_ENVIRONMENT:process.env.DEPLOYMENT_ENVIRONMENT||"docker-compose",HTTP_LOGGING:Gb(),ENABLE_AUDIT_LOG_IP_ADDR:process.env.ENABLE_AUDIT_LOG_IP_ADDR,SQL_LOGGING_ENABLE:process.env.SQL_LOGGING_ENABLE,SQL_MAX_ROWS:process.env.SQL_MAX_ROWS,SQL_MAX_RELATED_ROWS:process.env.MAX_RELATED_ROWS,SMTP_FALLBACK_ENABLED:process.env.SMTP_FALLBACK_ENABLED,SMTP_USER:process.env.SMTP_USER,SMTP_PASSWORD:process.env.SMTP_PASSWORD,SMTP_HOST:process.env.SMTP_HOST,SMTP_PORT:parseInt(process.env.SMTP_PORT||""),SMTP_FROM_ADDRESS:process.env.SMTP_FROM_ADDRESS,DISABLE_JWT_WARNING:process.env.DISABLE_JWT_WARNING,BLACKLIST_IPS:process.env.BLACKLIST_IPS,SERVICE_TYPE:"unknown",PASSWORD_MIN_LENGTH:process.env.PASSWORD_MIN_LENGTH,PASSWORD_MAX_LENGTH:process.env.PASSWORD_MAX_LENGTH,ENABLE_SSO_MAINTENANCE_MODE:nT?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...$b(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,pt[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:Bb(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC,OPENROUTER_BASE_URL:process.env.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1"};function bs(t){let e=(0,iT.cloneDeep)(pt),r;for(r in t)pt._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))pt._set(n,i)}}s(bs,"setEnv");function oT(t,e){let r=bs(t);try{let n=e();return n instanceof Promise?n.finally(r):(r(),n)}catch(n){throw r(),n}}s(oT,"withEnv");var aT=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","MICROSOFT_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[t,e]of Object.entries(pt))e==="0"&&(pt[t]=0),e==="false"&&(pt[t]=0);var m=pt;var Ja={};P(Ja,{Databases:()=>af,SEPARATOR:()=>Jn,SelectableDatabase:()=>Ya,getRedisClusterOptions:()=>uf,getRedisConnectionDetails:()=>za,getRedisOptions:()=>sn,removeDbPrefix:()=>cf});var Jn="-",af=(O=>(O.PW_RESETS="pwReset",O.VERIFICATIONS="verification",O.INVITATIONS_LIST="invitationList",O.DEV_LOCKS="devLocks",O.DEBOUNCE="debounce",O.SESSIONS="session",O.USER_CACHE="users",O.FLAGS="flags",O.WORKSPACE_METADATA="appMetadata",O.QUERY_VARS="queryVars",O.LICENSES="license",O.GENERIC_CACHE="data_cache",O.WRITE_THROUGH="writeThrough",O.LOCKS="locks",O.SOCKET_IO="socket_io",O.BPM_EVENTS="bpmEvents",O.DOC_WRITE_THROUGH="docWriteThrough",O.RECAPTCHA_SESSION="recaptchaSession",O.OPENAPI_IMPORT_SPECS="openapiImportSpecs",O))(af||{}),Ya=(g=>(g[g.DEFAULT=0]="DEFAULT",g[g.SOCKET_IO=1]="SOCKET_IO",g[g.RATE_LIMITING=2]="RATE_LIMITING",g[g.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",g[g.UNUSED_3=4]="UNUSED_3",g[g.UNUSED_4=5]="UNUSED_4",g[g.UNUSED_5=6]="UNUSED_5",g[g.UNUSED_6=7]="UNUSED_6",g[g.UNUSED_7=8]="UNUSED_7",g[g.UNUSED_8=9]="UNUSED_8",g[g.UNUSED_9=10]="UNUSED_9",g[g.UNUSED_10=11]="UNUSED_10",g[g.UNUSED_11=12]="UNUSED_11",g[g.UNUSED_12=13]="UNUSED_12",g[g.UNUSED_13=14]="UNUSED_13",g[g.UNUSED_14=15]="UNUSED_14",g))(Ya||{});function za(){let t=m.REDIS_PASSWORD,e=m.REDIS_USERNAME,r=m.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(za,"getRedisConnectionDetails");function uf(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...sn()}}}s(uf,"getRedisClusterOptions");function sn(){let{host:t,password:e,port:r,username:n}=za(),i=m.REDIS_URL.toLowerCase().startsWith("rediss://")?{}:void 0;return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n},...i&&{tls:i}}}s(sn,"getRedisOptions");function cf(t){let e=t.split(Jn);return e.length>=2?(e.shift(),e.join(Jn)):e[0]}s(cf,"removeDbPrefix");var xS=B(require("events"));var ui={};P(ui,{Duration:()=>pe,DurationType:()=>np,GZIP_PREFIX:()=>wu,clearCookie:()=>Ar,compare:()=>ff,fetchWithBlacklist:()=>ai,getBearerToken:()=>bv,getCookie:()=>jt,getDispatcher:()=>Iv,getWorkspaceIdFromCtx:()=>dn,gunzipFromBase64:()=>Cv,gzipToBase64:()=>Dv,hasCircularStructure:()=>Ev,hash:()=>df,isAudited:()=>tp,isClient:()=>hv,isPublicApiRequest:()=>pv,isServingApp:()=>lv,isServingBuilder:()=>dv,isServingBuilderPreview:()=>fv,isValidInternalAPIKey:()=>Ys,microsoftDatasourceCreationCacheKey:()=>Vv,newid:()=>ee,openJwt:()=>_u,setCookie:()=>_S,time:()=>yv,timeout:()=>ep,urlHasProtocol:()=>gv,validEmail:()=>rp});var uT=require("uuid");function ee(){return(0,uT.v4)().replace(/-/g,"")}s(ee,"newid");var lf=require("bcrypt"),jb=m.SALT_ROUNDS||10;async function df(t){let e=await lf.genSalt(jb);return lf.hash(t,e)}s(df,"hash");async function ff(t,e){return lf.compare(t,e)}s(ff,"compare");var Au=B(require("jsonwebtoken"));var ae={};P(ae,{DEFAULT_TENANT_ID:()=>ue,baseGlobalDBName:()=>ks,doInAutomationContext:()=>gx,doInContext:()=>xf,doInEnvironmentContext:()=>Cx,doInFeatureFlagOverrideContext:()=>Mf,doInIPContext:()=>Nf,doInIdentityContext:()=>vs,doInLicenseContext:()=>Tx,doInScimContext:()=>bx,doInSelfHostTenantUsingCloud:()=>yx,doInTenant:()=>be,doInWorkspaceContext:()=>_x,doInWorkspaceMigrationContext:()=>Ix,ensureSnippetContext:()=>IT,getAuditLogDBName:()=>_T,getAuditLogsDB:()=>vx,getAutomationId:()=>vf,getCurrentContext:()=>un,getDevWorkspaceDB:()=>Nx,getDevWorkspaceId:()=>Rx,getEnvironmentVariables:()=>xx,getFeatureFlagOverrides:()=>kf,getFeatureFlags:()=>Uf,getGlobalDB:()=>Y,getGlobalDBName:()=>an,getIP:()=>Pf,getIdentity:()=>$t,getLicense:()=>Sx,getOrThrowWorkspaceId:()=>wx,getPlatformURL:()=>bf,getProdWorkspaceDB:()=>Px,getProdWorkspaceId:()=>Dx,getScimDBName:()=>px,getSelfHostCloudDB:()=>Ax,getTableForView:()=>Ux,getTenantIDFromWorkspaceID:()=>ti,getTenantId:()=>G,getWorkspaceDB:()=>ri,getWorkspaceId:()=>Oe,identity:()=>xs,isMultiTenant:()=>gr,isScim:()=>Et,isSelfHostUsingCloud:()=>su,isTenancyEnabled:()=>hx,isTenantIdSet:()=>mx,setFeatureFlags:()=>Lf,setTableForView:()=>Lx});var xs={};P(xs,{doInAccountContext:()=>Hb,doInIdentityContext:()=>mf,doInUserContext:()=>hf,getAccountUserId:()=>cT,getIdentity:()=>pf});function pf(){return $t()}s(pf,"getIdentity");function mf(t,e){return vs(t,e)}s(mf,"doInIdentityContext");function hf(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return mf(n,r)}s(hf,"doInUserContext");function Hb(t,e){let r=cT(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return mf(i,e)}s(Hb,"doInAccountContext");function cT(t){let e;return Ho(t)?e=t.budibaseUserId:e=t.accountId,e}s(cT,"getAccountUserId");var mt=s(t=>{let e=Ef(t),r,n;if(e.auth?.username)r=e.auth.username;else if(m.COUCH_DB_USERNAME)r=m.COUCH_DB_USERNAME;else if(!m.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(m.COUCH_DB_PASSWORD)n=m.COUCH_DB_PASSWORD;else if(!m.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=m.COUCH_DB_SQL_URL;if(m.isDev()&&!o)o="http://localhost:4006";else if(!o&&e.url){let a=new URL(e.url);o=e.url.replace(a.port,"4984")}return{url:e.url,sqlUrl:Ef(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Ef=s((t=m.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),u=a[0],c=a.slice(1).join("://");if(t.includes("@")){let l=c.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=c;e=`${u}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var TT=B(require("@budibase/nano"));var lT=B(require("node-fetch"));function Za(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(Za,"checkSlashesInUrl");async function dT(t,e="GET",r){let{url:n,cookie:i}=mt(),o=`${n}/${t}`;return await Ps({url:o,cookie:i,method:e,body:r})}s(dT,"directCouchCall");async function Ps({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,lT.default)(Za(encodeURI(t)),i)}s(Ps,"directCouchUrlCall");async function gf(t,e="GET",r){let n=await dT(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(gf,"directCouchQuery");var on=B(require("pouchdb"));var fT,pT=!1,yf=s((t={})=>{let{url:e,cookie:r}=mt(),n={prefix:e,fetch:(i,o)=>(o.headers.set("Authorization",r),on.default.fetch(i,o))};if(t.inMemory){let i=require("pouchdb-adapter-memory");on.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");on.default.plugin(i.plugin),on.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");on.default.plugin(i)}return on.default.defaults(n)},"getPouch");function eu(t){fT=yf(t),pT=!0}s(eu,"init");var Yb=s(()=>{if(!pT)throw new Error("init has not been called")},"checkInitialised");function nt(t,e){Yb();let r=new fT(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(nt,"getPouchDB");async function Ns(t){if(!(!t||m.isTest()))try{return await t.close()}catch{}}s(Ns,"closePouchDB");var le=B(require("dd-trace"));var Xn=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return le.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return le.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return le.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return le.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return le.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return le.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return le.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return le.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return le.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return le.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return le.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return le.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return le.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return le.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return le.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return le.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return le.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return le.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return le.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return le.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return le.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var Rf={};P(Rf,{breakExternalTableId:()=>Af,breakRowIdField:()=>ux,buildExternalTableId:()=>rx,convertRowId:()=>ax,encodeTableId:()=>nx,encodeViewId:()=>ix,extractDate:()=>Of,generateRowIdField:()=>sx,getNativeSql:()=>Zn,isExternalTable:()=>Sf,isExternalTableID:()=>tu,isInternalTableID:()=>tx,isRowId:()=>ox,isValidFilter:()=>nu,isValidISODateString:()=>ru,isValidISODateStringWithoutTimezone:()=>_f,isValidTime:()=>If,sqlLog:()=>Us,validateManyToMany:()=>wf});var Tf=`${D}${D}`,hT=/^\[.*]$/g,zb=encodeURIComponent(" "),Jb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,Xb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,Zb=/(\d{4}-\d{2}-\d{2})/,ex=/^\d{1,2}:\d{2}(?:\.\d{1,6}|:\d{2}(?:\.\d{1,6})?)?$/;function tu(t){return t.startsWith("datasource"+D)}s(tu,"isExternalTableID");function tx(t){return!tu(t)}s(tx,"isInternalTableID");function Zn(t){let e=t.toSQL();if(Array.isArray(e))return e;let r;return e.toNative&&(r=e.toNative()),{sql:r?.sql||e.sql,bindings:r?.bindings||e.bindings}}s(Zn,"getNativeSql");function Sf(t){return t?.sourceId&&t.sourceId.includes("datasource"+D)&&t?.sourceId!==vn||t?.sourceType==="external"?!0:!!(t?._id&&tu(t._id))}s(Sf,"isExternalTable");function rx(t,e){return`${t}${Tf}${encodeURIComponent(e)}`}s(rx,"buildExternalTableId");function nx(t){return tu(t)?encodeURIComponent(t):t}s(nx,"encodeTableId");function ix(t){return encodeURIComponent(t)}s(ix,"encodeViewId");function Af(t){let e=t.split(Tf),r=e.shift(),n=e.join(Tf);if(n.includes(zb)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(Af,"breakExternalTableId");function sx(t=[]){Array.isArray(t)||(t=[t]);for(let e in t)t[e]instanceof Buffer&&(t[e]=t[e].toString());return encodeURIComponent(JSON.stringify(t).replace(/"/g,"'"))}s(sx,"generateRowIdField");function ox(t){return Array.isArray(t)||typeof t=="string"&&t.match(hT)!=null}s(ox,"isRowId");function ax(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(hT)!=null?t.substring(1,t.length-1):t}s(ax,"convertRowId");function ux(t){if(!t)return[];let e=typeof t=="string"?t:t._id,r=decodeURIComponent(e).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[t]}}s(ux,"breakRowIdField");function ru(t){let e=t.trim();if(!Jb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(ru,"isValidISODateString");function _f(t){let e=t.trim();if(!Xb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(_f,"isValidISODateStringWithoutTimezone");function Of(t){let e=t.match(Zb);if(e)return e[0]}s(Of,"extractDate");function nu(t){return t!=null&&t!==""}s(nu,"isValidFilter");function If(t){return ex.test(t)}s(If,"isValidTime");function Us(t,e,r){if(!m.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(Us,"sqlLog");function cx(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(cx,"isValidManyToManyRelationship");function wf(t){if(cx(t))return t}s(wf,"validateManyToMany");var ET="Database does not exist.";function gT(t){return(0,TT.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(gT,"buildNano");var hr=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{s(this,"CouchDBError")}};function lx(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new ei(t,r,e);return new Xn(n)}s(lx,"DatabaseWithConnection");var ei=class t{constructor(e,r,n){this.couchInfo=mt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=mt(n),this.instanceNano=gT(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=mt();t.nano=gT(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await Ps({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new hr(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===ET)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new hr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new hr(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(c=>n&&c.doc==null||c.value&&"deleted"in c.value&&c.value.deleted?!0:c.error==="not_found","rowUnavailable"),a=i.rows.filter(c=>!o(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(lh(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(u=>({...u,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,o="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,o+=a.error);if(i)throw new hr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=ee()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===ET)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=Za(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await Ps(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new hr("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw u}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${Ct}`;return Us("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(Ct)){let e=await this.get(Ct);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new hr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return nt(this.name).dump(e,r)}async load(e){return nt(this.name).load(e)}async createIndex(e){return nt(this.name).createIndex(e)}async deleteIndex(e){return nt(this.name).deleteIndex(e)}async getIndexes(){return nt(this.name).getIndexes()}};function Ce(t,e){return new Xn(new ei(t,e))}s(Ce,"getDB");async function je(t,e,r){let n=Ce(t,r);return await e(n)}s(je,"doWithDB");async function Df(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await gf(e)}s(Df,"directCouchAllDbs");var Cf="No app provided";function Er(t){if(!t)throw Cf;return t.startsWith(rt)}s(Er,"isDevWorkspaceID");function dx(t){if(!t)throw Cf;return t.startsWith(tt)&&!Er(t)}s(dx,"isProdWorkspaceID");function Ls(t){if(!t)throw Cf;return Er(t.appId)}s(Ls,"isDevWorkspace");function iu(t){if(!t||t.startsWith(rt))return t;let e=t.split(tt);e.shift();let r=e.join(tt);return`${rt}${r}`}s(iu,"getDevWorkspaceID");function He(t){if(!t||!t.startsWith(rt))return t;let e=t.split(rt);e.shift();let r=e.join(rt);return`${tt}${r}`}s(He,"getProdWorkspaceID");var ST=require("async_hooks");var he=class t{static{s(this,"Context")}static{this.storage=new ST.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var AT=null;function an(t){return t||(t=G()),ks(t)}s(an,"getGlobalDBName");function _T(t){return t||(t=G()),t===ue?fe.AUDIT_LOGS.name:`${t}${D}${fe.AUDIT_LOGS.name}`}s(_T,"getAuditLogDBName");function px(t){return t||(t=G()),t===ue?fe.SCIM_LOGS.name:`${t}${D}${fe.SCIM_LOGS.name}`}s(px,"getScimDBName");function ks(t){return!t||t===ue?fe.GLOBAL.name:`${t}${D}${fe.GLOBAL.name}`}s(ks,"baseGlobalDBName");function bf(){return m.PLATFORM_URL}s(bf,"getPlatformURL");function gr(){return!!m.MULTI_TENANCY}s(gr,"isMultiTenant");function mx(){return!!he.get()?.tenantId}s(mx,"isTenantIdSet");function hx(){return m.MULTI_TENANCY}s(hx,"isTenancyEnabled");function ti(t){if(!t)return;if(!gr())return ue;let e=t.split(D),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(ti,"getTenantIDFromWorkspaceID");function Ex(t){let e;try{e=he.get()}catch{e={}}return e={...e,...t},e}s(Ex,"updateContext");async function ht(t,e){Ox();let r=Ex(t);return he.run(r,e)}s(ht,"newContext");async function gx(t){return await IT(),await ht({tenantId:ti(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(gx,"doInAutomationContext");async function xf(t,e){let r=ti(t);return ht({tenantId:r,appId:t},e)}s(xf,"doInContext");async function be(t,e){return m.MULTI_TENANCY||(t=t||ue),ht(t?{tenantId:t}:{},e)}s(be,"doInTenant");async function yx(t,e){return ht({tenantId:t,isSelfHostUsingCloud:!0},e)}s(yx,"doInSelfHostTenantUsingCloud");async function Tx(t,e){return ht({license:t},e)}s(Tx,"doInLicenseContext");function Sx(){return he.get()?.license}s(Sx,"getLicense");function su(){return!!he.get()?.isSelfHostUsingCloud}s(su,"isSelfHostUsingCloud");function Ax(){let t=he.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return Ce(fe.SELF_HOST_CLOUD.name)}s(Ax,"getSelfHostCloudDB");async function _x(t,e){return OT(t,e)}s(_x,"doInWorkspaceContext");async function OT(t,e,r){if(!t)throw new Error("workspaceId is required");let n=ti(t),i={appId:t,...r};return n&&(i.tenantId=n),ht(i,e)}s(OT,"_doInWorkspaceContext");async function vs(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ht(r,e)}s(vs,"doInIdentityContext");function Ox(){if(he.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(Ox,"guardMigration");async function Ix(t,e){return OT(t,e,{isMigrating:!0})}s(Ix,"doInWorkspaceMigrationContext");function $t(){try{return he.get()?.identity}catch{}}s($t,"getIdentity");function G(){if(!gr())return ue;let e=he.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(G,"getTenantId");function vf(){return he.get()?.automationId}s(vf,"getAutomationId");function Oe(){let e=he.get()?.appId;return!e&&m.isTest()&&AT?AT:e}s(Oe,"getWorkspaceId");function wx(){let t=Oe();if(!t)throw new Error("Workspace id not set");return t}s(wx,"getOrThrowWorkspaceId");function Pf(){return he.get()?.ip}s(Pf,"getIP");var Rx=s(()=>{let t=Oe();if(!t)throw new Error("Could not get workspaceId");return iu(t)},"getDevWorkspaceId"),Dx=s(()=>{let t=Oe();if(!t)throw new Error("Could not get workspaceId");return He(t)},"getProdWorkspaceId");function Cx(t,e){if(!t)throw new Error("Must supply environment variables.");return ht({environmentVariables:t},e)}s(Cx,"doInEnvironmentContext");function bx(t){return ht({isScim:!0},t)}s(bx,"doInScimContext");function Nf(t,e){return ht({ip:t},e)}s(Nf,"doInIPContext");async function IT(){let t=un();if(!t||t.snippets)return;let e,r=ri();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(IT,"ensureSnippetContext");function xx(){let t=he.get();return t.environmentVariables?t.environmentVariables:null}s(xx,"getEnvironmentVariables");function Y(){let t=he.get();if(!t||m.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return Ce(ks(t?.tenantId))}s(Y,"getGlobalDB");function vx(){if(!G())throw new Error("No tenant ID found - cannot open audit log DB");return Ce(_T())}s(vx,"getAuditLogsDB");function ri(t){let e=Oe();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(su())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return Ce(e,t)}s(ri,"getWorkspaceDB");function Px(t){let e=Oe();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return Ce(He(e),t)}s(Px,"getProdWorkspaceDB");function Nx(t){let e=Oe();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return Ce(iu(e),t)}s(Nx,"getDevWorkspaceDB");function Et(){return!!he.get()?.isScim}s(Et,"isScim");function un(){try{return he.get()}catch{return}}s(un,"getCurrentContext");function Uf(t){let e=un();if(e)return e.featureFlagCache?.[t]}s(Uf,"getFeatureFlags");function Lf(t,e){let r=un();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(Lf,"setFeatureFlags");function kf(){return un()?.featureFlagOverrides||{}}s(kf,"getFeatureFlagOverrides");async function Mf(t,e){return await ht({featureFlagOverrides:t},e)}s(Mf,"doInFeatureFlagOverrideContext");function Ux(t){let e=un();if(e)return e.viewToTableCache?.[t]}s(Ux,"getTableForView");function Lx(t,e){let r=un();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(Lx,"setTableForView");var Sr={};P(Sr,{AutomationViewMode:()=>Va,BUDIBASE_DATASOURCE_TYPE:()=>zd,DEFAULT_BB_DATASOURCE_ID:()=>vn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DatabaseImpl:()=>ei,DatabaseWithConnection:()=>lx,DeprecatedViews:()=>Yn,DesignDocuments:()=>Ds,DocumentType:()=>ce,InternalTable:()=>_t,QueryBuilder:()=>Qt,Replication:()=>mS,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>Ct,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>Rs,ViewName:()=>Gt,WORKSPACE_DEV:()=>qa,WORKSPACE_DEV_PREFIX:()=>rt,WORKSPACE_PREFIX:()=>tt,baseGlobalDBName:()=>ks,checkErrorCode:()=>yS,closePouchDB:()=>Ns,createApiKeyView:()=>uS,createNewUserEmailView:()=>oS,createPlatformAccountEmailView:()=>lS,createPlatformUserView:()=>dS,createUserAppView:()=>aS,createView:()=>oi,dbExists:()=>Xx,directCouchAllDbs:()=>Df,directCouchCall:()=>dT,directCouchQuery:()=>gf,directCouchUrlCall:()=>Ps,doWithDB:()=>je,fullSearch:()=>nv,generateAIConfigID:()=>jT,generateAgentID:()=>BT,generateAgentKnowledgeSourceConnectionID:()=>qT,generateAgentKnowledgeSourceSyncStateID:()=>VT,generateAgentToolSourceID:()=>$T,generateAppUserID:()=>Tu,generateChatAppID:()=>WT,generateChatConversationID:()=>GT,generateDevInfoID:()=>kT,generateGlobalUserID:()=>ii,generateKnowledgeBaseFileID:()=>KT,generateKnowledgeBaseID:()=>JT,generateOAuth2LogID:()=>FT,generatePluginID:()=>MT,generateRoleID:()=>qf,generateRowID:()=>Vf,generateTableID:()=>vT,generateTemplateID:()=>LT,generateUserMetadataID:()=>NT,generateWorkspaceAppID:()=>YT,generateWorkspaceFavouriteID:()=>zT,generateWorkspaceID:()=>xT,getAllDbs:()=>sS,getAllWorkspaces:()=>$s,getCouchInfo:()=>mt,getDB:()=>Ce,getDevWorkspaceID:()=>iu,getDevWorkspaceIDs:()=>zx,getDocParams:()=>qt,getGlobalDBName:()=>an,getGlobalIDFromUserMetadataID:()=>UT,getGlobalUserParams:()=>cn,getLiteLLMKeyID:()=>HT,getOAuth2ConfigParams:()=>rS,getPluginParams:()=>tS,getPouch:()=>yf,getPouchDB:()=>nt,getProdWorkpaceIDs:()=>Yx,getProdWorkspaceID:()=>He,getQueryIndex:()=>XT,getRoleParams:()=>Su,getRowParams:()=>Kf,getStartEndKeyURL:()=>Gs,getTemplateParams:()=>eS,getUrlInfo:()=>Ef,getUserMetadataParams:()=>ZT,getUsersByWorkspaceParams:()=>si,getWorkspaceAppParams:()=>nS,getWorkspaceFavouriteParams:()=>iS,getWorkspacesByIDs:()=>Hx,init:()=>eu,isDevWorkspace:()=>Ls,isDevWorkspaceID:()=>Er,isDocumentConflictError:()=>sv,isGlobalUserID:()=>PT,isKnowledgeBaseFileID:()=>QT,isProdWorkspaceID:()=>dx,isSameWorkspaceID:()=>Jx,paginatedSearch:()=>rv,pagination:()=>jf,prefixRoleID:()=>Vt,queryGlobalView:()=>Kt,queryGlobalViewRaw:()=>Ks,queryPlatformView:()=>qs,queryView:()=>Yf,queryViewRaw:()=>Vs,removeKeyNumbering:()=>Qs,searchIndexes:()=>Jf});var Ws={};P(Ws,{WorkspaceState:()=>$f,getWorkspaceMetadata:()=>yu,invalidateWorkspaceMetadata:()=>Kx});var Tr={};P(Tr,{getCacheClient:()=>Bf,getDocWritethroughClient:()=>Gx,getInviteListClient:()=>Fs,getLockClient:()=>Gf,getOpenapiImportSpecsClient:()=>Bx,getPasswordResetClient:()=>Bs,getSessionClient:()=>yr,getSocketClient:()=>Wx,getUserClient:()=>Ms,getWorkspaceClient:()=>gu,getWritethroughClient:()=>Wf,init:()=>it,shutdown:()=>CT});var au=B(require("ioredis"));var ou=require("dd-trace"),RT=require("lodash");var wT;if(m.MOCK_REDIS)try{wT=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function kx(t=0){return await ou.tracer.trace("Redis.init",async e=>{if(m.MOCK_REDIS)return e.addTags({mock:!0}),new wT(sn());let r;if(m.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=za();r=new au.Cluster([{host:n,port:i}],uf())}else r=new au.default(sn());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(kx,"init");function Mx(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let u=await e.get(a);return u&&(u=JSON.parse(u)),{key:cf(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(Mx,"promisifyStream");function Fx(t){return t.isCluster}s(Fx,"isCluster");var Ff=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await ou.tracer.trace("RedisWrapper.init",async n=>{let i=await kx(r);return r&&!m.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return ou.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Jn}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${Jn}${e}`;let n;Fx(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await Mx(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,RT.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e});let i=`
|
|
5
|
+
`),n={variables:{},expressions:[],errors:{}},i=0,o=r.length;i<o;i++){var a=r[i],u=null,c=a.trim();if(c.length>0){if(c.match(/^#/))continue;if(u=c.match(/^(.*)=(.*)$/))n.variables[u[1]]=u[2];else{var l=null;try{l=pr._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");pr.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,pr.parseString(i.toString()))})},"parseFile");Uy.exports=pr});var BM={};P(BM,{APIWarning:()=>Rn,ActiveContentFileError:()=>qu,AutomationViewMode:()=>Va,BUDIBASE_DATASOURCE_TYPE:()=>zd,BadRequestError:()=>ho,BudibaseError:()=>mo,Config:()=>rf,Cookie:()=>nn,DEFAULT_BB_DATASOURCE_ID:()=>vn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DEFAULT_TENANT_ID:()=>ue,DeprecatedViews:()=>Yn,DesignDocuments:()=>Ds,DocumentType:()=>ce,Duration:()=>pe,DurationType:()=>np,EmailUnavailableError:()=>Jt,Endpoint:()=>$c,EndpointGroup:()=>Dn,EndpointGroupList:()=>$o,FeatureDisabledError:()=>ju,FeatureDisabledWarning:()=>xc,ForbiddenError:()=>Ku,GlobalRole:()=>tf,HTTPError:()=>Me,Header:()=>Ne,InternalTable:()=>_t,InvalidAPIKeyWarning:()=>wi,MAX_VALID_DATE:()=>Qa,MIN_VALID_DATE:()=>tT,NotFoundError:()=>Vu,NotImplementedError:()=>Qu,RedisClient:()=>De,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>Ct,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>Rs,UnexpectedError:()=>$u,UsageLimitError:()=>Hu,UsageLimitWarning:()=>bc,UserStatus:()=>Ka,ViewName:()=>Gt,WORKSPACE_DEV:()=>qa,WORKSPACE_DEV_PREFIX:()=>rt,WORKSPACE_PREFIX:()=>tt,accounts:()=>_n,auth:()=>$m,blacklist:()=>lp,cache:()=>xo,configs:()=>Xt,constants:()=>nf,context:()=>ae,csv:()=>nh,db:()=>Sr,docIds:()=>Qf,docUpdates:()=>jm,encryption:()=>Lm,env:()=>m,errors:()=>zu,events:()=>Ti,features:()=>xm,getErrorMessage:()=>wA,getPublicError:()=>Yu,init:()=>FM,installation:()=>nc,locks:()=>Sn,logging:()=>so,middleware:()=>Gm,objectStore:()=>wp,permissions:()=>Dm,platform:()=>po,plugins:()=>qm,queue:()=>vp,redis:()=>Km,roles:()=>Rm,security:()=>qp,sessions:()=>Ju,setEnv:()=>bs,sql:()=>rh,tenancy:()=>MM,timers:()=>Cu,userUtils:()=>im,users:()=>Ai,utils:()=>ui,warnings:()=>km,withEnv:()=>oT});module.exports=PO(BM);var Xt={};P(Xt,{analyticsEnabled:()=>ec,generateConfigID:()=>Lo,getConfig:()=>We,getDefaultGoogleConfig:()=>pm,getGoogleConfig:()=>hc,getGoogleDatasourceConfig:()=>hm,getOIDCConfig:()=>H0,getOIDCConfigById:()=>Em,getOIDCLogosDoc:()=>Q0,getPlatformUrl:()=>ko,getRecaptchaConfig:()=>J0,getSCIMConfig:()=>z0,getSMTPConfig:()=>Y0,getSMTPConfigDoc:()=>R_,getSettingsConfig:()=>mm,getSettingsConfigDoc:()=>_i,getTranslationsConfig:()=>q0,getTranslationsConfigDoc:()=>w_,save:()=>V0});var NO=["user:created","user:updated","user:deleted","user:admin:assigned","user:admin:removed","user:builder:assigned","user:builder:removed","user_group:created","user_group:updated","user_group:deleted","user_group:user_added","user_group:users_deleted","user_group:permissions_edited"],UO=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],oh=[...NO,...UO],ah={"user:created":'User "{{ email }}" created{{#if viaScim}} via SCIM{{/if}}',"user:updated":'User "{{ email }}" updated{{#if viaScim}} via SCIM{{/if}}',"user:deleted":'User "{{ email }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user:admin:assigned":'User "{{ email }}" admin role assigned',"user:admin:removed":'User "{{ email }}" admin role removed',"user:builder:assigned":'User "{{ email }}" builder role assigned',"user:builder:removed":'User "{{ email }}" builder role removed',"user:invited":'User "{{ email }}" invited',"user:invite:accepted":'User "{{ email }}" accepted invite',"user:password:updated":'User "{{ email }}" password updated',"user:password:reset:requested":'User "{{ email }}" password reset requested',"user:password:reset":'User "{{ email }}" password reset',"user_group:created":'User group "{{ name }}" created{{#if viaScim}} via SCIM{{/if}}',"user_group:updated":'User group "{{ name }}" updated{{#if viaScim}} via SCIM{{/if}}',"user_group:deleted":'User group "{{ name }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user_group:user_added":'User group "{{ name }}" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}',"user_group:users_deleted":'User group "{{ name }}" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}',"user_group:permissions_edited":'User group "{{ name }}" permissions edited',"user:password:force:reset":void 0,"user_group:onboarding_added":void 0,"user:onboarding:complete":void 0,"user:data:collaboration":void 0,"email:smtp:created":"Email configuration created","email:smtp:updated":"Email configuration updated","ai:config:created":'AI configuration "{{ name }}" created',"ai:config:updated":'AI configuration "{{ name }}" updated',"ai:config:deleted":'AI configuration "{{ name }}" deleted',"ai:agent:created":'AI agent "{{ name }}" created',"ai:agent:updated":'AI agent "{{ name }}" updated',"ai:agent:deleted":'AI agent "{{ name }}" deleted',"auth:sso:created":"SSO configuration created","auth:sso:updated":"SSO configuration updated","auth:sso:activated":"SSO configuration activated","auth:sso:deactivated":"SSO configuration deactivated","auth:login":'User "{{ email }}" logged in',"auth:logout":'User "{{ email }}" logged out',"org:info:name:updated":"Organisation name updated","org:info:logo:updated":"Organisation logo updated","org:platformurl:updated":"Organisation platform URL updated","app:created":'App "{{ name }}" created',"app:updated":'App "{{ name }}" updated',"app:deleted":'App "{{ name }}" deleted',"app:duplicated":'App "{{ name }}" duplicated',"app:published":'App "{{ name }}" published',"app:unpublished":'App "{{ name }}" unpublished',"app:template:imported":'App "{{ name }}" template imported',"app:file:imported":'App "{{ name }}" file imported',"app:version:updated":'App "{{ name }}" version updated',"app:version:reverted":'App "{{ name }}" version reverted',"app:reverted":'App "{{ name }}" reverted',"app:exported":'App "{{ name }}" exported',"app:backup:restored":'App backup "{{ name }}" restored',"app:backup:triggered":'App backup "{{ name }}" triggered',"datasource:created":"Datasource created","datasource:updated":"Datasource updated","datasource:deleted":"Datasource deleted","query:created":"Query created","query:updated":"Query updated","query:deleted":"Query deleted","query:import":"Query import","queries:run":void 0,"query:previewed":void 0,"table:created":'Table "{{ name }}" created',"table:updated":'Table "{{ name }}" updated',"table:deleted":'Table "{{ name }}" deleted',"table:exported":'Table "{{ name }}" exported',"table:imported":'Table "{{ name }}" imported',"table:data:imported":"Data imported to table","rows:created":"Rows created","rows:imported":"Rows imported","automation:created":'Automation "{{ name }}" created',"automation:deleted":'Automation "{{ name }}" deleted',"automation:step:created":'Automation "{{ name }}" step added',"automation:step:deleted":'Automation "{{ name }}" step removed',"automation:tested":void 0,"automations:run":void 0,"automation:trigger:updated":void 0,"screen:created":'Screen "{{ name }}" created',"screen:deleted":'Screen "{{ name }}" deleted',"component:created":"Component created","component:deleted":"Component deleted","environment_variable:created":"Environment variable created","environment_variable:deleted":"Environment variable deleted","environment_variable:upgrade_panel_opened":void 0,"plugin:imported":"Plugin imported","plugin:deleted":"Plugin deleted","plugin:init":void 0,"action:automation_step:executed":void 0,"action:crud:executed":void 0,"action:ai_agent:executed":void 0,"role:created":void 0,"role:updated":void 0,"role:deleted":void 0,"role:assigned":void 0,"role:unassigned":void 0,"license:plan:changed":void 0,"license:activated":void 0,"license:payment:failed":void 0,"license:payment:recovered":void 0,"license:checkout:opened":void 0,"license:checkout:success":void 0,"license:portal:opened":void 0,"account:created":void 0,"account:deleted":void 0,"account:verified":void 0,"app:backfill:succeeded":void 0,"app:backfill:failed":void 0,"tenant:backfill:succeeded":void 0,"tenant:backfill:failed":void 0,"installation:backfill:succeeded":void 0,"installation:backfill:failed":void 0,"layout:created":void 0,"layout:deleted":void 0,"view:created":void 0,"view:updated":void 0,"view:deleted":void 0,"view:exported":void 0,"view:filter:created":void 0,"view:filter:updated":void 0,"view:filter:deleted":void 0,"view:calculation:created":void 0,"view:calculation:updated":void 0,"view:calculation:deleted":void 0,"view:join:created":void 0,"served:builder":void 0,"served:app":void 0,"served:app:preview":void 0,"analytics:opt:out":void 0,"analytics:opt:in":void 0,"installation:version:checked":void 0,"installation:version:upgraded":void 0,"installation:version:downgraded":void 0,"installation:firstStartup":void 0,"audit_log:filtered":void 0,"audit_log:downloaded":void 0,"row_action:created":void 0,"workspace_app:created":void 0,"workspace_app:deleted":void 0,"workspace_app:updated":void 0,"resource:copied_to_workspace":"{{ resource.type }} copied to workspace"};var Vc=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(Vc||{}),qc=(p=>(p.STRING="string",p.CODE="code",p.LONGFORM="longForm",p.SENSITIVE_LONGFORM="sensitiveLongForm",p.BOOLEAN="boolean",p.NUMBER="number",p.PASSWORD="password",p.LIST="list",p.OBJECT="object",p.JSON="json",p.FILE="file",p.FIELD_GROUP="fieldGroup",p.SELECT="select",p))(qc||{}),qo=(y=>(y.AIRTABLE="AIRTABLE",y.ARANGODB="ARANGODB",y.BUDIBASE="BUDIBASE",y.COUCHDB="COUCHDB",y.DYNAMODB="DYNAMODB",y.ELASTICSEARCH="ELASTICSEARCH",y.FIRESTORE="FIRESTORE",y.GOOGLE_SHEETS="GOOGLE_SHEETS",y.MONGODB="MONGODB",y.MYSQL="MYSQL",y.ORACLE="ORACLE",y.POSTGRES="POSTGRES",y.REDIS="REDIS",y.REST="REST",y.S3="S3",y.SNOWFLAKE="SNOWFLAKE",y.SQL_SERVER="SQL_SERVER",y))(qo||{});var Kc=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(Kc||{});var LO=B(require("lodash/isPlainObject"));var Br=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Br||{}),sr=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(sr||{}),bn=(e=>(e.RANGE="range",e))(bn||{}),xi=(r=>(r.AND="$and",r.OR="$or",r))(xi||{});function Ko(t){return Object.values(xi).includes(t)}s(Ko,"isLogicalSearchOperator");function uh(t){return Object.values(Br).includes(t)}s(uh,"isBasicSearchOperator");function ch(t){return Object.values(sr).includes(t)}s(ch,"isArraySearchOperator");function Qo(t){return Object.values(bn).includes(t)}s(Qo,"isRangeSearchOperator");var lh=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var vi=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(vi||{});var Pi=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(Pi||{});var jo=(f=>(f.WORKSPACE="app",f.TABLE="table",f.USER="user",f.AUTOMATION="automation",f.WEBHOOK="webhook",f.BUILDER="builder",f.CREATOR="creator",f.GLOBAL_BUILDER="globalBuilder",f.QUERY="query",f.VIEW="view",f.LEGACY_VIEW="legacy_view",f))(jo||{});var Ho=s(t=>t.hosting==="cloud","isCloudAccount");var Yo=s(t=>t.authType==="sso","isSSOAccount");var D="_",Pe="\uFFF0",or=s(t=>`${t}${D}`,"prefixed"),ce=(V=>(V.USER="us",V.GROUP="gr",V.CONFIG="config",V.TEMPLATE="template",V.WORKSPACE="app",V.DEV="dev",V.WORKSPACE_DEV="app_dev",V.WORKSPACE_METADATA="app_metadata",V.ROLE="role",V.DEV_INFO="devinfo",V.AUTOMATION_LOG="log_au",V.ACCOUNT_METADATA="acc_metadata",V.PLUGIN="plg",V.DATASOURCE="datasource",V.DATASOURCE_PLUS="datasource_plus",V.WORKSPACE_BACKUP="backup",V.TABLE="ta",V.ROW="ro",V.AUTOMATION="au",V.LINK="li",V.WEBHOOK="wh",V.INSTANCE="inst",V.LAYOUT="layout",V.SCREEN="screen",V.QUERY="query",V.DEPLOYMENTS="deployments",V.METADATA="metadata",V.MEM_VIEW="view",V.USER_FLAG="flag",V.AUTOMATION_METADATA="meta_au",V.AUDIT_LOG="al",V.SCIM_LOG="scimlog",V.ROW_ACTIONS="ra",V.OAUTH2_CONFIG="oauth2",V.OAUTH2_CONFIG_LOG="oauth2log",V.AGENT="agent",V.CHAT_APP="chatapp",V.CHAT_CONVERSATION="chatconvo",V.CHAT_IDENTITY_LINK="chatidentitylink",V.AGENT_TOOL_SOURCE="agenttoolsource",V.AGENT_FILE="agentfile",V.AGENT_LOG_SESSION="agentlogsession",V.AGENT_LOG_REQUEST="agentlogrequest",V.AGENT_KNOWLEDGE_SOURCE_SYNC_STATE="agentknowledgesync",V.AGENT_KNOWLEDGE_SOURCE_CONNECTION="agentknowledgeconn",V.KNOWLEDGE_BASE_FILE="knowledgebasefile",V.AI_CONFIG="aiconfig",V.LITELLM_KEY="litellmkey",V.KNOWLEDGE_BASE="knowledgebase",V.WORKSPACE_APP="workspace_app",V.WORKSPACE_FAVOURITE="workspace_favourite",V.AUTO_COLUMN_STATE="autocolumn_state",V))(ce||{});var _t=(e=>(e.USER_METADATA="ta_users",e))(_t||{});function zo(t){return!!t.providerType}s(zo,"isSSOUser");var Qc=(d=>(d.OBJECT="object",d.STRING="string",d.BOOLEAN="boolean",d.NUMBER="number",d.ARRAY="array",d.JSON="json",d.DATE="date",d.DATETIME="datetime",d.ATTACHMENT="attachment",d.LONGFORM="longform",d))(Qc||{}),jc=(_=>(_.TABLE="table",_.ROW="row",_.ROWS="rows",_.WIDE="wide",_.QUERY="query",_.QUERY_PARAMS="queryParams",_.QUERY_LIMIT="queryLimit",_.LOOP_OPTION="loopOption",_.ITEM="item",_.CODE="code",_.FILTERS="filters",_.COLUMN="column",_.TRIGGER_SCHEMA="triggerSchema",_.CRON="cron",_.WEBHOOK_URL="webhookUrl",_.AUTOMATION="automation",_.AUTOMATION_FIELDS="automationFields",_.MULTI_ATTACHMENTS="multi_attachments",_.TRIGGER_FILTER="trigger_filter",_.CATEGORIES="categories",_.AGENT="agent",_.OUTPUT_SCHEMA="outputSchema",_))(jc||{}),Hc=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c.EMAIL="EMAIL",c))(Hc||{});var Yc=(R=>(R.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",R.CREATE_ROW="CREATE_ROW",R.GET_ROW="GET_ROW",R.UPDATE_ROW="UPDATE_ROW",R.DELETE_ROW="DELETE_ROW",R.QUERY_ROWS="QUERY_ROWS",R.EXECUTE_BASH="EXECUTE_BASH",R.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",R.EXECUTE_SCRIPT="EXECUTE_SCRIPT",R.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",R.EXECUTE_QUERY="EXECUTE_QUERY",R.SERVER_LOG="SERVER_LOG",R.DELAY="DELAY",R.FILTER="FILTER",R.API_REQUEST="API_REQUEST",R.LOOP="LOOP",R.COLLECT="COLLECT",R.OPENAI="OPENAI",R.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",R.BRANCH="BRANCH",R.CLASSIFY_CONTENT="CLASSIFY_CONTENT",R.PROMPT_LLM="PROMPT_LLM",R.TRANSLATE="TRANSLATE",R.SUMMARISE="SUMMARISE",R.GENERATE_TEXT="GENERATE_TEXT",R.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",R.EXTRACT_STATE="EXTRACT_STATE",R.LOOP_V2="LOOP_V2",R.AGENT="AGENT",R.discord="discord",R.slack="slack",R.zapier="zapier",R.integromat="integromat",R.n8n="n8n",R))(Yc||{}),dh=[...Object.values(Yc),...Object.values(Hc)];function fh(t){return t.stepId==="BRANCH"}s(fh,"isBranchStep");var zc="bb_internal";var ph=["attachment_single","attachment","signature_single","bb_reference","json","array"];var nf={};P(nf,{AutomationViewMode:()=>Va,BUDIBASE_DATASOURCE_TYPE:()=>zd,Config:()=>rf,Cookie:()=>nn,DEFAULT_BB_DATASOURCE_ID:()=>vn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DEFAULT_TENANT_ID:()=>ue,DeprecatedViews:()=>Yn,DesignDocuments:()=>Ds,DocumentType:()=>ce,GlobalRole:()=>tf,Header:()=>Ne,InternalTable:()=>_t,MAX_VALID_DATE:()=>Qa,MIN_VALID_DATE:()=>tT,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>Ct,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>Rs,UserStatus:()=>Ka,ViewName:()=>Gt,WORKSPACE_DEV:()=>qa,WORKSPACE_DEV_PREFIX:()=>rt,WORKSPACE_PREFIX:()=>tt});var Ne=(w=>(w.API_KEY="x-budibase-api-key",w.LICENSE_KEY="x-budibase-license-key",w.API_VER="x-budibase-api-version",w.APP_ID="x-budibase-app-id",w.SESSION_ID="x-budibase-session-id",w.CLIENT="x-budibase-client",w.TYPE="x-budibase-type",w.PREVIEW_ROLE="x-budibase-role",w.TENANT_ID="x-budibase-tenant-id",w.VERIFICATION_CODE="x-budibase-verification-code",w.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",w.RESET_PASSWORD_CODE="x-budibase-reset-password-code",w.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",w.TOKEN="x-budibase-token",w.CSRF_TOKEN="x-csrf-token",w.CORRELATION_ID="x-budibase-correlation-id",w.AUTHORIZATION="authorization",w.MIGRATING_APP="x-budibase-migrating-app",w.SKIP_MIGRATING_WAIT="x-budibase-migrating-app-skip-wait",w.COOKIE="cookie",w))(Ne||{});var xn={WORKSPACES:"/builder/apps",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},Ni={ACCOUNT:"/portal/account",BILLING:"/portal/billing",TENANTS:"/portal/tenants",UPGRADE:"/portal/upgrade"};var Ge={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},mh={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var vn="datasource_internal_bb_default";var mr={};P(mr,{ColumnSplitter:()=>kd,NoEmptyFilterStrings:()=>Yy,buildQuery:()=>zy,cleanupQuery:()=>Bd,fixupFilterArrays:()=>Gd,getKeyNumbering:()=>Wd,getValidOperatorsForType:()=>gb,hasFilters:()=>Md,limit:()=>Xy,recurseLogicalOperators:()=>Fd,removeKeyNumbering:()=>Jo,runQuery:()=>Ba,search:()=>Sb,sort:()=>Jy,splitFiltersArray:()=>Xo});var Hn=B(hh());var Ot={};P(Ot,{filterValueToLabel:()=>GO,hasSchema:()=>$O,isSupportedUserSearch:()=>yh,nameToUrl:()=>jO,parallelForeach:()=>WO,processSearchFilters:()=>Zc,toMap:()=>qO,trimOtherProps:()=>VO,unreachable:()=>BO});var gh=B(require("lodash/pick"));var FO=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function BO(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(BO,"unreachable");async function WO(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let u=await(i?o.next():Promise.resolve(o.next()));for(;!u.done;)await e(u.value),u=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}s(WO,"parallelForeach");function GO(){return Object.keys(Ge).reduce((t,e)=>{let n=Ge[e];return t[n.value]=n.label,t},{})}s(GO,"filterValueToLabel");function $O(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s($O,"hasSchema");function VO(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(VO,"trimOtherProps");function yh(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(Ko(o)){for(let l of t[o].conditions)if(!yh(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!e.find(l=>l.op===o&&u.length===1&&u[0]===l.key))return!1}return!0}s(yh,"isSupportedUserSearch");function Zc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=Xo(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,gh.default)(i,FO);return o.field=Jo(o.field),o})}]}}s(Zc,"processSearchFilters");function qO(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(qO,"toMap");var KO=s(t=>t?t.trim():null,"resolveWorkspaceName"),QO=s(t=>{let e,r=KO(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),jO=s(t=>{let e=QO(t);return HO(e)},"nameToUrl"),HO=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var Le={};P(Le,{accountPortalAccountUrl:()=>Rd,accountPortalBillingUrl:()=>Dd,accountPortalUpgradeUrl:()=>Cd,agentChatUrl:()=>Ud,appAgentUrl:()=>Ma,appChatUrl:()=>ka,applyBaseUrl:()=>$y,builderAppsUrl:()=>Nd,builderSettingsAuthUrl:()=>vd,builderSettingsEmailUrl:()=>xd,builderSettingsPeopleUsersUrl:()=>Pd,builderWorkspacesUrl:()=>bd,cancelableTimeout:()=>Th,cron:()=>pb,deepGet:()=>el,duplicateName:()=>ab,escapeHtml:()=>ZO,formatBytes:()=>fb,getSequentialName:()=>ub,getUserColor:()=>zO,getUserInitials:()=>YO,getUserLabel:()=>JO,isEnvironmentVariableKey:()=>Qy,isGoogleSheets:()=>tI,isSQL:()=>rI,lists:()=>wd,normalizeForComparison:()=>eI,retry:()=>nI,roles:()=>Id,schema:()=>As,structuredOutput:()=>Ad,urlHelpers:()=>Ky,views:()=>Od,wait:()=>tl,withTimeout:()=>XO});var el=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),YO=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),zO=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),JO=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function Th(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(Th,"cancelableTimeout");async function XO(t,e){let[r,n]=Th(t),i=await Promise.race([e(),r]);return n(),i}s(XO,"withTimeout");var ZO=s(t=>t==null?"":String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),"escapeHtml"),eI=s(t=>t.toLowerCase().trim(),"normalizeForComparison");function tI(t){return t==="GOOGLE_SHEETS"}s(tI,"isGoogleSheets");function rI(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(rI,"isSQL");async function tl(t){return new Promise(e=>setTimeout(e,t))}s(tl,"wait");async function nI(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await tl(o);try{return await t()}catch(a){n=a}}throw n}s(nI,"retry");var My=B(It()),Fy=B(Ly());var ky="(Input cron: ",KC={"smaller than lower limit":"less than","bigger than upper limit":"greater than",daysOfMonth:"'days of the month'",daysOfWeek:"'days of the week'",years:"'years'",months:"'months'",hours:"'hours'",minutes:"'minutes'",seconds:"'seconds'"};function QC(t){let e=[];for(let r of t){r.includes(ky)&&(r=r.split(ky)[0].trim());for(let[n,i]of Object.entries(KC))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(QC,"improveErrors");function By(t,e=4){let r=Fy.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(By,"getNextExecutionDates");function Wy(t){let e=(0,My.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:QC(e.getError())}}s(Wy,"validate");var As={};P(As,{decodeNonAscii:()=>Sd,encodeNonAscii:()=>YC,isDeprecatedSingleUserColumn:()=>jC,isNumeric:()=>zC,isRequired:()=>HC});function jC(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(jC,"isDeprecatedSingleUserColumn");function HC(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(HC,"isRequired");function YC(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(YC,"encodeNonAscii");function Sd(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(Sd,"decodeNonAscii");function zC(t){return t.type==="number"||t.type==="bigint"}s(zC,"isNumeric");var Ad={};P(Ad,{normalizeSchemaForStructuredOutput:()=>JC});function JC(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],u={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let E=f;if(E.required===!0){a.push(d);let{required:p,...T}=E;u[d]=e(T)}else u[d]=e(E)}else u[d]=f;i.properties=u;let c=Array.isArray(i.required)?i.required:[],l=[...new Set([...c,...a])];l.length>0?i.required=l:i.required=Object.keys(u)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(JC,"normalizeSchemaForStructuredOutput");var Od={};P(Od,{basicFields:()=>rb,calculationFields:()=>tb,hasCalculationFields:()=>eb,isBasicViewField:()=>XC,isCalculationField:()=>_s,isCalculationView:()=>ZC,isV2:()=>nb,isVisible:()=>Gy});var _d=B(require("lodash/pickBy"));function _s(t){return"calculationType"in t}s(_s,"isCalculationField");function XC(t){return!_s(t)}s(XC,"isBasicViewField");function ZC(t){return t.type==="calculation"}s(ZC,"isCalculationView");function eb(t){return Object.values(t.schema||{}).some(_s)}s(eb,"hasCalculationFields");function tb(t){return(0,_d.default)(t.schema||{},_s)}s(tb,"calculationFields");function Gy(t){return t.visible!==!1}s(Gy,"isVisible");function rb(t,e){let{visible:r=!0}=e||{};return(0,_d.default)(t.schema||{},n=>!_s(n)&&(!r||Gy(n)))}s(rb,"basicFields");function nb(t){return t.version===2}s(nb,"isV2");var Id={};P(Id,{checkForRoleInheritanceLoops:()=>sb});function ib(t){return`role${D}${t}`}s(ib,"prefixForCheck");function sb(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=ib(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let u=e.get(a)||e.get(o);if(!u)return n.delete(o),!1;let c=Array.isArray(u.inherits)?u.inherits:[u.inherits];for(let l of c)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(sb,"checkForRoleInheritanceLoops");var wd={};P(wd,{punctuateList:()=>ob});function ob(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(ob,"punctuateList");var ab=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(o.push(parseInt(c[1])),!0):!1}),o.sort((u,c)=>u-c);let a;if(o.length===0)a=1;else{for(let u=0;u<o.length;u++)if(o[u]!==u+1){a=u+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),ub=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let u=0;return t.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>u&&(u=f)}),u===0?a:`${e}${i}${u+1}`},"getSequentialName");var cb=/{?{{([^{].*?)}}}?/g;function $y(t,e){if(!e)return t;let r=t.match(cb)??[],n=[],i=t;for(let l of r){let d=`:${l}`;i.includes(d)&&(n.push(l),i=i.replace(d,":0"))}let o=s(l=>`__hbs${l}__`,"placeholder"),a=r.filter(l=>!n.includes(l));i=a.reduce((l,d,f)=>l.replace(d,o(f)),i);let u=s(l=>a.reduce((d,f,E)=>d.replace(o(E),f),l),"restore"),c=e.replace(/\/$/,"");try{let l=new URL(i),d=l.pathname==="/"?"":l.pathname;return c+u(d+l.search+l.hash)}catch{let l=u(i);return l.startsWith("/")?c+l:c}}s($y,"applyBaseUrl");var Vy=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),lb=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),Wt=s((t,e)=>{let r=Vy(e);if(!t)return r;let n=lb(t);return r?`${n}${r}`:n},"joinBaseAndPath"),db=s(t=>t.replace(/\/+$/,""),"trimTrailingSlash"),qy=s(t=>db(Vy(t)),"normalizeAppUrl"),Rd=s(t=>Wt(t,Ni.ACCOUNT),"accountPortalAccountUrl"),Dd=s(t=>Wt(t,Ni.BILLING),"accountPortalBillingUrl"),Cd=s((t,e)=>{if(e){let r=Wt(t,Ni.TENANTS),n=encodeURIComponent(e);return`${r}?managePlansTenantId=${n}`}return Wt(t,Ni.UPGRADE)},"accountPortalUpgradeUrl"),bd=s(t=>Wt(t,xn.WORKSPACES),"builderWorkspacesUrl"),xd=s(t=>Wt(t,xn.SETTINGS_EMAIL),"builderSettingsEmailUrl"),vd=s(t=>Wt(t,xn.SETTINGS_AUTH),"builderSettingsAuthUrl"),Pd=s(t=>Wt(t,xn.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),Nd=s(t=>Wt(t,xn.APPS),"builderAppsUrl"),ka=s(t=>`/app-chat${qy(t)}`,"appChatUrl"),Ma=s((t,e)=>`${qy(t)}/agent/${encodeURIComponent(e)}`,"appAgentUrl"),Ud=s((t,e)=>ka(Ma(t,e)),"agentChatUrl"),Ky={accountPortalAccountUrl:Rd,accountPortalBillingUrl:Dd,accountPortalUpgradeUrl:Cd,builderWorkspacesUrl:bd,builderSettingsEmailUrl:xd,builderSettingsAuthUrl:vd,builderSettingsPeopleUsersUrl:Pd,builderAppsUrl:Nd,appChatUrl:ka,appAgentUrl:Ma,agentChatUrl:Ud};function fb(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(fb,"formatBytes");function Qy(t){return/^{{\s*env\.([^\s]+)\s*}}$/.test(String(t))}s(Qy,"isEnvironmentVariableKey");var pb={getNextExecutionDates:By,validate:Wy};var Fa=B(require("lodash/isPlainObject")),Ld=B(require("lodash/isEmpty"));var hb=/{{([^{].*?)}}/g,Hy=Object.values(xi),Eb=[...Object.values(Br),...Object.values(sr),...Object.values(bn)],gb=s((t,e,r)=>{let n=Ge,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],o=[n.Equals,n.NotEquals,n.MoreThan,n.LessThan,n.Empty,n.NotEmpty,n.In],a=[n.Contains,n.NotContains,n.ContainsAny,n.Empty,n.NotEmpty],u=[],{type:c,formulaType:l,subtype:d}=t;c==="string"?d==="array"?u=a:u=i:c==="number"||c==="bigint"?u=o:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=o:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||As.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),Yy=[Ge.StartsWith.value,Ge.Like.value,Ge.Equals.value,Ge.NotEquals.value,Ge.Contains.value,Ge.NotContains.value,Ge.ContainsAny.value,Ge.In.value];function Fd(t,e){for(let r of Hy)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(Fd,"recurseLogicalOperators");var Bd=s(t=>{for(let e of Yy)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||yb(o))&&delete t[e][i]}return t=Fd(t,Bd),t},"cleanupQuery");function yb(t){return Array.isArray(t)&&t.length===0}s(yb,"isEmptyArray");var Jo=s(t=>Wd(t).key,"removeKeyNumbering"),Wd=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),kd=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=Wd(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let u=`${a}.`;n.startsWith(u)&&(i=this.aliases[a],n=n.slice(u.length))}let o;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),o=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=Sd(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Tb(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(hb)||[]).length>0;switch(i){case"datetime":if(!u&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Qo(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(Qo(r)){let l=mh[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if(uh(r)||ch(r)||Qo(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s(Tb,"buildCondition");function Xo(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(Xo,"splitFiltersArray");function zy(t){if(!t)return{};if(Array.isArray(t)&&(t=Zc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=jy(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=zy(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=Xo(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=jy(n.logicalOperator)),{[u]:{conditions:a.map(Tb).filter(c=>c)}}})},e}s(zy,"buildQuery");function jy(t){return t==="all"?"$and":"$or"}s(jy,"logicalOperatorFromUI");function Gd(t){if(!t)return t;for(let e of Object.values(sr)){let r=t[e];if(!(r==null||!(0,Fa.default)(r)))for(let n of Object.keys(r)){if(Array.isArray(r[n]))continue;let i=r[n];typeof i=="string"?r[n]=i.split(",").map(o=>o.trim()):r[n]=[i]}}return Fd(t,Gd),t}s(Gd,"fixupFilterArrays");function Sb(t,e){let r=Ba(t,e.query);e.sort&&(r=Jy(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=Xy(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(Sb,"search");function Ba(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=Bd(e),e=Gd(e),!Md(e)&&e.onEmptyFilter==="none")return[];let r=s((S,_)=>U=>{for(let[C,M]of Object.entries(e[S]||{})){let H=Ko(S)?U:el(U,Jo(C)),we=_(H,M);if(e.allOr&&we)return!0;if(!e.allOr&&!we)return!1}return!e.allOr},"match"),n=r("string",(S,_)=>typeof S!="string"||typeof _!="string"?!1:S.toLowerCase().startsWith(_.toLowerCase())),i=r("fuzzy",(S,_)=>typeof S!="string"||typeof _!="string"?!1:S.toLowerCase().includes(_.toLowerCase())),o=r("range",(S,_)=>{if(S==null||S===""||((0,Fa.default)(_.low)&&(0,Ld.default)(_.low)&&(_.low=void 0),(0,Fa.default)(_.high)&&(0,Ld.default)(_.high)&&(_.high=void 0),_.low==null&&_.high==null))return!1;let U=+S;if(!isNaN(U)){let M=+_.low,H=+_.high;if(!isNaN(M)&&!isNaN(H))return U>=M&&U<=H;if(isNaN(M)){if(!isNaN(H))return U<=H}else return U>=M}let C=(0,Hn.default)(S);if(C.isValid()){let M=(0,Hn.default)(_.low||"0000-00-00T00:00:00.000Z"),H=(0,Hn.default)(_.high||"9999-00-00T00:00:00.000Z");if(M.isValid()&&H.isValid())return C.isAfter(M)&&C.isBefore(H)||C.isSame(M)||C.isSame(H);if(M.isValid())return C.isAfter(M)||C.isSame(M);if(H.isValid())return C.isBefore(H)||C.isSame(H)}return _.low!=null&&_.high!=null?S>=_.low&&S<=_.high:_.low!=null?S>=_.low:_.high!=null?S<=_.high:!1}),a=s((S,_)=>{if(Array.isArray(S)){for(let C of S)if(a(C,_))return!0;return!1}if(S&&typeof S=="object"&&typeof _=="string")return S._id===_;if(S===_)return!0;if(S==null&&_!=null||S!=null&&_==null)return!1;let U=(0,Hn.default)(S);if(U.isValid()){let C=(0,Hn.default)(_);if(C.isValid())return U.isSame(C)}return!1},"_valueMatches"),u=s(S=>(..._)=>!S(..._),"not"),c=r("equal",a),l=r("notEqual",u(a)),d=s(S=>typeof S=="string"?S==="":Array.isArray(S)?S.length===0:S&&typeof S=="object"?Object.keys(S).length===0:S==null,"_empty"),f=r("empty",d),E=r("notEmpty",u(d)),p=r("oneOf",(S,_)=>(typeof _=="string"&&(_=_.split(",")),typeof S=="number"&&(_=_.map(U=>parseFloat(U))),Array.isArray(_)?_.some(U=>a(S,U)):!1)),T=s(S=>(_,U)=>!Array.isArray(_)||(typeof U=="string"&&(U=U.split(","),typeof _[0]=="number"&&(U=U.map(C=>parseFloat(C)))),!Array.isArray(U))?!1:U.length===0?!0:U[S](C=>a(_,C)),"_contains"),h=r("contains",(S,_)=>Array.isArray(_)&&_.length===0?!0:T("every")(S,_)),g=r("notContains",(S,_)=>Array.isArray(_)&&_.length===0?!0:u(T("every"))(S,_)),y=r("containsAny",T("some")),I=r("$and",(S,_)=>{if(!_.length)return!1;for(let U of _)if(!Ba([S],U).length)return!1;return!0}),O=r("$or",(S,_)=>{if(!_.length)return!1;for(let U of _)if(Ba([S],{...U,allOr:!0}).length)return!0;return!1}),w=s(S=>{let _={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:E,oneOf:p,contains:h,containsAny:y,notContains:g,$and:I,$or:O},U=Object.entries(e||{}).filter(([C,M])=>!["allOr","onEmptyFilter"].includes(C)&&M&&Object.keys(M).length>0).map(([C])=>_[C]?.(S)??!1);return Md(e)?e.allOr?U.some(C=>C===!0):U.every(C=>C===!0):!0},"docMatch");return t.filter(w)}s(Ba,"runQuery");function Jy(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let u=i(o[e]),c=i(a[e]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(Jy,"sort");function Xy(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(Xy,"limit");var Md=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of Hy)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of Eb){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let u=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||u}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var ke={};P(ke,{applications:()=>Vd,automations:()=>qd,screens:()=>Hd,users:()=>jd});var Vd={};P(Vd,{getDevAppID:()=>Ab,getProdAppID:()=>Is});var $d=or("app"),Os=or("app_dev");function Ab(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(Os))return t;let e=t.split($d);e.shift();let r=e.join($d);return`${Os}${r}`}s(Ab,"getDevAppID");function Is(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(Os))return t;let e=t.split(Os);e.shift();let r=e.join(Os);return`${$d}${r}`}s(Is,"getProdAppID");var qd={};P(qd,{checkForCollectStep:()=>wb,isAppAction:()=>Ib,isRowAction:()=>_b,isWebhookAction:()=>Ob});function _b(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(_b,"isRowAction");function Ob(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(Ob,"isWebhookAction");function Ib(t){return t.definition.trigger?.stepId==="APP"}s(Ib,"isAppAction");function Zy(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(fh(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(Zy(r))return!0}}return!1}s(Zy,"hasCollectBlockRecursive");function wb(t){return Zy(t.definition.steps)}s(wb,"checkForCollectStep");var jd={};P(jd,{canCreateApps:()=>Rb,containsUserID:()=>Ub,getGlobalUserID:()=>Nb,getUserAppGroups:()=>Lb,hasAdminPermissions:()=>Qd,hasAppBuilderPermissions:()=>Ga,hasBuilderPermissions:()=>vb,hasCreatorPermissions:()=>$a,isAdmin:()=>ws,isAdminOrBuilder:()=>Cb,isAdminOrGlobalBuilder:()=>bb,isAdminOrWorkspaceBuilder:()=>Db,isBuilder:()=>Kd,isCreator:()=>Pb,isGlobalBuilder:()=>Wa,userAppAccessList:()=>kb});function Kd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(Is(e))):!1}s(Kd,"isBuilder");function Wa(t){return Kd(t)&&!Ga(t)||ws(t)}s(Wa,"isGlobalBuilder");function Rb(t){return Wa(t)||$a(t)}s(Rb,"canCreateApps");function ws(t){return t?Qd(t):!1}s(ws,"isAdmin");function Db(t,e){return t?!!(ws(t)||e&&t.builder?.apps?.includes(Is(e))):!1}s(Db,"isAdminOrWorkspaceBuilder");function Cb(t,e){return Kd(t,e)||ws(t)}s(Cb,"isAdminOrBuilder");function bb(t){return Wa(t)||ws(t)}s(bb,"isAdminOrGlobalBuilder");function Ga(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(Ga,"hasAppBuilderPermissions");function xb(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(xb,"hasAppCreatorPermissions");function vb(t){return t?t.builder?.global||Ga(t)||$a(t):!1}s(vb,"hasBuilderPermissions");function Qd(t){return t?!!t.admin?.global:!1}s(Qd,"hasAdminPermissions");function $a(t){return t?!!t.builder?.creator:!1}s($a,"hasCreatorPermissions");function Pb(t){return t?Wa(t)||Qd(t)||$a(t)||Ga(t)||xb(t):!1}s(Pb,"isCreator");function Nb(t){if(typeof t!="string")return t;let e=`ro${D}ta_users${D}`;return t.startsWith(e)?t.split(e)[1]:t}s(Nb,"getGlobalUserID");function Ub(t){return typeof t!="string"?!1:t.includes(`us${D}`)}s(Ub,"containsUserID");function eT(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(eT,"getUserGroups");function Lb(t,e,r){let n=Is(t);return eT(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Lb,"getUserAppGroups");function kb(t,e){let n=eT(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(kb,"userAppAccessList");var Hd={};P(Hd,{findInSettings:()=>Mb});function Mb(t,e){let r=[];function n(i,o=""){for(let[a,u]of Object.entries(i))u&&(typeof u=="string"&&u.includes(e)?r.push({setting:o?`${o}.${a}`:a,value:u}):typeof u=="object"&&n(u,a))}return s(n,"recurse"),n(t.props),r}s(Mb,"findInSettings");var Va=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(Va||{}),Gt=(d=>(d.USER_BY_WORKSPACE="by_app",d.USER_BY_EMAIL="by_email2",d.BY_API_KEY="by_api_key",d.LINK="by_link",d.ROUTING="screen_routes_2",d.AUTOMATION_LOGS="automation_logs",d.ACCOUNT_BY_EMAIL="account_by_email",d.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",d.USER_BY_GROUP="user_by_group",d.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",d))(Gt||{}),Yn={by_email2:["by_email"]},fe={GLOBAL:{name:"global-db",docs:{apiKeys:"apikeys",usageQuota:"usage_quota",licenseInfo:"license_info",environmentVariables:"environmentvariables"}},PLATFORM_INFO:{name:"global-info",docs:{tenants:"tenants",install:"install"}},AUDIT_LOGS:{name:"audit-logs"},SCIM_LOGS:{name:"scim-logs"},SELF_HOST_CLOUD:{name:"self-host-cloud"}},tt=or("app"),qa=or("app_dev"),rt=qa,Yd="internal",zd="budibase",Ct="_design/sqlite",Jd="ta_bb_jobs",Xd="ta_bb_inventory",Zd="ta_bb_expenses",ef="ta_bb_employee",Rs=`ro${D}ta_users${D}`,Ds=(r=>(r[r.SQLITE=Ct]="SQLITE",r.MIGRATIONS="_design/migrations",r))(Ds||{});var Ka=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(Ka||{}),nn=(u=>(u.Auth="budibase:auth",u.Init="budibase:init",u.ACCOUNT_RETURN_URL="budibase:account:returnurl",u.DatasourceAuth="budibase:datasourceauth",u.OIDC_CONFIG="budibase:oidc:config",u.FeatureFlags="budibase:featureflags",u.RecaptchaSession="budibase:recaptcha",u))(nn||{}),tf=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(tf||{}),rf=(c=>(c.SETTINGS="settings",c.ACCOUNT="account",c.SMTP="smtp",c.GOOGLE="google",c.OIDC="oidc",c.OIDC_LOGOS="logos_oidc",c.SCIM="scim",c.AI="AI",c))(rf||{}),tT=new Date(-2147483647e3),Qa=new Date(2147483647e3),ue="default";var xo={};P(xo,{CacheKey:()=>ye,TTL:()=>gn,bustCache:()=>pi,destroy:()=>ao,docWritethrough:()=>Np,generic:()=>uo,get:()=>yn,invite:()=>kp,keys:()=>Wu,passwordReset:()=>Mp,store:()=>zt,user:()=>vr,withCache:()=>Rr,withCacheWithDynamicTTL:()=>mA,workspace:()=>Ws,writethrough:()=>fm});var Np={};P(Np,{DocWritethrough:()=>Pp,DocWritethroughProcessor:()=>oo,getProcessor:()=>BP,init:()=>pA});var vp={};P(vp,{BudibaseQueue:()=>gt,InMemoryQueue:()=>Du,JobQueue:()=>ci,QueuedProcessor:()=>xp,UnretriableError:()=>Fu,shutdown:()=>Zv});var sf=require("crypto"),Ha=require("fs"),iT=require("lodash"),Cs=require("path");var Fb=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,Cs.resolve)((0,Cs.join)(__dirname,"..","..","..")),rT=!1;!rT&&ja()&&!of()&&(require("dotenv").config({path:(0,Cs.join)(Fb,".env")}),rT=!0);function of(){return sT()}s(of,"isTest");function sT(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(sT,"isJest");function ja(){return process.env.NODE_ENV!=="production"}s(ja,"isDev");function Bb(t){if(t)return parseInt(t)}s(Bb,"parseIntSafe");var zn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},nT=!!parseInt(process.env.SELF_HOSTED||"");function Wb(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Wb,"getAPIEncryptionKey");function Gb(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Gb,"httpLogging");function $b(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Ha.existsSync)(l))return l;let d=`${c}/..`;return d===c?null:n(u,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,Ha.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(ja()&&!of())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s($b,"getPackageJsonFields");function Vb(){return pt.SERVICE_TYPE==="worker"}s(Vb,"isWorker");function qb(){return pt.SERVICE_TYPE==="apps"}s(qb,"isApps");function Kb(){return pt.BUDIBASE_ENVIRONMENT==="QA"}s(Kb,"isQA");function Qb(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}s(Qb,"getServiceName");var pt={isTest:of,isJest:sT,isDev:ja,isWorker:Vb,isApps:qb,isQA:Kb,isProd:()=>!ja(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,sf.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,sf.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Wb(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,MICROSOFT_CLIENT_ID:process.env.MICROSOFT_CLIENT_ID,MICROSOFT_CLIENT_SECRET:process.env.MICROSOFT_CLIENT_SECRET,MICROSOFT_TENANT_ID:process.env.MICROSOFT_TENANT_ID,RAG_SHAREPOINT_DEFAULT_SCOPE:process.env.RAG_SHAREPOINT_DEFAULT_SCOPE||"offline_access User.Read https://graph.microsoft.com/Sites.Read.All",SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:nT,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||zn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||zn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||zn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||zn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||zn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||zn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:Qb(),LOG_LEVEL:process.env.LOG_LEVEL||"info",SESSION_UPDATE_PERIOD:process.env.SESSION_UPDATE_PERIOD,DEPLOYMENT_ENVIRONMENT:process.env.DEPLOYMENT_ENVIRONMENT||"docker-compose",HTTP_LOGGING:Gb(),ENABLE_AUDIT_LOG_IP_ADDR:process.env.ENABLE_AUDIT_LOG_IP_ADDR,SQL_LOGGING_ENABLE:process.env.SQL_LOGGING_ENABLE,SQL_MAX_ROWS:process.env.SQL_MAX_ROWS,SQL_MAX_RELATED_ROWS:process.env.MAX_RELATED_ROWS,SMTP_FALLBACK_ENABLED:process.env.SMTP_FALLBACK_ENABLED,SMTP_USER:process.env.SMTP_USER,SMTP_PASSWORD:process.env.SMTP_PASSWORD,SMTP_HOST:process.env.SMTP_HOST,SMTP_PORT:parseInt(process.env.SMTP_PORT||""),SMTP_FROM_ADDRESS:process.env.SMTP_FROM_ADDRESS,DISABLE_JWT_WARNING:process.env.DISABLE_JWT_WARNING,BLACKLIST_IPS:process.env.BLACKLIST_IPS,SERVICE_TYPE:"unknown",PASSWORD_MIN_LENGTH:process.env.PASSWORD_MIN_LENGTH,PASSWORD_MAX_LENGTH:process.env.PASSWORD_MAX_LENGTH,ENABLE_SSO_MAINTENANCE_MODE:nT?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...$b(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,pt[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:Bb(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC,OPENROUTER_BASE_URL:process.env.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1"};function bs(t){let e=(0,iT.cloneDeep)(pt),r;for(r in t)pt._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))pt._set(n,i)}}s(bs,"setEnv");function oT(t,e){let r=bs(t);try{let n=e();return n instanceof Promise?n.finally(r):(r(),n)}catch(n){throw r(),n}}s(oT,"withEnv");var aT=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","MICROSOFT_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[t,e]of Object.entries(pt))e==="0"&&(pt[t]=0),e==="false"&&(pt[t]=0);var m=pt;var Ja={};P(Ja,{Databases:()=>af,SEPARATOR:()=>Jn,SelectableDatabase:()=>Ya,getRedisClusterOptions:()=>uf,getRedisConnectionDetails:()=>za,getRedisOptions:()=>sn,removeDbPrefix:()=>cf});var Jn="-",af=(O=>(O.PW_RESETS="pwReset",O.VERIFICATIONS="verification",O.INVITATIONS_LIST="invitationList",O.DEV_LOCKS="devLocks",O.DEBOUNCE="debounce",O.SESSIONS="session",O.USER_CACHE="users",O.FLAGS="flags",O.WORKSPACE_METADATA="appMetadata",O.QUERY_VARS="queryVars",O.LICENSES="license",O.GENERIC_CACHE="data_cache",O.WRITE_THROUGH="writeThrough",O.LOCKS="locks",O.SOCKET_IO="socket_io",O.BPM_EVENTS="bpmEvents",O.DOC_WRITE_THROUGH="docWriteThrough",O.RECAPTCHA_SESSION="recaptchaSession",O.OPENAPI_IMPORT_SPECS="openapiImportSpecs",O))(af||{}),Ya=(g=>(g[g.DEFAULT=0]="DEFAULT",g[g.SOCKET_IO=1]="SOCKET_IO",g[g.RATE_LIMITING=2]="RATE_LIMITING",g[g.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",g[g.UNUSED_3=4]="UNUSED_3",g[g.UNUSED_4=5]="UNUSED_4",g[g.UNUSED_5=6]="UNUSED_5",g[g.UNUSED_6=7]="UNUSED_6",g[g.UNUSED_7=8]="UNUSED_7",g[g.UNUSED_8=9]="UNUSED_8",g[g.UNUSED_9=10]="UNUSED_9",g[g.UNUSED_10=11]="UNUSED_10",g[g.UNUSED_11=12]="UNUSED_11",g[g.UNUSED_12=13]="UNUSED_12",g[g.UNUSED_13=14]="UNUSED_13",g[g.UNUSED_14=15]="UNUSED_14",g))(Ya||{});function za(){let t=m.REDIS_PASSWORD,e=m.REDIS_USERNAME,r=m.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(za,"getRedisConnectionDetails");function uf(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...sn()}}}s(uf,"getRedisClusterOptions");function sn(){let{host:t,password:e,port:r,username:n}=za(),i=m.REDIS_URL.toLowerCase().startsWith("rediss://")?{}:void 0;return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n},...i&&{tls:i}}}s(sn,"getRedisOptions");function cf(t){let e=t.split(Jn);return e.length>=2?(e.shift(),e.join(Jn)):e[0]}s(cf,"removeDbPrefix");var xS=B(require("events"));var ui={};P(ui,{Duration:()=>pe,DurationType:()=>np,GZIP_PREFIX:()=>wu,clearCookie:()=>Ar,compare:()=>ff,fetchWithBlacklist:()=>ai,getBearerToken:()=>bv,getCookie:()=>jt,getDispatcher:()=>Iv,getWorkspaceIdFromCtx:()=>dn,gunzipFromBase64:()=>Cv,gzipToBase64:()=>Dv,hasCircularStructure:()=>Ev,hash:()=>df,isAudited:()=>tp,isClient:()=>hv,isPublicApiRequest:()=>pv,isServingApp:()=>lv,isServingBuilder:()=>dv,isServingBuilderPreview:()=>fv,isValidInternalAPIKey:()=>Ys,microsoftDatasourceCreationCacheKey:()=>Vv,newid:()=>ee,openJwt:()=>_u,setCookie:()=>_S,time:()=>yv,timeout:()=>ep,urlHasProtocol:()=>gv,validEmail:()=>rp});var uT=require("uuid");function ee(){return(0,uT.v4)().replace(/-/g,"")}s(ee,"newid");var lf=require("bcrypt"),jb=m.SALT_ROUNDS||10;async function df(t){let e=await lf.genSalt(jb);return lf.hash(t,e)}s(df,"hash");async function ff(t,e){return lf.compare(t,e)}s(ff,"compare");var Au=B(require("jsonwebtoken"));var ae={};P(ae,{DEFAULT_TENANT_ID:()=>ue,baseGlobalDBName:()=>ks,doInAutomationContext:()=>gx,doInContext:()=>xf,doInEnvironmentContext:()=>Cx,doInFeatureFlagOverrideContext:()=>Mf,doInIPContext:()=>Nf,doInIdentityContext:()=>vs,doInLicenseContext:()=>Tx,doInScimContext:()=>bx,doInSelfHostTenantUsingCloud:()=>yx,doInTenant:()=>be,doInWorkspaceContext:()=>_x,doInWorkspaceMigrationContext:()=>Ix,ensureSnippetContext:()=>IT,getAuditLogDBName:()=>_T,getAuditLogsDB:()=>vx,getAutomationId:()=>vf,getCurrentContext:()=>un,getDevWorkspaceDB:()=>Nx,getDevWorkspaceId:()=>Rx,getEnvironmentVariables:()=>xx,getFeatureFlagOverrides:()=>kf,getFeatureFlags:()=>Uf,getGlobalDB:()=>Y,getGlobalDBName:()=>an,getIP:()=>Pf,getIdentity:()=>$t,getLicense:()=>Sx,getOrThrowWorkspaceId:()=>wx,getPlatformURL:()=>bf,getProdWorkspaceDB:()=>Px,getProdWorkspaceId:()=>Dx,getScimDBName:()=>px,getSelfHostCloudDB:()=>Ax,getTableForView:()=>Ux,getTenantIDFromWorkspaceID:()=>ti,getTenantId:()=>G,getWorkspaceDB:()=>ri,getWorkspaceId:()=>Oe,identity:()=>xs,isMultiTenant:()=>gr,isScim:()=>Et,isSelfHostUsingCloud:()=>su,isTenancyEnabled:()=>hx,isTenantIdSet:()=>mx,setFeatureFlags:()=>Lf,setTableForView:()=>Lx});var xs={};P(xs,{doInAccountContext:()=>Hb,doInIdentityContext:()=>mf,doInUserContext:()=>hf,getAccountUserId:()=>cT,getIdentity:()=>pf});function pf(){return $t()}s(pf,"getIdentity");function mf(t,e){return vs(t,e)}s(mf,"doInIdentityContext");function hf(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return mf(n,r)}s(hf,"doInUserContext");function Hb(t,e){let r=cT(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return mf(i,e)}s(Hb,"doInAccountContext");function cT(t){let e;return Ho(t)?e=t.budibaseUserId:e=t.accountId,e}s(cT,"getAccountUserId");var mt=s(t=>{let e=Ef(t),r,n;if(e.auth?.username)r=e.auth.username;else if(m.COUCH_DB_USERNAME)r=m.COUCH_DB_USERNAME;else if(!m.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(m.COUCH_DB_PASSWORD)n=m.COUCH_DB_PASSWORD;else if(!m.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=m.COUCH_DB_SQL_URL;if(m.isDev()&&!o)o="http://localhost:4006";else if(!o&&e.url){let a=new URL(e.url);o=e.url.replace(a.port,"4984")}return{url:e.url,sqlUrl:Ef(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Ef=s((t=m.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),u=a[0],c=a.slice(1).join("://");if(t.includes("@")){let l=c.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=c;e=`${u}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var TT=B(require("@budibase/nano"));var lT=B(require("node-fetch"));function Za(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(Za,"checkSlashesInUrl");async function dT(t,e="GET",r){let{url:n,cookie:i}=mt(),o=`${n}/${t}`;return await Ps({url:o,cookie:i,method:e,body:r})}s(dT,"directCouchCall");async function Ps({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,lT.default)(Za(encodeURI(t)),i)}s(Ps,"directCouchUrlCall");async function gf(t,e="GET",r){let n=await dT(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(gf,"directCouchQuery");var on=B(require("pouchdb"));var fT,pT=!1,yf=s((t={})=>{let{url:e,cookie:r}=mt(),n={prefix:e,fetch:(i,o)=>(o.headers.set("Authorization",r),on.default.fetch(i,o))};if(t.inMemory){let i=require("pouchdb-adapter-memory");on.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");on.default.plugin(i.plugin),on.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");on.default.plugin(i)}return on.default.defaults(n)},"getPouch");function eu(t){fT=yf(t),pT=!0}s(eu,"init");var Yb=s(()=>{if(!pT)throw new Error("init has not been called")},"checkInitialised");function nt(t,e){Yb();let r=new fT(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(nt,"getPouchDB");async function Ns(t){if(!(!t||m.isTest()))try{return await t.close()}catch{}}s(Ns,"closePouchDB");var le=B(require("dd-trace"));var Xn=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return le.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return le.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return le.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return le.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return le.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return le.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return le.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return le.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return le.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return le.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return le.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return le.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return le.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return le.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return le.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return le.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return le.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return le.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return le.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return le.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return le.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var Rf={};P(Rf,{breakExternalTableId:()=>Af,breakRowIdField:()=>ux,buildExternalTableId:()=>rx,convertRowId:()=>ax,encodeTableId:()=>nx,encodeViewId:()=>ix,extractDate:()=>Of,generateRowIdField:()=>sx,getNativeSql:()=>Zn,isExternalTable:()=>Sf,isExternalTableID:()=>tu,isInternalTableID:()=>tx,isRowId:()=>ox,isValidFilter:()=>nu,isValidISODateString:()=>ru,isValidISODateStringWithoutTimezone:()=>_f,isValidTime:()=>If,sqlLog:()=>Us,validateManyToMany:()=>wf});var Tf=`${D}${D}`,hT=/^\[.*]$/g,zb=encodeURIComponent(" "),Jb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,Xb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,Zb=/(\d{4}-\d{2}-\d{2})/,ex=/^\d{1,2}:\d{2}(?:\.\d{1,6}|:\d{2}(?:\.\d{1,6})?)?$/;function tu(t){return t.startsWith("datasource"+D)}s(tu,"isExternalTableID");function tx(t){return!tu(t)}s(tx,"isInternalTableID");function Zn(t){let e=t.toSQL();if(Array.isArray(e))return e;let r;return e.toNative&&(r=e.toNative()),{sql:r?.sql||e.sql,bindings:r?.bindings||e.bindings}}s(Zn,"getNativeSql");function Sf(t){return t?.sourceId&&t.sourceId.includes("datasource"+D)&&t?.sourceId!==vn||t?.sourceType==="external"?!0:!!(t?._id&&tu(t._id))}s(Sf,"isExternalTable");function rx(t,e){return`${t}${Tf}${encodeURIComponent(e)}`}s(rx,"buildExternalTableId");function nx(t){return tu(t)?encodeURIComponent(t):t}s(nx,"encodeTableId");function ix(t){return encodeURIComponent(t)}s(ix,"encodeViewId");function Af(t){let e=t.split(Tf),r=e.shift(),n=e.join(Tf);if(n.includes(zb)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(Af,"breakExternalTableId");function sx(t=[]){Array.isArray(t)||(t=[t]);for(let e in t)t[e]instanceof Buffer&&(t[e]=t[e].toString());return encodeURIComponent(JSON.stringify(t).replace(/"/g,"'"))}s(sx,"generateRowIdField");function ox(t){return Array.isArray(t)||typeof t=="string"&&t.match(hT)!=null}s(ox,"isRowId");function ax(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(hT)!=null?t.substring(1,t.length-1):t}s(ax,"convertRowId");function ux(t){if(!t)return[];let e=typeof t=="string"?t:t._id,r=decodeURIComponent(e).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[t]}}s(ux,"breakRowIdField");function ru(t){let e=t.trim();if(!Jb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(ru,"isValidISODateString");function _f(t){let e=t.trim();if(!Xb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(_f,"isValidISODateStringWithoutTimezone");function Of(t){let e=t.match(Zb);if(e)return e[0]}s(Of,"extractDate");function nu(t){return t!=null&&t!==""}s(nu,"isValidFilter");function If(t){return ex.test(t)}s(If,"isValidTime");function Us(t,e,r){if(!m.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(Us,"sqlLog");function cx(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(cx,"isValidManyToManyRelationship");function wf(t){if(cx(t))return t}s(wf,"validateManyToMany");var ET="Database does not exist.";function gT(t){return(0,TT.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(gT,"buildNano");var hr=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{s(this,"CouchDBError")}};function lx(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new ei(t,r,e);return new Xn(n)}s(lx,"DatabaseWithConnection");var ei=class t{constructor(e,r,n){this.couchInfo=mt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=mt(n),this.instanceNano=gT(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=mt();t.nano=gT(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await Ps({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new hr(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===ET)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new hr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new hr(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(c=>n&&c.doc==null||c.value&&"deleted"in c.value&&c.value.deleted?!0:c.error==="not_found","rowUnavailable"),a=i.rows.filter(c=>!o(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(lh(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(u=>({...u,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,o="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,o+=a.error);if(i)throw new hr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=ee()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===ET)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=Za(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await Ps(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new hr("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw u}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${Ct}`;return Us("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(Ct)){let e=await this.get(Ct);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new hr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return nt(this.name).dump(e,r)}async load(e){return nt(this.name).load(e)}async createIndex(e){return nt(this.name).createIndex(e)}async deleteIndex(e){return nt(this.name).deleteIndex(e)}async getIndexes(){return nt(this.name).getIndexes()}};function Ce(t,e){return new Xn(new ei(t,e))}s(Ce,"getDB");async function je(t,e,r){let n=Ce(t,r);return await e(n)}s(je,"doWithDB");async function Df(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await gf(e)}s(Df,"directCouchAllDbs");var Cf="No app provided";function Er(t){if(!t)throw Cf;return t.startsWith(rt)}s(Er,"isDevWorkspaceID");function dx(t){if(!t)throw Cf;return t.startsWith(tt)&&!Er(t)}s(dx,"isProdWorkspaceID");function Ls(t){if(!t)throw Cf;return Er(t.appId)}s(Ls,"isDevWorkspace");function iu(t){if(!t||t.startsWith(rt))return t;let e=t.split(tt);e.shift();let r=e.join(tt);return`${rt}${r}`}s(iu,"getDevWorkspaceID");function He(t){if(!t||!t.startsWith(rt))return t;let e=t.split(rt);e.shift();let r=e.join(rt);return`${tt}${r}`}s(He,"getProdWorkspaceID");var ST=require("async_hooks");var he=class t{static{s(this,"Context")}static{this.storage=new ST.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var AT=null;function an(t){return t||(t=G()),ks(t)}s(an,"getGlobalDBName");function _T(t){return t||(t=G()),t===ue?fe.AUDIT_LOGS.name:`${t}${D}${fe.AUDIT_LOGS.name}`}s(_T,"getAuditLogDBName");function px(t){return t||(t=G()),t===ue?fe.SCIM_LOGS.name:`${t}${D}${fe.SCIM_LOGS.name}`}s(px,"getScimDBName");function ks(t){return!t||t===ue?fe.GLOBAL.name:`${t}${D}${fe.GLOBAL.name}`}s(ks,"baseGlobalDBName");function bf(){return m.PLATFORM_URL}s(bf,"getPlatformURL");function gr(){return!!m.MULTI_TENANCY}s(gr,"isMultiTenant");function mx(){return!!he.get()?.tenantId}s(mx,"isTenantIdSet");function hx(){return m.MULTI_TENANCY}s(hx,"isTenancyEnabled");function ti(t){if(!t)return;if(!gr())return ue;let e=t.split(D),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(ti,"getTenantIDFromWorkspaceID");function Ex(t){let e;try{e=he.get()}catch{e={}}return e={...e,...t},e}s(Ex,"updateContext");async function ht(t,e){Ox();let r=Ex(t);return he.run(r,e)}s(ht,"newContext");async function gx(t){return await IT(),await ht({tenantId:ti(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(gx,"doInAutomationContext");async function xf(t,e){let r=ti(t);return ht({tenantId:r,appId:t},e)}s(xf,"doInContext");async function be(t,e){return m.MULTI_TENANCY||(t=t||ue),ht(t?{tenantId:t}:{},e)}s(be,"doInTenant");async function yx(t,e){return ht({tenantId:t,isSelfHostUsingCloud:!0},e)}s(yx,"doInSelfHostTenantUsingCloud");async function Tx(t,e){return ht({license:t},e)}s(Tx,"doInLicenseContext");function Sx(){return he.get()?.license}s(Sx,"getLicense");function su(){return!!he.get()?.isSelfHostUsingCloud}s(su,"isSelfHostUsingCloud");function Ax(){let t=he.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return Ce(fe.SELF_HOST_CLOUD.name)}s(Ax,"getSelfHostCloudDB");async function _x(t,e){return OT(t,e)}s(_x,"doInWorkspaceContext");async function OT(t,e,r){if(!t)throw new Error("workspaceId is required");let n=ti(t),i={appId:t,...r};return n&&(i.tenantId=n),ht(i,e)}s(OT,"_doInWorkspaceContext");async function vs(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ht(r,e)}s(vs,"doInIdentityContext");function Ox(){if(he.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(Ox,"guardMigration");async function Ix(t,e){return OT(t,e,{isMigrating:!0})}s(Ix,"doInWorkspaceMigrationContext");function $t(){try{return he.get()?.identity}catch{}}s($t,"getIdentity");function G(){if(!gr())return ue;let e=he.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(G,"getTenantId");function vf(){return he.get()?.automationId}s(vf,"getAutomationId");function Oe(){let e=he.get()?.appId;return!e&&m.isTest()&&AT?AT:e}s(Oe,"getWorkspaceId");function wx(){let t=Oe();if(!t)throw new Error("Workspace id not set");return t}s(wx,"getOrThrowWorkspaceId");function Pf(){return he.get()?.ip}s(Pf,"getIP");var Rx=s(()=>{let t=Oe();if(!t)throw new Error("Could not get workspaceId");return iu(t)},"getDevWorkspaceId"),Dx=s(()=>{let t=Oe();if(!t)throw new Error("Could not get workspaceId");return He(t)},"getProdWorkspaceId");function Cx(t,e){if(!t)throw new Error("Must supply environment variables.");return ht({environmentVariables:t},e)}s(Cx,"doInEnvironmentContext");function bx(t){return ht({isScim:!0},t)}s(bx,"doInScimContext");function Nf(t,e){return ht({ip:t},e)}s(Nf,"doInIPContext");async function IT(){let t=un();if(!t||t.snippets)return;let e,r=ri();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(IT,"ensureSnippetContext");function xx(){let t=he.get();return t.environmentVariables?t.environmentVariables:null}s(xx,"getEnvironmentVariables");function Y(){let t=he.get();if(!t||m.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return Ce(ks(t?.tenantId))}s(Y,"getGlobalDB");function vx(){if(!G())throw new Error("No tenant ID found - cannot open audit log DB");return Ce(_T())}s(vx,"getAuditLogsDB");function ri(t){let e=Oe();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(su())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return Ce(e,t)}s(ri,"getWorkspaceDB");function Px(t){let e=Oe();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return Ce(He(e),t)}s(Px,"getProdWorkspaceDB");function Nx(t){let e=Oe();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return Ce(iu(e),t)}s(Nx,"getDevWorkspaceDB");function Et(){return!!he.get()?.isScim}s(Et,"isScim");function un(){try{return he.get()}catch{return}}s(un,"getCurrentContext");function Uf(t){let e=un();if(e)return e.featureFlagCache?.[t]}s(Uf,"getFeatureFlags");function Lf(t,e){let r=un();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(Lf,"setFeatureFlags");function kf(){return un()?.featureFlagOverrides||{}}s(kf,"getFeatureFlagOverrides");async function Mf(t,e){return await ht({featureFlagOverrides:t},e)}s(Mf,"doInFeatureFlagOverrideContext");function Ux(t){let e=un();if(e)return e.viewToTableCache?.[t]}s(Ux,"getTableForView");function Lx(t,e){let r=un();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(Lx,"setTableForView");var Sr={};P(Sr,{AutomationViewMode:()=>Va,BUDIBASE_DATASOURCE_TYPE:()=>zd,DEFAULT_BB_DATASOURCE_ID:()=>vn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DatabaseImpl:()=>ei,DatabaseWithConnection:()=>lx,DeprecatedViews:()=>Yn,DesignDocuments:()=>Ds,DocumentType:()=>ce,InternalTable:()=>_t,QueryBuilder:()=>Qt,Replication:()=>mS,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>Ct,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>Rs,ViewName:()=>Gt,WORKSPACE_DEV:()=>qa,WORKSPACE_DEV_PREFIX:()=>rt,WORKSPACE_PREFIX:()=>tt,baseGlobalDBName:()=>ks,checkErrorCode:()=>yS,closePouchDB:()=>Ns,createApiKeyView:()=>uS,createNewUserEmailView:()=>oS,createPlatformAccountEmailView:()=>lS,createPlatformUserView:()=>dS,createUserAppView:()=>aS,createView:()=>oi,dbExists:()=>Xx,directCouchAllDbs:()=>Df,directCouchCall:()=>dT,directCouchQuery:()=>gf,directCouchUrlCall:()=>Ps,doWithDB:()=>je,fullSearch:()=>nv,generateAIConfigID:()=>jT,generateAgentID:()=>BT,generateAgentKnowledgeSourceConnectionID:()=>qT,generateAgentKnowledgeSourceSyncStateID:()=>VT,generateAgentToolSourceID:()=>$T,generateAppUserID:()=>Tu,generateChatAppID:()=>WT,generateChatConversationID:()=>GT,generateDevInfoID:()=>kT,generateGlobalUserID:()=>ii,generateKnowledgeBaseFileID:()=>KT,generateKnowledgeBaseID:()=>JT,generateOAuth2LogID:()=>FT,generatePluginID:()=>MT,generateRoleID:()=>qf,generateRowID:()=>Vf,generateTableID:()=>vT,generateTemplateID:()=>LT,generateUserMetadataID:()=>NT,generateWorkspaceAppID:()=>YT,generateWorkspaceFavouriteID:()=>zT,generateWorkspaceID:()=>xT,getAllDbs:()=>sS,getAllWorkspaces:()=>$s,getCouchInfo:()=>mt,getDB:()=>Ce,getDevWorkspaceID:()=>iu,getDevWorkspaceIDs:()=>zx,getDocParams:()=>qt,getGlobalDBName:()=>an,getGlobalIDFromUserMetadataID:()=>UT,getGlobalUserParams:()=>cn,getLiteLLMKeyID:()=>HT,getOAuth2ConfigParams:()=>rS,getPluginParams:()=>tS,getPouch:()=>yf,getPouchDB:()=>nt,getProdWorkpaceIDs:()=>Yx,getProdWorkspaceID:()=>He,getQueryIndex:()=>XT,getRoleParams:()=>Su,getRowParams:()=>Kf,getStartEndKeyURL:()=>Gs,getTemplateParams:()=>eS,getUrlInfo:()=>Ef,getUserMetadataParams:()=>ZT,getUsersByWorkspaceParams:()=>si,getWorkspaceAppParams:()=>nS,getWorkspaceFavouriteParams:()=>iS,getWorkspacesByIDs:()=>Hx,init:()=>eu,isDevWorkspace:()=>Ls,isDevWorkspaceID:()=>Er,isDocumentConflictError:()=>sv,isGlobalUserID:()=>PT,isKnowledgeBaseFileID:()=>QT,isProdWorkspaceID:()=>dx,isSameWorkspaceID:()=>Jx,paginatedSearch:()=>rv,pagination:()=>jf,prefixRoleID:()=>Vt,queryGlobalView:()=>Kt,queryGlobalViewRaw:()=>Ks,queryPlatformView:()=>qs,queryView:()=>Yf,queryViewRaw:()=>Vs,removeKeyNumbering:()=>Qs,searchIndexes:()=>Jf});var Ws={};P(Ws,{WorkspaceState:()=>$f,getWorkspaceMetadata:()=>yu,invalidateWorkspaceMetadata:()=>Kx});var Tr={};P(Tr,{getCacheClient:()=>Bf,getDocWritethroughClient:()=>Gx,getInviteListClient:()=>Fs,getLockClient:()=>Gf,getOpenapiImportSpecsClient:()=>Bx,getPasswordResetClient:()=>Bs,getSessionClient:()=>yr,getSocketClient:()=>Wx,getUserClient:()=>Ms,getWorkspaceClient:()=>gu,getWritethroughClient:()=>Wf,init:()=>it,shutdown:()=>CT});var au=B(require("ioredis"));var ou=require("dd-trace"),RT=require("lodash");var wT;if(m.MOCK_REDIS)try{wT=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function kx(t=0){return await ou.tracer.trace("Redis.init",async e=>{if(m.MOCK_REDIS)return e.addTags({mock:!0}),new wT(sn());let r;if(m.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=za();r=new au.Cluster([{host:n,port:i}],uf())}else r=new au.default(sn());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(kx,"init");function Mx(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let u=await e.get(a);return u&&(u=JSON.parse(u)),{key:cf(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(Mx,"promisifyStream");function Fx(t){return t.isCluster}s(Fx,"isCluster");var Ff=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await ou.tracer.trace("RedisWrapper.init",async n=>{let i=await kx(r);return r&&!m.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return ou.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Jn}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${Jn}${e}`;let n;Fx(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await Mx(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,RT.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e});let i=`
|
|
6
6
|
if redis.call('GET', KEYS[1]) == ARGV[1] then
|
|
7
7
|
redis.call('DEL', KEYS[1])
|
|
8
8
|
end
|