narrat 3.14.1 → 3.14.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/narrat.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { F as t, aD as n, C as i, I as o, G as g, H as r, a8 as u, af as l, a9 as m, az as C, ac as p, ab as c, an as f, ao as d, ad as S, a7 as h, N as I, aA as M, ae as b, aa as A, at as P, d as B, h as N, k as v, o as D, p as O, aw as T, av as W, ag as j, aj as k, aB as w, au as x, ax as F, e as G, w as U, z as V, i as y, y as H, ak as L, v as R, B as q, E, D as Q, A as z, u as Y, x as J, am as K, a4 as X, K as Z, J as _, a3 as $, a5 as aa, a6 as sa, ay as ea, m as ta, al as na, ap as ia, aq as oa, ai as ga, q as ra, as as ua, b as la, a2 as ma, c as Ca, r as pa, n as ca, l as fa, s as da, a as Sa, aC as ha, ar as Ia, t as Ma, a0 as ba, L as Aa, M as Pa, O as Ba, P as Na, Q as va, R as Da, S as Oa, T as Ta, U as Wa, V as ja, W as ka, a1 as wa, X as xa, Y as Fa, Z as Ga, _ as Ua, $ as Va, ah as ya } from "./lib-BLE0fnVg.js";
1
+ import { F as t, aD as n, C as i, I as o, G as g, H as r, a8 as u, af as l, a9 as m, az as C, ac as p, ab as c, an as f, ao as d, ad as S, a7 as h, N as I, aA as M, ae as b, aa as A, at as P, d as B, h as N, k as v, o as D, p as O, aw as T, av as W, ag as j, aj as k, aB as w, au as x, ax as F, e as G, w as U, z as V, i as y, y as H, ak as L, v as R, B as q, E, D as Q, A as z, u as Y, x as J, am as K, a4 as X, K as Z, J as _, a3 as $, a5 as aa, a6 as sa, ay as ea, m as ta, al as na, ap as ia, aq as oa, ai as ga, q as ra, as as ua, b as la, a2 as ma, c as Ca, r as pa, n as ca, l as fa, s as da, a as Sa, aC as ha, ar as Ia, t as Ma, a0 as ba, L as Aa, M as Pa, O as Ba, P as Na, Q as va, R as Da, S as Oa, T as Ta, U as Wa, V as ja, W as ka, a1 as wa, X as xa, Y as Fa, Z as Ga, _ as Ua, $ as Va, ah as ya } from "./lib-ywPfV0Kj.js";
2
2
  import "vue";
3
3
  export {
4
4
  t as BaseConfigInputSchema,
@@ -35,7 +35,7 @@ This will fail in production.`);a=ad,a._s.has(r)||(o?oy(r,e,i,a):hx(r,i,a),proce
35
35
  *
36
36
  * MIT License
37
37
  */(function(){HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(n){var r=this;if(!r.ctx||!r.ctx.listener)return r;for(var i=r._howls.length-1;i>=0;i--)r._howls[i].stereo(n);return r},HowlerGlobal.prototype.pos=function(n,r,i){var o=this;if(!o.ctx||!o.ctx.listener)return o;if(r=typeof r!="number"?o._pos[1]:r,i=typeof i!="number"?o._pos[2]:i,typeof n=="number")o._pos=[n,r,i],typeof o.ctx.listener.positionX<"u"?(o.ctx.listener.positionX.setTargetAtTime(o._pos[0],Howler.ctx.currentTime,.1),o.ctx.listener.positionY.setTargetAtTime(o._pos[1],Howler.ctx.currentTime,.1),o.ctx.listener.positionZ.setTargetAtTime(o._pos[2],Howler.ctx.currentTime,.1)):o.ctx.listener.setPosition(o._pos[0],o._pos[1],o._pos[2]);else return o._pos;return o},HowlerGlobal.prototype.orientation=function(n,r,i,o,s,a){var l=this;if(!l.ctx||!l.ctx.listener)return l;var c=l._orientation;if(r=typeof r!="number"?c[1]:r,i=typeof i!="number"?c[2]:i,o=typeof o!="number"?c[3]:o,s=typeof s!="number"?c[4]:s,a=typeof a!="number"?c[5]:a,typeof n=="number")l._orientation=[n,r,i,o,s,a],typeof l.ctx.listener.forwardX<"u"?(l.ctx.listener.forwardX.setTargetAtTime(n,Howler.ctx.currentTime,.1),l.ctx.listener.forwardY.setTargetAtTime(r,Howler.ctx.currentTime,.1),l.ctx.listener.forwardZ.setTargetAtTime(i,Howler.ctx.currentTime,.1),l.ctx.listener.upX.setTargetAtTime(o,Howler.ctx.currentTime,.1),l.ctx.listener.upY.setTargetAtTime(s,Howler.ctx.currentTime,.1),l.ctx.listener.upZ.setTargetAtTime(a,Howler.ctx.currentTime,.1)):l.ctx.listener.setOrientation(n,r,i,o,s,a);else return c;return l},Howl.prototype.init=function(n){return function(r){var i=this;return i._orientation=r.orientation||[1,0,0],i._stereo=r.stereo||null,i._pos=r.pos||null,i._pannerAttr={coneInnerAngle:typeof r.coneInnerAngle<"u"?r.coneInnerAngle:360,coneOuterAngle:typeof r.coneOuterAngle<"u"?r.coneOuterAngle:360,coneOuterGain:typeof r.coneOuterGain<"u"?r.coneOuterGain:0,distanceModel:typeof r.distanceModel<"u"?r.distanceModel:"inverse",maxDistance:typeof r.maxDistance<"u"?r.maxDistance:1e4,panningModel:typeof r.panningModel<"u"?r.panningModel:"HRTF",refDistance:typeof r.refDistance<"u"?r.refDistance:1,rolloffFactor:typeof r.rolloffFactor<"u"?r.rolloffFactor:1},i._onstereo=r.onstereo?[{fn:r.onstereo}]:[],i._onpos=r.onpos?[{fn:r.onpos}]:[],i._onorientation=r.onorientation?[{fn:r.onorientation}]:[],n.call(this,r)}}(Howl.prototype.init),Howl.prototype.stereo=function(n,r){var i=this;if(!i._webAudio)return i;if(i._state!=="loaded")return i._queue.push({event:"stereo",action:function(){i.stereo(n,r)}}),i;var o=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof r>"u")if(typeof n=="number")i._stereo=n,i._pos=[n,0,0];else return i._stereo;for(var s=i._getSoundIds(r),a=0;a<s.length;a++){var l=i._soundById(s[a]);if(l)if(typeof n=="number")l._stereo=n,l._pos=[n,0,0],l._node&&(l._pannerAttr.panningModel="equalpower",(!l._panner||!l._panner.pan)&&e(l,o),o==="spatial"?typeof l._panner.positionX<"u"?(l._panner.positionX.setValueAtTime(n,Howler.ctx.currentTime),l._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),l._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):l._panner.setPosition(n,0,0):l._panner.pan.setValueAtTime(n,Howler.ctx.currentTime)),i._emit("stereo",l._id);else return l._stereo}return i},Howl.prototype.pos=function(n,r,i,o){var s=this;if(!s._webAudio)return s;if(s._state!=="loaded")return s._queue.push({event:"pos",action:function(){s.pos(n,r,i,o)}}),s;if(r=typeof r!="number"?0:r,i=typeof i!="number"?-.5:i,typeof o>"u")if(typeof n=="number")s._pos=[n,r,i];else return s._pos;for(var a=s._getSoundIds(o),l=0;l<a.length;l++){var c=s._soundById(a[l]);if(c)if(typeof n=="number")c._pos=[n,r,i],c._node&&((!c._panner||c._panner.pan)&&e(c,"spatial"),typeof c._panner.positionX<"u"?(c._panner.positionX.setValueAtTime(n,Howler.ctx.currentTime),c._panner.positionY.setValueAtTime(r,Howler.ctx.currentTime),c._panner.positionZ.setValueAtTime(i,Howler.ctx.currentTime)):c._panner.setPosition(n,r,i)),s._emit("pos",c._id);else return c._pos}return s},Howl.prototype.orientation=function(n,r,i,o){var s=this;if(!s._webAudio)return s;if(s._state!=="loaded")return s._queue.push({event:"orientation",action:function(){s.orientation(n,r,i,o)}}),s;if(r=typeof r!="number"?s._orientation[1]:r,i=typeof i!="number"?s._orientation[2]:i,typeof o>"u")if(typeof n=="number")s._orientation=[n,r,i];else return s._orientation;for(var a=s._getSoundIds(o),l=0;l<a.length;l++){var c=s._soundById(a[l]);if(c)if(typeof n=="number")c._orientation=[n,r,i],c._node&&(c._panner||(c._pos||(c._pos=s._pos||[0,0,-.5]),e(c,"spatial")),typeof c._panner.orientationX<"u"?(c._panner.orientationX.setValueAtTime(n,Howler.ctx.currentTime),c._panner.orientationY.setValueAtTime(r,Howler.ctx.currentTime),c._panner.orientationZ.setValueAtTime(i,Howler.ctx.currentTime)):c._panner.setOrientation(n,r,i)),s._emit("orientation",c._id);else return c._orientation}return s},Howl.prototype.pannerAttr=function(){var n=this,r=arguments,i,o,s;if(!n._webAudio)return n;if(r.length===0)return n._pannerAttr;if(r.length===1)if(typeof r[0]=="object")i=r[0],typeof o>"u"&&(i.pannerAttr||(i.pannerAttr={coneInnerAngle:i.coneInnerAngle,coneOuterAngle:i.coneOuterAngle,coneOuterGain:i.coneOuterGain,distanceModel:i.distanceModel,maxDistance:i.maxDistance,refDistance:i.refDistance,rolloffFactor:i.rolloffFactor,panningModel:i.panningModel}),n._pannerAttr={coneInnerAngle:typeof i.pannerAttr.coneInnerAngle<"u"?i.pannerAttr.coneInnerAngle:n._coneInnerAngle,coneOuterAngle:typeof i.pannerAttr.coneOuterAngle<"u"?i.pannerAttr.coneOuterAngle:n._coneOuterAngle,coneOuterGain:typeof i.pannerAttr.coneOuterGain<"u"?i.pannerAttr.coneOuterGain:n._coneOuterGain,distanceModel:typeof i.pannerAttr.distanceModel<"u"?i.pannerAttr.distanceModel:n._distanceModel,maxDistance:typeof i.pannerAttr.maxDistance<"u"?i.pannerAttr.maxDistance:n._maxDistance,refDistance:typeof i.pannerAttr.refDistance<"u"?i.pannerAttr.refDistance:n._refDistance,rolloffFactor:typeof i.pannerAttr.rolloffFactor<"u"?i.pannerAttr.rolloffFactor:n._rolloffFactor,panningModel:typeof i.pannerAttr.panningModel<"u"?i.pannerAttr.panningModel:n._panningModel});else return s=n._soundById(parseInt(r[0],10)),s?s._pannerAttr:n._pannerAttr;else r.length===2&&(i=r[0],o=parseInt(r[1],10));for(var a=n._getSoundIds(o),l=0;l<a.length;l++)if(s=n._soundById(a[l]),s){var c=s._pannerAttr;c={coneInnerAngle:typeof i.coneInnerAngle<"u"?i.coneInnerAngle:c.coneInnerAngle,coneOuterAngle:typeof i.coneOuterAngle<"u"?i.coneOuterAngle:c.coneOuterAngle,coneOuterGain:typeof i.coneOuterGain<"u"?i.coneOuterGain:c.coneOuterGain,distanceModel:typeof i.distanceModel<"u"?i.distanceModel:c.distanceModel,maxDistance:typeof i.maxDistance<"u"?i.maxDistance:c.maxDistance,refDistance:typeof i.refDistance<"u"?i.refDistance:c.refDistance,rolloffFactor:typeof i.rolloffFactor<"u"?i.rolloffFactor:c.rolloffFactor,panningModel:typeof i.panningModel<"u"?i.panningModel:c.panningModel};var f=s._panner;f||(s._pos||(s._pos=n._pos||[0,0,-.5]),e(s,"spatial"),f=s._panner),f.coneInnerAngle=c.coneInnerAngle,f.coneOuterAngle=c.coneOuterAngle,f.coneOuterGain=c.coneOuterGain,f.distanceModel=c.distanceModel,f.maxDistance=c.maxDistance,f.refDistance=c.refDistance,f.rolloffFactor=c.rolloffFactor,f.panningModel=c.panningModel}return n},Sound.prototype.init=function(n){return function(){var r=this,i=r._parent;r._orientation=i._orientation,r._stereo=i._stereo,r._pos=i._pos,r._pannerAttr=i._pannerAttr,n.call(this),r._stereo?i.stereo(r._stereo):r._pos&&i.pos(r._pos[0],r._pos[1],r._pos[2],r._id)}}(Sound.prototype.init),Sound.prototype.reset=function(n){return function(){var r=this,i=r._parent;return r._orientation=i._orientation,r._stereo=i._stereo,r._pos=i._pos,r._pannerAttr=i._pannerAttr,r._stereo?i.stereo(r._stereo):r._pos?i.pos(r._pos[0],r._pos[1],r._pos[2],r._id):r._panner&&(r._panner.disconnect(0),r._panner=void 0,i._refreshBuffer(r)),n.call(this)}}(Sound.prototype.reset);var e=function(n,r){r=r||"spatial",r==="spatial"?(n._panner=Howler.ctx.createPanner(),n._panner.coneInnerAngle=n._pannerAttr.coneInnerAngle,n._panner.coneOuterAngle=n._pannerAttr.coneOuterAngle,n._panner.coneOuterGain=n._pannerAttr.coneOuterGain,n._panner.distanceModel=n._pannerAttr.distanceModel,n._panner.maxDistance=n._pannerAttr.maxDistance,n._panner.refDistance=n._pannerAttr.refDistance,n._panner.rolloffFactor=n._pannerAttr.rolloffFactor,n._panner.panningModel=n._pannerAttr.panningModel,typeof n._panner.positionX<"u"?(n._panner.positionX.setValueAtTime(n._pos[0],Howler.ctx.currentTime),n._panner.positionY.setValueAtTime(n._pos[1],Howler.ctx.currentTime),n._panner.positionZ.setValueAtTime(n._pos[2],Howler.ctx.currentTime)):n._panner.setPosition(n._pos[0],n._pos[1],n._pos[2]),typeof n._panner.orientationX<"u"?(n._panner.orientationX.setValueAtTime(n._orientation[0],Howler.ctx.currentTime),n._panner.orientationY.setValueAtTime(n._orientation[1],Howler.ctx.currentTime),n._panner.orientationZ.setValueAtTime(n._orientation[2],Howler.ctx.currentTime)):n._panner.setOrientation(n._orientation[0],n._orientation[1],n._orientation[2])):(n._panner=Howler.ctx.createStereoPanner(),n._panner.pan.setValueAtTime(n._stereo,Howler.ctx.currentTime)),n._panner.connect(n._node),n._paused||n._parent.pause(n._id,!0).play(n._id,!0)}})()})(Rs);function Ei(t){return new Promise((e,n)=>{setTimeout(e,t)})}const ay=t=>t.reduce((e,n)=>({...e,[n]:n}),{}),ly=t=>t!==null&&typeof t=="object"&&typeof t.then=="function"&&typeof t.catch=="function",gx=["music","ambiant","sound"],vx=ay(gx),ui=Lr("audio",{state:()=>{const t=new Map;for(const e in vx)t.set(e,{channels:[],options:{volume:1}});return{modes:t,masterVolume:1}},actions:{stopAll(){this.modes.forEach(t=>{t.channels.forEach((e,n)=>{e&&(this.actuallyStopChannel(e),t.channels[n]=null)})})},async stopChannel(t,e){const n=this.getAudioChannel(t,e);if(!n)return;const{fadeOutTime:r}=mm(n.audio);if(this.setAudioChannel(t,e,null),yo().options.musicFadeOutTime){const i=ss(n.audio);i&&i.fade(i.volume(n.howlerId),0,r,n.howlerId),await Ei(r)}this.actuallyStopChannel(n)},async pauseChannel(t,e){const n=this.getAudioChannel(t,e);if(!n)return;const r=ss(n.audio);if(!r){vt(`Could not find audio ${n.audio}`);return}r.pause(n.howlerId)},async playChannel(t,e,n){Rs.Howler.ctx.state==="suspended"&&(console.warn("Audio context is suspended :o"),Rs.Howler.ctx.resume());const r=this.getAudioChannel(t,n);if(t==="sound")return this.actuallyPlayChannel(t,n,e);r&&r.audio!==e?await this.changeChannel(t,e,n):r&&r.audio===e?await this.resumeChannel(t,n):await this.actuallyPlayChannel(t,n,e)},async resumeChannel(t,e){const n=this.getAudioChannel(t,e);if(!n)return;const r=ss(n.audio);if(!r){vt(`Could not find audio ${n.audio}`);return}r.play(n.howlerId)},async changeChannel(t,e,n){this.getAudioChannel(t,n)&&t!=="sound"&&await this.stopChannel(t,n),await this.actuallyPlayChannel(t,n,e)},actuallyStopChannel(t){FL(t.audio,t.howlerId)},getAudioChannel(t,e){return this.modes.get(t).channels[e]||null},setAudioChannel(t,e,n){this.modes.get(t).channels[e]=n},async actuallyPlayChannel(t,e,n){const r=ss(n);if(!r){vt(`Could not find audio ${n}`);return}const{fadeInTime:i,fadeInDelay:o}=mm(n),s=this.audioVolume(t,n);if(t!=="sound"){const a=r.play();r.volume(0,a),r.pause(a),this.setAudioChannel(t,e,{audio:n,howlerId:a}),await Ei(o);const l=this.getAudioChannel(t,e);l!==null&&l.audio===n&&(r.play(a),r.fade(0,s,i,a))}else if(t==="sound"){const a=r.play();r.volume(s,a),this.setAudioChannel(t,e,{audio:n,howlerId:a})}},reloadAudio(t){for(const e in t.modes){if(e==="sound")continue;const n=e;this.modes.get(n).options=yn(t.modes[n].options);for(const r in t.modes[n].channels){const i=t.modes[n].channels[r];i&&i.audio&&this.actuallyPlayChannel(n,Number(r),i.audio)}}},stopSound(t){const e=ss(t);e&&e.stop()},generateSaveData(){const t={};for(const e in vx){const n=this.modes.get(e);t[e]={options:yn(n.options),channels:yn(n.channels).map(r=>r?{audio:r.audio}:{audio:null})}}return{modes:t,masterVolume:this.masterVolume}},loadSaveData(t){this.masterVolume=t.masterVolume},reset(){this.stopAll()},setModeVolume(t,e){const n=this.modes.get(t);n.options.volume=e;for(const r in n.channels){const i=n.channels[r];if(i){const o=ss(i.audio);o&&o.volume(this.modeVolume(t),i.howlerId)}}},setMasterVolume(t){this.masterVolume=t,Rs.Howler.volume(t)},modeVolume(t){return this.masterVolume*this.modes.get(t).options.volume},audioVolume(t,e){var n;return this.modeVolume(t)*(((n=aT(e))==null?void 0:n.volume)??1)}}}),yx={};Rs.Howler.volume(.5);let cy={};async function LL(t){Ao.log("Loading audio");const e=[];Rs.Howler.volume(t.options.volume);for(const n in t.files){const r=t.files[n];r.src||(r.src=r.path,r.path||console.error(`Audio config for ${n} doesn't have any \`src\` value to find the file`),console.warn("Using `path` for audio and musics is deprecated. Please replace `path` with `src` in your config file!")),e.push(BL(n,t.files[n]))}return t.audioTriggers&&(cy=t.audioTriggers),Promise.all(e)}function rc(t){cy[t]&&ui().playChannel("sound",cy[t],0)}async function BL(t,e){return new Promise((n,r)=>{const i=new Rs.Howl({...e,src:Gi(e.src)});i.load(),yx[t]=i,n()})}function FL(t,e){const n=ss(t);if(!n){ac(`Could not find music ${t}`);return}n.stop(e)}function ss(t){return yx[t]}function VL(t){const e=ss(t),{fadeInTime:n}=mm(t),r=e.play(),o=ui().audioVolume("music",t);return e.fade(0,o,n,r),r}async function zL(t,e){const n=ss(t),{fadeOutTime:r}=mm(t);n.fade(n.volume(e),0,r,e),await Ei(r),n.stop(e)}function qL(t,e){return t-e*Nd().options.extraPointsPerLevel}function bx(t,e){const{options:n}=Nd();let r=t;n.showDifficultyWithoutModifiers||(r=qL(t,e));const i=Nd().options;let o=!1,s=0,a=i.difficultyText[0][1];for(;!o;)i.difficultyText.length>s&&r>=i.difficultyText[s][0]?a=i.difficultyText[s][1]:o=!0,s++;let l="";return n.showDifficultyText&&n.showDifficultyNumber?l=`${a} (${r})`:n.showDifficultyText?l=a:n.showDifficultyNumber&&(l=r.toString()),l}function UL({skill:t,skillCheckId:e,value:n}){const r=Rr(),i=r.getSkillCheck(e),o=Sm(t),s=r.skills[t].level,a=bx(n,s);let l=!0,c=`<span class='skill-check'>[<span class='skill-check-name'>${o.name}</span> - `;return i.happened?i.succeeded?c="":(l=!1,c+=` <span class='skill-check-difficulty'>${a}</span> - <span class='skill-check-failed'>FAILED</span>]</span>`):c+=` <span class='skill-check-difficulty'>${a}</span>]</span>`,{difficultyText:c,allowed:l}}function HL(t,e){const n=Rr(),r=Sm(e.skill),i=bx(e.difficulty,n.skills[e.skill].level);return`<span class='passive-skill-check skill-check'>[<span class='skill-check-name'>${r.name}</span> - <span class='skill-check-difficulty'>${i}</span> - ${t?'<span class="skill-check-success">Success</span>':'<span class="skill-check-failed">Failure</span>'}]</span>`}function WL(t){const{options:e}=Nd(),n=KL(e,t),o=Rr().skills[t].level*e.extraPointsPerLevel;let s=n.reduce((a,l)=>a+l.unmodified,o);return e.finalRollIsHighest?(s=n.reduce((a,l)=>l.modified>a?l.modified:a,0),Ao.log(`[SKILL CHECK] Keeping only highest roll: ${s}`)):e.finalRollIsLowest&&(s=n.reduce((a,l)=>l.modified<a?l.modified:a,n[0].modified),Ao.log(`[SKILL CHECK] Keeping only lowest roll: ${s}`)),{roll:s,rolls:n}}function KL(t,e){const r=Rr().skills[e],i=r.level*t.extraPointsPerLevel;let{diceRange:o,diceCount:s}=t;t.extraDicePerLevel&&(s+=t.extraDicePerLevel*r.level);const a=[];for(let l=0;l<s;l++){const c=GL(o),f=c+i;Ao.log(`[SKILL CHECK] Roll ${l+1}/${s}: ${f}. (Base roll: ${c}, modifier: ${i} - Skill level: ${r.level})`),a.push({unmodified:c,modified:f})}return a}function GL(t){return Math.floor(Math.random()*t[1])+t[0]}function JL(t){const{skills:e}=qs(),{roll:n,rolls:r}=WL(t.skill),i=e[t.skill];let o=!1;if(typeof t.winsNeeded=="number"){const s=r.reduce((a,l)=>(wx(l.modified,t.difficulty)&&a++,a),0);s>=t.winsNeeded&&(o=!0),Ao.log(`[SKILL CHECK ${i.name}] - Dice pool mode. ${t.winsNeeded} wins needed. Got ${s} successes.
38
- (${t.id} - ${s}/${t.winsNeeded} - rolls: ${JSON.stringify(r.map(a=>a.modified))})`)}else o=wx(n,t.difficulty),Ao.log(`[SKILL CHECK ${i.name}]: ${o?"✅":"❌"}`,`(${t.id}) - ${n}/${t.difficulty}`);return rc(o?"onSkillCheckSuccess":"onSkillCheckFailure"),o}function wx(t,e){const{options:n}=Nd();let r=t>=e;return n.successOnRollsBelowThreshold&&(r=t<=e),n.failOnRollsEqualToThreshold&&t===e&&(r=!1),r}var C={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.Type=t.JsonType=t.JavaScriptTypeBuilder=t.JsonTypeBuilder=t.TypeBuilder=t.TypeBuilderError=t.TransformEncodeBuilder=t.TransformDecodeBuilder=t.TemplateLiteralDslParser=t.TemplateLiteralGenerator=t.TemplateLiteralGeneratorError=t.TemplateLiteralFinite=t.TemplateLiteralFiniteError=t.TemplateLiteralParser=t.TemplateLiteralParserError=t.TemplateLiteralResolver=t.TemplateLiteralPattern=t.TemplateLiteralPatternError=t.UnionResolver=t.KeyArrayResolver=t.KeyArrayResolverError=t.KeyResolver=t.ObjectMap=t.Intrinsic=t.IndexedAccessor=t.TypeClone=t.TypeExtends=t.TypeExtendsResult=t.TypeExtendsError=t.ExtendsUndefined=t.TypeGuard=t.TypeGuardUnknownTypeError=t.ValueGuard=t.FormatRegistry=t.TypeBoxError=t.TypeRegistry=t.PatternStringExact=t.PatternNumberExact=t.PatternBooleanExact=t.PatternString=t.PatternNumber=t.PatternBoolean=t.Kind=t.Hint=t.Optional=t.Readonly=t.Transform=void 0,t.Transform=Symbol.for("TypeBox.Transform"),t.Readonly=Symbol.for("TypeBox.Readonly"),t.Optional=Symbol.for("TypeBox.Optional"),t.Hint=Symbol.for("TypeBox.Hint"),t.Kind=Symbol.for("TypeBox.Kind"),t.PatternBoolean="(true|false)",t.PatternNumber="(0|[1-9][0-9]*)",t.PatternString="(.*)",t.PatternBooleanExact=`^${t.PatternBoolean}$`,t.PatternNumberExact=`^${t.PatternNumber}$`,t.PatternStringExact=`^${t.PatternString}$`;var e;(function(A){const k=new Map;function M(){return new Map(k)}A.Entries=M;function _(){return k.clear()}A.Clear=_;function w(oe){return k.delete(oe)}A.Delete=w;function x(oe){return k.has(oe)}A.Has=x;function T(oe,me){k.set(oe,me)}A.Set=T;function I(oe){return k.get(oe)}A.Get=I})(e||(t.TypeRegistry=e={}));class n extends Error{constructor(k){super(k)}}t.TypeBoxError=n;var r;(function(A){const k=new Map;function M(){return new Map(k)}A.Entries=M;function _(){return k.clear()}A.Clear=_;function w(oe){return k.delete(oe)}A.Delete=w;function x(oe){return k.has(oe)}A.Has=x;function T(oe,me){k.set(oe,me)}A.Set=T;function I(oe){return k.get(oe)}A.Get=I})(r||(t.FormatRegistry=r={}));var i;(function(A){function k(ae){return Array.isArray(ae)}A.IsArray=k;function M(ae){return typeof ae=="bigint"}A.IsBigInt=M;function _(ae){return typeof ae=="boolean"}A.IsBoolean=_;function w(ae){return ae instanceof globalThis.Date}A.IsDate=w;function x(ae){return ae===null}A.IsNull=x;function T(ae){return typeof ae=="number"}A.IsNumber=T;function I(ae){return typeof ae=="object"&&ae!==null}A.IsObject=I;function oe(ae){return typeof ae=="string"}A.IsString=oe;function me(ae){return ae instanceof globalThis.Uint8Array}A.IsUint8Array=me;function le(ae){return ae===void 0}A.IsUndefined=le})(i||(t.ValueGuard=i={}));class o extends n{}t.TypeGuardUnknownTypeError=o;var s;(function(A){function k(J){try{return new RegExp(J),!0}catch{return!1}}function M(J){if(!i.IsString(J))return!1;for(let K=0;K<J.length;K++){const ne=J.charCodeAt(K);if(ne>=7&&ne<=13||ne===27||ne===127)return!1}return!0}function _(J){return T(J)||Qe(J)}function w(J){return i.IsUndefined(J)||i.IsBigInt(J)}function x(J){return i.IsUndefined(J)||i.IsNumber(J)}function T(J){return i.IsUndefined(J)||i.IsBoolean(J)}function I(J){return i.IsUndefined(J)||i.IsString(J)}function oe(J){return i.IsUndefined(J)||i.IsString(J)&&M(J)&&k(J)}function me(J){return i.IsUndefined(J)||i.IsString(J)&&M(J)}function le(J){return i.IsUndefined(J)||Qe(J)}function ae(J){return Je(J,"Any")&&I(J.$id)}A.TAny=ae;function Ue(J){return Je(J,"Array")&&J.type==="array"&&I(J.$id)&&Qe(J.items)&&x(J.minItems)&&x(J.maxItems)&&T(J.uniqueItems)&&le(J.contains)&&x(J.minContains)&&x(J.maxContains)}A.TArray=Ue;function he(J){return Je(J,"AsyncIterator")&&J.type==="AsyncIterator"&&I(J.$id)&&Qe(J.items)}A.TAsyncIterator=he;function _e(J){return Je(J,"BigInt")&&J.type==="bigint"&&I(J.$id)&&w(J.exclusiveMaximum)&&w(J.exclusiveMinimum)&&w(J.maximum)&&w(J.minimum)&&w(J.multipleOf)}A.TBigInt=_e;function Ze(J){return Je(J,"Boolean")&&J.type==="boolean"&&I(J.$id)}A.TBoolean=Ze;function ce(J){return Je(J,"Constructor")&&J.type==="Constructor"&&I(J.$id)&&i.IsArray(J.parameters)&&J.parameters.every(K=>Qe(K))&&Qe(J.returns)}A.TConstructor=ce;function He(J){return Je(J,"Date")&&J.type==="Date"&&I(J.$id)&&x(J.exclusiveMaximumTimestamp)&&x(J.exclusiveMinimumTimestamp)&&x(J.maximumTimestamp)&&x(J.minimumTimestamp)&&x(J.multipleOfTimestamp)}A.TDate=He;function ot(J){return Je(J,"Function")&&J.type==="Function"&&I(J.$id)&&i.IsArray(J.parameters)&&J.parameters.every(K=>Qe(K))&&Qe(J.returns)}A.TFunction=ot;function Ve(J){return Je(J,"Integer")&&J.type==="integer"&&I(J.$id)&&x(J.exclusiveMaximum)&&x(J.exclusiveMinimum)&&x(J.maximum)&&x(J.minimum)&&x(J.multipleOf)}A.TInteger=Ve;function Nt(J){return Je(J,"Intersect")&&!(i.IsString(J.type)&&J.type!=="object")&&i.IsArray(J.allOf)&&J.allOf.every(K=>Qe(K)&&!an(K))&&I(J.type)&&(T(J.unevaluatedProperties)||le(J.unevaluatedProperties))&&I(J.$id)}A.TIntersect=Nt;function tt(J){return Je(J,"Iterator")&&J.type==="Iterator"&&I(J.$id)&&Qe(J.items)}A.TIterator=tt;function Je(J,K){return je(J)&&J[t.Kind]===K}A.TKindOf=Je;function je(J){return i.IsObject(J)&&t.Kind in J&&i.IsString(J[t.Kind])}A.TKind=je;function ge(J){return se(J)&&i.IsString(J.const)}A.TLiteralString=ge;function Ne(J){return se(J)&&i.IsNumber(J.const)}A.TLiteralNumber=Ne;function q(J){return se(J)&&i.IsBoolean(J.const)}A.TLiteralBoolean=q;function se(J){return Je(J,"Literal")&&I(J.$id)&&(i.IsBoolean(J.const)||i.IsNumber(J.const)||i.IsString(J.const))}A.TLiteral=se;function de(J){return Je(J,"Never")&&i.IsObject(J.not)&&Object.getOwnPropertyNames(J.not).length===0}A.TNever=de;function be(J){return Je(J,"Not")&&Qe(J.not)}A.TNot=be;function Ee(J){return Je(J,"Null")&&J.type==="null"&&I(J.$id)}A.TNull=Ee;function Be(J){return Je(J,"Number")&&J.type==="number"&&I(J.$id)&&x(J.exclusiveMaximum)&&x(J.exclusiveMinimum)&&x(J.maximum)&&x(J.minimum)&&x(J.multipleOf)}A.TNumber=Be;function pt(J){return Je(J,"Object")&&J.type==="object"&&I(J.$id)&&i.IsObject(J.properties)&&_(J.additionalProperties)&&x(J.minProperties)&&x(J.maxProperties)&&Object.entries(J.properties).every(([K,ne])=>M(K)&&Qe(ne))}A.TObject=pt;function ht(J){return Je(J,"Promise")&&J.type==="Promise"&&I(J.$id)&&Qe(J.item)}A.TPromise=ht;function sn(J){return Je(J,"Record")&&J.type==="object"&&I(J.$id)&&_(J.additionalProperties)&&i.IsObject(J.patternProperties)&&(K=>{const ne=Object.getOwnPropertyNames(K.patternProperties);return ne.length===1&&k(ne[0])&&i.IsObject(K.patternProperties)&&Qe(K.patternProperties[ne[0]])})(J)}A.TRecord=sn;function Un(J){return i.IsObject(J)&&t.Hint in J&&J[t.Hint]==="Recursive"}A.TRecursive=Un;function Ft(J){return Je(J,"Ref")&&I(J.$id)&&i.IsString(J.$ref)}A.TRef=Ft;function lt(J){return Je(J,"String")&&J.type==="string"&&I(J.$id)&&x(J.minLength)&&x(J.maxLength)&&oe(J.pattern)&&me(J.format)}A.TString=lt;function Vn(J){return Je(J,"Symbol")&&J.type==="symbol"&&I(J.$id)}A.TSymbol=Vn;function Qn(J){return Je(J,"TemplateLiteral")&&J.type==="string"&&i.IsString(J.pattern)&&J.pattern[0]==="^"&&J.pattern[J.pattern.length-1]==="$"}A.TTemplateLiteral=Qn;function pn(J){return Je(J,"This")&&I(J.$id)&&i.IsString(J.$ref)}A.TThis=pn;function an(J){return i.IsObject(J)&&t.Transform in J}A.TTransform=an;function tn(J){return Je(J,"Tuple")&&J.type==="array"&&I(J.$id)&&i.IsNumber(J.minItems)&&i.IsNumber(J.maxItems)&&J.minItems===J.maxItems&&(i.IsUndefined(J.items)&&i.IsUndefined(J.additionalItems)&&J.minItems===0||i.IsArray(J.items)&&J.items.every(K=>Qe(K)))}A.TTuple=tn;function or(J){return Je(J,"Undefined")&&J.type==="undefined"&&I(J.$id)}A.TUndefined=or;function Sn(J){return Yn(J)&&J.anyOf.every(K=>ge(K)||Ne(K))}A.TUnionLiteral=Sn;function Yn(J){return Je(J,"Union")&&I(J.$id)&&i.IsObject(J)&&i.IsArray(J.anyOf)&&J.anyOf.every(K=>Qe(K))}A.TUnion=Yn;function $e(J){return Je(J,"Uint8Array")&&J.type==="Uint8Array"&&I(J.$id)&&x(J.minByteLength)&&x(J.maxByteLength)}A.TUint8Array=$e;function Xe(J){return Je(J,"Unknown")&&I(J.$id)}A.TUnknown=Xe;function xt(J){return Je(J,"Unsafe")}A.TUnsafe=xt;function en(J){return Je(J,"Void")&&J.type==="void"&&I(J.$id)}A.TVoid=en;function Ut(J){return i.IsObject(J)&&J[t.Readonly]==="Readonly"}A.TReadonly=Ut;function xe(J){return i.IsObject(J)&&J[t.Optional]==="Optional"}A.TOptional=xe;function Qe(J){return i.IsObject(J)&&(ae(J)||Ue(J)||Ze(J)||_e(J)||he(J)||ce(J)||He(J)||ot(J)||Ve(J)||Nt(J)||tt(J)||se(J)||de(J)||be(J)||Ee(J)||Be(J)||pt(J)||ht(J)||sn(J)||Ft(J)||lt(J)||Vn(J)||Qn(J)||pn(J)||tn(J)||or(J)||Yn(J)||$e(J)||Xe(J)||xt(J)||en(J)||je(J)&&e.Has(J[t.Kind]))}A.TSchema=Qe})(s||(t.TypeGuard=s={}));var a;(function(A){function k(M){return M[t.Kind]==="Intersect"?M.allOf.every(_=>k(_)):M[t.Kind]==="Union"?M.anyOf.some(_=>k(_)):M[t.Kind]==="Undefined"?!0:M[t.Kind]==="Not"?!k(M.not):!1}A.Check=k})(a||(t.ExtendsUndefined=a={}));class l extends n{}t.TypeExtendsError=l;var c;(function(A){A[A.Union=0]="Union",A[A.True=1]="True",A[A.False=2]="False"})(c||(t.TypeExtendsResult=c={}));var f;(function(A){function k(Y){return Y===c.False?Y:c.True}function M(Y){throw new l(Y)}function _(Y){return s.TNever(Y)||s.TIntersect(Y)||s.TUnion(Y)||s.TUnknown(Y)||s.TAny(Y)}function w(Y,Q){return s.TNever(Q)?Je():s.TIntersect(Q)?ot(Y,Q):s.TUnion(Q)?Te(Y,Q):s.TUnknown(Q)?It():s.TAny(Q)?x():M("StructuralRight")}function x(Y,Q){return c.True}function T(Y,Q){return s.TIntersect(Q)?ot(Y,Q):s.TUnion(Q)&&Q.anyOf.some(Rt=>s.TAny(Rt)||s.TUnknown(Rt))?c.True:s.TUnion(Q)?c.Union:s.TUnknown(Q)||s.TAny(Q)?c.True:c.Union}function I(Y,Q){return s.TUnknown(Y)?c.False:s.TAny(Y)?c.Union:s.TNever(Y)?c.True:c.False}function oe(Y,Q){return s.TObject(Q)&&Qn(Q)?c.True:_(Q)?w(Y,Q):s.TArray(Q)?k(gt(Y.items,Q.items)):c.False}function me(Y,Q){return _(Q)?w(Y,Q):s.TAsyncIterator(Q)?k(gt(Y.items,Q.items)):c.False}function le(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TBigInt(Q)?c.True:c.False}function ae(Y,Q){return s.TLiteral(Y)&&i.IsBoolean(Y.const)||s.TBoolean(Y)?c.True:c.False}function Ue(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TBoolean(Q)?c.True:c.False}function he(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TConstructor(Q)?Y.parameters.length>Q.parameters.length?c.False:Y.parameters.every((Rt,vn)=>k(gt(Q.parameters[vn],Rt))===c.True)?k(gt(Y.returns,Q.returns)):c.False:c.False}function _e(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TDate(Q)?c.True:c.False}function Ze(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TFunction(Q)?Y.parameters.length>Q.parameters.length?c.False:Y.parameters.every((Rt,vn)=>k(gt(Q.parameters[vn],Rt))===c.True)?k(gt(Y.returns,Q.returns)):c.False:c.False}function ce(Y,Q){return s.TLiteral(Y)&&i.IsNumber(Y.const)||s.TNumber(Y)||s.TInteger(Y)?c.True:c.False}function He(Y,Q){return s.TInteger(Q)||s.TNumber(Q)?c.True:_(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):c.False}function ot(Y,Q){return Q.allOf.every(Rt=>gt(Y,Rt)===c.True)?c.True:c.False}function Ve(Y,Q){return Y.allOf.some(Rt=>gt(Rt,Q)===c.True)?c.True:c.False}function Nt(Y,Q){return _(Q)?w(Y,Q):s.TIterator(Q)?k(gt(Y.items,Q.items)):c.False}function tt(Y,Q){return s.TLiteral(Q)&&Q.const===Y.const?c.True:_(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TString(Q)?en(Y):s.TNumber(Q)?se(Y):s.TInteger(Q)?ce(Y):s.TBoolean(Q)?ae(Y):c.False}function Je(Y,Q){return c.False}function je(Y,Q){return c.True}function ge(Y){let[Q,Rt]=[Y,0];for(;s.TNot(Q);)Q=Q.not,Rt+=1;return Rt%2===0?Q:t.Type.Unknown()}function Ne(Y,Q){return s.TNot(Y)?gt(ge(Y),Q):s.TNot(Q)?gt(Y,ge(Q)):M("Invalid fallthrough for Not")}function q(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TNull(Q)?c.True:c.False}function se(Y,Q){return s.TLiteralNumber(Y)||s.TNumber(Y)||s.TInteger(Y)?c.True:c.False}function de(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TInteger(Q)||s.TNumber(Q)?c.True:c.False}function be(Y,Q){return Object.getOwnPropertyNames(Y.properties).length===Q}function Ee(Y){return Qn(Y)}function Be(Y){return be(Y,0)||be(Y,1)&&"description"in Y.properties&&s.TUnion(Y.properties.description)&&Y.properties.description.anyOf.length===2&&(s.TString(Y.properties.description.anyOf[0])&&s.TUndefined(Y.properties.description.anyOf[1])||s.TString(Y.properties.description.anyOf[1])&&s.TUndefined(Y.properties.description.anyOf[0]))}function pt(Y){return be(Y,0)}function ht(Y){return be(Y,0)}function sn(Y){return be(Y,0)}function Un(Y){return be(Y,0)}function Ft(Y){return Qn(Y)}function lt(Y){const Q=t.Type.Number();return be(Y,0)||be(Y,1)&&"length"in Y.properties&&k(gt(Y.properties.length,Q))===c.True}function Vn(Y){return be(Y,0)}function Qn(Y){const Q=t.Type.Number();return be(Y,0)||be(Y,1)&&"length"in Y.properties&&k(gt(Y.properties.length,Q))===c.True}function pn(Y){const Q=t.Type.Function([t.Type.Any()],t.Type.Any());return be(Y,0)||be(Y,1)&&"then"in Y.properties&&k(gt(Y.properties.then,Q))===c.True}function an(Y,Q){return gt(Y,Q)===c.False||s.TOptional(Y)&&!s.TOptional(Q)?c.False:c.True}function tn(Y,Q){return s.TUnknown(Y)?c.False:s.TAny(Y)?c.Union:s.TNever(Y)||s.TLiteralString(Y)&&Ee(Q)||s.TLiteralNumber(Y)&&pt(Q)||s.TLiteralBoolean(Y)&&ht(Q)||s.TSymbol(Y)&&Be(Q)||s.TBigInt(Y)&&sn(Q)||s.TString(Y)&&Ee(Q)||s.TSymbol(Y)&&Be(Q)||s.TNumber(Y)&&pt(Q)||s.TInteger(Y)&&pt(Q)||s.TBoolean(Y)&&ht(Q)||s.TUint8Array(Y)&&Ft(Q)||s.TDate(Y)&&Un(Q)||s.TConstructor(Y)&&Vn(Q)||s.TFunction(Y)&&lt(Q)?c.True:s.TRecord(Y)&&s.TString(Yn(Y))?Q[t.Hint]==="Record"?c.True:c.False:s.TRecord(Y)&&s.TNumber(Yn(Y))?be(Q,0)?c.True:c.False:c.False}function or(Y,Q){return _(Q)?w(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TObject(Q)?(()=>{for(const Rt of Object.getOwnPropertyNames(Q.properties)){if(!(Rt in Y.properties)&&!s.TOptional(Q.properties[Rt]))return c.False;if(s.TOptional(Q.properties[Rt]))return c.True;if(an(Y.properties[Rt],Q.properties[Rt])===c.False)return c.False}return c.True})():c.False}function Sn(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)&&pn(Q)?c.True:s.TPromise(Q)?k(gt(Y.item,Q.item)):c.False}function Yn(Y){return t.PatternNumberExact in Y.patternProperties?t.Type.Number():t.PatternStringExact in Y.patternProperties?t.Type.String():M("Unknown record key pattern")}function $e(Y){return t.PatternNumberExact in Y.patternProperties?Y.patternProperties[t.PatternNumberExact]:t.PatternStringExact in Y.patternProperties?Y.patternProperties[t.PatternStringExact]:M("Unable to get record value schema")}function Xe(Y,Q){const[Rt,vn]=[Yn(Q),$e(Q)];return s.TLiteralString(Y)&&s.TNumber(Rt)&&k(gt(Y,vn))===c.True?c.True:s.TUint8Array(Y)&&s.TNumber(Rt)||s.TString(Y)&&s.TNumber(Rt)||s.TArray(Y)&&s.TNumber(Rt)?gt(Y,vn):s.TObject(Y)?(()=>{for(const Ln of Object.getOwnPropertyNames(Y.properties))if(an(vn,Y.properties[Ln])===c.False)return c.False;return c.True})():c.False}function xt(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?gt($e(Y),$e(Q)):c.False}function en(Y,Q){return s.TLiteral(Y)&&i.IsString(Y.const)||s.TString(Y)?c.True:c.False}function Ut(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TString(Q)?c.True:c.False}function xe(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TSymbol(Q)?c.True:c.False}function Qe(Y,Q){return s.TTemplateLiteral(Y)?gt($.Resolve(Y),Q):s.TTemplateLiteral(Q)?gt(Y,$.Resolve(Q)):M("Invalid fallthrough for TemplateLiteral")}function J(Y,Q){return s.TArray(Q)&&Y.items!==void 0&&Y.items.every(Rt=>gt(Rt,Q.items)===c.True)}function K(Y,Q){return s.TNever(Y)?c.True:s.TUnknown(Y)?c.False:s.TAny(Y)?c.Union:c.False}function ne(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)&&Qn(Q)||s.TArray(Q)&&J(Y,Q)?c.True:s.TTuple(Q)?i.IsUndefined(Y.items)&&!i.IsUndefined(Q.items)||!i.IsUndefined(Y.items)&&i.IsUndefined(Q.items)?c.False:i.IsUndefined(Y.items)&&!i.IsUndefined(Q.items)||Y.items.every((Rt,vn)=>gt(Rt,Q.items[vn])===c.True)?c.True:c.False:c.False}function pe(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TUint8Array(Q)?c.True:c.False}function Se(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TVoid(Q)?Dn(Y):s.TUndefined(Q)?c.True:c.False}function Te(Y,Q){return Q.anyOf.some(Rt=>gt(Y,Rt)===c.True)?c.True:c.False}function St(Y,Q){return Y.anyOf.every(Rt=>gt(Rt,Q)===c.True)?c.True:c.False}function It(Y,Q){return c.True}function nn(Y,Q){return s.TNever(Q)?Je():s.TIntersect(Q)?ot(Y,Q):s.TUnion(Q)?Te(Y,Q):s.TAny(Q)?x():s.TString(Q)?en(Y):s.TNumber(Q)?se(Y):s.TInteger(Q)?ce(Y):s.TBoolean(Q)?ae(Y):s.TArray(Q)?I(Y):s.TTuple(Q)?K(Y):s.TObject(Q)?tn(Y,Q):s.TUnknown(Q)?c.True:c.False}function Dn(Y,Q){return s.TUndefined(Y)||s.TUndefined(Y)?c.True:c.False}function Hn(Y,Q){return s.TIntersect(Q)?ot(Y,Q):s.TUnion(Q)?Te(Y,Q):s.TUnknown(Q)?It():s.TAny(Q)?x():s.TObject(Q)?tn(Y,Q):s.TVoid(Q)?c.True:c.False}function gt(Y,Q){return s.TTemplateLiteral(Y)||s.TTemplateLiteral(Q)?Qe(Y,Q):s.TNot(Y)||s.TNot(Q)?Ne(Y,Q):s.TAny(Y)?T(Y,Q):s.TArray(Y)?oe(Y,Q):s.TBigInt(Y)?le(Y,Q):s.TBoolean(Y)?Ue(Y,Q):s.TAsyncIterator(Y)?me(Y,Q):s.TConstructor(Y)?he(Y,Q):s.TDate(Y)?_e(Y,Q):s.TFunction(Y)?Ze(Y,Q):s.TInteger(Y)?He(Y,Q):s.TIntersect(Y)?Ve(Y,Q):s.TIterator(Y)?Nt(Y,Q):s.TLiteral(Y)?tt(Y,Q):s.TNever(Y)?je():s.TNull(Y)?q(Y,Q):s.TNumber(Y)?de(Y,Q):s.TObject(Y)?or(Y,Q):s.TRecord(Y)?xt(Y,Q):s.TString(Y)?Ut(Y,Q):s.TSymbol(Y)?xe(Y,Q):s.TTuple(Y)?ne(Y,Q):s.TPromise(Y)?Sn(Y,Q):s.TUint8Array(Y)?pe(Y,Q):s.TUndefined(Y)?Se(Y,Q):s.TUnion(Y)?St(Y,Q):s.TUnknown(Y)?nn(Y,Q):s.TVoid(Y)?Hn(Y,Q):M(`Unknown left type operand '${Y[t.Kind]}'`)}function Cn(Y,Q){return gt(Y,Q)}A.Extends=Cn})(f||(t.TypeExtends=f={}));var u;(function(A){function k(oe){return oe.map(me=>x(me))}function M(oe){return new Date(oe.getTime())}function _(oe){return new Uint8Array(oe)}function w(oe){const me=Object.getOwnPropertyNames(oe).reduce((ae,Ue)=>({...ae,[Ue]:x(oe[Ue])}),{}),le=Object.getOwnPropertySymbols(oe).reduce((ae,Ue)=>({...ae,[Ue]:x(oe[Ue])}),{});return{...me,...le}}function x(oe){return i.IsArray(oe)?k(oe):i.IsDate(oe)?M(oe):i.IsUint8Array(oe)?_(oe):i.IsObject(oe)?w(oe):oe}function T(oe){return oe.map(me=>I(me))}A.Rest=T;function I(oe,me={}){return{...x(oe),...me}}A.Type=I})(u||(t.TypeClone=u={}));var d;(function(A){function k(he){return he.map(_e=>{const{[t.Optional]:Ze,...ce}=u.Type(_e);return ce})}function M(he){return he.every(_e=>s.TOptional(_e))}function _(he){return he.some(_e=>s.TOptional(_e))}function w(he){return M(he.allOf)?t.Type.Optional(t.Type.Intersect(k(he.allOf))):he}function x(he){return _(he.anyOf)?t.Type.Optional(t.Type.Union(k(he.anyOf))):he}function T(he){return he[t.Kind]==="Intersect"?w(he):he[t.Kind]==="Union"?x(he):he}function I(he,_e){const Ze=he.allOf.reduce((ce,He)=>{const ot=ae(He,_e);return ot[t.Kind]==="Never"?ce:[...ce,ot]},[]);return T(t.Type.Intersect(Ze))}function oe(he,_e){const Ze=he.anyOf.map(ce=>ae(ce,_e));return T(t.Type.Union(Ze))}function me(he,_e){const Ze=he.properties[_e];return i.IsUndefined(Ze)?t.Type.Never():t.Type.Union([Ze])}function le(he,_e){const Ze=he.items;if(i.IsUndefined(Ze))return t.Type.Never();const ce=Ze[_e];return i.IsUndefined(ce)?t.Type.Never():ce}function ae(he,_e){return he[t.Kind]==="Intersect"?I(he,_e):he[t.Kind]==="Union"?oe(he,_e):he[t.Kind]==="Object"?me(he,_e):he[t.Kind]==="Tuple"?le(he,_e):t.Type.Never()}function Ue(he,_e,Ze={}){const ce=_e.map(He=>ae(he,He.toString()));return T(t.Type.Union(ce,Ze))}A.Resolve=Ue})(d||(t.IndexedAccessor=d={}));var h;(function(A){function k(le){const[ae,Ue]=[le.slice(0,1),le.slice(1)];return`${ae.toLowerCase()}${Ue}`}function M(le){const[ae,Ue]=[le.slice(0,1),le.slice(1)];return`${ae.toUpperCase()}${Ue}`}function _(le){return le.toUpperCase()}function w(le){return le.toLowerCase()}function x(le,ae){const Ue=E.ParseExact(le.pattern);if(!L.Check(Ue))return{...le,pattern:T(le.pattern,ae)};const Ze=[...F.Generate(Ue)].map(ot=>t.Type.Literal(ot)),ce=I(Ze,ae),He=t.Type.Union(ce);return t.Type.TemplateLiteral([He])}function T(le,ae){return typeof le=="string"?ae==="Uncapitalize"?k(le):ae==="Capitalize"?M(le):ae==="Uppercase"?_(le):ae==="Lowercase"?w(le):le:le.toString()}function I(le,ae){if(le.length===0)return[];const[Ue,...he]=le;return[me(Ue,ae),...I(he,ae)]}function oe(le,ae){return s.TTemplateLiteral(le)?x(le,ae):s.TUnion(le)?t.Type.Union(I(le.anyOf,ae)):s.TLiteral(le)?t.Type.Literal(T(le.const,ae)):le}function me(le,ae){return oe(le,ae)}A.Map=me})(h||(t.Intrinsic=h={}));var p;(function(A){function k(T,I){return t.Type.Intersect(T.allOf.map(oe=>w(oe,I)),{...T})}function M(T,I){return t.Type.Union(T.anyOf.map(oe=>w(oe,I)),{...T})}function _(T,I){return I(T)}function w(T,I){return T[t.Kind]==="Intersect"?k(T,I):T[t.Kind]==="Union"?M(T,I):T[t.Kind]==="Object"?_(T,I):T}function x(T,I,oe){return{...w(u.Type(T),I),...oe}}A.Map=x})(p||(t.ObjectMap=p={}));var m;(function(A){function k(me){return me[0]==="^"&&me[me.length-1]==="$"?me.slice(1,me.length-1):me}function M(me,le){return me.allOf.reduce((ae,Ue)=>[...ae,...T(Ue,le)],[])}function _(me,le){const ae=me.anyOf.map(Ue=>T(Ue,le));return[...ae.reduce((Ue,he)=>he.map(_e=>ae.every(Ze=>Ze.includes(_e))?Ue.add(_e):Ue)[0],new Set)]}function w(me,le){return Object.getOwnPropertyNames(me.properties)}function x(me,le){return le.includePatterns?Object.getOwnPropertyNames(me.patternProperties):[]}function T(me,le){return s.TIntersect(me)?M(me,le):s.TUnion(me)?_(me,le):s.TObject(me)?w(me):s.TRecord(me)?x(me,le):[]}function I(me,le){return[...new Set(T(me,le))]}A.ResolveKeys=I;function oe(me){return`^(${I(me,{includePatterns:!0}).map(Ue=>`(${k(Ue)})`).join("|")})$`}A.ResolvePattern=oe})(m||(t.KeyResolver=m={}));class y extends n{}t.KeyArrayResolverError=y;var g;(function(A){function k(M){return Array.isArray(M)?M:s.TUnionLiteral(M)?M.anyOf.map(_=>_.const.toString()):s.TLiteral(M)?[M.const]:s.TTemplateLiteral(M)?(()=>{const _=E.ParseExact(M.pattern);if(!L.Check(_))throw new y("Cannot resolve keys from infinite template expression");return[...F.Generate(_)]})():[]}A.Resolve=k})(g||(t.KeyArrayResolver=g={}));var b;(function(A){function*k(_){for(const w of _.anyOf)w[t.Kind]==="Union"?yield*k(w):yield w}function M(_){return t.Type.Union([...k(_)],{..._})}A.Resolve=M})(b||(t.UnionResolver=b={}));class S extends n{}t.TemplateLiteralPatternError=S;var j;(function(A){function k(x){throw new S(x)}function M(x){return x.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _(x,T){return s.TTemplateLiteral(x)?x.pattern.slice(1,x.pattern.length-1):s.TUnion(x)?`(${x.anyOf.map(I=>_(I,T)).join("|")})`:s.TNumber(x)?`${T}${t.PatternNumber}`:s.TInteger(x)?`${T}${t.PatternNumber}`:s.TBigInt(x)?`${T}${t.PatternNumber}`:s.TString(x)?`${T}${t.PatternString}`:s.TLiteral(x)?`${T}${M(x.const.toString())}`:s.TBoolean(x)?`${T}${t.PatternBoolean}`:k(`Unexpected Kind '${x[t.Kind]}'`)}function w(x){return`^${x.map(T=>_(T,"")).join("")}$`}A.Create=w})(j||(t.TemplateLiteralPattern=j={}));var $;(function(A){function k(M){const _=E.ParseExact(M.pattern);if(!L.Check(_))return t.Type.String();const w=[...F.Generate(_)].map(x=>t.Type.Literal(x));return t.Type.Union(w)}A.Resolve=k})($||(t.TemplateLiteralResolver=$={}));class O extends n{}t.TemplateLiteralParserError=O;var E;(function(A){function k(he,_e,Ze){return he[_e]===Ze&&he.charCodeAt(_e-1)!==92}function M(he,_e){return k(he,_e,"(")}function _(he,_e){return k(he,_e,")")}function w(he,_e){return k(he,_e,"|")}function x(he){if(!(M(he,0)&&_(he,he.length-1)))return!1;let _e=0;for(let Ze=0;Ze<he.length;Ze++)if(M(he,Ze)&&(_e+=1),_(he,Ze)&&(_e-=1),_e===0&&Ze!==he.length-1)return!1;return!0}function T(he){return he.slice(1,he.length-1)}function I(he){let _e=0;for(let Ze=0;Ze<he.length;Ze++)if(M(he,Ze)&&(_e+=1),_(he,Ze)&&(_e-=1),w(he,Ze)&&_e===0)return!0;return!1}function oe(he){for(let _e=0;_e<he.length;_e++)if(M(he,_e))return!0;return!1}function me(he){let[_e,Ze]=[0,0];const ce=[];for(let ot=0;ot<he.length;ot++)if(M(he,ot)&&(_e+=1),_(he,ot)&&(_e-=1),w(he,ot)&&_e===0){const Ve=he.slice(Ze,ot);Ve.length>0&&ce.push(ae(Ve)),Ze=ot+1}const He=he.slice(Ze);return He.length>0&&ce.push(ae(He)),ce.length===0?{type:"const",const:""}:ce.length===1?ce[0]:{type:"or",expr:ce}}function le(he){function _e(He,ot){if(!M(He,ot))throw new O("TemplateLiteralParser: Index must point to open parens");let Ve=0;for(let Nt=ot;Nt<He.length;Nt++)if(M(He,Nt)&&(Ve+=1),_(He,Nt)&&(Ve-=1),Ve===0)return[ot,Nt];throw new O("TemplateLiteralParser: Unclosed group parens in expression")}function Ze(He,ot){for(let Ve=ot;Ve<He.length;Ve++)if(M(He,Ve))return[ot,Ve];return[ot,He.length]}const ce=[];for(let He=0;He<he.length;He++)if(M(he,He)){const[ot,Ve]=_e(he,He),Nt=he.slice(ot,Ve+1);ce.push(ae(Nt)),He=Ve}else{const[ot,Ve]=Ze(he,He),Nt=he.slice(ot,Ve);Nt.length>0&&ce.push(ae(Nt)),He=Ve-1}return ce.length===0?{type:"const",const:""}:ce.length===1?ce[0]:{type:"and",expr:ce}}function ae(he){return x(he)?ae(T(he)):I(he)?me(he):oe(he)?le(he):{type:"const",const:he}}A.Parse=ae;function Ue(he){return ae(he.slice(1,he.length-1))}A.ParseExact=Ue})(E||(t.TemplateLiteralParser=E={}));class z extends n{}t.TemplateLiteralFiniteError=z;var L;(function(A){function k(T){throw new z(T)}function M(T){return T.type==="or"&&T.expr.length===2&&T.expr[0].type==="const"&&T.expr[0].const==="0"&&T.expr[1].type==="const"&&T.expr[1].const==="[1-9][0-9]*"}function _(T){return T.type==="or"&&T.expr.length===2&&T.expr[0].type==="const"&&T.expr[0].const==="true"&&T.expr[1].type==="const"&&T.expr[1].const==="false"}function w(T){return T.type==="const"&&T.const===".*"}function x(T){return _(T)?!0:M(T)||w(T)?!1:T.type==="and"?T.expr.every(I=>x(I)):T.type==="or"?T.expr.every(I=>x(I)):T.type==="const"?!0:k("Unknown expression type")}A.Check=x})(L||(t.TemplateLiteralFinite=L={}));class R extends n{}t.TemplateLiteralGeneratorError=R;var F;(function(A){function*k(T){if(T.length===1)return yield*T[0];for(const I of T[0])for(const oe of k(T.slice(1)))yield`${I}${oe}`}function*M(T){return yield*k(T.expr.map(I=>[...x(I)]))}function*_(T){for(const I of T.expr)yield*x(I)}function*w(T){return yield T.const}function*x(T){return T.type==="and"?yield*M(T):T.type==="or"?yield*_(T):T.type==="const"?yield*w(T):(()=>{throw new R("Unknown expression")})()}A.Generate=x})(F||(t.TemplateLiteralGenerator=F={}));var B;(function(A){function*k(x){const T=x.trim().replace(/"|'/g,"");return T==="boolean"?yield t.Type.Boolean():T==="number"?yield t.Type.Number():T==="bigint"?yield t.Type.BigInt():T==="string"?yield t.Type.String():yield(()=>{const I=T.split("|").map(oe=>t.Type.Literal(oe.trim()));return I.length===0?t.Type.Never():I.length===1?I[0]:t.Type.Union(I)})()}function*M(x){if(x[1]!=="{"){const T=t.Type.Literal("$"),I=_(x.slice(1));return yield*[T,...I]}for(let T=2;T<x.length;T++)if(x[T]==="}"){const I=k(x.slice(2,T)),oe=_(x.slice(T+1));return yield*[...I,...oe]}yield t.Type.Literal(x)}function*_(x){for(let T=0;T<x.length;T++)if(x[T]==="$"){const I=t.Type.Literal(x.slice(0,T)),oe=M(x.slice(T));return yield*[I,...oe]}yield t.Type.Literal(x)}function w(x){return[..._(x)]}A.Parse=w})(B||(t.TemplateLiteralDslParser=B={}));class D{constructor(k){this.schema=k}Decode(k){return new V(this.schema,k)}}t.TransformDecodeBuilder=D;class V{constructor(k,M){this.schema=k,this.decode=M}Encode(k){const M=u.Type(this.schema);return s.TTransform(M)?(()=>{const x={Encode:T=>M[t.Transform].Encode(k(T)),Decode:T=>this.decode(M[t.Transform].Decode(T))};return{...M,[t.Transform]:x}})():(()=>{const _={Decode:this.decode,Encode:k};return{...M,[t.Transform]:_}})()}}t.TransformEncodeBuilder=V;let ee=0;class Z extends n{}t.TypeBuilderError=Z;class ie{Create(k){return k}Throw(k){throw new Z(k)}Discard(k,M){return M.reduce((_,w)=>{const{[w]:x,...T}=_;return T},k)}Strict(k){return JSON.parse(JSON.stringify(k))}}t.TypeBuilder=ie;class U extends ie{ReadonlyOptional(k){return this.Readonly(this.Optional(k))}Readonly(k){return{...u.Type(k),[t.Readonly]:"Readonly"}}Optional(k){return{...u.Type(k),[t.Optional]:"Optional"}}Any(k={}){return this.Create({...k,[t.Kind]:"Any"})}Array(k,M={}){return this.Create({...M,[t.Kind]:"Array",type:"array",items:u.Type(k)})}Boolean(k={}){return this.Create({...k,[t.Kind]:"Boolean",type:"boolean"})}Capitalize(k,M={}){return{...h.Map(u.Type(k),"Capitalize"),...M}}Composite(k,M){const _=t.Type.Intersect(k,{}),x=m.ResolveKeys(_,{includePatterns:!1}).reduce((T,I)=>({...T,[I]:t.Type.Index(_,[I])}),{});return t.Type.Object(x,M)}Enum(k,M={}){if(i.IsUndefined(k))return this.Throw("Enum undefined or empty");const _=Object.getOwnPropertyNames(k).filter(T=>isNaN(T)).map(T=>k[T]),x=[...new Set(_)].map(T=>t.Type.Literal(T));return this.Union(x,{...M,[t.Hint]:"Enum"})}Extends(k,M,_,w,x={}){switch(f.Extends(k,M)){case c.Union:return this.Union([u.Type(_,x),u.Type(w,x)]);case c.True:return u.Type(_,x);case c.False:return u.Type(w,x)}}Exclude(k,M,_={}){return s.TTemplateLiteral(k)?this.Exclude($.Resolve(k),M,_):s.TTemplateLiteral(M)?this.Exclude(k,$.Resolve(M),_):s.TUnion(k)?(()=>{const w=k.anyOf.filter(x=>f.Extends(x,M)===c.False);return w.length===1?u.Type(w[0],_):this.Union(w,_)})():f.Extends(k,M)!==c.False?this.Never(_):u.Type(k,_)}Extract(k,M,_={}){return s.TTemplateLiteral(k)?this.Extract($.Resolve(k),M,_):s.TTemplateLiteral(M)?this.Extract(k,$.Resolve(M),_):s.TUnion(k)?(()=>{const w=k.anyOf.filter(x=>f.Extends(x,M)!==c.False);return w.length===1?u.Type(w[0],_):this.Union(w,_)})():f.Extends(k,M)!==c.False?u.Type(k,_):this.Never(_)}Index(k,M,_={}){return s.TArray(k)&&s.TNumber(M)?u.Type(k.items,_):s.TTuple(k)&&s.TNumber(M)?(()=>{const x=(i.IsUndefined(k.items)?[]:k.items).map(T=>u.Type(T));return this.Union(x,_)})():(()=>{const w=g.Resolve(M),x=u.Type(k);return d.Resolve(x,w,_)})()}Integer(k={}){return this.Create({...k,[t.Kind]:"Integer",type:"integer"})}Intersect(k,M={}){if(k.length===0)return t.Type.Never();if(k.length===1)return u.Type(k[0],M);k.some(T=>s.TTransform(T))&&this.Throw("Cannot intersect transform types");const _=k.every(T=>s.TObject(T)),w=u.Rest(k),x=s.TSchema(M.unevaluatedProperties)?{unevaluatedProperties:u.Type(M.unevaluatedProperties)}:{};return M.unevaluatedProperties===!1||s.TSchema(M.unevaluatedProperties)||_?this.Create({...M,...x,[t.Kind]:"Intersect",type:"object",allOf:w}):this.Create({...M,...x,[t.Kind]:"Intersect",allOf:w})}KeyOf(k,M={}){return s.TRecord(k)?(()=>{const _=Object.getOwnPropertyNames(k.patternProperties)[0];return _===t.PatternNumberExact?this.Number(M):_===t.PatternStringExact?this.String(M):this.Throw("Unable to resolve key type from Record key pattern")})():s.TTuple(k)?(()=>{const w=(i.IsUndefined(k.items)?[]:k.items).map((x,T)=>t.Type.Literal(T.toString()));return this.Union(w,M)})():s.TArray(k)?this.Number(M):(()=>{const _=m.ResolveKeys(k,{includePatterns:!1});if(_.length===0)return this.Never(M);const w=_.map(x=>this.Literal(x));return this.Union(w,M)})()}Literal(k,M={}){return this.Create({...M,[t.Kind]:"Literal",const:k,type:typeof k})}Lowercase(k,M={}){return{...h.Map(u.Type(k),"Lowercase"),...M}}Never(k={}){return this.Create({...k,[t.Kind]:"Never",not:{}})}Not(k,M){return this.Create({...M,[t.Kind]:"Not",not:u.Type(k)})}Null(k={}){return this.Create({...k,[t.Kind]:"Null",type:"null"})}Number(k={}){return this.Create({...k,[t.Kind]:"Number",type:"number"})}Object(k,M={}){const _=Object.getOwnPropertyNames(k),w=_.filter(oe=>s.TOptional(k[oe])),x=_.filter(oe=>!w.includes(oe)),T=s.TSchema(M.additionalProperties)?{additionalProperties:u.Type(M.additionalProperties)}:{},I=_.reduce((oe,me)=>({...oe,[me]:u.Type(k[me])}),{});return x.length>0?this.Create({...M,...T,[t.Kind]:"Object",type:"object",properties:I,required:x}):this.Create({...M,...T,[t.Kind]:"Object",type:"object",properties:I})}Omit(k,M,_={}){const w=g.Resolve(M);return p.Map(this.Discard(u.Type(k),["$id",t.Transform]),x=>{i.IsArray(x.required)&&(x.required=x.required.filter(T=>!w.includes(T)),x.required.length===0&&delete x.required);for(const T of Object.getOwnPropertyNames(x.properties))w.includes(T)&&delete x.properties[T];return this.Create(x)},_)}Partial(k,M={}){return p.Map(this.Discard(u.Type(k),["$id",t.Transform]),_=>{const w=Object.getOwnPropertyNames(_.properties).reduce((x,T)=>({...x,[T]:this.Optional(_.properties[T])}),{});return this.Object(w,this.Discard(_,["required"]))},M)}Pick(k,M,_={}){const w=g.Resolve(M);return p.Map(this.Discard(u.Type(k),["$id",t.Transform]),x=>{i.IsArray(x.required)&&(x.required=x.required.filter(T=>w.includes(T)),x.required.length===0&&delete x.required);for(const T of Object.getOwnPropertyNames(x.properties))w.includes(T)||delete x.properties[T];return this.Create(x)},_)}Record(k,M,_={}){return s.TTemplateLiteral(k)?(()=>{const w=E.ParseExact(k.pattern);return L.Check(w)?this.Object([...F.Generate(w)].reduce((x,T)=>({...x,[T]:u.Type(M)}),{}),_):this.Create({..._,[t.Kind]:"Record",type:"object",patternProperties:{[k.pattern]:u.Type(M)}})})():s.TUnion(k)?(()=>{const w=b.Resolve(k);if(s.TUnionLiteral(w)){const x=w.anyOf.reduce((T,I)=>({...T,[I.const]:u.Type(M)}),{});return this.Object(x,{..._,[t.Hint]:"Record"})}else this.Throw("Record key of type union contains non-literal types")})():s.TLiteral(k)?i.IsString(k.const)||i.IsNumber(k.const)?this.Object({[k.const]:u.Type(M)},_):this.Throw("Record key of type literal is not of type string or number"):s.TInteger(k)||s.TNumber(k)?this.Create({..._,[t.Kind]:"Record",type:"object",patternProperties:{[t.PatternNumberExact]:u.Type(M)}}):s.TString(k)?(()=>{const w=i.IsUndefined(k.pattern)?t.PatternStringExact:k.pattern;return this.Create({..._,[t.Kind]:"Record",type:"object",patternProperties:{[w]:u.Type(M)}})})():this.Never()}Recursive(k,M={}){i.IsUndefined(M.$id)&&(M.$id=`T${ee++}`);const _=k({[t.Kind]:"This",$ref:`${M.$id}`});return _.$id=M.$id,this.Create({...M,[t.Hint]:"Recursive",..._})}Ref(k,M={}){return i.IsString(k)?this.Create({...M,[t.Kind]:"Ref",$ref:k}):(i.IsUndefined(k.$id)&&this.Throw("Reference target type must specify an $id"),this.Create({...M,[t.Kind]:"Ref",$ref:k.$id}))}Required(k,M={}){return p.Map(this.Discard(u.Type(k),["$id",t.Transform]),_=>{const w=Object.getOwnPropertyNames(_.properties).reduce((x,T)=>({...x,[T]:this.Discard(_.properties[T],[t.Optional])}),{});return this.Object(w,_)},M)}Rest(k){return s.TTuple(k)&&!i.IsUndefined(k.items)?u.Rest(k.items):s.TIntersect(k)?u.Rest(k.allOf):s.TUnion(k)?u.Rest(k.anyOf):[]}String(k={}){return this.Create({...k,[t.Kind]:"String",type:"string"})}TemplateLiteral(k,M={}){const _=i.IsString(k)?j.Create(B.Parse(k)):j.Create(k);return this.Create({...M,[t.Kind]:"TemplateLiteral",type:"string",pattern:_})}Transform(k){return new D(k)}Tuple(k,M={}){const[_,w,x]=[!1,k.length,k.length],T=u.Rest(k),I=k.length>0?{...M,[t.Kind]:"Tuple",type:"array",items:T,additionalItems:_,minItems:w,maxItems:x}:{...M,[t.Kind]:"Tuple",type:"array",minItems:w,maxItems:x};return this.Create(I)}Uncapitalize(k,M={}){return{...h.Map(u.Type(k),"Uncapitalize"),...M}}Union(k,M={}){return s.TTemplateLiteral(k)?$.Resolve(k):(()=>{const _=k;if(_.length===0)return this.Never(M);if(_.length===1)return this.Create(u.Type(_[0],M));const w=u.Rest(_);return this.Create({...M,[t.Kind]:"Union",anyOf:w})})()}Unknown(k={}){return this.Create({...k,[t.Kind]:"Unknown"})}Unsafe(k={}){return this.Create({...k,[t.Kind]:k[t.Kind]||"Unsafe"})}Uppercase(k,M={}){return{...h.Map(u.Type(k),"Uppercase"),...M}}}t.JsonTypeBuilder=U;class G extends U{AsyncIterator(k,M={}){return this.Create({...M,[t.Kind]:"AsyncIterator",type:"AsyncIterator",items:u.Type(k)})}Awaited(k,M={}){const _=w=>w.length>0?(()=>{const[x,...T]=w;return[this.Awaited(x),..._(T)]})():w;return s.TIntersect(k)?t.Type.Intersect(_(k.allOf)):s.TUnion(k)?t.Type.Union(_(k.anyOf)):s.TPromise(k)?this.Awaited(k.item):u.Type(k,M)}BigInt(k={}){return this.Create({...k,[t.Kind]:"BigInt",type:"bigint"})}ConstructorParameters(k,M={}){return this.Tuple([...k.parameters],{...M})}Constructor(k,M,_){const[w,x]=[u.Rest(k),u.Type(M)];return this.Create({..._,[t.Kind]:"Constructor",type:"Constructor",parameters:w,returns:x})}Date(k={}){return this.Create({...k,[t.Kind]:"Date",type:"Date"})}Function(k,M,_){const[w,x]=[u.Rest(k),u.Type(M)];return this.Create({..._,[t.Kind]:"Function",type:"Function",parameters:w,returns:x})}InstanceType(k,M={}){return u.Type(k.returns,M)}Iterator(k,M={}){return this.Create({...M,[t.Kind]:"Iterator",type:"Iterator",items:u.Type(k)})}Parameters(k,M={}){return this.Tuple(k.parameters,{...M})}Promise(k,M={}){return this.Create({...M,[t.Kind]:"Promise",type:"Promise",item:u.Type(k)})}RegExp(k,M={}){const _=i.IsString(k)?k:k.source;return this.Create({...M,[t.Kind]:"String",type:"string",pattern:_})}RegEx(k,M={}){return this.RegExp(k,M)}ReturnType(k,M={}){return u.Type(k.returns,M)}Symbol(k){return this.Create({...k,[t.Kind]:"Symbol",type:"symbol"})}Undefined(k={}){return this.Create({...k,[t.Kind]:"Undefined",type:"undefined"})}Uint8Array(k={}){return this.Create({...k,[t.Kind]:"Uint8Array",type:"Uint8Array"})}Void(k={}){return this.Create({...k,[t.Kind]:"Void",type:"void"})}}t.JavaScriptTypeBuilder=G,t.JsonType=new U,t.Type=new G})(C);const QL=C.Type.Object({prefix:C.Type.Optional(C.Type.String()),suffix:C.Type.Optional(C.Type.String()),volume:C.Type.Optional(C.Type.Number())}),Sx=C.Type.Object({soundOnNewLine:C.Type.Optional(C.Type.String()),soundPerLetter:C.Type.Optional(QL)}),YL=C.Type.Object({defaultAudio:C.Type.Optional(Sx),characterAudio:C.Type.Optional(C.Type.Record(C.Type.String(),Sx))}),XL=C.Type.Object({src:C.Type.String(),path:C.Type.Optional(C.Type.String()),volume:C.Type.Optional(C.Type.Number()),rate:C.Type.Optional(C.Type.Number()),html5:C.Type.Optional(C.Type.Boolean()),fadeInTime:C.Type.Optional(C.Type.Number()),fadeInDelay:C.Type.Optional(C.Type.Number()),fadeOutTime:C.Type.Optional(C.Type.Number()),loop:C.Type.Optional(C.Type.Boolean())}),ZL=C.Type.Record(C.Type.String(),XL),e7=C.Type.Object({volume:C.Type.Optional(C.Type.Number()),defaultMusic:C.Type.Optional(C.Type.String()),musicFadeInTime:C.Type.Optional(C.Type.Number()),musicFadeOutTime:C.Type.Optional(C.Type.Number()),musicFadeInDelay:C.Type.Optional(C.Type.Number())}),t7=C.Type.Record(C.Type.String(),C.Type.String()),kx=C.Type.Object({files:ZL,audioTriggers:t7,options:e7,dialogAudio:C.Type.Optional(YL)}),$x={files:{},audioTriggers:{},options:{volume:1,musicFadeInTime:.5,musicFadeInDelay:.5,musicFadeOutTime:.5}},xx=C.Type.Object({backgrounds:C.Type.Object({width:C.Type.Number(),height:C.Type.Number()}),dialogBottomPadding:C.Type.Union([C.Type.Number(),C.Type.String()]),minTextWidth:C.Type.Optional(C.Type.Number()),verticalLayoutThreshold:C.Type.Number(),defaultFontSize:C.Type.Optional(C.Type.Number()),portraits:C.Type.Object({width:C.Type.Number(),height:C.Type.Number(),offset:C.Type.Optional(C.Type.Object({landscape:C.Type.Optional(C.Type.Object({right:C.Type.Number(),bottom:C.Type.Number()})),portrait:C.Type.Optional(C.Type.Object({right:C.Type.Number(),bottom:C.Type.Number()}))}))})}),n7={backgrounds:{width:880,height:720},dialogBottomPadding:70,verticalLayoutThreshold:600,defaultFontSize:16,portraits:{width:100,height:100}},Op=C.Type.Object({name:C.Type.String(),description:C.Type.Optional(C.Type.String())}),r7=C.Type.Intersect([Op,C.Type.Object({type:C.Type.Literal("number"),defaultValue:C.Type.Number(),step:C.Type.Number(),minValue:C.Type.Number(),maxValue:C.Type.Number()})]),i7=C.Type.Intersect([Op,C.Type.Object({type:C.Type.Literal("integer"),defaultValue:C.Type.Number(),step:C.Type.Number(),minValue:C.Type.Number(),maxValue:C.Type.Number()})]),o7=C.Type.Intersect([Op,C.Type.Object({type:C.Type.Literal("boolean"),defaultValue:C.Type.Boolean()})]),s7=C.Type.Intersect([Op,C.Type.Object({type:C.Type.Literal("string"),defaultValue:C.Type.String()})]),a7=C.Type.Union([r7,i7,o7,s7]);function l7(t){return t.type==="number"}function jx(t){return t.type==="integer"}function c7(t){return t.type==="boolean"}function u7(t){return t.type==="string"}const _x=C.Type.Object({customSettings:C.Type.Optional(C.Type.Record(C.Type.String(),a7))});var ul=(t=>(t[t.ERROR=3]="ERROR",t[t.WARN=2]="WARN",t[t.INFO=1]="INFO",t[t.DEBUG=0]="DEBUG",t[t.NONE=-1]="NONE",t))(ul||{});const Ep="###_--_~=:;_JUMP",uy="###_--_~=:;_RETURN",f7="###_--_~=:;_OK",Ap="###_--_~=:;_STOP";function d7(t){return t===Ep||t===uy||t===f7||t===Ap}const h7="3.14.1",p7=new Date("2024-08-30T14:42:21.520Z"),Cx={branch:"main",commit:"c1f5bdd4a10f9b0975448a8461ab61eb3b125f16"},m7=ul.WARN,g7=400,Pp=20,Mp="@empty",Tx={background:Mp},v7=C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Union([C.Type.String(),C.Type.Boolean()]))),Ox=C.Type.Optional(C.Type.Object({animateText:C.Type.Optional(C.Type.Boolean()),textSpeed:C.Type.Optional(C.Type.Number()),timeBetweenLines:C.Type.Optional(C.Type.Number()),overlayMode:C.Type.Optional(C.Type.Boolean()),rightOffset:C.Type.Optional(C.Type.Number()),bottomOffset:C.Type.Optional(C.Type.Number()),width:C.Type.Optional(C.Type.Number()),height:C.Type.Optional(C.Type.Number()),hideDuringTransition:C.Type.Optional(C.Type.Boolean()),historyLength:C.Type.Optional(C.Type.Number()),allowHistoryToggling:C.Type.Optional(C.Type.Boolean()),showAfterScriptEnd:C.Type.Optional(C.Type.Boolean())})),Ex=C.Type.Object({engineSplashScreen:C.Type.Optional(C.Type.Object({skip:C.Type.Optional(C.Type.Boolean()),fadeDuration:C.Type.Optional(C.Type.Number()),timeBeforeFadeout:C.Type.Optional(C.Type.Number()),overrideText:C.Type.Optional(C.Type.String()),overrideLogo:C.Type.Optional(C.Type.String())})),gameSplashScreen:C.Type.Optional(C.Type.Object({startButtonText:C.Type.Optional(C.Type.String())}))}),Ax=C.Type.Object({timeOnScreen:C.Type.Number(),alsoPrintInDialogue:C.Type.Optional(C.Type.Boolean())}),y7=C.Type.Object({name:C.Type.String(),icon:C.Type.String(),startingValue:C.Type.Number(),maxValue:C.Type.Optional(C.Type.Number()),minValue:C.Type.Optional(C.Type.Number()),decimals:C.Type.Optional(C.Type.Number()),prefix:C.Type.Optional(C.Type.String()),suffix:C.Type.Optional(C.Type.String()),hideName:C.Type.Optional(C.Type.Boolean()),formatting:C.Type.Optional(C.Type.Object({style:C.Type.Union([C.Type.Literal("decimal"),C.Type.Literal("currency"),C.Type.Literal("percent"),C.Type.Literal("unit")]),currency:C.Type.Optional(C.Type.String()),unit:C.Type.Optional(C.Type.String())}))}),Px=C.Type.Record(C.Type.String(),y7),Mx=C.Type.Record(C.Type.String(),C.Type.Object({onlyInteractOutsideOfScripts:C.Type.Optional(C.Type.Boolean())})),b7=C.Type.Object({delay:C.Type.Optional(C.Type.Number()),duration:C.Type.Optional(C.Type.Number())}),Nx=C.Type.Record(C.Type.String(),b7),w7=C.Type.Object({text:C.Type.String(),cssClass:C.Type.Optional(C.Type.String())}),Ix=C.Type.Record(C.Type.String(),w7),Rx=C.Type.Object({showScriptFinishedMessage:C.Type.Optional(C.Type.Boolean())}),Dx=C.Type.Object({mode:C.Type.String(),slots:C.Type.Number(),runOnReload:C.Type.Optional(C.Type.String()),disabled:C.Type.Optional(C.Type.Boolean()),autosaveDisabledOnLabels:C.Type.Optional(C.Type.Array(C.Type.String())),autosaveFeedback:C.Type.Optional(C.Type.Object({enabled:C.Type.Boolean(),text:C.Type.Optional(C.Type.String()),backgroundImage:C.Type.Optional(C.Type.String()),foregroundImage:C.Type.Optional(C.Type.String()),duration:C.Type.Number()})),allowManualSave:C.Type.Optional(C.Type.Boolean())}),S7=C.Type.Object({allowFullscreen:C.Type.Optional(C.Type.Boolean())}),Lx=C.Type.Array(C.Type.String()),k7=[],$7=C.Type.Object({startMenuScene:C.Type.Optional(C.Type.String()),gameScene:C.Type.Optional(C.Type.String()),gameSplashScene:C.Type.Optional(C.Type.String())}),Bx=C.Type.Object({baseAssetsPath:C.Type.Optional(C.Type.String()),baseDataPath:C.Type.Optional(C.Type.String()),gameTitle:C.Type.String(),saveFileName:C.Type.String(),images:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.String())),layout:xx,settings:C.Type.Optional(_x),graphics:C.Type.Optional(S7),gameFlow:C.Type.Optional(C.Type.Object({labelToJumpOnScriptEnd:C.Type.Optional(C.Type.String())})),dialogPanel:C.Type.Optional(Ox),splashScreens:C.Type.Optional(Ex),notifications:C.Type.Optional(Ax),hudStats:Px,interactionTags:C.Type.Optional(Mx),transitions:C.Type.Optional(Nx),menuButtons:C.Type.Optional(Ix),debugging:C.Type.Optional(Rx),saves:C.Type.Optional(Dx),hotkeys:v7,scenes:C.Type.Optional($7)}),fy={baseAssetsPath:"",baseDataPath:"",gameTitle:"Narrat Game",saveFileName:"narrat save",images:{},layout:n7,settings:{},graphics:{},gameFlow:{},dialogPanel:{overlayMode:!0,rightOffset:100,bottomOffset:50,width:475,height:680,textSpeed:Pp,animateText:!0,timeBetweenLines:100,hideDuringTransition:!1,showAfterScriptEnd:!1},splashScreens:{},notifications:{timeOnScreen:2.5,alsoPrintInDialogue:!1},hudStats:{},interactionTags:{default:{onlyInteractOutsideOfScripts:!0}},transitions:{},menuButtons:{},debugging:{showScriptFinishedMessage:!1},saves:{mode:"manual",slots:10},hotkeys:{},scenes:{}},x7=C.Type.Object({name:C.Type.String(),description:C.Type.String(),icon:C.Type.String(),onUse:C.Type.Optional(C.Type.Object({action:C.Type.String(),label:C.Type.String()})),tag:C.Type.Optional(C.Type.String()),category:C.Type.Optional(C.Type.String()),showIfEmpty:C.Type.Optional(C.Type.Boolean())}),Fx=C.Type.Object({id:C.Type.String(),title:C.Type.String()}),Vx=C.Type.Record(C.Type.String(),x7);C.Type.Object({categories:C.Type.Array(Fx),items:Vx});const zx=C.Type.Object({categories:C.Type.Optional(C.Type.Array(Fx)),items:C.Type.Optional(Vx)}),qx={categories:[{id:"default",title:"Items"}],items:{}},j7=C.Type.Object({description:C.Type.String(),succeededDescription:C.Type.Optional(C.Type.String()),failedDescription:C.Type.Optional(C.Type.String()),hidden:C.Type.Optional(C.Type.Boolean())}),_7=C.Type.Object({title:C.Type.String(),description:C.Type.String(),succeededDescription:C.Type.Optional(C.Type.String()),failedDescription:C.Type.Optional(C.Type.String()),endings:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Object({success:C.Type.Boolean(),description:C.Type.String()}))),objectives:C.Type.Record(C.Type.String(),j7),category:C.Type.Optional(C.Type.String())}),C7=C.Type.Object({id:C.Type.String(),title:C.Type.String()}),T7=C.Type.Record(C.Type.String(),_7),Ux=C.Type.Object({quests:T7,categories:C.Type.Array(C7)}),Hx={quests:{},categories:[{id:"default",title:"Quests"}]},Wx=C.Type.Object({enabled:C.Type.Boolean(),background:C.Type.Optional(C.Type.String()),text:C.Type.Optional(C.Type.String()),cssClass:C.Type.Optional(C.Type.String()),position:C.Type.Object({left:C.Type.Number(),top:C.Type.Number(),width:C.Type.Optional(C.Type.Number()),height:C.Type.Optional(C.Type.Number())}),anchor:C.Type.Optional(C.Type.Object({x:C.Type.Number(),y:C.Type.Number()})),action:C.Type.Optional(C.Type.String()),actionType:C.Type.Optional(C.Type.String()),scriptClickable:C.Type.Optional(C.Type.Boolean()),tag:C.Type.Optional(C.Type.String())}),O7=C.Type.Record(C.Type.String(),Wx),Kx=C.Type.Object({buttons:O7,clickableDuringScriptsByDefault:C.Type.Optional(C.Type.Boolean())}),Gx={buttons:{},clickableDuringScriptsByDefault:!1},E7=C.Type.Intersect([Wx,C.Type.Object({id:C.Type.String()})]),A7=C.Type.Object({muted:C.Type.Optional(C.Type.Boolean()),loop:C.Type.Optional(C.Type.Boolean())}),P7=C.Type.Object({background:C.Type.String(),video:C.Type.Optional(A7),buttons:C.Type.Optional(C.Type.Array(C.Type.Union([C.Type.String(),E7])))}),Jx=C.Type.Record(C.Type.String(),P7);C.Type.Object({screens:Jx});const Qx=C.Type.Object({screens:C.Type.Optional(Jx)}),Yx={screens:{}},M7=C.Type.Object({name:C.Type.String(),description:C.Type.String(),startingLevel:C.Type.Number(),hidden:C.Type.Optional(C.Type.Boolean()),icon:C.Type.String()}),Xx=C.Type.Record(C.Type.String(),M7),Zx=C.Type.Object({xpPerLevel:C.Type.Number(),notifyLevelUp:C.Type.Boolean()});C.Type.Object({skills:Xx,skillOptions:Zx});const ej=C.Type.Object({skills:C.Type.Optional(Xx),skillOptions:C.Type.Optional(Zx)}),tj={skills:{},skillOptions:{xpPerLevel:10,notifyLevelUp:!0}},N7=C.Type.Object({portraitCssClass:C.Type.Optional(C.Type.String()),color:C.Type.Optional(C.Type.String()),boxCss:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Any())),nameCss:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Any())),textCss:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Any()))}),I7=C.Type.Object({video:C.Type.String(),autoplay:C.Type.Optional(C.Type.Boolean()),loop:C.Type.Optional(C.Type.Boolean()),muted:C.Type.Optional(C.Type.Boolean()),width:C.Type.Optional(C.Type.Number()),height:C.Type.Optional(C.Type.Number())}),R7=C.Type.Object({image:C.Type.String(),width:C.Type.Optional(C.Type.Number()),height:C.Type.Optional(C.Type.Number())}),D7=C.Type.Union([C.Type.String(),I7,R7]),L7=C.Type.Object({sprites:C.Type.Optional(C.Type.Record(C.Type.String(),D7)),name:C.Type.String(),style:C.Type.Optional(N7)}),nj=C.Type.Object({config:C.Type.Object({imagesPath:C.Type.String(),playerCharacter:C.Type.Optional(C.Type.String()),gameCharacter:C.Type.Optional(C.Type.String())}),characters:C.Type.Record(C.Type.String(),L7)}),rj={config:{imagesPath:"",playerCharacter:"player",gameCharacter:"game"},characters:{}},ij=C.Type.Object({cssClass:C.Type.Optional(C.Type.String()),textCssClass:C.Type.Optional(C.Type.String()),titleCssClass:C.Type.Optional(C.Type.String())}),oj=C.Type.Object({options:C.Type.Object({delay:C.Type.Optional(C.Type.Number()),width:C.Type.Number(),keywordsPrefix:C.Type.String(),screenEdgesMinimumMargin:C.Type.Optional(C.Type.Number()),styling:C.Type.Optional(ij)}),tooltips:C.Type.Array(C.Type.Object({keywords:C.Type.Array(C.Type.String()),title:C.Type.String(),description:C.Type.String(),styling:C.Type.Optional(ij)}))}),sj={options:{delay:0,width:350,keywordsPrefix:"@@"},tooltips:[]},B7=C.Type.Object({name:C.Type.String(),description:C.Type.String(),icon:C.Type.Optional(C.Type.String()),lockedIcon:C.Type.Optional(C.Type.String()),secret:C.Type.Optional(C.Type.Boolean()),category:C.Type.Optional(C.Type.String())}),aj=C.Type.Object({id:C.Type.String(),title:C.Type.String()}),lj=C.Type.Record(C.Type.String(),B7);C.Type.Object({defaultAchievementIcon:C.Type.String(),categories:C.Type.Array(aj),achievements:lj,notifyNewAchievements:C.Type.Boolean(),secretAchievements:C.Type.Optional(C.Type.Object({censorDescription:C.Type.Optional(C.Type.Boolean()),censorName:C.Type.Optional(C.Type.Boolean()),hideUntilObtained:C.Type.Optional(C.Type.Boolean())}))});const cj=C.Type.Object({categories:C.Type.Optional(C.Type.Array(aj)),achievements:C.Type.Optional(lj)}),uj={categories:[{id:"default",title:"Achievements"}],achievements:{},notifyNewAchievements:!0,defaultAchievementIcon:"img/achievements/trophy.png"},F7=C.Type.Object({diceRange:C.Type.Tuple([C.Type.Number(),C.Type.Number()]),diceCount:C.Type.Number(),difficultyText:C.Type.Array(C.Type.Tuple([C.Type.Number(),C.Type.String()])),extraPointsPerLevel:C.Type.Number(),extraDicePerLevel:C.Type.Optional(C.Type.Number()),successOnRollsBelowThreshold:C.Type.Boolean(),showDifficultyText:C.Type.Boolean(),showDifficultyNumber:C.Type.Boolean(),showDifficultyWithoutModifiers:C.Type.Boolean(),finalRollIsHighest:C.Type.Optional(C.Type.Boolean()),finalRollIsLowest:C.Type.Optional(C.Type.Boolean()),failOnRollsEqualToThreshold:C.Type.Optional(C.Type.Boolean())}),V7=C.Type.Object({skill:C.Type.String(),difficulty:C.Type.Number(),winsNeeded:C.Type.Optional(C.Type.Number()),hideAfterRoll:C.Type.Optional(C.Type.Boolean()),repeatable:C.Type.Optional(C.Type.Boolean())}),fj=C.Type.Object({options:F7,skillChecks:C.Type.Record(C.Type.String(),V7)}),dj={options:{diceRange:[1,6],extraPointsPerLevel:1,extraDicePerLevel:0,diceCount:2,successOnRollsBelowThreshold:!1,showDifficultyText:!0,showDifficultyNumber:!1,showDifficultyWithoutModifiers:!1,finalRollIsHighest:!1,finalRollIsLowest:!1,difficultyText:[[2,"Very Easy"],[4,"Easy"],[6,"Medium"],[8,"Hard"],[10,"Very Hard"],[11,"Extremely Hard"],[12,"Near Impossible"]]},skillChecks:{}},z7=C.Type.Object({cssClass:C.Type.Optional(C.Type.String()),textTemplate:C.Type.Optional(C.Type.String())}),hj=C.Type.Record(C.Type.String(),z7);C.Type.Object({choiceTextTemplate:C.Type.String(),choicePrompts:hj});const pj=C.Type.Object({choiceTextTemplate:C.Type.Optional(C.Type.String()),choicePrompts:C.Type.Optional(hj)}),mj={choicePrompts:{},choiceTextTemplate:'<span class="choice-index">%{$index}. </span> <span class="choice-text">%{$choice}</span>'},gj=C.Type.Object({delay:C.Type.Optional(C.Type.Number()),direction:C.Type.Optional(C.Type.String()),duration:C.Type.Optional(C.Type.Number()),easing:C.Type.Optional(C.Type.String()),endDelay:C.Type.Optional(C.Type.Number()),fill:C.Type.Optional(C.Type.String()),iterationStart:C.Type.Optional(C.Type.Number()),iterations:C.Type.Optional(C.Type.Number()),keyframes:C.Type.Optional(C.Type.Any())}),dy=C.Type.Array(C.Type.Any()),q7=C.Type.Object({keyframes:C.Type.Union([C.Type.String(),dy]),options:C.Type.Optional(gj)});C.Type.Object({keyframes:dy,options:C.Type.Optional(gj)});const vj=C.Type.Object({animations:C.Type.Record(C.Type.String(),q7),keyframes:C.Type.Record(C.Type.String(),dy)}),yj={animations:{},keyframes:{}},U7=C.Type.Object({name:C.Type.String(),type:C.Type.String(),optional:C.Type.Optional(C.Type.Boolean())}),H7=C.Type.Object({keyword:C.Type.String(),label:C.Type.String(),options:C.Type.Optional(C.Type.Array(U7))}),bj=C.Type.Object({macros:C.Type.Array(H7)}),wj={macros:[]},hy=C.Type.Object({assets:C.Type.Record(C.Type.String(),C.Type.String())}),Sj=C.Type.Object({images:C.Type.Optional(hy),audio:C.Type.Optional(hy),video:C.Type.Optional(hy)}),kj={images:{assets:{}},audio:{assets:{}},video:{assets:{}}},mu={common:fy,screens:Yx,buttons:Gx,skills:tj,skillChecks:dj,scripts:[],audio:$x,tooltips:sj,achievements:uj,items:qx,quests:Hx,characters:rj,choices:mj,animations:yj,macros:wj,preload:kj};var W7=function(e){return K7(e)&&!G7(e)};function K7(t){return!!t&&typeof t=="object"}function G7(t){var e=Object.prototype.toString.call(t);return e==="[object RegExp]"||e==="[object Date]"||Y7(t)}var J7=typeof Symbol=="function"&&Symbol.for,Q7=J7?Symbol.for("react.element"):60103;function Y7(t){return t.$$typeof===Q7}function X7(t){return Array.isArray(t)?[]:{}}function fd(t,e){return e.clone!==!1&&e.isMergeableObject(t)?gu(X7(t),t,e):t}function Z7(t,e,n){return t.concat(e).map(function(r){return fd(r,n)})}function eB(t,e){if(!e.customMerge)return gu;var n=e.customMerge(t);return typeof n=="function"?n:gu}function tB(t){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[]}function $j(t){return Object.keys(t).concat(tB(t))}function xj(t,e){try{return e in t}catch{return!1}}function nB(t,e){return xj(t,e)&&!(Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))}function rB(t,e,n){var r={};return n.isMergeableObject(t)&&$j(t).forEach(function(i){r[i]=fd(t[i],n)}),$j(e).forEach(function(i){nB(t,i)||(xj(t,i)&&n.isMergeableObject(e[i])?r[i]=eB(i,n)(t[i],e[i],n):r[i]=fd(e[i],n))}),r}function gu(t,e,n){n=n||{},n.arrayMerge=n.arrayMerge||Z7,n.isMergeableObject=n.isMergeableObject||W7,n.cloneUnlessOtherwiseSpecified=fd;var r=Array.isArray(e),i=Array.isArray(t),o=r===i;return o?r?n.arrayMerge(t,e,n):rB(t,e,n):fd(e,n)}gu.all=function(e,n){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(r,i){return gu(r,i,n)},{})};var iB=gu,oB=iB;const ic=bp(oB),Ur=Lr("config",{state:()=>({config:mu,configModules:{}}),actions:{async setConfig(t){this.config=t},extendConfig(t){this.config=ic(this.config,t)},generateSaveData(){return{playerCharacter:this.playerCharacter,gameCharacter:this.gameCharacter}},addConfigModule(t,e){this.configModules[t]=e},findConfigModuleKey(t){const e=Object.keys(this.configModules).find(n=>this.configModules[n].id===t.id);if(e)return e},reloadConfigModule(t,e){this.configModules[t].code=e,this.config[t]=e},loadSaveData(t){this.config.characters.config.playerCharacter=t.playerCharacter,this.config.characters.config.gameCharacter=t.gameCharacter}},getters:{playerCharacter(){return this.config.characters.config.playerCharacter??"player"},gameCharacter(){return this.config.characters.config.gameCharacter??"game"}}});function jj(t){const e=Rr(),n=e.getSkillCheck(t.id);if(n&&n.happened&&(n.succeeded||!t.repeatable))return n;const r=JL(t);return _j(HL(r,t)),r?e.passSkillCheck(t.id,t.hideAfterRoll):e.failSkillCheck(t.id,t.hideAfterRoll),e.getSkillCheck(t.id)}function sB(t,e=[]){const n=t.options,r=t.staticOptions,i=!!n.condition;if(i)return r.success;if(!i){for(const[o,s]of r.elseifs.entries())if(e[o]===!0)return s.branch}if(!i&&r.failure)return r.failure}function py(t){return typeof t=="object"}function my(t){return typeof t=="string"&&t.search(/\$/)===0}function _j(t){const e={speaker:Ur().gameCharacter,text:t,interactive:!1};qn().addDialog(e)}async function Np(t){qn().addDialog(t)}function aB(t,e){if(e<t.length)return t[e]}/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Cj(t){return typeof t>"u"||t===null}function lB(t){return typeof t=="object"&&t!==null}function cB(t){return Array.isArray(t)?t:Cj(t)?[]:[t]}function uB(t,e){var n,r,i,o;if(e)for(o=Object.keys(e),n=0,r=o.length;n<r;n+=1)i=o[n],t[i]=e[i];return t}function fB(t,e){var n="",r;for(r=0;r<e;r+=1)n+=t;return n}function dB(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}var hB=Cj,pB=lB,mB=cB,gB=fB,vB=dB,yB=uB,Jr={isNothing:hB,isObject:pB,toArray:mB,repeat:gB,isNegativeZero:vB,extend:yB};function Tj(t,e){var n="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(n+='in "'+t.mark.name+'" '),n+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(n+=`
38
+ (${t.id} - ${s}/${t.winsNeeded} - rolls: ${JSON.stringify(r.map(a=>a.modified))})`)}else o=wx(n,t.difficulty),Ao.log(`[SKILL CHECK ${i.name}]: ${o?"✅":"❌"}`,`(${t.id}) - ${n}/${t.difficulty}`);return rc(o?"onSkillCheckSuccess":"onSkillCheckFailure"),o}function wx(t,e){const{options:n}=Nd();let r=t>=e;return n.successOnRollsBelowThreshold&&(r=t<=e),n.failOnRollsEqualToThreshold&&t===e&&(r=!1),r}var C={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.Type=t.JsonType=t.JavaScriptTypeBuilder=t.JsonTypeBuilder=t.TypeBuilder=t.TypeBuilderError=t.TransformEncodeBuilder=t.TransformDecodeBuilder=t.TemplateLiteralDslParser=t.TemplateLiteralGenerator=t.TemplateLiteralGeneratorError=t.TemplateLiteralFinite=t.TemplateLiteralFiniteError=t.TemplateLiteralParser=t.TemplateLiteralParserError=t.TemplateLiteralResolver=t.TemplateLiteralPattern=t.TemplateLiteralPatternError=t.UnionResolver=t.KeyArrayResolver=t.KeyArrayResolverError=t.KeyResolver=t.ObjectMap=t.Intrinsic=t.IndexedAccessor=t.TypeClone=t.TypeExtends=t.TypeExtendsResult=t.TypeExtendsError=t.ExtendsUndefined=t.TypeGuard=t.TypeGuardUnknownTypeError=t.ValueGuard=t.FormatRegistry=t.TypeBoxError=t.TypeRegistry=t.PatternStringExact=t.PatternNumberExact=t.PatternBooleanExact=t.PatternString=t.PatternNumber=t.PatternBoolean=t.Kind=t.Hint=t.Optional=t.Readonly=t.Transform=void 0,t.Transform=Symbol.for("TypeBox.Transform"),t.Readonly=Symbol.for("TypeBox.Readonly"),t.Optional=Symbol.for("TypeBox.Optional"),t.Hint=Symbol.for("TypeBox.Hint"),t.Kind=Symbol.for("TypeBox.Kind"),t.PatternBoolean="(true|false)",t.PatternNumber="(0|[1-9][0-9]*)",t.PatternString="(.*)",t.PatternBooleanExact=`^${t.PatternBoolean}$`,t.PatternNumberExact=`^${t.PatternNumber}$`,t.PatternStringExact=`^${t.PatternString}$`;var e;(function(A){const k=new Map;function M(){return new Map(k)}A.Entries=M;function _(){return k.clear()}A.Clear=_;function w(oe){return k.delete(oe)}A.Delete=w;function x(oe){return k.has(oe)}A.Has=x;function T(oe,me){k.set(oe,me)}A.Set=T;function I(oe){return k.get(oe)}A.Get=I})(e||(t.TypeRegistry=e={}));class n extends Error{constructor(k){super(k)}}t.TypeBoxError=n;var r;(function(A){const k=new Map;function M(){return new Map(k)}A.Entries=M;function _(){return k.clear()}A.Clear=_;function w(oe){return k.delete(oe)}A.Delete=w;function x(oe){return k.has(oe)}A.Has=x;function T(oe,me){k.set(oe,me)}A.Set=T;function I(oe){return k.get(oe)}A.Get=I})(r||(t.FormatRegistry=r={}));var i;(function(A){function k(ae){return Array.isArray(ae)}A.IsArray=k;function M(ae){return typeof ae=="bigint"}A.IsBigInt=M;function _(ae){return typeof ae=="boolean"}A.IsBoolean=_;function w(ae){return ae instanceof globalThis.Date}A.IsDate=w;function x(ae){return ae===null}A.IsNull=x;function T(ae){return typeof ae=="number"}A.IsNumber=T;function I(ae){return typeof ae=="object"&&ae!==null}A.IsObject=I;function oe(ae){return typeof ae=="string"}A.IsString=oe;function me(ae){return ae instanceof globalThis.Uint8Array}A.IsUint8Array=me;function le(ae){return ae===void 0}A.IsUndefined=le})(i||(t.ValueGuard=i={}));class o extends n{}t.TypeGuardUnknownTypeError=o;var s;(function(A){function k(J){try{return new RegExp(J),!0}catch{return!1}}function M(J){if(!i.IsString(J))return!1;for(let K=0;K<J.length;K++){const ne=J.charCodeAt(K);if(ne>=7&&ne<=13||ne===27||ne===127)return!1}return!0}function _(J){return T(J)||Qe(J)}function w(J){return i.IsUndefined(J)||i.IsBigInt(J)}function x(J){return i.IsUndefined(J)||i.IsNumber(J)}function T(J){return i.IsUndefined(J)||i.IsBoolean(J)}function I(J){return i.IsUndefined(J)||i.IsString(J)}function oe(J){return i.IsUndefined(J)||i.IsString(J)&&M(J)&&k(J)}function me(J){return i.IsUndefined(J)||i.IsString(J)&&M(J)}function le(J){return i.IsUndefined(J)||Qe(J)}function ae(J){return Je(J,"Any")&&I(J.$id)}A.TAny=ae;function Ue(J){return Je(J,"Array")&&J.type==="array"&&I(J.$id)&&Qe(J.items)&&x(J.minItems)&&x(J.maxItems)&&T(J.uniqueItems)&&le(J.contains)&&x(J.minContains)&&x(J.maxContains)}A.TArray=Ue;function he(J){return Je(J,"AsyncIterator")&&J.type==="AsyncIterator"&&I(J.$id)&&Qe(J.items)}A.TAsyncIterator=he;function _e(J){return Je(J,"BigInt")&&J.type==="bigint"&&I(J.$id)&&w(J.exclusiveMaximum)&&w(J.exclusiveMinimum)&&w(J.maximum)&&w(J.minimum)&&w(J.multipleOf)}A.TBigInt=_e;function Ze(J){return Je(J,"Boolean")&&J.type==="boolean"&&I(J.$id)}A.TBoolean=Ze;function ce(J){return Je(J,"Constructor")&&J.type==="Constructor"&&I(J.$id)&&i.IsArray(J.parameters)&&J.parameters.every(K=>Qe(K))&&Qe(J.returns)}A.TConstructor=ce;function He(J){return Je(J,"Date")&&J.type==="Date"&&I(J.$id)&&x(J.exclusiveMaximumTimestamp)&&x(J.exclusiveMinimumTimestamp)&&x(J.maximumTimestamp)&&x(J.minimumTimestamp)&&x(J.multipleOfTimestamp)}A.TDate=He;function ot(J){return Je(J,"Function")&&J.type==="Function"&&I(J.$id)&&i.IsArray(J.parameters)&&J.parameters.every(K=>Qe(K))&&Qe(J.returns)}A.TFunction=ot;function Ve(J){return Je(J,"Integer")&&J.type==="integer"&&I(J.$id)&&x(J.exclusiveMaximum)&&x(J.exclusiveMinimum)&&x(J.maximum)&&x(J.minimum)&&x(J.multipleOf)}A.TInteger=Ve;function Nt(J){return Je(J,"Intersect")&&!(i.IsString(J.type)&&J.type!=="object")&&i.IsArray(J.allOf)&&J.allOf.every(K=>Qe(K)&&!an(K))&&I(J.type)&&(T(J.unevaluatedProperties)||le(J.unevaluatedProperties))&&I(J.$id)}A.TIntersect=Nt;function tt(J){return Je(J,"Iterator")&&J.type==="Iterator"&&I(J.$id)&&Qe(J.items)}A.TIterator=tt;function Je(J,K){return je(J)&&J[t.Kind]===K}A.TKindOf=Je;function je(J){return i.IsObject(J)&&t.Kind in J&&i.IsString(J[t.Kind])}A.TKind=je;function ge(J){return se(J)&&i.IsString(J.const)}A.TLiteralString=ge;function Ne(J){return se(J)&&i.IsNumber(J.const)}A.TLiteralNumber=Ne;function q(J){return se(J)&&i.IsBoolean(J.const)}A.TLiteralBoolean=q;function se(J){return Je(J,"Literal")&&I(J.$id)&&(i.IsBoolean(J.const)||i.IsNumber(J.const)||i.IsString(J.const))}A.TLiteral=se;function de(J){return Je(J,"Never")&&i.IsObject(J.not)&&Object.getOwnPropertyNames(J.not).length===0}A.TNever=de;function be(J){return Je(J,"Not")&&Qe(J.not)}A.TNot=be;function Ee(J){return Je(J,"Null")&&J.type==="null"&&I(J.$id)}A.TNull=Ee;function Be(J){return Je(J,"Number")&&J.type==="number"&&I(J.$id)&&x(J.exclusiveMaximum)&&x(J.exclusiveMinimum)&&x(J.maximum)&&x(J.minimum)&&x(J.multipleOf)}A.TNumber=Be;function pt(J){return Je(J,"Object")&&J.type==="object"&&I(J.$id)&&i.IsObject(J.properties)&&_(J.additionalProperties)&&x(J.minProperties)&&x(J.maxProperties)&&Object.entries(J.properties).every(([K,ne])=>M(K)&&Qe(ne))}A.TObject=pt;function ht(J){return Je(J,"Promise")&&J.type==="Promise"&&I(J.$id)&&Qe(J.item)}A.TPromise=ht;function sn(J){return Je(J,"Record")&&J.type==="object"&&I(J.$id)&&_(J.additionalProperties)&&i.IsObject(J.patternProperties)&&(K=>{const ne=Object.getOwnPropertyNames(K.patternProperties);return ne.length===1&&k(ne[0])&&i.IsObject(K.patternProperties)&&Qe(K.patternProperties[ne[0]])})(J)}A.TRecord=sn;function Un(J){return i.IsObject(J)&&t.Hint in J&&J[t.Hint]==="Recursive"}A.TRecursive=Un;function Ft(J){return Je(J,"Ref")&&I(J.$id)&&i.IsString(J.$ref)}A.TRef=Ft;function lt(J){return Je(J,"String")&&J.type==="string"&&I(J.$id)&&x(J.minLength)&&x(J.maxLength)&&oe(J.pattern)&&me(J.format)}A.TString=lt;function Vn(J){return Je(J,"Symbol")&&J.type==="symbol"&&I(J.$id)}A.TSymbol=Vn;function Qn(J){return Je(J,"TemplateLiteral")&&J.type==="string"&&i.IsString(J.pattern)&&J.pattern[0]==="^"&&J.pattern[J.pattern.length-1]==="$"}A.TTemplateLiteral=Qn;function pn(J){return Je(J,"This")&&I(J.$id)&&i.IsString(J.$ref)}A.TThis=pn;function an(J){return i.IsObject(J)&&t.Transform in J}A.TTransform=an;function tn(J){return Je(J,"Tuple")&&J.type==="array"&&I(J.$id)&&i.IsNumber(J.minItems)&&i.IsNumber(J.maxItems)&&J.minItems===J.maxItems&&(i.IsUndefined(J.items)&&i.IsUndefined(J.additionalItems)&&J.minItems===0||i.IsArray(J.items)&&J.items.every(K=>Qe(K)))}A.TTuple=tn;function or(J){return Je(J,"Undefined")&&J.type==="undefined"&&I(J.$id)}A.TUndefined=or;function Sn(J){return Yn(J)&&J.anyOf.every(K=>ge(K)||Ne(K))}A.TUnionLiteral=Sn;function Yn(J){return Je(J,"Union")&&I(J.$id)&&i.IsObject(J)&&i.IsArray(J.anyOf)&&J.anyOf.every(K=>Qe(K))}A.TUnion=Yn;function $e(J){return Je(J,"Uint8Array")&&J.type==="Uint8Array"&&I(J.$id)&&x(J.minByteLength)&&x(J.maxByteLength)}A.TUint8Array=$e;function Xe(J){return Je(J,"Unknown")&&I(J.$id)}A.TUnknown=Xe;function xt(J){return Je(J,"Unsafe")}A.TUnsafe=xt;function en(J){return Je(J,"Void")&&J.type==="void"&&I(J.$id)}A.TVoid=en;function Ut(J){return i.IsObject(J)&&J[t.Readonly]==="Readonly"}A.TReadonly=Ut;function xe(J){return i.IsObject(J)&&J[t.Optional]==="Optional"}A.TOptional=xe;function Qe(J){return i.IsObject(J)&&(ae(J)||Ue(J)||Ze(J)||_e(J)||he(J)||ce(J)||He(J)||ot(J)||Ve(J)||Nt(J)||tt(J)||se(J)||de(J)||be(J)||Ee(J)||Be(J)||pt(J)||ht(J)||sn(J)||Ft(J)||lt(J)||Vn(J)||Qn(J)||pn(J)||tn(J)||or(J)||Yn(J)||$e(J)||Xe(J)||xt(J)||en(J)||je(J)&&e.Has(J[t.Kind]))}A.TSchema=Qe})(s||(t.TypeGuard=s={}));var a;(function(A){function k(M){return M[t.Kind]==="Intersect"?M.allOf.every(_=>k(_)):M[t.Kind]==="Union"?M.anyOf.some(_=>k(_)):M[t.Kind]==="Undefined"?!0:M[t.Kind]==="Not"?!k(M.not):!1}A.Check=k})(a||(t.ExtendsUndefined=a={}));class l extends n{}t.TypeExtendsError=l;var c;(function(A){A[A.Union=0]="Union",A[A.True=1]="True",A[A.False=2]="False"})(c||(t.TypeExtendsResult=c={}));var f;(function(A){function k(Y){return Y===c.False?Y:c.True}function M(Y){throw new l(Y)}function _(Y){return s.TNever(Y)||s.TIntersect(Y)||s.TUnion(Y)||s.TUnknown(Y)||s.TAny(Y)}function w(Y,Q){return s.TNever(Q)?Je():s.TIntersect(Q)?ot(Y,Q):s.TUnion(Q)?Te(Y,Q):s.TUnknown(Q)?It():s.TAny(Q)?x():M("StructuralRight")}function x(Y,Q){return c.True}function T(Y,Q){return s.TIntersect(Q)?ot(Y,Q):s.TUnion(Q)&&Q.anyOf.some(Rt=>s.TAny(Rt)||s.TUnknown(Rt))?c.True:s.TUnion(Q)?c.Union:s.TUnknown(Q)||s.TAny(Q)?c.True:c.Union}function I(Y,Q){return s.TUnknown(Y)?c.False:s.TAny(Y)?c.Union:s.TNever(Y)?c.True:c.False}function oe(Y,Q){return s.TObject(Q)&&Qn(Q)?c.True:_(Q)?w(Y,Q):s.TArray(Q)?k(gt(Y.items,Q.items)):c.False}function me(Y,Q){return _(Q)?w(Y,Q):s.TAsyncIterator(Q)?k(gt(Y.items,Q.items)):c.False}function le(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TBigInt(Q)?c.True:c.False}function ae(Y,Q){return s.TLiteral(Y)&&i.IsBoolean(Y.const)||s.TBoolean(Y)?c.True:c.False}function Ue(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TBoolean(Q)?c.True:c.False}function he(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TConstructor(Q)?Y.parameters.length>Q.parameters.length?c.False:Y.parameters.every((Rt,vn)=>k(gt(Q.parameters[vn],Rt))===c.True)?k(gt(Y.returns,Q.returns)):c.False:c.False}function _e(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TDate(Q)?c.True:c.False}function Ze(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TFunction(Q)?Y.parameters.length>Q.parameters.length?c.False:Y.parameters.every((Rt,vn)=>k(gt(Q.parameters[vn],Rt))===c.True)?k(gt(Y.returns,Q.returns)):c.False:c.False}function ce(Y,Q){return s.TLiteral(Y)&&i.IsNumber(Y.const)||s.TNumber(Y)||s.TInteger(Y)?c.True:c.False}function He(Y,Q){return s.TInteger(Q)||s.TNumber(Q)?c.True:_(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):c.False}function ot(Y,Q){return Q.allOf.every(Rt=>gt(Y,Rt)===c.True)?c.True:c.False}function Ve(Y,Q){return Y.allOf.some(Rt=>gt(Rt,Q)===c.True)?c.True:c.False}function Nt(Y,Q){return _(Q)?w(Y,Q):s.TIterator(Q)?k(gt(Y.items,Q.items)):c.False}function tt(Y,Q){return s.TLiteral(Q)&&Q.const===Y.const?c.True:_(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TString(Q)?en(Y):s.TNumber(Q)?se(Y):s.TInteger(Q)?ce(Y):s.TBoolean(Q)?ae(Y):c.False}function Je(Y,Q){return c.False}function je(Y,Q){return c.True}function ge(Y){let[Q,Rt]=[Y,0];for(;s.TNot(Q);)Q=Q.not,Rt+=1;return Rt%2===0?Q:t.Type.Unknown()}function Ne(Y,Q){return s.TNot(Y)?gt(ge(Y),Q):s.TNot(Q)?gt(Y,ge(Q)):M("Invalid fallthrough for Not")}function q(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TNull(Q)?c.True:c.False}function se(Y,Q){return s.TLiteralNumber(Y)||s.TNumber(Y)||s.TInteger(Y)?c.True:c.False}function de(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TInteger(Q)||s.TNumber(Q)?c.True:c.False}function be(Y,Q){return Object.getOwnPropertyNames(Y.properties).length===Q}function Ee(Y){return Qn(Y)}function Be(Y){return be(Y,0)||be(Y,1)&&"description"in Y.properties&&s.TUnion(Y.properties.description)&&Y.properties.description.anyOf.length===2&&(s.TString(Y.properties.description.anyOf[0])&&s.TUndefined(Y.properties.description.anyOf[1])||s.TString(Y.properties.description.anyOf[1])&&s.TUndefined(Y.properties.description.anyOf[0]))}function pt(Y){return be(Y,0)}function ht(Y){return be(Y,0)}function sn(Y){return be(Y,0)}function Un(Y){return be(Y,0)}function Ft(Y){return Qn(Y)}function lt(Y){const Q=t.Type.Number();return be(Y,0)||be(Y,1)&&"length"in Y.properties&&k(gt(Y.properties.length,Q))===c.True}function Vn(Y){return be(Y,0)}function Qn(Y){const Q=t.Type.Number();return be(Y,0)||be(Y,1)&&"length"in Y.properties&&k(gt(Y.properties.length,Q))===c.True}function pn(Y){const Q=t.Type.Function([t.Type.Any()],t.Type.Any());return be(Y,0)||be(Y,1)&&"then"in Y.properties&&k(gt(Y.properties.then,Q))===c.True}function an(Y,Q){return gt(Y,Q)===c.False||s.TOptional(Y)&&!s.TOptional(Q)?c.False:c.True}function tn(Y,Q){return s.TUnknown(Y)?c.False:s.TAny(Y)?c.Union:s.TNever(Y)||s.TLiteralString(Y)&&Ee(Q)||s.TLiteralNumber(Y)&&pt(Q)||s.TLiteralBoolean(Y)&&ht(Q)||s.TSymbol(Y)&&Be(Q)||s.TBigInt(Y)&&sn(Q)||s.TString(Y)&&Ee(Q)||s.TSymbol(Y)&&Be(Q)||s.TNumber(Y)&&pt(Q)||s.TInteger(Y)&&pt(Q)||s.TBoolean(Y)&&ht(Q)||s.TUint8Array(Y)&&Ft(Q)||s.TDate(Y)&&Un(Q)||s.TConstructor(Y)&&Vn(Q)||s.TFunction(Y)&&lt(Q)?c.True:s.TRecord(Y)&&s.TString(Yn(Y))?Q[t.Hint]==="Record"?c.True:c.False:s.TRecord(Y)&&s.TNumber(Yn(Y))?be(Q,0)?c.True:c.False:c.False}function or(Y,Q){return _(Q)?w(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TObject(Q)?(()=>{for(const Rt of Object.getOwnPropertyNames(Q.properties)){if(!(Rt in Y.properties)&&!s.TOptional(Q.properties[Rt]))return c.False;if(s.TOptional(Q.properties[Rt]))return c.True;if(an(Y.properties[Rt],Q.properties[Rt])===c.False)return c.False}return c.True})():c.False}function Sn(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)&&pn(Q)?c.True:s.TPromise(Q)?k(gt(Y.item,Q.item)):c.False}function Yn(Y){return t.PatternNumberExact in Y.patternProperties?t.Type.Number():t.PatternStringExact in Y.patternProperties?t.Type.String():M("Unknown record key pattern")}function $e(Y){return t.PatternNumberExact in Y.patternProperties?Y.patternProperties[t.PatternNumberExact]:t.PatternStringExact in Y.patternProperties?Y.patternProperties[t.PatternStringExact]:M("Unable to get record value schema")}function Xe(Y,Q){const[Rt,vn]=[Yn(Q),$e(Q)];return s.TLiteralString(Y)&&s.TNumber(Rt)&&k(gt(Y,vn))===c.True?c.True:s.TUint8Array(Y)&&s.TNumber(Rt)||s.TString(Y)&&s.TNumber(Rt)||s.TArray(Y)&&s.TNumber(Rt)?gt(Y,vn):s.TObject(Y)?(()=>{for(const Ln of Object.getOwnPropertyNames(Y.properties))if(an(vn,Y.properties[Ln])===c.False)return c.False;return c.True})():c.False}function xt(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?gt($e(Y),$e(Q)):c.False}function en(Y,Q){return s.TLiteral(Y)&&i.IsString(Y.const)||s.TString(Y)?c.True:c.False}function Ut(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TString(Q)?c.True:c.False}function xe(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TSymbol(Q)?c.True:c.False}function Qe(Y,Q){return s.TTemplateLiteral(Y)?gt($.Resolve(Y),Q):s.TTemplateLiteral(Q)?gt(Y,$.Resolve(Q)):M("Invalid fallthrough for TemplateLiteral")}function J(Y,Q){return s.TArray(Q)&&Y.items!==void 0&&Y.items.every(Rt=>gt(Rt,Q.items)===c.True)}function K(Y,Q){return s.TNever(Y)?c.True:s.TUnknown(Y)?c.False:s.TAny(Y)?c.Union:c.False}function ne(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)&&Qn(Q)||s.TArray(Q)&&J(Y,Q)?c.True:s.TTuple(Q)?i.IsUndefined(Y.items)&&!i.IsUndefined(Q.items)||!i.IsUndefined(Y.items)&&i.IsUndefined(Q.items)?c.False:i.IsUndefined(Y.items)&&!i.IsUndefined(Q.items)||Y.items.every((Rt,vn)=>gt(Rt,Q.items[vn])===c.True)?c.True:c.False:c.False}function pe(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TUint8Array(Q)?c.True:c.False}function Se(Y,Q){return _(Q)?w(Y,Q):s.TObject(Q)?tn(Y,Q):s.TRecord(Q)?Xe(Y,Q):s.TVoid(Q)?Dn(Y):s.TUndefined(Q)?c.True:c.False}function Te(Y,Q){return Q.anyOf.some(Rt=>gt(Y,Rt)===c.True)?c.True:c.False}function St(Y,Q){return Y.anyOf.every(Rt=>gt(Rt,Q)===c.True)?c.True:c.False}function It(Y,Q){return c.True}function nn(Y,Q){return s.TNever(Q)?Je():s.TIntersect(Q)?ot(Y,Q):s.TUnion(Q)?Te(Y,Q):s.TAny(Q)?x():s.TString(Q)?en(Y):s.TNumber(Q)?se(Y):s.TInteger(Q)?ce(Y):s.TBoolean(Q)?ae(Y):s.TArray(Q)?I(Y):s.TTuple(Q)?K(Y):s.TObject(Q)?tn(Y,Q):s.TUnknown(Q)?c.True:c.False}function Dn(Y,Q){return s.TUndefined(Y)||s.TUndefined(Y)?c.True:c.False}function Hn(Y,Q){return s.TIntersect(Q)?ot(Y,Q):s.TUnion(Q)?Te(Y,Q):s.TUnknown(Q)?It():s.TAny(Q)?x():s.TObject(Q)?tn(Y,Q):s.TVoid(Q)?c.True:c.False}function gt(Y,Q){return s.TTemplateLiteral(Y)||s.TTemplateLiteral(Q)?Qe(Y,Q):s.TNot(Y)||s.TNot(Q)?Ne(Y,Q):s.TAny(Y)?T(Y,Q):s.TArray(Y)?oe(Y,Q):s.TBigInt(Y)?le(Y,Q):s.TBoolean(Y)?Ue(Y,Q):s.TAsyncIterator(Y)?me(Y,Q):s.TConstructor(Y)?he(Y,Q):s.TDate(Y)?_e(Y,Q):s.TFunction(Y)?Ze(Y,Q):s.TInteger(Y)?He(Y,Q):s.TIntersect(Y)?Ve(Y,Q):s.TIterator(Y)?Nt(Y,Q):s.TLiteral(Y)?tt(Y,Q):s.TNever(Y)?je():s.TNull(Y)?q(Y,Q):s.TNumber(Y)?de(Y,Q):s.TObject(Y)?or(Y,Q):s.TRecord(Y)?xt(Y,Q):s.TString(Y)?Ut(Y,Q):s.TSymbol(Y)?xe(Y,Q):s.TTuple(Y)?ne(Y,Q):s.TPromise(Y)?Sn(Y,Q):s.TUint8Array(Y)?pe(Y,Q):s.TUndefined(Y)?Se(Y,Q):s.TUnion(Y)?St(Y,Q):s.TUnknown(Y)?nn(Y,Q):s.TVoid(Y)?Hn(Y,Q):M(`Unknown left type operand '${Y[t.Kind]}'`)}function Cn(Y,Q){return gt(Y,Q)}A.Extends=Cn})(f||(t.TypeExtends=f={}));var u;(function(A){function k(oe){return oe.map(me=>x(me))}function M(oe){return new Date(oe.getTime())}function _(oe){return new Uint8Array(oe)}function w(oe){const me=Object.getOwnPropertyNames(oe).reduce((ae,Ue)=>({...ae,[Ue]:x(oe[Ue])}),{}),le=Object.getOwnPropertySymbols(oe).reduce((ae,Ue)=>({...ae,[Ue]:x(oe[Ue])}),{});return{...me,...le}}function x(oe){return i.IsArray(oe)?k(oe):i.IsDate(oe)?M(oe):i.IsUint8Array(oe)?_(oe):i.IsObject(oe)?w(oe):oe}function T(oe){return oe.map(me=>I(me))}A.Rest=T;function I(oe,me={}){return{...x(oe),...me}}A.Type=I})(u||(t.TypeClone=u={}));var d;(function(A){function k(he){return he.map(_e=>{const{[t.Optional]:Ze,...ce}=u.Type(_e);return ce})}function M(he){return he.every(_e=>s.TOptional(_e))}function _(he){return he.some(_e=>s.TOptional(_e))}function w(he){return M(he.allOf)?t.Type.Optional(t.Type.Intersect(k(he.allOf))):he}function x(he){return _(he.anyOf)?t.Type.Optional(t.Type.Union(k(he.anyOf))):he}function T(he){return he[t.Kind]==="Intersect"?w(he):he[t.Kind]==="Union"?x(he):he}function I(he,_e){const Ze=he.allOf.reduce((ce,He)=>{const ot=ae(He,_e);return ot[t.Kind]==="Never"?ce:[...ce,ot]},[]);return T(t.Type.Intersect(Ze))}function oe(he,_e){const Ze=he.anyOf.map(ce=>ae(ce,_e));return T(t.Type.Union(Ze))}function me(he,_e){const Ze=he.properties[_e];return i.IsUndefined(Ze)?t.Type.Never():t.Type.Union([Ze])}function le(he,_e){const Ze=he.items;if(i.IsUndefined(Ze))return t.Type.Never();const ce=Ze[_e];return i.IsUndefined(ce)?t.Type.Never():ce}function ae(he,_e){return he[t.Kind]==="Intersect"?I(he,_e):he[t.Kind]==="Union"?oe(he,_e):he[t.Kind]==="Object"?me(he,_e):he[t.Kind]==="Tuple"?le(he,_e):t.Type.Never()}function Ue(he,_e,Ze={}){const ce=_e.map(He=>ae(he,He.toString()));return T(t.Type.Union(ce,Ze))}A.Resolve=Ue})(d||(t.IndexedAccessor=d={}));var h;(function(A){function k(le){const[ae,Ue]=[le.slice(0,1),le.slice(1)];return`${ae.toLowerCase()}${Ue}`}function M(le){const[ae,Ue]=[le.slice(0,1),le.slice(1)];return`${ae.toUpperCase()}${Ue}`}function _(le){return le.toUpperCase()}function w(le){return le.toLowerCase()}function x(le,ae){const Ue=E.ParseExact(le.pattern);if(!L.Check(Ue))return{...le,pattern:T(le.pattern,ae)};const Ze=[...F.Generate(Ue)].map(ot=>t.Type.Literal(ot)),ce=I(Ze,ae),He=t.Type.Union(ce);return t.Type.TemplateLiteral([He])}function T(le,ae){return typeof le=="string"?ae==="Uncapitalize"?k(le):ae==="Capitalize"?M(le):ae==="Uppercase"?_(le):ae==="Lowercase"?w(le):le:le.toString()}function I(le,ae){if(le.length===0)return[];const[Ue,...he]=le;return[me(Ue,ae),...I(he,ae)]}function oe(le,ae){return s.TTemplateLiteral(le)?x(le,ae):s.TUnion(le)?t.Type.Union(I(le.anyOf,ae)):s.TLiteral(le)?t.Type.Literal(T(le.const,ae)):le}function me(le,ae){return oe(le,ae)}A.Map=me})(h||(t.Intrinsic=h={}));var p;(function(A){function k(T,I){return t.Type.Intersect(T.allOf.map(oe=>w(oe,I)),{...T})}function M(T,I){return t.Type.Union(T.anyOf.map(oe=>w(oe,I)),{...T})}function _(T,I){return I(T)}function w(T,I){return T[t.Kind]==="Intersect"?k(T,I):T[t.Kind]==="Union"?M(T,I):T[t.Kind]==="Object"?_(T,I):T}function x(T,I,oe){return{...w(u.Type(T),I),...oe}}A.Map=x})(p||(t.ObjectMap=p={}));var m;(function(A){function k(me){return me[0]==="^"&&me[me.length-1]==="$"?me.slice(1,me.length-1):me}function M(me,le){return me.allOf.reduce((ae,Ue)=>[...ae,...T(Ue,le)],[])}function _(me,le){const ae=me.anyOf.map(Ue=>T(Ue,le));return[...ae.reduce((Ue,he)=>he.map(_e=>ae.every(Ze=>Ze.includes(_e))?Ue.add(_e):Ue)[0],new Set)]}function w(me,le){return Object.getOwnPropertyNames(me.properties)}function x(me,le){return le.includePatterns?Object.getOwnPropertyNames(me.patternProperties):[]}function T(me,le){return s.TIntersect(me)?M(me,le):s.TUnion(me)?_(me,le):s.TObject(me)?w(me):s.TRecord(me)?x(me,le):[]}function I(me,le){return[...new Set(T(me,le))]}A.ResolveKeys=I;function oe(me){return`^(${I(me,{includePatterns:!0}).map(Ue=>`(${k(Ue)})`).join("|")})$`}A.ResolvePattern=oe})(m||(t.KeyResolver=m={}));class y extends n{}t.KeyArrayResolverError=y;var g;(function(A){function k(M){return Array.isArray(M)?M:s.TUnionLiteral(M)?M.anyOf.map(_=>_.const.toString()):s.TLiteral(M)?[M.const]:s.TTemplateLiteral(M)?(()=>{const _=E.ParseExact(M.pattern);if(!L.Check(_))throw new y("Cannot resolve keys from infinite template expression");return[...F.Generate(_)]})():[]}A.Resolve=k})(g||(t.KeyArrayResolver=g={}));var b;(function(A){function*k(_){for(const w of _.anyOf)w[t.Kind]==="Union"?yield*k(w):yield w}function M(_){return t.Type.Union([...k(_)],{..._})}A.Resolve=M})(b||(t.UnionResolver=b={}));class S extends n{}t.TemplateLiteralPatternError=S;var j;(function(A){function k(x){throw new S(x)}function M(x){return x.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _(x,T){return s.TTemplateLiteral(x)?x.pattern.slice(1,x.pattern.length-1):s.TUnion(x)?`(${x.anyOf.map(I=>_(I,T)).join("|")})`:s.TNumber(x)?`${T}${t.PatternNumber}`:s.TInteger(x)?`${T}${t.PatternNumber}`:s.TBigInt(x)?`${T}${t.PatternNumber}`:s.TString(x)?`${T}${t.PatternString}`:s.TLiteral(x)?`${T}${M(x.const.toString())}`:s.TBoolean(x)?`${T}${t.PatternBoolean}`:k(`Unexpected Kind '${x[t.Kind]}'`)}function w(x){return`^${x.map(T=>_(T,"")).join("")}$`}A.Create=w})(j||(t.TemplateLiteralPattern=j={}));var $;(function(A){function k(M){const _=E.ParseExact(M.pattern);if(!L.Check(_))return t.Type.String();const w=[...F.Generate(_)].map(x=>t.Type.Literal(x));return t.Type.Union(w)}A.Resolve=k})($||(t.TemplateLiteralResolver=$={}));class O extends n{}t.TemplateLiteralParserError=O;var E;(function(A){function k(he,_e,Ze){return he[_e]===Ze&&he.charCodeAt(_e-1)!==92}function M(he,_e){return k(he,_e,"(")}function _(he,_e){return k(he,_e,")")}function w(he,_e){return k(he,_e,"|")}function x(he){if(!(M(he,0)&&_(he,he.length-1)))return!1;let _e=0;for(let Ze=0;Ze<he.length;Ze++)if(M(he,Ze)&&(_e+=1),_(he,Ze)&&(_e-=1),_e===0&&Ze!==he.length-1)return!1;return!0}function T(he){return he.slice(1,he.length-1)}function I(he){let _e=0;for(let Ze=0;Ze<he.length;Ze++)if(M(he,Ze)&&(_e+=1),_(he,Ze)&&(_e-=1),w(he,Ze)&&_e===0)return!0;return!1}function oe(he){for(let _e=0;_e<he.length;_e++)if(M(he,_e))return!0;return!1}function me(he){let[_e,Ze]=[0,0];const ce=[];for(let ot=0;ot<he.length;ot++)if(M(he,ot)&&(_e+=1),_(he,ot)&&(_e-=1),w(he,ot)&&_e===0){const Ve=he.slice(Ze,ot);Ve.length>0&&ce.push(ae(Ve)),Ze=ot+1}const He=he.slice(Ze);return He.length>0&&ce.push(ae(He)),ce.length===0?{type:"const",const:""}:ce.length===1?ce[0]:{type:"or",expr:ce}}function le(he){function _e(He,ot){if(!M(He,ot))throw new O("TemplateLiteralParser: Index must point to open parens");let Ve=0;for(let Nt=ot;Nt<He.length;Nt++)if(M(He,Nt)&&(Ve+=1),_(He,Nt)&&(Ve-=1),Ve===0)return[ot,Nt];throw new O("TemplateLiteralParser: Unclosed group parens in expression")}function Ze(He,ot){for(let Ve=ot;Ve<He.length;Ve++)if(M(He,Ve))return[ot,Ve];return[ot,He.length]}const ce=[];for(let He=0;He<he.length;He++)if(M(he,He)){const[ot,Ve]=_e(he,He),Nt=he.slice(ot,Ve+1);ce.push(ae(Nt)),He=Ve}else{const[ot,Ve]=Ze(he,He),Nt=he.slice(ot,Ve);Nt.length>0&&ce.push(ae(Nt)),He=Ve-1}return ce.length===0?{type:"const",const:""}:ce.length===1?ce[0]:{type:"and",expr:ce}}function ae(he){return x(he)?ae(T(he)):I(he)?me(he):oe(he)?le(he):{type:"const",const:he}}A.Parse=ae;function Ue(he){return ae(he.slice(1,he.length-1))}A.ParseExact=Ue})(E||(t.TemplateLiteralParser=E={}));class z extends n{}t.TemplateLiteralFiniteError=z;var L;(function(A){function k(T){throw new z(T)}function M(T){return T.type==="or"&&T.expr.length===2&&T.expr[0].type==="const"&&T.expr[0].const==="0"&&T.expr[1].type==="const"&&T.expr[1].const==="[1-9][0-9]*"}function _(T){return T.type==="or"&&T.expr.length===2&&T.expr[0].type==="const"&&T.expr[0].const==="true"&&T.expr[1].type==="const"&&T.expr[1].const==="false"}function w(T){return T.type==="const"&&T.const===".*"}function x(T){return _(T)?!0:M(T)||w(T)?!1:T.type==="and"?T.expr.every(I=>x(I)):T.type==="or"?T.expr.every(I=>x(I)):T.type==="const"?!0:k("Unknown expression type")}A.Check=x})(L||(t.TemplateLiteralFinite=L={}));class R extends n{}t.TemplateLiteralGeneratorError=R;var F;(function(A){function*k(T){if(T.length===1)return yield*T[0];for(const I of T[0])for(const oe of k(T.slice(1)))yield`${I}${oe}`}function*M(T){return yield*k(T.expr.map(I=>[...x(I)]))}function*_(T){for(const I of T.expr)yield*x(I)}function*w(T){return yield T.const}function*x(T){return T.type==="and"?yield*M(T):T.type==="or"?yield*_(T):T.type==="const"?yield*w(T):(()=>{throw new R("Unknown expression")})()}A.Generate=x})(F||(t.TemplateLiteralGenerator=F={}));var B;(function(A){function*k(x){const T=x.trim().replace(/"|'/g,"");return T==="boolean"?yield t.Type.Boolean():T==="number"?yield t.Type.Number():T==="bigint"?yield t.Type.BigInt():T==="string"?yield t.Type.String():yield(()=>{const I=T.split("|").map(oe=>t.Type.Literal(oe.trim()));return I.length===0?t.Type.Never():I.length===1?I[0]:t.Type.Union(I)})()}function*M(x){if(x[1]!=="{"){const T=t.Type.Literal("$"),I=_(x.slice(1));return yield*[T,...I]}for(let T=2;T<x.length;T++)if(x[T]==="}"){const I=k(x.slice(2,T)),oe=_(x.slice(T+1));return yield*[...I,...oe]}yield t.Type.Literal(x)}function*_(x){for(let T=0;T<x.length;T++)if(x[T]==="$"){const I=t.Type.Literal(x.slice(0,T)),oe=M(x.slice(T));return yield*[I,...oe]}yield t.Type.Literal(x)}function w(x){return[..._(x)]}A.Parse=w})(B||(t.TemplateLiteralDslParser=B={}));class D{constructor(k){this.schema=k}Decode(k){return new V(this.schema,k)}}t.TransformDecodeBuilder=D;class V{constructor(k,M){this.schema=k,this.decode=M}Encode(k){const M=u.Type(this.schema);return s.TTransform(M)?(()=>{const x={Encode:T=>M[t.Transform].Encode(k(T)),Decode:T=>this.decode(M[t.Transform].Decode(T))};return{...M,[t.Transform]:x}})():(()=>{const _={Decode:this.decode,Encode:k};return{...M,[t.Transform]:_}})()}}t.TransformEncodeBuilder=V;let ee=0;class Z extends n{}t.TypeBuilderError=Z;class ie{Create(k){return k}Throw(k){throw new Z(k)}Discard(k,M){return M.reduce((_,w)=>{const{[w]:x,...T}=_;return T},k)}Strict(k){return JSON.parse(JSON.stringify(k))}}t.TypeBuilder=ie;class U extends ie{ReadonlyOptional(k){return this.Readonly(this.Optional(k))}Readonly(k){return{...u.Type(k),[t.Readonly]:"Readonly"}}Optional(k){return{...u.Type(k),[t.Optional]:"Optional"}}Any(k={}){return this.Create({...k,[t.Kind]:"Any"})}Array(k,M={}){return this.Create({...M,[t.Kind]:"Array",type:"array",items:u.Type(k)})}Boolean(k={}){return this.Create({...k,[t.Kind]:"Boolean",type:"boolean"})}Capitalize(k,M={}){return{...h.Map(u.Type(k),"Capitalize"),...M}}Composite(k,M){const _=t.Type.Intersect(k,{}),x=m.ResolveKeys(_,{includePatterns:!1}).reduce((T,I)=>({...T,[I]:t.Type.Index(_,[I])}),{});return t.Type.Object(x,M)}Enum(k,M={}){if(i.IsUndefined(k))return this.Throw("Enum undefined or empty");const _=Object.getOwnPropertyNames(k).filter(T=>isNaN(T)).map(T=>k[T]),x=[...new Set(_)].map(T=>t.Type.Literal(T));return this.Union(x,{...M,[t.Hint]:"Enum"})}Extends(k,M,_,w,x={}){switch(f.Extends(k,M)){case c.Union:return this.Union([u.Type(_,x),u.Type(w,x)]);case c.True:return u.Type(_,x);case c.False:return u.Type(w,x)}}Exclude(k,M,_={}){return s.TTemplateLiteral(k)?this.Exclude($.Resolve(k),M,_):s.TTemplateLiteral(M)?this.Exclude(k,$.Resolve(M),_):s.TUnion(k)?(()=>{const w=k.anyOf.filter(x=>f.Extends(x,M)===c.False);return w.length===1?u.Type(w[0],_):this.Union(w,_)})():f.Extends(k,M)!==c.False?this.Never(_):u.Type(k,_)}Extract(k,M,_={}){return s.TTemplateLiteral(k)?this.Extract($.Resolve(k),M,_):s.TTemplateLiteral(M)?this.Extract(k,$.Resolve(M),_):s.TUnion(k)?(()=>{const w=k.anyOf.filter(x=>f.Extends(x,M)!==c.False);return w.length===1?u.Type(w[0],_):this.Union(w,_)})():f.Extends(k,M)!==c.False?u.Type(k,_):this.Never(_)}Index(k,M,_={}){return s.TArray(k)&&s.TNumber(M)?u.Type(k.items,_):s.TTuple(k)&&s.TNumber(M)?(()=>{const x=(i.IsUndefined(k.items)?[]:k.items).map(T=>u.Type(T));return this.Union(x,_)})():(()=>{const w=g.Resolve(M),x=u.Type(k);return d.Resolve(x,w,_)})()}Integer(k={}){return this.Create({...k,[t.Kind]:"Integer",type:"integer"})}Intersect(k,M={}){if(k.length===0)return t.Type.Never();if(k.length===1)return u.Type(k[0],M);k.some(T=>s.TTransform(T))&&this.Throw("Cannot intersect transform types");const _=k.every(T=>s.TObject(T)),w=u.Rest(k),x=s.TSchema(M.unevaluatedProperties)?{unevaluatedProperties:u.Type(M.unevaluatedProperties)}:{};return M.unevaluatedProperties===!1||s.TSchema(M.unevaluatedProperties)||_?this.Create({...M,...x,[t.Kind]:"Intersect",type:"object",allOf:w}):this.Create({...M,...x,[t.Kind]:"Intersect",allOf:w})}KeyOf(k,M={}){return s.TRecord(k)?(()=>{const _=Object.getOwnPropertyNames(k.patternProperties)[0];return _===t.PatternNumberExact?this.Number(M):_===t.PatternStringExact?this.String(M):this.Throw("Unable to resolve key type from Record key pattern")})():s.TTuple(k)?(()=>{const w=(i.IsUndefined(k.items)?[]:k.items).map((x,T)=>t.Type.Literal(T.toString()));return this.Union(w,M)})():s.TArray(k)?this.Number(M):(()=>{const _=m.ResolveKeys(k,{includePatterns:!1});if(_.length===0)return this.Never(M);const w=_.map(x=>this.Literal(x));return this.Union(w,M)})()}Literal(k,M={}){return this.Create({...M,[t.Kind]:"Literal",const:k,type:typeof k})}Lowercase(k,M={}){return{...h.Map(u.Type(k),"Lowercase"),...M}}Never(k={}){return this.Create({...k,[t.Kind]:"Never",not:{}})}Not(k,M){return this.Create({...M,[t.Kind]:"Not",not:u.Type(k)})}Null(k={}){return this.Create({...k,[t.Kind]:"Null",type:"null"})}Number(k={}){return this.Create({...k,[t.Kind]:"Number",type:"number"})}Object(k,M={}){const _=Object.getOwnPropertyNames(k),w=_.filter(oe=>s.TOptional(k[oe])),x=_.filter(oe=>!w.includes(oe)),T=s.TSchema(M.additionalProperties)?{additionalProperties:u.Type(M.additionalProperties)}:{},I=_.reduce((oe,me)=>({...oe,[me]:u.Type(k[me])}),{});return x.length>0?this.Create({...M,...T,[t.Kind]:"Object",type:"object",properties:I,required:x}):this.Create({...M,...T,[t.Kind]:"Object",type:"object",properties:I})}Omit(k,M,_={}){const w=g.Resolve(M);return p.Map(this.Discard(u.Type(k),["$id",t.Transform]),x=>{i.IsArray(x.required)&&(x.required=x.required.filter(T=>!w.includes(T)),x.required.length===0&&delete x.required);for(const T of Object.getOwnPropertyNames(x.properties))w.includes(T)&&delete x.properties[T];return this.Create(x)},_)}Partial(k,M={}){return p.Map(this.Discard(u.Type(k),["$id",t.Transform]),_=>{const w=Object.getOwnPropertyNames(_.properties).reduce((x,T)=>({...x,[T]:this.Optional(_.properties[T])}),{});return this.Object(w,this.Discard(_,["required"]))},M)}Pick(k,M,_={}){const w=g.Resolve(M);return p.Map(this.Discard(u.Type(k),["$id",t.Transform]),x=>{i.IsArray(x.required)&&(x.required=x.required.filter(T=>w.includes(T)),x.required.length===0&&delete x.required);for(const T of Object.getOwnPropertyNames(x.properties))w.includes(T)||delete x.properties[T];return this.Create(x)},_)}Record(k,M,_={}){return s.TTemplateLiteral(k)?(()=>{const w=E.ParseExact(k.pattern);return L.Check(w)?this.Object([...F.Generate(w)].reduce((x,T)=>({...x,[T]:u.Type(M)}),{}),_):this.Create({..._,[t.Kind]:"Record",type:"object",patternProperties:{[k.pattern]:u.Type(M)}})})():s.TUnion(k)?(()=>{const w=b.Resolve(k);if(s.TUnionLiteral(w)){const x=w.anyOf.reduce((T,I)=>({...T,[I.const]:u.Type(M)}),{});return this.Object(x,{..._,[t.Hint]:"Record"})}else this.Throw("Record key of type union contains non-literal types")})():s.TLiteral(k)?i.IsString(k.const)||i.IsNumber(k.const)?this.Object({[k.const]:u.Type(M)},_):this.Throw("Record key of type literal is not of type string or number"):s.TInteger(k)||s.TNumber(k)?this.Create({..._,[t.Kind]:"Record",type:"object",patternProperties:{[t.PatternNumberExact]:u.Type(M)}}):s.TString(k)?(()=>{const w=i.IsUndefined(k.pattern)?t.PatternStringExact:k.pattern;return this.Create({..._,[t.Kind]:"Record",type:"object",patternProperties:{[w]:u.Type(M)}})})():this.Never()}Recursive(k,M={}){i.IsUndefined(M.$id)&&(M.$id=`T${ee++}`);const _=k({[t.Kind]:"This",$ref:`${M.$id}`});return _.$id=M.$id,this.Create({...M,[t.Hint]:"Recursive",..._})}Ref(k,M={}){return i.IsString(k)?this.Create({...M,[t.Kind]:"Ref",$ref:k}):(i.IsUndefined(k.$id)&&this.Throw("Reference target type must specify an $id"),this.Create({...M,[t.Kind]:"Ref",$ref:k.$id}))}Required(k,M={}){return p.Map(this.Discard(u.Type(k),["$id",t.Transform]),_=>{const w=Object.getOwnPropertyNames(_.properties).reduce((x,T)=>({...x,[T]:this.Discard(_.properties[T],[t.Optional])}),{});return this.Object(w,_)},M)}Rest(k){return s.TTuple(k)&&!i.IsUndefined(k.items)?u.Rest(k.items):s.TIntersect(k)?u.Rest(k.allOf):s.TUnion(k)?u.Rest(k.anyOf):[]}String(k={}){return this.Create({...k,[t.Kind]:"String",type:"string"})}TemplateLiteral(k,M={}){const _=i.IsString(k)?j.Create(B.Parse(k)):j.Create(k);return this.Create({...M,[t.Kind]:"TemplateLiteral",type:"string",pattern:_})}Transform(k){return new D(k)}Tuple(k,M={}){const[_,w,x]=[!1,k.length,k.length],T=u.Rest(k),I=k.length>0?{...M,[t.Kind]:"Tuple",type:"array",items:T,additionalItems:_,minItems:w,maxItems:x}:{...M,[t.Kind]:"Tuple",type:"array",minItems:w,maxItems:x};return this.Create(I)}Uncapitalize(k,M={}){return{...h.Map(u.Type(k),"Uncapitalize"),...M}}Union(k,M={}){return s.TTemplateLiteral(k)?$.Resolve(k):(()=>{const _=k;if(_.length===0)return this.Never(M);if(_.length===1)return this.Create(u.Type(_[0],M));const w=u.Rest(_);return this.Create({...M,[t.Kind]:"Union",anyOf:w})})()}Unknown(k={}){return this.Create({...k,[t.Kind]:"Unknown"})}Unsafe(k={}){return this.Create({...k,[t.Kind]:k[t.Kind]||"Unsafe"})}Uppercase(k,M={}){return{...h.Map(u.Type(k),"Uppercase"),...M}}}t.JsonTypeBuilder=U;class G extends U{AsyncIterator(k,M={}){return this.Create({...M,[t.Kind]:"AsyncIterator",type:"AsyncIterator",items:u.Type(k)})}Awaited(k,M={}){const _=w=>w.length>0?(()=>{const[x,...T]=w;return[this.Awaited(x),..._(T)]})():w;return s.TIntersect(k)?t.Type.Intersect(_(k.allOf)):s.TUnion(k)?t.Type.Union(_(k.anyOf)):s.TPromise(k)?this.Awaited(k.item):u.Type(k,M)}BigInt(k={}){return this.Create({...k,[t.Kind]:"BigInt",type:"bigint"})}ConstructorParameters(k,M={}){return this.Tuple([...k.parameters],{...M})}Constructor(k,M,_){const[w,x]=[u.Rest(k),u.Type(M)];return this.Create({..._,[t.Kind]:"Constructor",type:"Constructor",parameters:w,returns:x})}Date(k={}){return this.Create({...k,[t.Kind]:"Date",type:"Date"})}Function(k,M,_){const[w,x]=[u.Rest(k),u.Type(M)];return this.Create({..._,[t.Kind]:"Function",type:"Function",parameters:w,returns:x})}InstanceType(k,M={}){return u.Type(k.returns,M)}Iterator(k,M={}){return this.Create({...M,[t.Kind]:"Iterator",type:"Iterator",items:u.Type(k)})}Parameters(k,M={}){return this.Tuple(k.parameters,{...M})}Promise(k,M={}){return this.Create({...M,[t.Kind]:"Promise",type:"Promise",item:u.Type(k)})}RegExp(k,M={}){const _=i.IsString(k)?k:k.source;return this.Create({...M,[t.Kind]:"String",type:"string",pattern:_})}RegEx(k,M={}){return this.RegExp(k,M)}ReturnType(k,M={}){return u.Type(k.returns,M)}Symbol(k){return this.Create({...k,[t.Kind]:"Symbol",type:"symbol"})}Undefined(k={}){return this.Create({...k,[t.Kind]:"Undefined",type:"undefined"})}Uint8Array(k={}){return this.Create({...k,[t.Kind]:"Uint8Array",type:"Uint8Array"})}Void(k={}){return this.Create({...k,[t.Kind]:"Void",type:"void"})}}t.JavaScriptTypeBuilder=G,t.JsonType=new U,t.Type=new G})(C);const QL=C.Type.Object({prefix:C.Type.Optional(C.Type.String()),suffix:C.Type.Optional(C.Type.String()),volume:C.Type.Optional(C.Type.Number())}),Sx=C.Type.Object({soundOnNewLine:C.Type.Optional(C.Type.String()),soundPerLetter:C.Type.Optional(QL)}),YL=C.Type.Object({defaultAudio:C.Type.Optional(Sx),characterAudio:C.Type.Optional(C.Type.Record(C.Type.String(),Sx))}),XL=C.Type.Object({src:C.Type.String(),path:C.Type.Optional(C.Type.String()),volume:C.Type.Optional(C.Type.Number()),rate:C.Type.Optional(C.Type.Number()),html5:C.Type.Optional(C.Type.Boolean()),fadeInTime:C.Type.Optional(C.Type.Number()),fadeInDelay:C.Type.Optional(C.Type.Number()),fadeOutTime:C.Type.Optional(C.Type.Number()),loop:C.Type.Optional(C.Type.Boolean())}),ZL=C.Type.Record(C.Type.String(),XL),e7=C.Type.Object({volume:C.Type.Optional(C.Type.Number()),defaultMusic:C.Type.Optional(C.Type.String()),musicFadeInTime:C.Type.Optional(C.Type.Number()),musicFadeOutTime:C.Type.Optional(C.Type.Number()),musicFadeInDelay:C.Type.Optional(C.Type.Number())}),t7=C.Type.Record(C.Type.String(),C.Type.String()),kx=C.Type.Object({files:ZL,audioTriggers:t7,options:e7,dialogAudio:C.Type.Optional(YL)}),$x={files:{},audioTriggers:{},options:{volume:1,musicFadeInTime:.5,musicFadeInDelay:.5,musicFadeOutTime:.5}},xx=C.Type.Object({backgrounds:C.Type.Object({width:C.Type.Number(),height:C.Type.Number()}),dialogBottomPadding:C.Type.Union([C.Type.Number(),C.Type.String()]),minTextWidth:C.Type.Optional(C.Type.Number()),verticalLayoutThreshold:C.Type.Number(),defaultFontSize:C.Type.Optional(C.Type.Number()),portraits:C.Type.Object({width:C.Type.Number(),height:C.Type.Number(),offset:C.Type.Optional(C.Type.Object({landscape:C.Type.Optional(C.Type.Object({right:C.Type.Number(),bottom:C.Type.Number()})),portrait:C.Type.Optional(C.Type.Object({right:C.Type.Number(),bottom:C.Type.Number()}))}))})}),n7={backgrounds:{width:880,height:720},dialogBottomPadding:70,verticalLayoutThreshold:600,defaultFontSize:16,portraits:{width:100,height:100}},Op=C.Type.Object({name:C.Type.String(),description:C.Type.Optional(C.Type.String())}),r7=C.Type.Intersect([Op,C.Type.Object({type:C.Type.Literal("number"),defaultValue:C.Type.Number(),step:C.Type.Number(),minValue:C.Type.Number(),maxValue:C.Type.Number()})]),i7=C.Type.Intersect([Op,C.Type.Object({type:C.Type.Literal("integer"),defaultValue:C.Type.Number(),step:C.Type.Number(),minValue:C.Type.Number(),maxValue:C.Type.Number()})]),o7=C.Type.Intersect([Op,C.Type.Object({type:C.Type.Literal("boolean"),defaultValue:C.Type.Boolean()})]),s7=C.Type.Intersect([Op,C.Type.Object({type:C.Type.Literal("string"),defaultValue:C.Type.String()})]),a7=C.Type.Union([r7,i7,o7,s7]);function l7(t){return t.type==="number"}function jx(t){return t.type==="integer"}function c7(t){return t.type==="boolean"}function u7(t){return t.type==="string"}const _x=C.Type.Object({customSettings:C.Type.Optional(C.Type.Record(C.Type.String(),a7))});var ul=(t=>(t[t.ERROR=3]="ERROR",t[t.WARN=2]="WARN",t[t.INFO=1]="INFO",t[t.DEBUG=0]="DEBUG",t[t.NONE=-1]="NONE",t))(ul||{});const Ep="###_--_~=:;_JUMP",uy="###_--_~=:;_RETURN",f7="###_--_~=:;_OK",Ap="###_--_~=:;_STOP";function d7(t){return t===Ep||t===uy||t===f7||t===Ap}const h7="3.14.2",p7=new Date("2024-08-30T14:51:38.184Z"),Cx={branch:"main",commit:"b90a14fb06e9bb5225649dbaaac96ff8024af9d5"},m7=ul.WARN,g7=400,Pp=20,Mp="@empty",Tx={background:Mp},v7=C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Union([C.Type.String(),C.Type.Boolean()]))),Ox=C.Type.Optional(C.Type.Object({animateText:C.Type.Optional(C.Type.Boolean()),textSpeed:C.Type.Optional(C.Type.Number()),timeBetweenLines:C.Type.Optional(C.Type.Number()),overlayMode:C.Type.Optional(C.Type.Boolean()),rightOffset:C.Type.Optional(C.Type.Number()),bottomOffset:C.Type.Optional(C.Type.Number()),width:C.Type.Optional(C.Type.Number()),height:C.Type.Optional(C.Type.Number()),hideDuringTransition:C.Type.Optional(C.Type.Boolean()),historyLength:C.Type.Optional(C.Type.Number()),allowHistoryToggling:C.Type.Optional(C.Type.Boolean()),showAfterScriptEnd:C.Type.Optional(C.Type.Boolean())})),Ex=C.Type.Object({engineSplashScreen:C.Type.Optional(C.Type.Object({skip:C.Type.Optional(C.Type.Boolean()),fadeDuration:C.Type.Optional(C.Type.Number()),timeBeforeFadeout:C.Type.Optional(C.Type.Number()),overrideText:C.Type.Optional(C.Type.String()),overrideLogo:C.Type.Optional(C.Type.String())})),gameSplashScreen:C.Type.Optional(C.Type.Object({startButtonText:C.Type.Optional(C.Type.String())}))}),Ax=C.Type.Object({timeOnScreen:C.Type.Number(),alsoPrintInDialogue:C.Type.Optional(C.Type.Boolean())}),y7=C.Type.Object({name:C.Type.String(),icon:C.Type.String(),startingValue:C.Type.Number(),maxValue:C.Type.Optional(C.Type.Number()),minValue:C.Type.Optional(C.Type.Number()),decimals:C.Type.Optional(C.Type.Number()),prefix:C.Type.Optional(C.Type.String()),suffix:C.Type.Optional(C.Type.String()),hideName:C.Type.Optional(C.Type.Boolean()),formatting:C.Type.Optional(C.Type.Object({style:C.Type.Union([C.Type.Literal("decimal"),C.Type.Literal("currency"),C.Type.Literal("percent"),C.Type.Literal("unit")]),currency:C.Type.Optional(C.Type.String()),unit:C.Type.Optional(C.Type.String())}))}),Px=C.Type.Record(C.Type.String(),y7),Mx=C.Type.Record(C.Type.String(),C.Type.Object({onlyInteractOutsideOfScripts:C.Type.Optional(C.Type.Boolean())})),b7=C.Type.Object({delay:C.Type.Optional(C.Type.Number()),duration:C.Type.Optional(C.Type.Number())}),Nx=C.Type.Record(C.Type.String(),b7),w7=C.Type.Object({text:C.Type.String(),cssClass:C.Type.Optional(C.Type.String())}),Ix=C.Type.Record(C.Type.String(),w7),Rx=C.Type.Object({showScriptFinishedMessage:C.Type.Optional(C.Type.Boolean())}),Dx=C.Type.Object({mode:C.Type.String(),slots:C.Type.Number(),runOnReload:C.Type.Optional(C.Type.String()),disabled:C.Type.Optional(C.Type.Boolean()),autosaveDisabledOnLabels:C.Type.Optional(C.Type.Array(C.Type.String())),autosaveFeedback:C.Type.Optional(C.Type.Object({enabled:C.Type.Boolean(),text:C.Type.Optional(C.Type.String()),backgroundImage:C.Type.Optional(C.Type.String()),foregroundImage:C.Type.Optional(C.Type.String()),duration:C.Type.Number()})),allowManualSave:C.Type.Optional(C.Type.Boolean())}),S7=C.Type.Object({allowFullscreen:C.Type.Optional(C.Type.Boolean())}),Lx=C.Type.Array(C.Type.String()),k7=[],$7=C.Type.Object({startMenuScene:C.Type.Optional(C.Type.String()),gameScene:C.Type.Optional(C.Type.String()),gameSplashScene:C.Type.Optional(C.Type.String())}),Bx=C.Type.Object({baseAssetsPath:C.Type.Optional(C.Type.String()),baseDataPath:C.Type.Optional(C.Type.String()),gameTitle:C.Type.String(),saveFileName:C.Type.String(),images:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.String())),layout:xx,settings:C.Type.Optional(_x),graphics:C.Type.Optional(S7),gameFlow:C.Type.Optional(C.Type.Object({labelToJumpOnScriptEnd:C.Type.Optional(C.Type.String())})),dialogPanel:C.Type.Optional(Ox),splashScreens:C.Type.Optional(Ex),notifications:C.Type.Optional(Ax),hudStats:Px,interactionTags:C.Type.Optional(Mx),transitions:C.Type.Optional(Nx),menuButtons:C.Type.Optional(Ix),debugging:C.Type.Optional(Rx),saves:C.Type.Optional(Dx),hotkeys:v7,scenes:C.Type.Optional($7)}),fy={baseAssetsPath:"",baseDataPath:"",gameTitle:"Narrat Game",saveFileName:"narrat save",images:{},layout:n7,settings:{},graphics:{},gameFlow:{},dialogPanel:{overlayMode:!0,rightOffset:100,bottomOffset:50,width:475,height:680,textSpeed:Pp,animateText:!0,timeBetweenLines:100,hideDuringTransition:!1,showAfterScriptEnd:!1},splashScreens:{},notifications:{timeOnScreen:2.5,alsoPrintInDialogue:!1},hudStats:{},interactionTags:{default:{onlyInteractOutsideOfScripts:!0}},transitions:{},menuButtons:{},debugging:{showScriptFinishedMessage:!1},saves:{mode:"manual",slots:10},hotkeys:{},scenes:{}},x7=C.Type.Object({name:C.Type.String(),description:C.Type.String(),icon:C.Type.String(),onUse:C.Type.Optional(C.Type.Object({action:C.Type.String(),label:C.Type.String()})),tag:C.Type.Optional(C.Type.String()),category:C.Type.Optional(C.Type.String()),showIfEmpty:C.Type.Optional(C.Type.Boolean())}),Fx=C.Type.Object({id:C.Type.String(),title:C.Type.String()}),Vx=C.Type.Record(C.Type.String(),x7);C.Type.Object({categories:C.Type.Array(Fx),items:Vx});const zx=C.Type.Object({categories:C.Type.Optional(C.Type.Array(Fx)),items:C.Type.Optional(Vx)}),qx={categories:[{id:"default",title:"Items"}],items:{}},j7=C.Type.Object({description:C.Type.String(),succeededDescription:C.Type.Optional(C.Type.String()),failedDescription:C.Type.Optional(C.Type.String()),hidden:C.Type.Optional(C.Type.Boolean())}),_7=C.Type.Object({title:C.Type.String(),description:C.Type.String(),succeededDescription:C.Type.Optional(C.Type.String()),failedDescription:C.Type.Optional(C.Type.String()),endings:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Object({success:C.Type.Boolean(),description:C.Type.String()}))),objectives:C.Type.Record(C.Type.String(),j7),category:C.Type.Optional(C.Type.String())}),C7=C.Type.Object({id:C.Type.String(),title:C.Type.String()}),T7=C.Type.Record(C.Type.String(),_7),Ux=C.Type.Object({quests:T7,categories:C.Type.Array(C7)}),Hx={quests:{},categories:[{id:"default",title:"Quests"}]},Wx=C.Type.Object({enabled:C.Type.Boolean(),background:C.Type.Optional(C.Type.String()),text:C.Type.Optional(C.Type.String()),cssClass:C.Type.Optional(C.Type.String()),position:C.Type.Object({left:C.Type.Number(),top:C.Type.Number(),width:C.Type.Optional(C.Type.Number()),height:C.Type.Optional(C.Type.Number())}),anchor:C.Type.Optional(C.Type.Object({x:C.Type.Number(),y:C.Type.Number()})),action:C.Type.Optional(C.Type.String()),actionType:C.Type.Optional(C.Type.String()),scriptClickable:C.Type.Optional(C.Type.Boolean()),tag:C.Type.Optional(C.Type.String())}),O7=C.Type.Record(C.Type.String(),Wx),Kx=C.Type.Object({buttons:O7,clickableDuringScriptsByDefault:C.Type.Optional(C.Type.Boolean())}),Gx={buttons:{},clickableDuringScriptsByDefault:!1},E7=C.Type.Intersect([Wx,C.Type.Object({id:C.Type.String()})]),A7=C.Type.Object({muted:C.Type.Optional(C.Type.Boolean()),loop:C.Type.Optional(C.Type.Boolean())}),P7=C.Type.Object({background:C.Type.String(),video:C.Type.Optional(A7),buttons:C.Type.Optional(C.Type.Array(C.Type.Union([C.Type.String(),E7])))}),Jx=C.Type.Record(C.Type.String(),P7);C.Type.Object({screens:Jx});const Qx=C.Type.Object({screens:C.Type.Optional(Jx)}),Yx={screens:{}},M7=C.Type.Object({name:C.Type.String(),description:C.Type.String(),startingLevel:C.Type.Number(),hidden:C.Type.Optional(C.Type.Boolean()),icon:C.Type.String()}),Xx=C.Type.Record(C.Type.String(),M7),Zx=C.Type.Object({xpPerLevel:C.Type.Number(),notifyLevelUp:C.Type.Boolean()});C.Type.Object({skills:Xx,skillOptions:Zx});const ej=C.Type.Object({skills:C.Type.Optional(Xx),skillOptions:C.Type.Optional(Zx)}),tj={skills:{},skillOptions:{xpPerLevel:10,notifyLevelUp:!0}},N7=C.Type.Object({portraitCssClass:C.Type.Optional(C.Type.String()),color:C.Type.Optional(C.Type.String()),boxCss:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Any())),nameCss:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Any())),textCss:C.Type.Optional(C.Type.Record(C.Type.String(),C.Type.Any()))}),I7=C.Type.Object({video:C.Type.String(),autoplay:C.Type.Optional(C.Type.Boolean()),loop:C.Type.Optional(C.Type.Boolean()),muted:C.Type.Optional(C.Type.Boolean()),width:C.Type.Optional(C.Type.Number()),height:C.Type.Optional(C.Type.Number())}),R7=C.Type.Object({image:C.Type.String(),width:C.Type.Optional(C.Type.Number()),height:C.Type.Optional(C.Type.Number())}),D7=C.Type.Union([C.Type.String(),I7,R7]),L7=C.Type.Object({sprites:C.Type.Optional(C.Type.Record(C.Type.String(),D7)),name:C.Type.String(),style:C.Type.Optional(N7)}),nj=C.Type.Object({config:C.Type.Object({imagesPath:C.Type.String(),playerCharacter:C.Type.Optional(C.Type.String()),gameCharacter:C.Type.Optional(C.Type.String())}),characters:C.Type.Record(C.Type.String(),L7)}),rj={config:{imagesPath:"",playerCharacter:"player",gameCharacter:"game"},characters:{}},ij=C.Type.Object({cssClass:C.Type.Optional(C.Type.String()),textCssClass:C.Type.Optional(C.Type.String()),titleCssClass:C.Type.Optional(C.Type.String())}),oj=C.Type.Object({options:C.Type.Object({delay:C.Type.Optional(C.Type.Number()),width:C.Type.Number(),keywordsPrefix:C.Type.String(),screenEdgesMinimumMargin:C.Type.Optional(C.Type.Number()),styling:C.Type.Optional(ij)}),tooltips:C.Type.Array(C.Type.Object({keywords:C.Type.Array(C.Type.String()),title:C.Type.String(),description:C.Type.String(),styling:C.Type.Optional(ij)}))}),sj={options:{delay:0,width:350,keywordsPrefix:"@@"},tooltips:[]},B7=C.Type.Object({name:C.Type.String(),description:C.Type.String(),icon:C.Type.Optional(C.Type.String()),lockedIcon:C.Type.Optional(C.Type.String()),secret:C.Type.Optional(C.Type.Boolean()),category:C.Type.Optional(C.Type.String())}),aj=C.Type.Object({id:C.Type.String(),title:C.Type.String()}),lj=C.Type.Record(C.Type.String(),B7);C.Type.Object({defaultAchievementIcon:C.Type.String(),categories:C.Type.Array(aj),achievements:lj,notifyNewAchievements:C.Type.Boolean(),secretAchievements:C.Type.Optional(C.Type.Object({censorDescription:C.Type.Optional(C.Type.Boolean()),censorName:C.Type.Optional(C.Type.Boolean()),hideUntilObtained:C.Type.Optional(C.Type.Boolean())}))});const cj=C.Type.Object({categories:C.Type.Optional(C.Type.Array(aj)),achievements:C.Type.Optional(lj)}),uj={categories:[{id:"default",title:"Achievements"}],achievements:{},notifyNewAchievements:!0,defaultAchievementIcon:"img/achievements/trophy.png"},F7=C.Type.Object({diceRange:C.Type.Tuple([C.Type.Number(),C.Type.Number()]),diceCount:C.Type.Number(),difficultyText:C.Type.Array(C.Type.Tuple([C.Type.Number(),C.Type.String()])),extraPointsPerLevel:C.Type.Number(),extraDicePerLevel:C.Type.Optional(C.Type.Number()),successOnRollsBelowThreshold:C.Type.Boolean(),showDifficultyText:C.Type.Boolean(),showDifficultyNumber:C.Type.Boolean(),showDifficultyWithoutModifiers:C.Type.Boolean(),finalRollIsHighest:C.Type.Optional(C.Type.Boolean()),finalRollIsLowest:C.Type.Optional(C.Type.Boolean()),failOnRollsEqualToThreshold:C.Type.Optional(C.Type.Boolean())}),V7=C.Type.Object({skill:C.Type.String(),difficulty:C.Type.Number(),winsNeeded:C.Type.Optional(C.Type.Number()),hideAfterRoll:C.Type.Optional(C.Type.Boolean()),repeatable:C.Type.Optional(C.Type.Boolean())}),fj=C.Type.Object({options:F7,skillChecks:C.Type.Record(C.Type.String(),V7)}),dj={options:{diceRange:[1,6],extraPointsPerLevel:1,extraDicePerLevel:0,diceCount:2,successOnRollsBelowThreshold:!1,showDifficultyText:!0,showDifficultyNumber:!1,showDifficultyWithoutModifiers:!1,finalRollIsHighest:!1,finalRollIsLowest:!1,difficultyText:[[2,"Very Easy"],[4,"Easy"],[6,"Medium"],[8,"Hard"],[10,"Very Hard"],[11,"Extremely Hard"],[12,"Near Impossible"]]},skillChecks:{}},z7=C.Type.Object({cssClass:C.Type.Optional(C.Type.String()),textTemplate:C.Type.Optional(C.Type.String())}),hj=C.Type.Record(C.Type.String(),z7);C.Type.Object({choiceTextTemplate:C.Type.String(),choicePrompts:hj});const pj=C.Type.Object({choiceTextTemplate:C.Type.Optional(C.Type.String()),choicePrompts:C.Type.Optional(hj)}),mj={choicePrompts:{},choiceTextTemplate:'<span class="choice-index">%{$index}. </span> <span class="choice-text">%{$choice}</span>'},gj=C.Type.Object({delay:C.Type.Optional(C.Type.Number()),direction:C.Type.Optional(C.Type.String()),duration:C.Type.Optional(C.Type.Number()),easing:C.Type.Optional(C.Type.String()),endDelay:C.Type.Optional(C.Type.Number()),fill:C.Type.Optional(C.Type.String()),iterationStart:C.Type.Optional(C.Type.Number()),iterations:C.Type.Optional(C.Type.Number()),keyframes:C.Type.Optional(C.Type.Any())}),dy=C.Type.Array(C.Type.Any()),q7=C.Type.Object({keyframes:C.Type.Union([C.Type.String(),dy]),options:C.Type.Optional(gj)});C.Type.Object({keyframes:dy,options:C.Type.Optional(gj)});const vj=C.Type.Object({animations:C.Type.Record(C.Type.String(),q7),keyframes:C.Type.Record(C.Type.String(),dy)}),yj={animations:{},keyframes:{}},U7=C.Type.Object({name:C.Type.String(),type:C.Type.String(),optional:C.Type.Optional(C.Type.Boolean())}),H7=C.Type.Object({keyword:C.Type.String(),label:C.Type.String(),options:C.Type.Optional(C.Type.Array(U7))}),bj=C.Type.Object({macros:C.Type.Array(H7)}),wj={macros:[]},hy=C.Type.Object({assets:C.Type.Record(C.Type.String(),C.Type.String())}),Sj=C.Type.Object({images:C.Type.Optional(hy),audio:C.Type.Optional(hy),video:C.Type.Optional(hy)}),kj={images:{assets:{}},audio:{assets:{}},video:{assets:{}}},mu={common:fy,screens:Yx,buttons:Gx,skills:tj,skillChecks:dj,scripts:[],audio:$x,tooltips:sj,achievements:uj,items:qx,quests:Hx,characters:rj,choices:mj,animations:yj,macros:wj,preload:kj};var W7=function(e){return K7(e)&&!G7(e)};function K7(t){return!!t&&typeof t=="object"}function G7(t){var e=Object.prototype.toString.call(t);return e==="[object RegExp]"||e==="[object Date]"||Y7(t)}var J7=typeof Symbol=="function"&&Symbol.for,Q7=J7?Symbol.for("react.element"):60103;function Y7(t){return t.$$typeof===Q7}function X7(t){return Array.isArray(t)?[]:{}}function fd(t,e){return e.clone!==!1&&e.isMergeableObject(t)?gu(X7(t),t,e):t}function Z7(t,e,n){return t.concat(e).map(function(r){return fd(r,n)})}function eB(t,e){if(!e.customMerge)return gu;var n=e.customMerge(t);return typeof n=="function"?n:gu}function tB(t){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[]}function $j(t){return Object.keys(t).concat(tB(t))}function xj(t,e){try{return e in t}catch{return!1}}function nB(t,e){return xj(t,e)&&!(Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))}function rB(t,e,n){var r={};return n.isMergeableObject(t)&&$j(t).forEach(function(i){r[i]=fd(t[i],n)}),$j(e).forEach(function(i){nB(t,i)||(xj(t,i)&&n.isMergeableObject(e[i])?r[i]=eB(i,n)(t[i],e[i],n):r[i]=fd(e[i],n))}),r}function gu(t,e,n){n=n||{},n.arrayMerge=n.arrayMerge||Z7,n.isMergeableObject=n.isMergeableObject||W7,n.cloneUnlessOtherwiseSpecified=fd;var r=Array.isArray(e),i=Array.isArray(t),o=r===i;return o?r?n.arrayMerge(t,e,n):rB(t,e,n):fd(e,n)}gu.all=function(e,n){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(r,i){return gu(r,i,n)},{})};var iB=gu,oB=iB;const ic=bp(oB),Ur=Lr("config",{state:()=>({config:mu,configModules:{}}),actions:{async setConfig(t){this.config=t},extendConfig(t){this.config=ic(this.config,t)},generateSaveData(){return{playerCharacter:this.playerCharacter,gameCharacter:this.gameCharacter}},addConfigModule(t,e){this.configModules[t]=e},findConfigModuleKey(t){const e=Object.keys(this.configModules).find(n=>this.configModules[n].id===t.id);if(e)return e},reloadConfigModule(t,e){this.configModules[t].code=e,this.config[t]=e},loadSaveData(t){this.config.characters.config.playerCharacter=t.playerCharacter,this.config.characters.config.gameCharacter=t.gameCharacter}},getters:{playerCharacter(){return this.config.characters.config.playerCharacter??"player"},gameCharacter(){return this.config.characters.config.gameCharacter??"game"}}});function jj(t){const e=Rr(),n=e.getSkillCheck(t.id);if(n&&n.happened&&(n.succeeded||!t.repeatable))return n;const r=JL(t);return _j(HL(r,t)),r?e.passSkillCheck(t.id,t.hideAfterRoll):e.failSkillCheck(t.id,t.hideAfterRoll),e.getSkillCheck(t.id)}function sB(t,e=[]){const n=t.options,r=t.staticOptions,i=!!n.condition;if(i)return r.success;if(!i){for(const[o,s]of r.elseifs.entries())if(e[o]===!0)return s.branch}if(!i&&r.failure)return r.failure}function py(t){return typeof t=="object"}function my(t){return typeof t=="string"&&t.search(/\$/)===0}function _j(t){const e={speaker:Ur().gameCharacter,text:t,interactive:!1};qn().addDialog(e)}async function Np(t){qn().addDialog(t)}function aB(t,e){if(e<t.length)return t[e]}/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Cj(t){return typeof t>"u"||t===null}function lB(t){return typeof t=="object"&&t!==null}function cB(t){return Array.isArray(t)?t:Cj(t)?[]:[t]}function uB(t,e){var n,r,i,o;if(e)for(o=Object.keys(e),n=0,r=o.length;n<r;n+=1)i=o[n],t[i]=e[i];return t}function fB(t,e){var n="",r;for(r=0;r<e;r+=1)n+=t;return n}function dB(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}var hB=Cj,pB=lB,mB=cB,gB=fB,vB=dB,yB=uB,Jr={isNothing:hB,isObject:pB,toArray:mB,repeat:gB,isNegativeZero:vB,extend:yB};function Tj(t,e){var n="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(n+='in "'+t.mark.name+'" '),n+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(n+=`
39
39
 
40
40
  `+t.mark.snippet),r+" "+n):r}function dd(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=Tj(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}dd.prototype=Object.create(Error.prototype),dd.prototype.constructor=dd,dd.prototype.toString=function(e){return this.name+": "+Tj(this,e)};var Wi=dd;function gy(t,e,n,r,i){var o="",s="",a=Math.floor(i/2)-1;return r-e>a&&(o=" ... ",e=r-a+o.length),n-r>a&&(s=" ...",n=r+a-s.length),{str:o+t.slice(e,n).replace(/\t/g,"→")+s,pos:r-e+o.length}}function vy(t,e){return Jr.repeat(" ",e-t.length)+t}function bB(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var n=/\r?\n|\r|\0/g,r=[0],i=[],o,s=-1;o=n.exec(t.buffer);)i.push(o.index),r.push(o.index+o[0].length),t.position<=o.index&&s<0&&(s=r.length-2);s<0&&(s=r.length-1);var a="",l,c,f=Math.min(t.line+e.linesAfter,i.length).toString().length,u=e.maxLength-(e.indent+f+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)c=gy(t.buffer,r[s-l],i[s-l],t.position-(r[s]-r[s-l]),u),a=Jr.repeat(" ",e.indent)+vy((t.line-l+1).toString(),f)+" | "+c.str+`
41
41
  `+a;for(c=gy(t.buffer,r[s],i[s],t.position,u),a+=Jr.repeat(" ",e.indent)+vy((t.line+1).toString(),f)+" | "+c.str+`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "narrat",
3
- "version": "3.14.1",
3
+ "version": "3.14.2",
4
4
  "description": "narrat narrative engine",
5
5
  "main": "dist/narrat.umd.js",
6
6
  "module": "dist/narrat.es.js",