narrat 3.6.2-beta.1 → 3.6.2-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/narrat.es.js +1 -1
- package/dist/narrat.umd.js +1 -1
- package/package.json +1 -1
package/dist/narrat.es.js
CHANGED
|
@@ -41721,7 +41721,7 @@ const hB = D.Type.Object({
|
|
|
41721
41721
|
function Zme(e) {
|
|
41722
41722
|
return e === Bg || e === b2 || e === Xme || e === zg;
|
|
41723
41723
|
}
|
|
41724
|
-
const ege = "3.6.2-beta.
|
|
41724
|
+
const ege = "3.6.2-beta.3", tge = /* @__PURE__ */ new Date("2023-10-28T16:44:38.144Z"), nge = 400, Vg = 20, w2 = "@empty", vI = {
|
|
41725
41725
|
background: w2
|
|
41726
41726
|
}, pB = D.Type.Optional(
|
|
41727
41727
|
D.Type.Object({
|
package/dist/narrat.umd.js
CHANGED
|
@@ -171,7 +171,7 @@ See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.
|
|
|
171
171
|
This will fail in production.`);s=Qh,s._s.has(r)||(i?d_(r,t,o,s):j7(r,o,s),process.env.NODE_ENV!=="production"&&(a._pinia=s));const f=s._s.get(r);if(process.env.NODE_ENV!=="production"&&l){const u="__hot:"+r,d=i?d_(u,t,o,s,!0):j7(u,ua({},o),s,!0);l._hotUpdate(d),delete s.state.value[u],s._s.delete(u)}if(process.env.NODE_ENV!=="production"&&Qg){const u=b.getCurrentInstance();if(u&&u.proxy&&!l){const d=u.proxy,h="_pStores"in d?d._pStores:d._pStores={};h[r]=f}}return f}return a.$id=r,a}function t0(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(){return e(this.$pinia)[r]},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(){const o=e(this.$pinia),i=t[r];return typeof i=="function"?i.call(this,o):o[i]},n),{})}const S7=["music","ambiant","sound"],C7=o_(S7),xo=oo("audio",{state:()=>{const e=new Map;for(const t in C7)e.set(t,{channels:[],options:{volume:1}});return{modes:e,masterVolume:1}},actions:{stopAll(){this.modes.forEach(e=>{e.channels.forEach((t,n)=>{t&&(this.actuallyStopChannel(t),e.channels[n]=null)})})},async stopChannel(e,t){const n=this.getAudioChannel(e,t);if(!n)return;const{fadeOutTime:r}=R0(n.audio);if(this.setAudioChannel(e,t,null),ha().options.musicFadeOutTime){const o=sl(n.audio);o&&o.fade(o.volume(n.howlerId),0,r,n.howlerId),await _i(r)}this.actuallyStopChannel(n)},async pauseChannel(e,t){const n=this.getAudioChannel(e,t);if(!n)return;const r=sl(n.audio);if(!r){At(`Could not find audio ${n.audio}`);return}r.pause(n.howlerId)},async playChannel(e,t,n){Cs.Howler.ctx.state==="suspended"&&(console.warn("Audio context is suspended :o"),Cs.Howler.ctx.resume());const r=this.getAudioChannel(e,n);if(e==="sound")return this.actuallyPlayChannel(e,n,t);r&&r.audio!==t?await this.changeChannel(e,t,n):r&&r.audio===t?await this.resumeChannel(e,n):await this.actuallyPlayChannel(e,n,t)},async resumeChannel(e,t){const n=this.getAudioChannel(e,t);if(!n)return;const r=sl(n.audio);if(!r){At(`Could not find audio ${n.audio}`);return}r.play(n.howlerId)},async changeChannel(e,t,n){this.getAudioChannel(e,n)&&e!=="sound"&&await this.stopChannel(e,n),await this.actuallyPlayChannel(e,n,t)},actuallyStopChannel(e){_me(e.audio,e.howlerId)},getAudioChannel(e,t){return this.modes.get(e).channels[t]||null},setAudioChannel(e,t,n){this.modes.get(e).channels[t]=n},async actuallyPlayChannel(e,t,n){const r=sl(n);if(!r){At(`Could not find audio ${n}`);return}const{fadeInTime:o,fadeInDelay:i}=R0(n),a=this.audioVolume(e,n);if(e!=="sound"){const s=r.play();r.volume(0,s),r.pause(s),this.setAudioChannel(e,t,{audio:n,howlerId:s}),await _i(i);const l=this.getAudioChannel(e,t);l!==null&&l.audio===n&&(r.play(s),r.fade(0,a,o,s))}else if(e==="sound"){const s=r.play();r.volume(a,s),this.setAudioChannel(e,t,{audio:n,howlerId:s})}},reloadAudio(e){for(const t in e.modes){if(t==="sound")continue;const n=t;this.modes.get(n).options=Zn(e.modes[n].options);for(const r in e.modes[n].channels){const o=e.modes[n].channels[r];o&&o.audio&&this.actuallyPlayChannel(n,Number(r),o.audio)}}},stopSound(e){const t=sl(e);t&&t.stop()},generateSaveData(){const e={};for(const t in C7){const n=this.modes.get(t);e[t]={options:Zn(n.options),channels:Zn(n.channels).map(r=>r?{audio:r.audio}:{audio:null})}}return{modes:e,masterVolume:this.masterVolume}},loadSaveData(e){this.masterVolume=e.masterVolume},reset(){this.stopAll()},setModeVolume(e,t){const n=this.modes.get(e);n.options.volume=t;for(const r in n.channels){const o=n.channels[r];if(o){const i=sl(o.audio);i&&i.volume(this.modeVolume(e),o.howlerId)}}},setMasterVolume(e){this.masterVolume=e,Cs.Howler.volume(e)},modeVolume(e){return this.masterVolume*this.modes.get(e).options.volume},audioVolume(e,t){var n;return this.modeVolume(e)*(((n=XV(t))==null?void 0:n.volume)??1)}}}),$7={};Cs.Howler.volume(.5);let h_={};async function kme(e){zi.log("Loading audio");const t=[];Cs.Howler.volume(e.options.volume);for(const n in e.files){const r=e.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!")),t.push(xme(n,e.files[n]))}return e.audioTriggers&&(h_=e.audioTriggers),Promise.all(t)}function lu(e){h_[e]&&xo().playChannel("sound",h_[e],0)}async function xme(e,t){return new Promise((n,r)=>{zi.log(`Loading audio ${t.src}`);const o=new Cs.Howl({...t,src:ui(t.src)});o.load(),$7[e]=o,n()})}function _me(e,t){const n=sl(e);if(!n){du(`Could not find music ${e}`);return}n.stop(t)}function sl(e){return $7[e]}function jme(e){const t=sl(e),{fadeInTime:n}=R0(e),r=t.play(),i=xo().audioVolume("music",e);return t.fade(0,i,n,r),r}async function Sme(e,t){const n=sl(e),{fadeOutTime:r}=R0(e);n.fade(n.volume(t),0,r,t),await _i(r),n.stop(t)}const qf={};async function Cme(e){return qf[e]?qf[e]:T7(e,e)}async function $me(e){zi.log("Loading images");const t=[],n=async(o,i)=>await T7(o,i),r=(o,i)=>{t.push(n(o,i))};for(const o in e.common.images){const i=e.common.images[o];r(o,i)}for(const o in e.screens.screens){const i=e.screens.screens[o];if(i.background&&!e.common.images[i.background]&&!i.video&&r(i.background,i.background),i.buttons)for(const a in i.buttons){const s=i.buttons[a];typeof s=="object"&&s.background&&!e.common.images[s.background]&&r(s.background,s.background)}}return Promise.all(t)}async function T7(e,t){if(qf[e])return qf[e];const n=new Promise((r,o)=>{const i=new Image;i.onload=()=>{qf[e]=i,r(i)},i.onerror=a=>{At(`Failed to load image ${e} at ${t}`,a),o(a)},i.src=ui(t)});return qf[e]=n,n}function cu(){return`${Date.now()}-${Math.floor(Math.random()*1e11)}-${Math.floor(Math.random()*1e11)}`}const O7="3.3.9";function p_(){return`NARRAT_SAVE_${Mt().saveFileName}`}const Tme="gameSave";let io;function ll(){if(io)return io;if(!io){let e=null;try{let t=localStorage.getItem(p_());t||(t=localStorage.getItem(Tme)),t&&(localStorage.setItem(`${p_()}_BACKUP`,t),e=JSON.parse(t)),e&&typeof e=="object"&&e.slots&&e.slots[0]&&e.slots[0].id||(e=null,localStorage.clear())}catch(t){du(`Save file deleted because it was either broken or an outdated format: ${t}`)}e?io=e:io=A7()}return Eme(io),M7(io),Zh(),io}function Ome(){io=A7(),Zh()}function E7(){return{achievements:{achievements:{}},data:{}}}function Eme(e){e.version==="1.4.0"&&(e.globalSave=E7(),e.version="1.5.0"),e.version==="1.5.0"&&(e.version="2.16.0"),e.version==="2.16.0"&&(e.slots.forEach(t=>{t&&t.saveData&&(t.saveData.settings={baseSettings:{textSpeed:30,animateText:!0,fontSize:16},customSettings:{}})}),e.version="2.17.0"),e.version==="2.17.0"&&(e.slots.forEach(t=>{t&&t.saveData&&(t.saveData.config={gameCharacter:"game",playerCharacter:"player"})}),e.version="3.2.3"),e.version==="3.2.3"&&(e.slots.forEach(t=>{t&&t.saveData&&(t.saveData.choices={choices:{}})}),e.version="3.3.8"),e.version==="3.3.8"&&(e.slots.forEach(t=>{t&&t.saveData&&(t.saveData.rendering={dialogPanelMode:"auto"})}),e.version="3.3.9")}function A7(){const e={version:O7,slots:[],globalSave:E7()};return M7(e),e}function M7(e){const t=Mt().saves.slots??10;e.slots.length<1&&(e.slots[0]={slotType:"auto",id:cu(),saveData:null,slotNumber:0}),e.slots[0].slotType="auto";for(let n=1;n<t+1;n++)e.slots.length<=n&&(e.slots[n]={slotNumber:n,slotType:Mt().saves.mode==="manual"?"manual":"auto",id:cu(),saveData:null})}function P7(e,t,n){const r=Pme(n);if(io.slots[r])io.slots[r].saveData=e;else{At(`Tried to save to slot ${n} but it doesn't exist`);return}io.globalSave=t,Zh()}function Ame(e){io.lastSaveSlot=e}function Zh(){localStorage.setItem(p_(),JSON.stringify(io))}function Mme(){const e=io.slots.find(t=>!t.saveData);return e?e.id:!1}function Pme(e){return io.slots.findIndex(t=>t.id===e)}function ep(e){return io.slots.find(t=>t.id===e)}function m_(){return io.slots.find(e=>e.slotType==="auto")}function Nme(e){const t=io.slots.findIndex(n=>n.id===e);io.slots[t].saveData=null,Zh()}function Ime(e,t){const n=ep(e);n&&n.saveData&&(n.saveData.metadata.name=t),Zh()}function Dme(){return{saveDate:new Date().toISOString(),name:"New Save"}}const tp=oo("tooltips",{state:()=>({tooltip:null}),actions:{addCustomTooltip(e){e.title&&(e.title=Ts(e.title)),e.text=Ts(e.text),this.tooltip=e},addTooltip(e,t){const n=z0(e);n&&this.addCustomTooltip({keyword:e,title:n.title,text:n.description,x:(t==null?void 0:t.x)??window.screenX,y:(t==null?void 0:t.y)??window.screenY,width:hc().options.width})},deleteTooltip(){this.tooltip=null}}});function n0(){return window}function Lme(e){const t=hc().options.keywordsPrefix,n=new RegExp(`${t}(\\w*)`,"gi");return e=e.replace(n,Rme),e}n0().onTooltipEnter=(e,t)=>{const n={x:e.clientX,y:e.clientY-20};tp().addTooltip(t,n)},n0().onTooltipLeave=()=>{tp().deleteTooltip()};function Rme(e,t){const n=t.toLowerCase();return z0(n)?`<span class='highlighted-tooltip-keyword'
|
|
172
172
|
onmouseenter="onTooltipEnter(event, '${n}')"
|
|
173
173
|
onmouseleave="onTooltipLeave()">${t}</span>`:n}function N7(e,t,n="$"){return t.replace(/%{[^}]*}/g,r=>{const o=r.substr(2,r.length-3);return v_(e,o,n)})}function Ts(e){const t=cd(),n=N7(t,e,"$");return Lme(n)}function v_(e,t,n){const[r,o]=W0(e,t,n);return r[o]}const I7=/\$\$"/,Bme=e=>typeof e=="string"&&e.search(I7)===0;function Fme(e){let t=null;const n=[],r=/<[^>]*>/g;do t=r.exec(e),t&&n.push(t);while(t);return n}const Yn=oo("dialog",{state:()=>({dialog:[],playMode:"normal"}),actions:{generateSaveData(){return{dialog:Zn(this.dialog)}},loadSaveData(e){this.dialog=e.dialog},addDialog(e){this.dialog.push({...e,interactive:e.interactive??!1,id:cu(),text:Ts(e.text)}),this.dialog.length>200&&this.dialog.shift()},toggleAutoPlay(){this.playMode=this.playMode==="auto"?"normal":"auto"},toggleSkip(){this.playMode=this.playMode==="skip"?"normal":"skip"},clearDialog(){this.dialog.splice(0,this.dialog.length)},reset(){this.dialog=[],this.playMode="normal"}},getters:{currentDialog(){return this.dialog[this.dialog.length-1]}}});function Vme(e,t){return e-t*Cp().options.extraPointsPerLevel}function D7(e,t){const{options:n}=Cp();let r=e;n.showDifficultyWithoutModifiers||(r=Vme(e,t));const o=Cp().options;let i=!1,a=0,s=o.difficultyText[0][1];for(;!i;)o.difficultyText.length>a&&r>=o.difficultyText[a][0]?s=o.difficultyText[a][1]:i=!0,a++;let l="";return n.showDifficultyText&&n.showDifficultyNumber?l=`${s} (${r})`:n.showDifficultyText?l=s:n.showDifficultyNumber&&(l=r.toString()),l}function zme({skill:e,skillCheckId:t,value:n}){const r=Cr(),o=r.getSkillCheck(t),i=q0(e),a=r.skills[e].level,s=D7(n,a);let l=!0,c=`<span class='skill-check'>[<span class='skill-check-name'>${i.name}</span> - `;return o.happened?o.succeeded?c="":(l=!1,c+=` <span class='skill-check-difficulty'>${s}</span> - <span class='skill-check-failed'>FAILED</span>]</span>`):c+=` <span class='skill-check-difficulty'>${s}</span>]</span>`,{difficultyText:c,allowed:l}}function qme(e,t){const n=Cr(),r=q0(t.skill),o=D7(t.difficulty,n.skills[t.skill].level);return`<span class='passive-skill-check skill-check'>[<span class='skill-check-name'>${r.name}</span> - <span class='skill-check-difficulty'>${o}</span> - ${e?'<span class="skill-check-success">Success</span>':'<span class="skill-check-failed">Failure</span>'}]</span>`}function Ume(e){const{options:t}=Cp(),n=Hme(t,e),i=Cr().skills[e].level*t.extraPointsPerLevel;let a=n.reduce((s,l)=>s+l.unmodified,i);return t.finalRollIsHighest?(a=n.reduce((s,l)=>l.modified>s?l.modified:s,0),zi.log(`[SKILL CHECK] Keeping only highest roll: ${a}`)):t.finalRollIsLowest&&(a=n.reduce((s,l)=>l.modified<s?l.modified:s,n[0].modified),zi.log(`[SKILL CHECK] Keeping only lowest roll: ${a}`)),{roll:a,rolls:n}}function Hme(e,t){const r=Cr().skills[t],o=r.level*e.extraPointsPerLevel;let{diceRange:i,diceCount:a}=e;e.extraDicePerLevel&&(a+=e.extraDicePerLevel*r.level);const s=[];for(let l=0;l<a;l++){const c=Wme(i),f=c+o;zi.log(`[SKILL CHECK] Roll ${l+1}/${a}: ${f}. (Base roll: ${c}, modifier: ${o} - Skill level: ${r.level})`),s.push({unmodified:c,modified:f})}return s}function Wme(e){return Math.floor(Math.random()*e[1])+e[0]}function Kme(e){const{skills:t}=Ga(),{roll:n,rolls:r}=Ume(e.skill),o=t[e.skill];let i=!1;if(typeof e.winsNeeded=="number"){const a=r.reduce((s,l)=>(L7(l.modified,e.difficulty)&&s++,s),0);a>=e.winsNeeded&&(i=!0),zi.log(`[SKILL CHECK ${o.name}] - Dice pool mode. ${e.winsNeeded} wins needed. Got ${a} successes.
|
|
174
|
-
(${e.id} - ${a}/${e.winsNeeded} - rolls: ${JSON.stringify(r.map(s=>s.modified))})`)}else i=L7(n,e.difficulty),zi.log(`[SKILL CHECK ${o.name}]: ${i?"✅":"❌"}`,`(${e.id}) - ${n}/${e.difficulty}`);return lu(i?"onSkillCheckSuccess":"onSkillCheckFailure"),i}function L7(e,t){const{options:n}=Cp();let r=e>=t;return n.successOnRollsBelowThreshold&&(r=e<=t),n.failOnRollsEqualToThreshold&&e===t&&(r=!1),r}var B={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Type=e.JsonType=e.JavaScriptTypeBuilder=e.JsonTypeBuilder=e.TypeBuilder=e.TypeBuilderError=e.TransformEncodeBuilder=e.TransformDecodeBuilder=e.TemplateLiteralDslParser=e.TemplateLiteralGenerator=e.TemplateLiteralGeneratorError=e.TemplateLiteralFinite=e.TemplateLiteralFiniteError=e.TemplateLiteralParser=e.TemplateLiteralParserError=e.TemplateLiteralResolver=e.TemplateLiteralPattern=e.TemplateLiteralPatternError=e.UnionResolver=e.KeyArrayResolver=e.KeyArrayResolverError=e.KeyResolver=e.ObjectMap=e.Intrinsic=e.IndexedAccessor=e.TypeClone=e.TypeExtends=e.TypeExtendsResult=e.TypeExtendsError=e.ExtendsUndefined=e.TypeGuard=e.TypeGuardUnknownTypeError=e.ValueGuard=e.FormatRegistry=e.TypeBoxError=e.TypeRegistry=e.PatternStringExact=e.PatternNumberExact=e.PatternBooleanExact=e.PatternString=e.PatternNumber=e.PatternBoolean=e.Kind=e.Hint=e.Optional=e.Readonly=e.Transform=void 0,e.Transform=Symbol.for("TypeBox.Transform"),e.Readonly=Symbol.for("TypeBox.Readonly"),e.Optional=Symbol.for("TypeBox.Optional"),e.Hint=Symbol.for("TypeBox.Hint"),e.Kind=Symbol.for("TypeBox.Kind"),e.PatternBoolean="(true|false)",e.PatternNumber="(0|[1-9][0-9]*)",e.PatternString="(.*)",e.PatternBooleanExact=`^${e.PatternBoolean}$`,e.PatternNumberExact=`^${e.PatternNumber}$`,e.PatternStringExact=`^${e.PatternString}$`;var t;(function(T){const x=new Map;function O(){return new Map(x)}T.Entries=O;function S(){return x.clear()}T.Clear=S;function C(pe){return x.delete(pe)}T.Delete=C;function _(pe){return x.has(pe)}T.Has=_;function R(pe,_e){x.set(pe,_e)}T.Set=R;function Z(pe){return x.get(pe)}T.Get=Z})(t||(e.TypeRegistry=t={}));class n extends Error{constructor(x){super(x)}}e.TypeBoxError=n;var r;(function(T){const x=new Map;function O(){return new Map(x)}T.Entries=O;function S(){return x.clear()}T.Clear=S;function C(pe){return x.delete(pe)}T.Delete=C;function _(pe){return x.has(pe)}T.Has=_;function R(pe,_e){x.set(pe,_e)}T.Set=R;function Z(pe){return x.get(pe)}T.Get=Z})(r||(e.FormatRegistry=r={}));var o;(function(T){function x(_e){return Array.isArray(_e)}T.IsArray=x;function O(_e){return typeof _e=="bigint"}T.IsBigInt=O;function S(_e){return typeof _e=="boolean"}T.IsBoolean=S;function C(_e){return _e===null}T.IsNull=C;function _(_e){return typeof _e=="number"}T.IsNumber=_;function R(_e){return typeof _e=="object"&&_e!==null}T.IsObject=R;function Z(_e){return typeof _e=="string"}T.IsString=Z;function pe(_e){return _e===void 0}T.IsUndefined=pe})(o||(e.ValueGuard=o={}));class i extends n{}e.TypeGuardUnknownTypeError=i;var a;(function(T){function x(z){try{return new RegExp(z),!0}catch{return!1}}function O(z){if(!o.IsString(z))return!1;for(let q=0;q<z.length;q++){const X=z.charCodeAt(q);if(X>=7&&X<=13||X===27||X===127)return!1}return!0}function S(z){return R(z)||he(z)}function C(z){return o.IsUndefined(z)||o.IsBigInt(z)}function _(z){return o.IsUndefined(z)||o.IsNumber(z)}function R(z){return o.IsUndefined(z)||o.IsBoolean(z)}function Z(z){return o.IsUndefined(z)||o.IsString(z)}function pe(z){return o.IsUndefined(z)||o.IsString(z)&&O(z)&&x(z)}function _e(z){return o.IsUndefined(z)||o.IsString(z)&&O(z)}function ke(z){return o.IsUndefined(z)||he(z)}function ue(z){return Ve(z,"Any")&&Z(z.$id)}T.TAny=ue;function Ne(z){return Ve(z,"Array")&&z.type==="array"&&Z(z.$id)&&he(z.items)&&_(z.minItems)&&_(z.maxItems)&&R(z.uniqueItems)&&ke(z.contains)&&_(z.minContains)&&_(z.maxContains)}T.TArray=Ne;function oe(z){return Ve(z,"AsyncIterator")&&z.type==="AsyncIterator"&&Z(z.$id)&&he(z.items)}T.TAsyncIterator=oe;function ye(z){return Ve(z,"BigInt")&&z.type==="bigint"&&Z(z.$id)&&C(z.exclusiveMaximum)&&C(z.exclusiveMinimum)&&C(z.maximum)&&C(z.minimum)&&C(z.multipleOf)}T.TBigInt=ye;function fe(z){return Ve(z,"Boolean")&&z.type==="boolean"&&Z(z.$id)}T.TBoolean=fe;function Fe(z){return Ve(z,"Constructor")&&z.type==="Constructor"&&Z(z.$id)&&o.IsArray(z.parameters)&&z.parameters.every(q=>he(q))&&he(z.returns)}T.TConstructor=Fe;function Y(z){return Ve(z,"Date")&&z.type==="Date"&&Z(z.$id)&&_(z.exclusiveMaximumTimestamp)&&_(z.exclusiveMinimumTimestamp)&&_(z.maximumTimestamp)&&_(z.minimumTimestamp)&&_(z.multipleOfTimestamp)}T.TDate=Y;function Q(z){return Ve(z,"Function")&&z.type==="Function"&&Z(z.$id)&&o.IsArray(z.parameters)&&z.parameters.every(q=>he(q))&&he(z.returns)}T.TFunction=Q;function ve(z){return Ve(z,"Integer")&&z.type==="integer"&&Z(z.$id)&&_(z.exclusiveMaximum)&&_(z.exclusiveMinimum)&&_(z.maximum)&&_(z.minimum)&&_(z.multipleOf)}T.TInteger=ve;function Ae(z){return Ve(z,"Intersect")&&!(o.IsString(z.type)&&z.type!=="object")&&o.IsArray(z.allOf)&&z.allOf.every(q=>he(q)&&!wn(q))&&Z(z.type)&&(R(z.unevaluatedProperties)||ke(z.unevaluatedProperties))&&Z(z.$id)}T.TIntersect=Ae;function Me(z){return Ve(z,"Iterator")&&z.type==="Iterator"&&Z(z.$id)&&he(z.items)}T.TIterator=Me;function Ve(z,q){return xe(z)&&z[e.Kind]===q}T.TKindOf=Ve;function xe(z){return o.IsObject(z)&&e.Kind in z&&o.IsString(z[e.Kind])}T.TKind=xe;function Ie(z){return We(z)&&o.IsString(z.const)}T.TLiteralString=Ie;function qe(z){return We(z)&&o.IsNumber(z.const)}T.TLiteralNumber=qe;function tt(z){return We(z)&&o.IsBoolean(z.const)}T.TLiteralBoolean=tt;function We(z){return Ve(z,"Literal")&&Z(z.$id)&&(o.IsBoolean(z.const)||o.IsNumber(z.const)||o.IsString(z.const))}T.TLiteral=We;function ut(z){return Ve(z,"Never")&&o.IsObject(z.not)&&Object.getOwnPropertyNames(z.not).length===0}T.TNever=ut;function gt(z){return Ve(z,"Not")&&he(z.not)}T.TNot=gt;function Dt(z){return Ve(z,"Null")&&z.type==="null"&&Z(z.$id)}T.TNull=Dt;function jt(z){return Ve(z,"Number")&&z.type==="number"&&Z(z.$id)&&_(z.exclusiveMaximum)&&_(z.exclusiveMinimum)&&_(z.maximum)&&_(z.minimum)&&_(z.multipleOf)}T.TNumber=jt;function En(z){return Ve(z,"Object")&&z.type==="object"&&Z(z.$id)&&o.IsObject(z.properties)&&S(z.additionalProperties)&&_(z.minProperties)&&_(z.maxProperties)&&Object.entries(z.properties).every(([q,X])=>O(q)&&he(X))}T.TObject=En;function Lt(z){return Ve(z,"Promise")&&z.type==="Promise"&&Z(z.$id)&&he(z.item)}T.TPromise=Lt;function jn(z){return Ve(z,"Record")&&z.type==="object"&&Z(z.$id)&&S(z.additionalProperties)&&o.IsObject(z.patternProperties)&&(q=>{const X=Object.getOwnPropertyNames(q.patternProperties);return X.length===1&&x(X[0])&&o.IsObject(q.patternProperties)&&he(q.patternProperties[X[0]])})(z)}T.TRecord=jn;function fn(z){return o.IsObject(z)&&e.Hint in z&&z[e.Hint]==="Recursive"}T.TRecursive=fn;function Kn(z){return Ve(z,"Ref")&&Z(z.$id)&&o.IsString(z.$ref)}T.TRef=Kn;function bn(z){return Ve(z,"String")&&z.type==="string"&&Z(z.$id)&&_(z.minLength)&&_(z.maxLength)&&pe(z.pattern)&&_e(z.format)}T.TString=bn;function Hn(z){return Ve(z,"Symbol")&&z.type==="symbol"&&Z(z.$id)}T.TSymbol=Hn;function Ln(z){return Ve(z,"TemplateLiteral")&&z.type==="string"&&o.IsString(z.pattern)&&z.pattern[0]==="^"&&z.pattern[z.pattern.length-1]==="$"}T.TTemplateLiteral=Ln;function Sn(z){return Ve(z,"This")&&Z(z.$id)&&o.IsString(z.$ref)}T.TThis=Sn;function wn(z){return o.IsObject(z)&&e.Transform in z}T.TTransform=wn;function ln(z){return Ve(z,"Tuple")&&z.type==="array"&&Z(z.$id)&&o.IsNumber(z.minItems)&&o.IsNumber(z.maxItems)&&z.minItems===z.maxItems&&(o.IsUndefined(z.items)&&o.IsUndefined(z.additionalItems)&&z.minItems===0||o.IsArray(z.items)&&z.items.every(q=>he(q)))}T.TTuple=ln;function er(z){return Ve(z,"Undefined")&&z.type==="undefined"&&Z(z.$id)}T.TUndefined=er;function Gn(z){return Pe(z)&&z.anyOf.every(q=>Ie(q)||qe(q))}T.TUnionLiteral=Gn;function Pe(z){return Ve(z,"Union")&&Z(z.$id)&&o.IsObject(z)&&o.IsArray(z.anyOf)&&z.anyOf.every(q=>he(q))}T.TUnion=Pe;function dt(z){return Ve(z,"Uint8Array")&&z.type==="Uint8Array"&&Z(z.$id)&&_(z.minByteLength)&&_(z.maxByteLength)}T.TUint8Array=dt;function Ct(z){return Ve(z,"Unknown")&&Z(z.$id)}T.TUnknown=Ct;function rn(z){return Ve(z,"Unsafe")}T.TUnsafe=rn;function Oe(z){return Ve(z,"Void")&&z.type==="void"&&Z(z.$id)}T.TVoid=Oe;function lt(z){return o.IsObject(z)&&z[e.Readonly]==="Readonly"}T.TReadonly=lt;function re(z){return o.IsObject(z)&&z[e.Optional]==="Optional"}T.TOptional=re;function he(z){return o.IsObject(z)&&(ue(z)||Ne(z)||fe(z)||ye(z)||oe(z)||Fe(z)||Y(z)||Q(z)||ve(z)||Ae(z)||Me(z)||We(z)||ut(z)||gt(z)||Dt(z)||jt(z)||En(z)||Lt(z)||jn(z)||Kn(z)||bn(z)||Hn(z)||Ln(z)||Sn(z)||ln(z)||er(z)||Pe(z)||dt(z)||Ct(z)||rn(z)||Oe(z)||xe(z)&&t.Has(z[e.Kind]))}T.TSchema=he})(a||(e.TypeGuard=a={}));var s;(function(T){function x(O){return O[e.Kind]==="Intersect"?O.allOf.every(S=>x(S)):O[e.Kind]==="Union"?O.anyOf.some(S=>x(S)):O[e.Kind]==="Undefined"?!0:O[e.Kind]==="Not"?!x(O.not):!1}T.Check=x})(s||(e.ExtendsUndefined=s={}));class l extends n{}e.TypeExtendsError=l;var c;(function(T){T[T.Union=0]="Union",T[T.True=1]="True",T[T.False=2]="False"})(c||(e.TypeExtendsResult=c={}));var f;(function(T){function x(P){return P===c.False?P:c.True}function O(P){throw new l(P)}function S(P){return a.TNever(P)||a.TIntersect(P)||a.TUnion(P)||a.TUnknown(P)||a.TAny(P)}function C(P,J){return a.TNever(J)?Ve():a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TUnknown(J)?ht():a.TAny(J)?_():O("StructuralRight")}function _(P,J){return c.True}function R(P,J){return a.TIntersect(J)?Q(P,J):a.TUnion(J)&&J.anyOf.some(ze=>a.TAny(ze)||a.TUnknown(ze))?c.True:a.TUnion(J)?c.Union:a.TUnknown(J)||a.TAny(J)?c.True:c.Union}function Z(P,J){return a.TUnknown(P)?c.False:a.TAny(P)?c.Union:a.TNever(P)?c.True:c.False}function pe(P,J){return a.TObject(J)&&Ln(J)?c.True:S(J)?C(P,J):a.TArray(J)?x(ct(P.items,J.items)):c.False}function _e(P,J){return S(J)?C(P,J):a.TAsyncIterator(J)?x(ct(P.items,J.items)):c.False}function ke(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TBigInt(J)?c.True:c.False}function ue(P,J){return a.TLiteral(P)&&o.IsBoolean(P.const)||a.TBoolean(P)?c.True:c.False}function Ne(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TBoolean(J)?c.True:c.False}function oe(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TConstructor(J)?P.parameters.length>J.parameters.length?c.False:P.parameters.every((ze,nt)=>x(ct(J.parameters[nt],ze))===c.True)?x(ct(P.returns,J.returns)):c.False:c.False}function ye(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TDate(J)?c.True:c.False}function fe(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TFunction(J)?P.parameters.length>J.parameters.length?c.False:P.parameters.every((ze,nt)=>x(ct(J.parameters[nt],ze))===c.True)?x(ct(P.returns,J.returns)):c.False:c.False}function Fe(P,J){return a.TLiteral(P)&&o.IsNumber(P.const)||a.TNumber(P)||a.TInteger(P)?c.True:c.False}function Y(P,J){return a.TInteger(J)||a.TNumber(J)?c.True:S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):c.False}function Q(P,J){return J.allOf.every(ze=>ct(P,ze)===c.True)?c.True:c.False}function ve(P,J){return P.allOf.some(ze=>ct(ze,J)===c.True)?c.True:c.False}function Ae(P,J){return S(J)?C(P,J):a.TIterator(J)?x(ct(P.items,J.items)):c.False}function Me(P,J){return a.TLiteral(J)&&J.const===P.const?c.True:S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TString(J)?Oe(P):a.TNumber(J)?We(P):a.TInteger(J)?Fe(P):a.TBoolean(J)?ue(P):c.False}function Ve(P,J){return c.False}function xe(P,J){return c.True}function Ie(P){let[J,ze]=[P,0];for(;a.TNot(J);)J=J.not,ze+=1;return ze%2===0?J:e.Type.Unknown()}function qe(P,J){return a.TNot(P)?ct(Ie(P),J):a.TNot(J)?ct(P,Ie(J)):O("Invalid fallthrough for Not")}function tt(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TNull(J)?c.True:c.False}function We(P,J){return a.TLiteralNumber(P)||a.TNumber(P)||a.TInteger(P)?c.True:c.False}function ut(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TInteger(J)||a.TNumber(J)?c.True:c.False}function gt(P,J){return Object.getOwnPropertyNames(P.properties).length===J}function Dt(P){return Ln(P)}function jt(P){return gt(P,0)||gt(P,1)&&"description"in P.properties&&a.TUnion(P.properties.description)&&P.properties.description.anyOf.length===2&&(a.TString(P.properties.description.anyOf[0])&&a.TUndefined(P.properties.description.anyOf[1])||a.TString(P.properties.description.anyOf[1])&&a.TUndefined(P.properties.description.anyOf[0]))}function En(P){return gt(P,0)}function Lt(P){return gt(P,0)}function jn(P){return gt(P,0)}function fn(P){return gt(P,0)}function Kn(P){return Ln(P)}function bn(P){const J=e.Type.Number();return gt(P,0)||gt(P,1)&&"length"in P.properties&&x(ct(P.properties.length,J))===c.True}function Hn(P){return gt(P,0)}function Ln(P){const J=e.Type.Number();return gt(P,0)||gt(P,1)&&"length"in P.properties&&x(ct(P.properties.length,J))===c.True}function Sn(P){const J=e.Type.Function([e.Type.Any()],e.Type.Any());return gt(P,0)||gt(P,1)&&"then"in P.properties&&x(ct(P.properties.then,J))===c.True}function wn(P,J){return ct(P,J)===c.False||a.TOptional(P)&&!a.TOptional(J)?c.False:c.True}function ln(P,J){return a.TUnknown(P)?c.False:a.TAny(P)?c.Union:a.TNever(P)||a.TLiteralString(P)&&Dt(J)||a.TLiteralNumber(P)&&En(J)||a.TLiteralBoolean(P)&&Lt(J)||a.TSymbol(P)&&jt(J)||a.TBigInt(P)&&jn(J)||a.TString(P)&&Dt(J)||a.TSymbol(P)&&jt(J)||a.TNumber(P)&&En(J)||a.TInteger(P)&&En(J)||a.TBoolean(P)&&Lt(J)||a.TUint8Array(P)&&Kn(J)||a.TDate(P)&&fn(J)||a.TConstructor(P)&&Hn(J)||a.TFunction(P)&&bn(J)?c.True:a.TRecord(P)&&a.TString(Pe(P))?(()=>J[e.Hint]==="Record"?c.True:c.False)():a.TRecord(P)&&a.TNumber(Pe(P))?(()=>gt(J,0)?c.True:c.False)():c.False}function er(P,J){return S(J)?C(P,J):a.TRecord(J)?Ct(P,J):a.TObject(J)?(()=>{for(const ze of Object.getOwnPropertyNames(J.properties))if(!(ze in P.properties)||wn(P.properties[ze],J.properties[ze])===c.False)return c.False;return c.True})():c.False}function Gn(P,J){return S(J)?C(P,J):a.TObject(J)&&Sn(J)?c.True:a.TPromise(J)?x(ct(P.item,J.item)):c.False}function Pe(P){return e.PatternNumberExact in P.patternProperties?e.Type.Number():e.PatternStringExact in P.patternProperties?e.Type.String():O("Unknown record key pattern")}function dt(P){return e.PatternNumberExact in P.patternProperties?P.patternProperties[e.PatternNumberExact]:e.PatternStringExact in P.patternProperties?P.patternProperties[e.PatternStringExact]:O("Unable to get record value schema")}function Ct(P,J){const[ze,nt]=[Pe(J),dt(J)];return a.TLiteralString(P)&&a.TNumber(ze)&&x(ct(P,nt))===c.True?c.True:a.TUint8Array(P)&&a.TNumber(ze)||a.TString(P)&&a.TNumber(ze)||a.TArray(P)&&a.TNumber(ze)?ct(P,nt):a.TObject(P)?(()=>{for(const at of Object.getOwnPropertyNames(P.properties))if(wn(nt,P.properties[at])===c.False)return c.False;return c.True})():c.False}function rn(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?ct(dt(P),dt(J)):c.False}function Oe(P,J){return a.TLiteral(P)&&o.IsString(P.const)||a.TString(P)?c.True:c.False}function lt(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TString(J)?c.True:c.False}function re(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TSymbol(J)?c.True:c.False}function he(P,J){return a.TTemplateLiteral(P)?ct($.Resolve(P),J):a.TTemplateLiteral(J)?ct(P,$.Resolve(J)):O("Invalid fallthrough for TemplateLiteral")}function z(P,J){return a.TArray(J)&&P.items!==void 0&&P.items.every(ze=>ct(ze,J.items)===c.True)}function q(P,J){return a.TNever(P)?c.True:a.TUnknown(P)?c.False:a.TAny(P)?c.Union:c.False}function X(P,J){return S(J)?C(P,J):a.TObject(J)&&Ln(J)||a.TArray(J)&&z(P,J)?c.True:a.TTuple(J)?o.IsUndefined(P.items)&&!o.IsUndefined(J.items)||!o.IsUndefined(P.items)&&o.IsUndefined(J.items)?c.False:o.IsUndefined(P.items)&&!o.IsUndefined(J.items)||P.items.every((ze,nt)=>ct(ze,J.items[nt])===c.True)?c.True:c.False:c.False}function de(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TUint8Array(J)?c.True:c.False}function je(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TVoid(J)?bt(P):a.TUndefined(J)?c.True:c.False}function Te(P,J){return J.anyOf.some(ze=>ct(P,ze)===c.True)?c.True:c.False}function it(P,J){return P.anyOf.every(ze=>ct(ze,J)===c.True)?c.True:c.False}function ht(P,J){return c.True}function $t(P,J){return a.TNever(J)?Ve():a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TAny(J)?_():a.TString(J)?Oe(P):a.TNumber(J)?We(P):a.TInteger(J)?Fe(P):a.TBoolean(J)?ue(P):a.TArray(J)?Z(P):a.TTuple(J)?q(P):a.TObject(J)?ln(P,J):a.TUnknown(J)?c.True:c.False}function bt(P,J){return a.TUndefined(P)||a.TUndefined(P)?c.True:c.False}function Ht(P,J){return a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TUnknown(J)?ht():a.TAny(J)?_():a.TObject(J)?ln(P,J):a.TVoid(J)?c.True:c.False}function ct(P,J){return a.TTemplateLiteral(P)||a.TTemplateLiteral(J)?he(P,J):a.TNot(P)||a.TNot(J)?qe(P,J):a.TAny(P)?R(P,J):a.TArray(P)?pe(P,J):a.TBigInt(P)?ke(P,J):a.TBoolean(P)?Ne(P,J):a.TAsyncIterator(P)?_e(P,J):a.TConstructor(P)?oe(P,J):a.TDate(P)?ye(P,J):a.TFunction(P)?fe(P,J):a.TInteger(P)?Y(P,J):a.TIntersect(P)?ve(P,J):a.TIterator(P)?Ae(P,J):a.TLiteral(P)?Me(P,J):a.TNever(P)?xe():a.TNull(P)?tt(P,J):a.TNumber(P)?ut(P,J):a.TObject(P)?er(P,J):a.TRecord(P)?rn(P,J):a.TString(P)?lt(P,J):a.TSymbol(P)?re(P,J):a.TTuple(P)?X(P,J):a.TPromise(P)?Gn(P,J):a.TUint8Array(P)?de(P,J):a.TUndefined(P)?je(P,J):a.TUnion(P)?it(P,J):a.TUnknown(P)?$t(P,J):a.TVoid(P)?Ht(P,J):O(`Unknown left type operand '${P[e.Kind]}'`)}function on(P,J){return ct(P,J)}T.Extends=on})(f||(e.TypeExtends=f={}));var u;(function(T){function x(R){const Z=Object.getOwnPropertyNames(R).reduce((_e,ke)=>({..._e,[ke]:S(R[ke])}),{}),pe=Object.getOwnPropertySymbols(R).reduce((_e,ke)=>({..._e,[ke]:S(R[ke])}),{});return{...Z,...pe}}function O(R){return R.map(Z=>S(Z))}function S(R){return o.IsArray(R)?O(R):o.IsObject(R)?x(R):R}function C(R){return R.map(Z=>_(Z))}T.Rest=C;function _(R,Z={}){return{...S(R),...Z}}T.Type=_})(u||(e.TypeClone=u={}));var d;(function(T){function x(oe){return oe.map(ye=>{const{[e.Optional]:fe,...Fe}=u.Type(ye);return Fe})}function O(oe){return oe.every(ye=>a.TOptional(ye))}function S(oe){return oe.some(ye=>a.TOptional(ye))}function C(oe){return O(oe.allOf)?e.Type.Optional(e.Type.Intersect(x(oe.allOf))):oe}function _(oe){return S(oe.anyOf)?e.Type.Optional(e.Type.Union(x(oe.anyOf))):oe}function R(oe){return oe[e.Kind]==="Intersect"?C(oe):oe[e.Kind]==="Union"?_(oe):oe}function Z(oe,ye){const fe=oe.allOf.reduce((Fe,Y)=>{const Q=ue(Y,ye);return Q[e.Kind]==="Never"?Fe:[...Fe,Q]},[]);return R(e.Type.Intersect(fe))}function pe(oe,ye){const fe=oe.anyOf.map(Fe=>ue(Fe,ye));return R(e.Type.Union(fe))}function _e(oe,ye){const fe=oe.properties[ye];return o.IsUndefined(fe)?e.Type.Never():e.Type.Union([fe])}function ke(oe,ye){const fe=oe.items;if(o.IsUndefined(fe))return e.Type.Never();const Fe=fe[ye];return o.IsUndefined(Fe)?e.Type.Never():Fe}function ue(oe,ye){return oe[e.Kind]==="Intersect"?Z(oe,ye):oe[e.Kind]==="Union"?pe(oe,ye):oe[e.Kind]==="Object"?_e(oe,ye):oe[e.Kind]==="Tuple"?ke(oe,ye):e.Type.Never()}function Ne(oe,ye,fe={}){const Fe=ye.map(Y=>ue(oe,Y.toString()));return R(e.Type.Union(Fe,fe))}T.Resolve=Ne})(d||(e.IndexedAccessor=d={}));var h;(function(T){function x(ke){const[ue,Ne]=[ke.slice(0,1),ke.slice(1)];return`${ue.toLowerCase()}${Ne}`}function O(ke){const[ue,Ne]=[ke.slice(0,1),ke.slice(1)];return`${ue.toUpperCase()}${Ne}`}function S(ke){return ke.toUpperCase()}function C(ke){return ke.toLowerCase()}function _(ke,ue){const Ne=E.ParseExact(ke.pattern);if(!D.Check(Ne))return{...ke,pattern:R(ke.pattern,ue)};const fe=[...M.Generate(Ne)].map(Q=>e.Type.Literal(Q)),Fe=Z(fe,ue),Y=e.Type.Union(Fe);return e.Type.TemplateLiteral([Y])}function R(ke,ue){return typeof ke=="string"?ue==="Uncapitalize"?x(ke):ue==="Capitalize"?O(ke):ue==="Uppercase"?S(ke):ue==="Lowercase"?C(ke):ke:ke.toString()}function Z(ke,ue){if(ke.length===0)return[];const[Ne,...oe]=ke;return[_e(Ne,ue),...Z(oe,ue)]}function pe(ke,ue){return a.TTemplateLiteral(ke)?_(ke,ue):a.TUnion(ke)?e.Type.Union(Z(ke.anyOf,ue)):a.TLiteral(ke)?e.Type.Literal(R(ke.const,ue)):ke}function _e(ke,ue){return pe(ke,ue)}T.Map=_e})(h||(e.Intrinsic=h={}));var p;(function(T){function x(R,Z){return e.Type.Intersect(R.allOf.map(pe=>C(pe,Z)),{...R})}function O(R,Z){return e.Type.Union(R.anyOf.map(pe=>C(pe,Z)),{...R})}function S(R,Z){return Z(R)}function C(R,Z){return R[e.Kind]==="Intersect"?x(R,Z):R[e.Kind]==="Union"?O(R,Z):R[e.Kind]==="Object"?S(R,Z):R}function _(R,Z,pe){return{...C(u.Type(R),Z),...pe}}T.Map=_})(p||(e.ObjectMap=p={}));var m;(function(T){function x(_e){return _e[0]==="^"&&_e[_e.length-1]==="$"?_e.slice(1,_e.length-1):_e}function O(_e,ke){return _e.allOf.reduce((ue,Ne)=>[...ue,...R(Ne,ke)],[])}function S(_e,ke){const ue=_e.anyOf.map(Ne=>R(Ne,ke));return[...ue.reduce((Ne,oe)=>oe.map(ye=>ue.every(fe=>fe.includes(ye))?Ne.add(ye):Ne)[0],new Set)]}function C(_e,ke){return Object.getOwnPropertyNames(_e.properties)}function _(_e,ke){return ke.includePatterns?Object.getOwnPropertyNames(_e.patternProperties):[]}function R(_e,ke){return a.TIntersect(_e)?O(_e,ke):a.TUnion(_e)?S(_e,ke):a.TObject(_e)?C(_e):a.TRecord(_e)?_(_e,ke):[]}function Z(_e,ke){return[...new Set(R(_e,ke))]}T.ResolveKeys=Z;function pe(_e){return`^(${Z(_e,{includePatterns:!0}).map(Ne=>`(${x(Ne)})`).join("|")})$`}T.ResolvePattern=pe})(m||(e.KeyResolver=m={}));class v extends n{}e.KeyArrayResolverError=v;var g;(function(T){function x(O){return Array.isArray(O)?O:a.TUnionLiteral(O)?O.anyOf.map(S=>S.const.toString()):a.TLiteral(O)?[O.const]:a.TTemplateLiteral(O)?(()=>{const S=E.ParseExact(O.pattern);if(!D.Check(S))throw new v("Cannot resolve keys from infinite template expression");return[...M.Generate(S)]})():[]}T.Resolve=x})(g||(e.KeyArrayResolver=g={}));var y;(function(T){function*x(S){for(const C of S.anyOf)C[e.Kind]==="Union"?yield*x(C):yield C}function O(S){return e.Type.Union([...x(S)],{...S})}T.Resolve=O})(y||(e.UnionResolver=y={}));class w extends n{}e.TemplateLiteralPatternError=w;var k;(function(T){function x(_){throw new w(_)}function O(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function S(_,R){return a.TTemplateLiteral(_)?_.pattern.slice(1,_.pattern.length-1):a.TUnion(_)?`(${_.anyOf.map(Z=>S(Z,R)).join("|")})`:a.TNumber(_)?`${R}${e.PatternNumber}`:a.TInteger(_)?`${R}${e.PatternNumber}`:a.TBigInt(_)?`${R}${e.PatternNumber}`:a.TString(_)?`${R}${e.PatternString}`:a.TLiteral(_)?`${R}${O(_.const.toString())}`:a.TBoolean(_)?`${R}${e.PatternBoolean}`:x(`Unexpected Kind '${_[e.Kind]}'`)}function C(_){return`^${_.map(R=>S(R,"")).join("")}$`}T.Create=C})(k||(e.TemplateLiteralPattern=k={}));var $;(function(T){function x(O){const S=E.ParseExact(O.pattern);if(!D.Check(S))return e.Type.String();const C=[...M.Generate(S)].map(_=>e.Type.Literal(_));return e.Type.Union(C)}T.Resolve=x})($||(e.TemplateLiteralResolver=$={}));class j extends n{}e.TemplateLiteralParserError=j;var E;(function(T){function x(oe,ye,fe){return oe[ye]===fe&&oe.charCodeAt(ye-1)!==92}function O(oe,ye){return x(oe,ye,"(")}function S(oe,ye){return x(oe,ye,")")}function C(oe,ye){return x(oe,ye,"|")}function _(oe){if(!(O(oe,0)&&S(oe,oe.length-1)))return!1;let ye=0;for(let fe=0;fe<oe.length;fe++)if(O(oe,fe)&&(ye+=1),S(oe,fe)&&(ye-=1),ye===0&&fe!==oe.length-1)return!1;return!0}function R(oe){return oe.slice(1,oe.length-1)}function Z(oe){let ye=0;for(let fe=0;fe<oe.length;fe++)if(O(oe,fe)&&(ye+=1),S(oe,fe)&&(ye-=1),C(oe,fe)&&ye===0)return!0;return!1}function pe(oe){for(let ye=0;ye<oe.length;ye++)if(O(oe,ye))return!0;return!1}function _e(oe){let[ye,fe]=[0,0];const Fe=[];for(let Q=0;Q<oe.length;Q++)if(O(oe,Q)&&(ye+=1),S(oe,Q)&&(ye-=1),C(oe,Q)&&ye===0){const ve=oe.slice(fe,Q);ve.length>0&&Fe.push(ue(ve)),fe=Q+1}const Y=oe.slice(fe);return Y.length>0&&Fe.push(ue(Y)),Fe.length===0?{type:"const",const:""}:Fe.length===1?Fe[0]:{type:"or",expr:Fe}}function ke(oe){function ye(Y,Q){if(!O(Y,Q))throw new j("TemplateLiteralParser: Index must point to open parens");let ve=0;for(let Ae=Q;Ae<Y.length;Ae++)if(O(Y,Ae)&&(ve+=1),S(Y,Ae)&&(ve-=1),ve===0)return[Q,Ae];throw new j("TemplateLiteralParser: Unclosed group parens in expression")}function fe(Y,Q){for(let ve=Q;ve<Y.length;ve++)if(O(Y,ve))return[Q,ve];return[Q,Y.length]}const Fe=[];for(let Y=0;Y<oe.length;Y++)if(O(oe,Y)){const[Q,ve]=ye(oe,Y),Ae=oe.slice(Q,ve+1);Fe.push(ue(Ae)),Y=ve}else{const[Q,ve]=fe(oe,Y),Ae=oe.slice(Q,ve);Ae.length>0&&Fe.push(ue(Ae)),Y=ve-1}return Fe.length===0?{type:"const",const:""}:Fe.length===1?Fe[0]:{type:"and",expr:Fe}}function ue(oe){return _(oe)?ue(R(oe)):Z(oe)?_e(oe):pe(oe)?ke(oe):{type:"const",const:oe}}T.Parse=ue;function Ne(oe){return ue(oe.slice(1,oe.length-1))}T.ParseExact=Ne})(E||(e.TemplateLiteralParser=E={}));class I extends n{}e.TemplateLiteralFiniteError=I;var D;(function(T){function x(R){throw new I(R)}function O(R){return R.type==="or"&&R.expr.length===2&&R.expr[0].type==="const"&&R.expr[0].const==="0"&&R.expr[1].type==="const"&&R.expr[1].const==="[1-9][0-9]*"}function S(R){return R.type==="or"&&R.expr.length===2&&R.expr[0].type==="const"&&R.expr[0].const==="true"&&R.expr[1].type==="const"&&R.expr[1].const==="false"}function C(R){return R.type==="const"&&R.const===".*"}function _(R){return S(R)?!0:O(R)||C(R)?!1:R.type==="and"?R.expr.every(Z=>_(Z)):R.type==="or"?R.expr.every(Z=>_(Z)):R.type==="const"?!0:x("Unknown expression type")}T.Check=_})(D||(e.TemplateLiteralFinite=D={}));class L extends n{}e.TemplateLiteralGeneratorError=L;var M;(function(T){function*x(R){if(R.length===1)return yield*R[0];for(const Z of R[0])for(const pe of x(R.slice(1)))yield`${Z}${pe}`}function*O(R){return yield*x(R.expr.map(Z=>[..._(Z)]))}function*S(R){for(const Z of R.expr)yield*_(Z)}function*C(R){return yield R.const}function*_(R){return R.type==="and"?yield*O(R):R.type==="or"?yield*S(R):R.type==="const"?yield*C(R):(()=>{throw new L("Unknown expression")})()}T.Generate=_})(M||(e.TemplateLiteralGenerator=M={}));var F;(function(T){function*x(_){const R=_.trim().replace(/"|'/g,"");return R==="boolean"?yield e.Type.Boolean():R==="number"?yield e.Type.Number():R==="bigint"?yield e.Type.BigInt():R==="string"?yield e.Type.String():yield(()=>{const Z=R.split("|").map(pe=>e.Type.Literal(pe.trim()));return Z.length===0?e.Type.Never():Z.length===1?Z[0]:e.Type.Union(Z)})()}function*O(_){if(_[1]!=="{"){const R=e.Type.Literal("$"),Z=S(_.slice(1));return yield*[R,...Z]}for(let R=2;R<_.length;R++)if(_[R]==="}"){const Z=x(_.slice(2,R)),pe=S(_.slice(R+1));return yield*[...Z,...pe]}yield e.Type.Literal(_)}function*S(_){for(let R=0;R<_.length;R++)if(_[R]==="$"){const Z=e.Type.Literal(_.slice(0,R)),pe=O(_.slice(R));return yield*[Z,...pe]}yield e.Type.Literal(_)}function C(_){return[...S(_)]}T.Parse=C})(F||(e.TemplateLiteralDslParser=F={}));class H{constructor(x){this.schema=x}Decode(x){return new N(this.schema,x)}}e.TransformDecodeBuilder=H;class N{constructor(x,O){this.schema=x,this.decode=O}Encode(x){const O=u.Type(this.schema);return a.TTransform(O)?(()=>{const _={Encode:R=>O[e.Transform].Encode(x(R)),Decode:R=>this.decode(O[e.Transform].Decode(R))};return{...O,[e.Transform]:_}})():(()=>{const S={Decode:this.decode,Encode:x};return{...O,[e.Transform]:S}})()}}e.TransformEncodeBuilder=N;let W=0;class ee extends n{}e.TypeBuilderError=ee;class U{Create(x){return x}Throw(x){throw new ee(x)}Discard(x,O){return O.reduce((S,C)=>{const{[C]:_,...R}=S;return R},x)}Strict(x){return JSON.parse(JSON.stringify(x))}}e.TypeBuilder=U;class K extends U{ReadonlyOptional(x){return this.Readonly(this.Optional(x))}Readonly(x){return{...u.Type(x),[e.Readonly]:"Readonly"}}Optional(x){return{...u.Type(x),[e.Optional]:"Optional"}}Any(x={}){return this.Create({...x,[e.Kind]:"Any"})}Array(x,O={}){return this.Create({...O,[e.Kind]:"Array",type:"array",items:u.Type(x)})}Boolean(x={}){return this.Create({...x,[e.Kind]:"Boolean",type:"boolean"})}Capitalize(x,O={}){return{...h.Map(u.Type(x),"Capitalize"),...O}}Composite(x,O){const S=e.Type.Intersect(x,{}),_=m.ResolveKeys(S,{includePatterns:!1}).reduce((R,Z)=>({...R,[Z]:e.Type.Index(S,[Z])}),{});return e.Type.Object(_,O)}Enum(x,O={}){const S=Object.getOwnPropertyNames(x).filter(R=>isNaN(R)).map(R=>x[R]),_=[...new Set(S)].map(R=>e.Type.Literal(R));return this.Union(_,{...O,[e.Hint]:"Enum"})}Extends(x,O,S,C,_={}){switch(f.Extends(x,O)){case c.Union:return this.Union([u.Type(S,_),u.Type(C,_)]);case c.True:return u.Type(S,_);case c.False:return u.Type(C,_)}}Exclude(x,O,S={}){return a.TTemplateLiteral(x)?this.Exclude($.Resolve(x),O,S):a.TTemplateLiteral(O)?this.Exclude(x,$.Resolve(O),S):a.TUnion(x)?(()=>{const C=x.anyOf.filter(_=>f.Extends(_,O)===c.False);return C.length===1?u.Type(C[0],S):this.Union(C,S)})():f.Extends(x,O)!==c.False?this.Never(S):u.Type(x,S)}Extract(x,O,S={}){return a.TTemplateLiteral(x)?this.Extract($.Resolve(x),O,S):a.TTemplateLiteral(O)?this.Extract(x,$.Resolve(O),S):a.TUnion(x)?(()=>{const C=x.anyOf.filter(_=>f.Extends(_,O)!==c.False);return C.length===1?u.Type(C[0],S):this.Union(C,S)})():f.Extends(x,O)!==c.False?u.Type(x,S):this.Never(S)}Index(x,O,S={}){return a.TArray(x)&&a.TNumber(O)?(()=>u.Type(x.items,S))():a.TTuple(x)&&a.TNumber(O)?(()=>{const _=(o.IsUndefined(x.items)?[]:x.items).map(R=>u.Type(R));return this.Union(_,S)})():(()=>{const C=g.Resolve(O),_=u.Type(x);return d.Resolve(_,C,S)})()}Integer(x={}){return this.Create({...x,[e.Kind]:"Integer",type:"integer"})}Intersect(x,O={}){if(x.length===0)return e.Type.Never();if(x.length===1)return u.Type(x[0],O);x.some(R=>a.TTransform(R))&&this.Throw("Cannot intersect transform types");const S=x.every(R=>a.TObject(R)),C=u.Rest(x),_=a.TSchema(O.unevaluatedProperties)?{unevaluatedProperties:u.Type(O.unevaluatedProperties)}:{};return O.unevaluatedProperties===!1||a.TSchema(O.unevaluatedProperties)||S?this.Create({...O,..._,[e.Kind]:"Intersect",type:"object",allOf:C}):this.Create({...O,..._,[e.Kind]:"Intersect",allOf:C})}KeyOf(x,O={}){return a.TRecord(x)?(()=>{const S=Object.getOwnPropertyNames(x.patternProperties)[0];return S===e.PatternNumberExact?this.Number(O):S===e.PatternStringExact?this.String(O):this.Throw("Unable to resolve key type from Record key pattern")})():a.TTuple(x)?(()=>{const C=(o.IsUndefined(x.items)?[]:x.items).map((_,R)=>e.Type.Literal(R.toString()));return this.Union(C,O)})():a.TArray(x)?(()=>this.Number(O))():(()=>{const S=m.ResolveKeys(x,{includePatterns:!1});if(S.length===0)return this.Never(O);const C=S.map(_=>this.Literal(_));return this.Union(C,O)})()}Literal(x,O={}){return this.Create({...O,[e.Kind]:"Literal",const:x,type:typeof x})}Lowercase(x,O={}){return{...h.Map(u.Type(x),"Lowercase"),...O}}Never(x={}){return this.Create({...x,[e.Kind]:"Never",not:{}})}Not(x,O){return this.Create({...O,[e.Kind]:"Not",not:u.Type(x)})}Null(x={}){return this.Create({...x,[e.Kind]:"Null",type:"null"})}Number(x={}){return this.Create({...x,[e.Kind]:"Number",type:"number"})}Object(x,O={}){const S=Object.getOwnPropertyNames(x),C=S.filter(pe=>a.TOptional(x[pe])),_=S.filter(pe=>!C.includes(pe)),R=a.TSchema(O.additionalProperties)?{additionalProperties:u.Type(O.additionalProperties)}:{},Z=S.reduce((pe,_e)=>({...pe,[_e]:u.Type(x[_e])}),{});return _.length>0?this.Create({...O,...R,[e.Kind]:"Object",type:"object",properties:Z,required:_}):this.Create({...O,...R,[e.Kind]:"Object",type:"object",properties:Z})}Omit(x,O,S={}){const C=g.Resolve(O);return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),_=>{o.IsArray(_.required)&&(_.required=_.required.filter(R=>!C.includes(R)),_.required.length===0&&delete _.required);for(const R of Object.getOwnPropertyNames(_.properties))C.includes(R)&&delete _.properties[R];return this.Create(_)},S)}Partial(x,O={}){return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),S=>{const C=Object.getOwnPropertyNames(S.properties).reduce((_,R)=>({..._,[R]:this.Optional(S.properties[R])}),{});return this.Object(C,this.Discard(S,["required"]))},O)}Pick(x,O,S={}){const C=g.Resolve(O);return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),_=>{o.IsArray(_.required)&&(_.required=_.required.filter(R=>C.includes(R)),_.required.length===0&&delete _.required);for(const R of Object.getOwnPropertyNames(_.properties))C.includes(R)||delete _.properties[R];return this.Create(_)},S)}Record(x,O,S={}){return a.TTemplateLiteral(x)?(()=>{const C=E.ParseExact(x.pattern);return D.Check(C)?this.Object([...M.Generate(C)].reduce((_,R)=>({..._,[R]:u.Type(O)}),{}),S):this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[x.pattern]:u.Type(O)}})})():a.TUnion(x)?(()=>{const C=y.Resolve(x);if(a.TUnionLiteral(C)){const _=C.anyOf.reduce((R,Z)=>({...R,[Z.const]:u.Type(O)}),{});return this.Object(_,{...S,[e.Hint]:"Record"})}else this.Throw("Record key of type union contains non-literal types")})():a.TLiteral(x)?(()=>o.IsString(x.const)||o.IsNumber(x.const)?this.Object({[x.const]:u.Type(O)},S):this.Throw("Record key of type literal is not of type string or number"))():a.TInteger(x)||a.TNumber(x)?(()=>this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[e.PatternNumberExact]:u.Type(O)}}))():a.TString(x)?(()=>{const C=o.IsUndefined(x.pattern)?e.PatternStringExact:x.pattern;return this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[C]:u.Type(O)}})})():this.Never()}Recursive(x,O={}){o.IsUndefined(O.$id)&&(O.$id=`T${W++}`);const S=x({[e.Kind]:"This",$ref:`${O.$id}`});return S.$id=O.$id,this.Create({...O,[e.Hint]:"Recursive",...S})}Ref(x,O={}){return o.IsString(x)?this.Create({...O,[e.Kind]:"Ref",$ref:x}):(o.IsUndefined(x.$id)&&this.Throw("Reference target type must specify an $id"),this.Create({...O,[e.Kind]:"Ref",$ref:x.$id}))}Required(x,O={}){return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),S=>{const C=Object.getOwnPropertyNames(S.properties).reduce((_,R)=>({..._,[R]:this.Discard(S.properties[R],[e.Optional])}),{});return this.Object(C,S)},O)}Rest(x){return a.TTuple(x)&&!o.IsUndefined(x.items)?u.Rest(x.items):a.TIntersect(x)?u.Rest(x.allOf):a.TUnion(x)?u.Rest(x.anyOf):[]}String(x={}){return this.Create({...x,[e.Kind]:"String",type:"string"})}TemplateLiteral(x,O={}){const S=o.IsString(x)?k.Create(F.Parse(x)):k.Create(x);return this.Create({...O,[e.Kind]:"TemplateLiteral",type:"string",pattern:S})}Transform(x){return new H(x)}Tuple(x,O={}){const[S,C,_]=[!1,x.length,x.length],R=u.Rest(x),Z=x.length>0?{...O,[e.Kind]:"Tuple",type:"array",items:R,additionalItems:S,minItems:C,maxItems:_}:{...O,[e.Kind]:"Tuple",type:"array",minItems:C,maxItems:_};return this.Create(Z)}Uncapitalize(x,O={}){return{...h.Map(u.Type(x),"Uncapitalize"),...O}}Union(x,O={}){return a.TTemplateLiteral(x)?$.Resolve(x):(()=>{const S=x;if(S.length===0)return this.Never(O);if(S.length===1)return this.Create(u.Type(S[0],O));const C=u.Rest(S);return this.Create({...O,[e.Kind]:"Union",anyOf:C})})()}Unknown(x={}){return this.Create({...x,[e.Kind]:"Unknown"})}Unsafe(x={}){return this.Create({...x,[e.Kind]:x[e.Kind]||"Unsafe"})}Uppercase(x,O={}){return{...h.Map(u.Type(x),"Uppercase"),...O}}}e.JsonTypeBuilder=K;class A extends K{AsyncIterator(x,O={}){return this.Create({...O,[e.Kind]:"AsyncIterator",type:"AsyncIterator",items:u.Type(x)})}Awaited(x,O={}){const S=C=>C.length>0?(()=>{const[_,...R]=C;return[this.Awaited(_),...S(R)]})():C;return a.TIntersect(x)?e.Type.Intersect(S(x.allOf)):a.TUnion(x)?e.Type.Union(S(x.anyOf)):a.TPromise(x)?this.Awaited(x.item):u.Type(x,O)}BigInt(x={}){return this.Create({...x,[e.Kind]:"BigInt",type:"bigint"})}ConstructorParameters(x,O={}){return this.Tuple([...x.parameters],{...O})}Constructor(x,O,S){const[C,_]=[u.Rest(x),u.Type(O)];return this.Create({...S,[e.Kind]:"Constructor",type:"Constructor",parameters:C,returns:_})}Date(x={}){return this.Create({...x,[e.Kind]:"Date",type:"Date"})}Function(x,O,S){const[C,_]=[u.Rest(x),u.Type(O)];return this.Create({...S,[e.Kind]:"Function",type:"Function",parameters:C,returns:_})}InstanceType(x,O={}){return u.Type(x.returns,O)}Iterator(x,O={}){return this.Create({...O,[e.Kind]:"Iterator",type:"Iterator",items:u.Type(x)})}Parameters(x,O={}){return this.Tuple(x.parameters,{...O})}Promise(x,O={}){return this.Create({...O,[e.Kind]:"Promise",type:"Promise",item:u.Type(x)})}RegExp(x,O={}){const S=o.IsString(x)?x:x.source;return this.Create({...O,[e.Kind]:"String",type:"string",pattern:S})}RegEx(x,O={}){return this.RegExp(x,O)}ReturnType(x,O={}){return u.Type(x.returns,O)}Symbol(x){return this.Create({...x,[e.Kind]:"Symbol",type:"symbol"})}Undefined(x={}){return this.Create({...x,[e.Kind]:"Undefined",type:"undefined"})}Uint8Array(x={}){return this.Create({...x,[e.Kind]:"Uint8Array",type:"Uint8Array"})}Void(x={}){return this.Create({...x,[e.Kind]:"Void",type:"void"})}}e.JavaScriptTypeBuilder=A,e.JsonType=new K,e.Type=new A})(B);const Gme=B.Type.Object({src:B.Type.String(),path:B.Type.Optional(B.Type.String()),volume:B.Type.Optional(B.Type.Number()),rate:B.Type.Optional(B.Type.Number()),html5:B.Type.Optional(B.Type.Boolean()),fadeInTime:B.Type.Optional(B.Type.Number()),fadeInDelay:B.Type.Optional(B.Type.Number()),fadeOutTime:B.Type.Optional(B.Type.Number()),loop:B.Type.Optional(B.Type.Boolean())}),Jme=B.Type.Record(B.Type.String(),Gme),Qme=B.Type.Object({volume:B.Type.Optional(B.Type.Number()),defaultMusic:B.Type.Optional(B.Type.String()),musicFadeInTime:B.Type.Optional(B.Type.Number()),musicFadeOutTime:B.Type.Optional(B.Type.Number()),musicFadeInDelay:B.Type.Optional(B.Type.Number())}),Yme=B.Type.Record(B.Type.String(),B.Type.String()),R7=B.Type.Object({files:Jme,audioTriggers:Yme,options:Qme}),B7={files:{},audioTriggers:{},options:{volume:1,musicFadeInTime:.5,musicFadeInDelay:.5,musicFadeOutTime:.5}},F7=B.Type.Object({backgrounds:B.Type.Object({width:B.Type.Number(),height:B.Type.Number()}),dialogBottomPadding:B.Type.Union([B.Type.Number(),B.Type.String()]),minTextWidth:B.Type.Optional(B.Type.Number()),verticalLayoutThreshold:B.Type.Number(),defaultFontSize:B.Type.Optional(B.Type.Number()),portraits:B.Type.Object({width:B.Type.Number(),height:B.Type.Number(),offset:B.Type.Optional(B.Type.Object({landscape:B.Type.Optional(B.Type.Object({right:B.Type.Number(),bottom:B.Type.Number()})),portrait:B.Type.Optional(B.Type.Object({right:B.Type.Number(),bottom:B.Type.Number()}))}))})}),Xme={backgrounds:{width:880,height:720},dialogBottomPadding:70,verticalLayoutThreshold:600,defaultFontSize:16,portraits:{width:100,height:100}},r0=B.Type.Object({name:B.Type.String(),description:B.Type.Optional(B.Type.String())}),Zme=B.Type.Intersect([r0,B.Type.Object({type:B.Type.Literal("number"),defaultValue:B.Type.Number(),step:B.Type.Number(),minValue:B.Type.Number(),maxValue:B.Type.Number()})]),eve=B.Type.Intersect([r0,B.Type.Object({type:B.Type.Literal("integer"),defaultValue:B.Type.Number(),step:B.Type.Number(),minValue:B.Type.Number(),maxValue:B.Type.Number()})]),tve=B.Type.Intersect([r0,B.Type.Object({type:B.Type.Literal("boolean"),defaultValue:B.Type.Boolean()})]),nve=B.Type.Intersect([r0,B.Type.Object({type:B.Type.Literal("string"),defaultValue:B.Type.String()})]),rve=B.Type.Union([Zme,eve,tve,nve]);function ove(e){return e.type==="number"}function V7(e){return e.type==="integer"}function ive(e){return e.type==="boolean"}function ave(e){return e.type==="string"}const z7=B.Type.Object({customSettings:B.Type.Optional(B.Type.Record(B.Type.String(),rve))}),o0="###_--_~=:;_JUMP",g_="###_--_~=:;_RETURN",sve="###_--_~=:;_OK",i0="###_--_~=:;_STOP";function lve(e){return e===o0||e===g_||e===sve||e===i0}const cve="3.6.2-beta.1",uve=new Date("2023-10-28T16:35:14.046Z"),fve=400,a0=20,y_="@empty",q7={background:y_},U7=B.Type.Optional(B.Type.Object({animateText:B.Type.Optional(B.Type.Boolean()),textSpeed:B.Type.Optional(B.Type.Number()),timeBetweenLines:B.Type.Optional(B.Type.Number()),overlayMode:B.Type.Optional(B.Type.Boolean()),rightOffset:B.Type.Optional(B.Type.Number()),bottomOffset:B.Type.Optional(B.Type.Number()),width:B.Type.Optional(B.Type.Number()),height:B.Type.Optional(B.Type.Number()),hideDuringTransition:B.Type.Optional(B.Type.Boolean()),showAfterScriptEnd:B.Type.Optional(B.Type.Boolean())})),H7=B.Type.Object({engineSplashScreen:B.Type.Optional(B.Type.Object({skip:B.Type.Optional(B.Type.Boolean()),fadeDuration:B.Type.Optional(B.Type.Number()),timeBeforeFadeout:B.Type.Optional(B.Type.Number()),overrideText:B.Type.Optional(B.Type.String()),overrideLogo:B.Type.Optional(B.Type.String())})),gameSplashScreen:B.Type.Optional(B.Type.Object({startButtonText:B.Type.Optional(B.Type.String())}))}),W7=B.Type.Object({timeOnScreen:B.Type.Number(),alsoPrintInDialogue:B.Type.Optional(B.Type.Boolean())}),dve=B.Type.Object({name:B.Type.String(),icon:B.Type.String(),startingValue:B.Type.Number(),maxValue:B.Type.Optional(B.Type.Number()),minValue:B.Type.Optional(B.Type.Number())}),K7=B.Type.Record(B.Type.String(),dve),G7=B.Type.Record(B.Type.String(),B.Type.Object({onlyInteractOutsideOfScripts:B.Type.Optional(B.Type.Boolean())})),hve=B.Type.Object({delay:B.Type.Optional(B.Type.Number()),duration:B.Type.Optional(B.Type.Number())}),J7=B.Type.Record(B.Type.String(),hve),pve=B.Type.Object({text:B.Type.String(),cssClass:B.Type.Optional(B.Type.String())}),Q7=B.Type.Record(B.Type.String(),pve),Y7=B.Type.Object({showScriptFinishedMessage:B.Type.Optional(B.Type.Boolean())}),X7=B.Type.Object({mode:B.Type.String(),slots:B.Type.Number(),runOnReload:B.Type.Optional(B.Type.String())}),Z7=B.Type.Array(B.Type.String()),mve=[],e9=B.Type.Object({baseAssetsPath:B.Type.Optional(B.Type.String()),baseDataPath:B.Type.Optional(B.Type.String()),gameTitle:B.Type.String(),saveFileName:B.Type.String(),images:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.String())),layout:F7,settings:B.Type.Optional(z7),gameFlow:B.Type.Optional(B.Type.Object({labelToJumpOnScriptEnd:B.Type.Optional(B.Type.String())})),dialogPanel:B.Type.Optional(U7),splashScreens:B.Type.Optional(H7),notifications:B.Type.Optional(W7),hudStats:K7,interactionTags:B.Type.Optional(G7),transitions:B.Type.Optional(J7),menuButtons:B.Type.Optional(Q7),debugging:B.Type.Optional(Y7),saves:B.Type.Optional(X7)}),b_={baseAssetsPath:"",baseDataPath:"",gameTitle:"Narrat Game",saveFileName:"narrat save",images:{},layout:Xme,settings:{},gameFlow:{},dialogPanel:{overlayMode:!0,rightOffset:100,bottomOffset:50,width:475,height:680,textSpeed:a0,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}},vve=B.Type.Object({name:B.Type.String(),description:B.Type.String(),icon:B.Type.String(),onUse:B.Type.Optional(B.Type.Object({action:B.Type.String(),label:B.Type.String()})),tag:B.Type.Optional(B.Type.String()),category:B.Type.Optional(B.Type.String()),showIfEmpty:B.Type.Optional(B.Type.Boolean())}),t9=B.Type.Object({id:B.Type.String(),title:B.Type.String()}),n9=B.Type.Record(B.Type.String(),vve);B.Type.Object({categories:B.Type.Array(t9),items:n9});const r9=B.Type.Object({categories:B.Type.Optional(B.Type.Array(t9)),items:B.Type.Optional(n9)}),o9={categories:[{id:"default",title:"Items"}],items:{}},gve=B.Type.Object({description:B.Type.String(),succeededDescription:B.Type.Optional(B.Type.String()),failedDescription:B.Type.Optional(B.Type.String()),hidden:B.Type.Optional(B.Type.Boolean())}),yve=B.Type.Object({title:B.Type.String(),description:B.Type.String(),succeededDescription:B.Type.Optional(B.Type.String()),failedDescription:B.Type.Optional(B.Type.String()),endings:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.Object({success:B.Type.Boolean(),description:B.Type.String()}))),objectives:B.Type.Record(B.Type.String(),gve),category:B.Type.Optional(B.Type.String())}),bve=B.Type.Object({id:B.Type.String(),title:B.Type.String()}),wve=B.Type.Record(B.Type.String(),yve),i9=B.Type.Object({quests:wve,categories:B.Type.Array(bve)}),a9={quests:{},categories:[{id:"default",title:"Quests"}]},s9=B.Type.Object({enabled:B.Type.Boolean(),background:B.Type.Optional(B.Type.String()),text:B.Type.Optional(B.Type.String()),cssClass:B.Type.Optional(B.Type.String()),position:B.Type.Object({left:B.Type.Number(),top:B.Type.Number(),width:B.Type.Optional(B.Type.Number()),height:B.Type.Optional(B.Type.Number())}),anchor:B.Type.Optional(B.Type.Object({x:B.Type.Number(),y:B.Type.Number()})),action:B.Type.Optional(B.Type.String()),actionType:B.Type.Optional(B.Type.String()),scriptClickable:B.Type.Optional(B.Type.Boolean()),tag:B.Type.Optional(B.Type.String())}),kve=B.Type.Record(B.Type.String(),s9),l9=B.Type.Object({buttons:kve,clickableDuringScriptsByDefault:B.Type.Optional(B.Type.Boolean())}),c9={buttons:{},clickableDuringScriptsByDefault:!1},xve=B.Type.Intersect([s9,B.Type.Object({id:B.Type.String()})]),_ve=B.Type.Object({muted:B.Type.Optional(B.Type.Boolean()),loop:B.Type.Optional(B.Type.Boolean())}),jve=B.Type.Object({background:B.Type.String(),video:B.Type.Optional(_ve),buttons:B.Type.Optional(B.Type.Array(B.Type.Union([B.Type.String(),xve])))}),u9=B.Type.Record(B.Type.String(),jve);B.Type.Object({screens:u9});const f9=B.Type.Object({screens:B.Type.Optional(u9)}),d9={screens:{}},Sve=B.Type.Object({name:B.Type.String(),description:B.Type.String(),startingLevel:B.Type.Number(),hidden:B.Type.Optional(B.Type.Boolean()),icon:B.Type.String()}),h9=B.Type.Record(B.Type.String(),Sve),p9=B.Type.Object({xpPerLevel:B.Type.Number(),notifyLevelUp:B.Type.Boolean()});B.Type.Object({skills:h9,skillOptions:p9});const m9=B.Type.Object({skills:B.Type.Optional(h9),skillOptions:B.Type.Optional(p9)}),v9={skills:{},skillOptions:{xpPerLevel:10,notifyLevelUp:!0}},Cve=B.Type.Object({portraitCssClass:B.Type.Optional(B.Type.String()),color:B.Type.Optional(B.Type.String()),boxCss:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.Any())),nameCss:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.Any())),textCss:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.Any()))}),$ve=B.Type.Object({video:B.Type.String(),autoplay:B.Type.Optional(B.Type.Boolean()),loop:B.Type.Optional(B.Type.Boolean()),muted:B.Type.Optional(B.Type.Boolean()),width:B.Type.Optional(B.Type.Number()),height:B.Type.Optional(B.Type.Number())}),Tve=B.Type.Object({image:B.Type.String(),width:B.Type.Optional(B.Type.Number()),height:B.Type.Optional(B.Type.Number())}),Ove=B.Type.Union([B.Type.String(),$ve,Tve]),Eve=B.Type.Object({sprites:B.Type.Optional(B.Type.Record(B.Type.String(),Ove)),name:B.Type.String(),style:B.Type.Optional(Cve)}),g9=B.Type.Object({config:B.Type.Object({imagesPath:B.Type.String(),playerCharacter:B.Type.Optional(B.Type.String()),gameCharacter:B.Type.Optional(B.Type.String())}),characters:B.Type.Record(B.Type.String(),Eve)}),y9={config:{imagesPath:"",playerCharacter:"player",gameCharacter:"game"},characters:{}},b9=B.Type.Object({cssClass:B.Type.Optional(B.Type.String()),textCssClass:B.Type.Optional(B.Type.String()),titleCssClass:B.Type.Optional(B.Type.String())}),w9=B.Type.Object({options:B.Type.Object({delay:B.Type.Optional(B.Type.Number()),width:B.Type.Number(),keywordsPrefix:B.Type.String(),screenEdgesMinimumMargin:B.Type.Optional(B.Type.Number()),styling:B.Type.Optional(b9)}),tooltips:B.Type.Array(B.Type.Object({keywords:B.Type.Array(B.Type.String()),title:B.Type.String(),description:B.Type.String(),styling:B.Type.Optional(b9)}))}),k9={options:{delay:0,width:350,keywordsPrefix:"@@"},tooltips:[]},Ave=B.Type.Object({name:B.Type.String(),description:B.Type.String(),icon:B.Type.Optional(B.Type.String()),lockedIcon:B.Type.Optional(B.Type.String()),secret:B.Type.Optional(B.Type.Boolean()),category:B.Type.Optional(B.Type.String())}),x9=B.Type.Object({id:B.Type.String(),title:B.Type.String()}),_9=B.Type.Record(B.Type.String(),Ave);B.Type.Object({defaultAchievementIcon:B.Type.String(),categories:B.Type.Array(x9),achievements:_9,notifyNewAchievements:B.Type.Boolean(),secretAchievements:B.Type.Optional(B.Type.Object({censorDescription:B.Type.Optional(B.Type.Boolean()),censorName:B.Type.Optional(B.Type.Boolean()),hideUntilObtained:B.Type.Optional(B.Type.Boolean())}))});const j9=B.Type.Object({categories:B.Type.Optional(B.Type.Array(x9)),achievements:B.Type.Optional(_9)}),S9={categories:[{id:"default",title:"Achievements"}],achievements:{},notifyNewAchievements:!0,defaultAchievementIcon:"img/achievements/trophy.png"},Mve=B.Type.Object({diceRange:B.Type.Tuple([B.Type.Number(),B.Type.Number()]),diceCount:B.Type.Number(),difficultyText:B.Type.Array(B.Type.Tuple([B.Type.Number(),B.Type.String()])),extraPointsPerLevel:B.Type.Number(),extraDicePerLevel:B.Type.Optional(B.Type.Number()),successOnRollsBelowThreshold:B.Type.Boolean(),showDifficultyText:B.Type.Boolean(),showDifficultyNumber:B.Type.Boolean(),showDifficultyWithoutModifiers:B.Type.Boolean(),finalRollIsHighest:B.Type.Optional(B.Type.Boolean()),finalRollIsLowest:B.Type.Optional(B.Type.Boolean()),failOnRollsEqualToThreshold:B.Type.Optional(B.Type.Boolean())}),Pve=B.Type.Object({skill:B.Type.String(),difficulty:B.Type.Number(),winsNeeded:B.Type.Optional(B.Type.Number()),hideAfterRoll:B.Type.Optional(B.Type.Boolean()),repeatable:B.Type.Optional(B.Type.Boolean())}),C9=B.Type.Object({options:Mve,skillChecks:B.Type.Record(B.Type.String(),Pve)}),$9={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:{}},Nve=B.Type.Object({cssClass:B.Type.Optional(B.Type.String()),textTemplate:B.Type.Optional(B.Type.String())}),T9=B.Type.Record(B.Type.String(),Nve);B.Type.Object({choiceTextTemplate:B.Type.String(),choicePrompts:T9});const O9=B.Type.Object({choiceTextTemplate:B.Type.Optional(B.Type.String()),choicePrompts:B.Type.Optional(T9)}),E9={choicePrompts:{},choiceTextTemplate:'<span class="choice-index">%{$index}. </span> <span class="choice-text">%{$choice}</span>'},A9=B.Type.Object({delay:B.Type.Optional(B.Type.Number()),direction:B.Type.Optional(B.Type.String()),duration:B.Type.Optional(B.Type.Number()),easing:B.Type.Optional(B.Type.String()),endDelay:B.Type.Optional(B.Type.Number()),fill:B.Type.Optional(B.Type.String()),iterationStart:B.Type.Optional(B.Type.Number()),iterations:B.Type.Optional(B.Type.Number()),keyframes:B.Type.Optional(B.Type.Any())}),w_=B.Type.Array(B.Type.Any()),Ive=B.Type.Object({keyframes:B.Type.Union([B.Type.String(),w_]),options:B.Type.Optional(A9)});B.Type.Object({keyframes:w_,options:B.Type.Optional(A9)});const M9=B.Type.Object({animations:B.Type.Record(B.Type.String(),Ive),keyframes:B.Type.Record(B.Type.String(),w_)}),P9={animations:{},keyframes:{}},Uf={common:b_,screens:d9,buttons:c9,skills:v9,skillChecks:$9,scripts:[],audio:B7,tooltips:k9,achievements:S9,items:o9,quests:a9,characters:y9,choices:E9,animations:P9};var Dve=function(t){return Lve(t)&&!Rve(t)};function Lve(e){return!!e&&typeof e=="object"}function Rve(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||Vve(e)}var Bve=typeof Symbol=="function"&&Symbol.for,Fve=Bve?Symbol.for("react.element"):60103;function Vve(e){return e.$$typeof===Fve}function zve(e){return Array.isArray(e)?[]:{}}function np(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Hf(zve(e),e,t):e}function qve(e,t,n){return e.concat(t).map(function(r){return np(r,n)})}function Uve(e,t){if(!t.customMerge)return Hf;var n=t.customMerge(e);return typeof n=="function"?n:Hf}function Hve(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function N9(e){return Object.keys(e).concat(Hve(e))}function I9(e,t){try{return t in e}catch{return!1}}function Wve(e,t){return I9(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function Kve(e,t,n){var r={};return n.isMergeableObject(e)&&N9(e).forEach(function(o){r[o]=np(e[o],n)}),N9(t).forEach(function(o){Wve(e,o)||(I9(e,o)&&n.isMergeableObject(t[o])?r[o]=Uve(o,n)(e[o],t[o],n):r[o]=np(t[o],n))}),r}function Hf(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||qve,n.isMergeableObject=n.isMergeableObject||Dve,n.cloneUnlessOtherwiseSpecified=np;var r=Array.isArray(t),o=Array.isArray(e),i=r===o;return i?r?n.arrayMerge(e,t,n):Kve(e,t,n):np(t,n)}Hf.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,o){return Hf(r,o,n)},{})};var Gve=Hf,Jve=Gve;const uu=Z0(Jve),_o=oo("config",{state:()=>({config:Uf,configModules:{}}),actions:{async setConfig(e){this.config=e},extendConfig(e){this.config=uu(this.config,e)},generateSaveData(){return{playerCharacter:this.playerCharacter,gameCharacter:this.gameCharacter}},addConfigModule(e,t){this.configModules[e]=t},reloadConfigModule(e){const t=Object.keys(this.configModules).find(r=>this.configModules[r].id===e.id);if(!t)return;this.configModules[t]=e;const n=this.config[t];n&&(this.config[t]=uu(n,e.code))},loadSaveData(e){this.config.characters.config.playerCharacter=e.playerCharacter,this.config.characters.config.gameCharacter=e.gameCharacter}},getters:{playerCharacter(){return this.config.characters.config.playerCharacter??"player"},gameCharacter(){return this.config.characters.config.gameCharacter??"game"}}});function D9(e){const t=Cr(),n=t.getSkillCheck(e.id);if(n&&n.happened&&(n.succeeded||!e.repeatable))return n;const r=Kme(e);return B9(qme(r,e)),r?t.passSkillCheck(e.id,e.hideAfterRoll):t.failSkillCheck(e.id,e.hideAfterRoll),t.getSkillCheck(e.id)}function Qve(e,t=[]){const n=e.options,r=e.staticOptions,o=!!n.condition;if(o)return r.success;if(!o){for(const[i,a]of r.elseifs.entries())if(t[i]===!0)return a.branch}if(!o&&r.failure)return r.failure}function L9(e){return typeof e=="object"}function R9(e){return typeof e=="string"&&e.search(/\$/)===0}function B9(e){const t={speaker:_o().gameCharacter,text:e,interactive:!1};Yn().addDialog(t)}async function k_(e){Yn().addDialog(e)}function Yve(e,t){if(t<e.length)return e[t]}/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function F9(e){return typeof e>"u"||e===null}function Xve(e){return typeof e=="object"&&e!==null}function Zve(e){return Array.isArray(e)?e:F9(e)?[]:[e]}function ege(e,t){var n,r,o,i;if(t)for(i=Object.keys(t),n=0,r=i.length;n<r;n+=1)o=i[n],e[o]=t[o];return e}function tge(e,t){var n="",r;for(r=0;r<t;r+=1)n+=e;return n}function nge(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var rge=F9,oge=Xve,ige=Zve,age=tge,sge=nge,lge=ege,po={isNothing:rge,isObject:oge,toArray:ige,repeat:age,isNegativeZero:sge,extend:lge};function V9(e,t){var n="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+=`
|
|
174
|
+
(${e.id} - ${a}/${e.winsNeeded} - rolls: ${JSON.stringify(r.map(s=>s.modified))})`)}else i=L7(n,e.difficulty),zi.log(`[SKILL CHECK ${o.name}]: ${i?"✅":"❌"}`,`(${e.id}) - ${n}/${e.difficulty}`);return lu(i?"onSkillCheckSuccess":"onSkillCheckFailure"),i}function L7(e,t){const{options:n}=Cp();let r=e>=t;return n.successOnRollsBelowThreshold&&(r=e<=t),n.failOnRollsEqualToThreshold&&e===t&&(r=!1),r}var B={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Type=e.JsonType=e.JavaScriptTypeBuilder=e.JsonTypeBuilder=e.TypeBuilder=e.TypeBuilderError=e.TransformEncodeBuilder=e.TransformDecodeBuilder=e.TemplateLiteralDslParser=e.TemplateLiteralGenerator=e.TemplateLiteralGeneratorError=e.TemplateLiteralFinite=e.TemplateLiteralFiniteError=e.TemplateLiteralParser=e.TemplateLiteralParserError=e.TemplateLiteralResolver=e.TemplateLiteralPattern=e.TemplateLiteralPatternError=e.UnionResolver=e.KeyArrayResolver=e.KeyArrayResolverError=e.KeyResolver=e.ObjectMap=e.Intrinsic=e.IndexedAccessor=e.TypeClone=e.TypeExtends=e.TypeExtendsResult=e.TypeExtendsError=e.ExtendsUndefined=e.TypeGuard=e.TypeGuardUnknownTypeError=e.ValueGuard=e.FormatRegistry=e.TypeBoxError=e.TypeRegistry=e.PatternStringExact=e.PatternNumberExact=e.PatternBooleanExact=e.PatternString=e.PatternNumber=e.PatternBoolean=e.Kind=e.Hint=e.Optional=e.Readonly=e.Transform=void 0,e.Transform=Symbol.for("TypeBox.Transform"),e.Readonly=Symbol.for("TypeBox.Readonly"),e.Optional=Symbol.for("TypeBox.Optional"),e.Hint=Symbol.for("TypeBox.Hint"),e.Kind=Symbol.for("TypeBox.Kind"),e.PatternBoolean="(true|false)",e.PatternNumber="(0|[1-9][0-9]*)",e.PatternString="(.*)",e.PatternBooleanExact=`^${e.PatternBoolean}$`,e.PatternNumberExact=`^${e.PatternNumber}$`,e.PatternStringExact=`^${e.PatternString}$`;var t;(function(T){const x=new Map;function O(){return new Map(x)}T.Entries=O;function S(){return x.clear()}T.Clear=S;function C(pe){return x.delete(pe)}T.Delete=C;function _(pe){return x.has(pe)}T.Has=_;function R(pe,_e){x.set(pe,_e)}T.Set=R;function Z(pe){return x.get(pe)}T.Get=Z})(t||(e.TypeRegistry=t={}));class n extends Error{constructor(x){super(x)}}e.TypeBoxError=n;var r;(function(T){const x=new Map;function O(){return new Map(x)}T.Entries=O;function S(){return x.clear()}T.Clear=S;function C(pe){return x.delete(pe)}T.Delete=C;function _(pe){return x.has(pe)}T.Has=_;function R(pe,_e){x.set(pe,_e)}T.Set=R;function Z(pe){return x.get(pe)}T.Get=Z})(r||(e.FormatRegistry=r={}));var o;(function(T){function x(_e){return Array.isArray(_e)}T.IsArray=x;function O(_e){return typeof _e=="bigint"}T.IsBigInt=O;function S(_e){return typeof _e=="boolean"}T.IsBoolean=S;function C(_e){return _e===null}T.IsNull=C;function _(_e){return typeof _e=="number"}T.IsNumber=_;function R(_e){return typeof _e=="object"&&_e!==null}T.IsObject=R;function Z(_e){return typeof _e=="string"}T.IsString=Z;function pe(_e){return _e===void 0}T.IsUndefined=pe})(o||(e.ValueGuard=o={}));class i extends n{}e.TypeGuardUnknownTypeError=i;var a;(function(T){function x(z){try{return new RegExp(z),!0}catch{return!1}}function O(z){if(!o.IsString(z))return!1;for(let q=0;q<z.length;q++){const X=z.charCodeAt(q);if(X>=7&&X<=13||X===27||X===127)return!1}return!0}function S(z){return R(z)||he(z)}function C(z){return o.IsUndefined(z)||o.IsBigInt(z)}function _(z){return o.IsUndefined(z)||o.IsNumber(z)}function R(z){return o.IsUndefined(z)||o.IsBoolean(z)}function Z(z){return o.IsUndefined(z)||o.IsString(z)}function pe(z){return o.IsUndefined(z)||o.IsString(z)&&O(z)&&x(z)}function _e(z){return o.IsUndefined(z)||o.IsString(z)&&O(z)}function ke(z){return o.IsUndefined(z)||he(z)}function ue(z){return Ve(z,"Any")&&Z(z.$id)}T.TAny=ue;function Ne(z){return Ve(z,"Array")&&z.type==="array"&&Z(z.$id)&&he(z.items)&&_(z.minItems)&&_(z.maxItems)&&R(z.uniqueItems)&&ke(z.contains)&&_(z.minContains)&&_(z.maxContains)}T.TArray=Ne;function oe(z){return Ve(z,"AsyncIterator")&&z.type==="AsyncIterator"&&Z(z.$id)&&he(z.items)}T.TAsyncIterator=oe;function ye(z){return Ve(z,"BigInt")&&z.type==="bigint"&&Z(z.$id)&&C(z.exclusiveMaximum)&&C(z.exclusiveMinimum)&&C(z.maximum)&&C(z.minimum)&&C(z.multipleOf)}T.TBigInt=ye;function fe(z){return Ve(z,"Boolean")&&z.type==="boolean"&&Z(z.$id)}T.TBoolean=fe;function Fe(z){return Ve(z,"Constructor")&&z.type==="Constructor"&&Z(z.$id)&&o.IsArray(z.parameters)&&z.parameters.every(q=>he(q))&&he(z.returns)}T.TConstructor=Fe;function Y(z){return Ve(z,"Date")&&z.type==="Date"&&Z(z.$id)&&_(z.exclusiveMaximumTimestamp)&&_(z.exclusiveMinimumTimestamp)&&_(z.maximumTimestamp)&&_(z.minimumTimestamp)&&_(z.multipleOfTimestamp)}T.TDate=Y;function Q(z){return Ve(z,"Function")&&z.type==="Function"&&Z(z.$id)&&o.IsArray(z.parameters)&&z.parameters.every(q=>he(q))&&he(z.returns)}T.TFunction=Q;function ve(z){return Ve(z,"Integer")&&z.type==="integer"&&Z(z.$id)&&_(z.exclusiveMaximum)&&_(z.exclusiveMinimum)&&_(z.maximum)&&_(z.minimum)&&_(z.multipleOf)}T.TInteger=ve;function Ae(z){return Ve(z,"Intersect")&&!(o.IsString(z.type)&&z.type!=="object")&&o.IsArray(z.allOf)&&z.allOf.every(q=>he(q)&&!wn(q))&&Z(z.type)&&(R(z.unevaluatedProperties)||ke(z.unevaluatedProperties))&&Z(z.$id)}T.TIntersect=Ae;function Me(z){return Ve(z,"Iterator")&&z.type==="Iterator"&&Z(z.$id)&&he(z.items)}T.TIterator=Me;function Ve(z,q){return xe(z)&&z[e.Kind]===q}T.TKindOf=Ve;function xe(z){return o.IsObject(z)&&e.Kind in z&&o.IsString(z[e.Kind])}T.TKind=xe;function Ie(z){return We(z)&&o.IsString(z.const)}T.TLiteralString=Ie;function qe(z){return We(z)&&o.IsNumber(z.const)}T.TLiteralNumber=qe;function tt(z){return We(z)&&o.IsBoolean(z.const)}T.TLiteralBoolean=tt;function We(z){return Ve(z,"Literal")&&Z(z.$id)&&(o.IsBoolean(z.const)||o.IsNumber(z.const)||o.IsString(z.const))}T.TLiteral=We;function ut(z){return Ve(z,"Never")&&o.IsObject(z.not)&&Object.getOwnPropertyNames(z.not).length===0}T.TNever=ut;function gt(z){return Ve(z,"Not")&&he(z.not)}T.TNot=gt;function Dt(z){return Ve(z,"Null")&&z.type==="null"&&Z(z.$id)}T.TNull=Dt;function jt(z){return Ve(z,"Number")&&z.type==="number"&&Z(z.$id)&&_(z.exclusiveMaximum)&&_(z.exclusiveMinimum)&&_(z.maximum)&&_(z.minimum)&&_(z.multipleOf)}T.TNumber=jt;function En(z){return Ve(z,"Object")&&z.type==="object"&&Z(z.$id)&&o.IsObject(z.properties)&&S(z.additionalProperties)&&_(z.minProperties)&&_(z.maxProperties)&&Object.entries(z.properties).every(([q,X])=>O(q)&&he(X))}T.TObject=En;function Lt(z){return Ve(z,"Promise")&&z.type==="Promise"&&Z(z.$id)&&he(z.item)}T.TPromise=Lt;function jn(z){return Ve(z,"Record")&&z.type==="object"&&Z(z.$id)&&S(z.additionalProperties)&&o.IsObject(z.patternProperties)&&(q=>{const X=Object.getOwnPropertyNames(q.patternProperties);return X.length===1&&x(X[0])&&o.IsObject(q.patternProperties)&&he(q.patternProperties[X[0]])})(z)}T.TRecord=jn;function fn(z){return o.IsObject(z)&&e.Hint in z&&z[e.Hint]==="Recursive"}T.TRecursive=fn;function Kn(z){return Ve(z,"Ref")&&Z(z.$id)&&o.IsString(z.$ref)}T.TRef=Kn;function bn(z){return Ve(z,"String")&&z.type==="string"&&Z(z.$id)&&_(z.minLength)&&_(z.maxLength)&&pe(z.pattern)&&_e(z.format)}T.TString=bn;function Hn(z){return Ve(z,"Symbol")&&z.type==="symbol"&&Z(z.$id)}T.TSymbol=Hn;function Ln(z){return Ve(z,"TemplateLiteral")&&z.type==="string"&&o.IsString(z.pattern)&&z.pattern[0]==="^"&&z.pattern[z.pattern.length-1]==="$"}T.TTemplateLiteral=Ln;function Sn(z){return Ve(z,"This")&&Z(z.$id)&&o.IsString(z.$ref)}T.TThis=Sn;function wn(z){return o.IsObject(z)&&e.Transform in z}T.TTransform=wn;function ln(z){return Ve(z,"Tuple")&&z.type==="array"&&Z(z.$id)&&o.IsNumber(z.minItems)&&o.IsNumber(z.maxItems)&&z.minItems===z.maxItems&&(o.IsUndefined(z.items)&&o.IsUndefined(z.additionalItems)&&z.minItems===0||o.IsArray(z.items)&&z.items.every(q=>he(q)))}T.TTuple=ln;function er(z){return Ve(z,"Undefined")&&z.type==="undefined"&&Z(z.$id)}T.TUndefined=er;function Gn(z){return Pe(z)&&z.anyOf.every(q=>Ie(q)||qe(q))}T.TUnionLiteral=Gn;function Pe(z){return Ve(z,"Union")&&Z(z.$id)&&o.IsObject(z)&&o.IsArray(z.anyOf)&&z.anyOf.every(q=>he(q))}T.TUnion=Pe;function dt(z){return Ve(z,"Uint8Array")&&z.type==="Uint8Array"&&Z(z.$id)&&_(z.minByteLength)&&_(z.maxByteLength)}T.TUint8Array=dt;function Ct(z){return Ve(z,"Unknown")&&Z(z.$id)}T.TUnknown=Ct;function rn(z){return Ve(z,"Unsafe")}T.TUnsafe=rn;function Oe(z){return Ve(z,"Void")&&z.type==="void"&&Z(z.$id)}T.TVoid=Oe;function lt(z){return o.IsObject(z)&&z[e.Readonly]==="Readonly"}T.TReadonly=lt;function re(z){return o.IsObject(z)&&z[e.Optional]==="Optional"}T.TOptional=re;function he(z){return o.IsObject(z)&&(ue(z)||Ne(z)||fe(z)||ye(z)||oe(z)||Fe(z)||Y(z)||Q(z)||ve(z)||Ae(z)||Me(z)||We(z)||ut(z)||gt(z)||Dt(z)||jt(z)||En(z)||Lt(z)||jn(z)||Kn(z)||bn(z)||Hn(z)||Ln(z)||Sn(z)||ln(z)||er(z)||Pe(z)||dt(z)||Ct(z)||rn(z)||Oe(z)||xe(z)&&t.Has(z[e.Kind]))}T.TSchema=he})(a||(e.TypeGuard=a={}));var s;(function(T){function x(O){return O[e.Kind]==="Intersect"?O.allOf.every(S=>x(S)):O[e.Kind]==="Union"?O.anyOf.some(S=>x(S)):O[e.Kind]==="Undefined"?!0:O[e.Kind]==="Not"?!x(O.not):!1}T.Check=x})(s||(e.ExtendsUndefined=s={}));class l extends n{}e.TypeExtendsError=l;var c;(function(T){T[T.Union=0]="Union",T[T.True=1]="True",T[T.False=2]="False"})(c||(e.TypeExtendsResult=c={}));var f;(function(T){function x(P){return P===c.False?P:c.True}function O(P){throw new l(P)}function S(P){return a.TNever(P)||a.TIntersect(P)||a.TUnion(P)||a.TUnknown(P)||a.TAny(P)}function C(P,J){return a.TNever(J)?Ve():a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TUnknown(J)?ht():a.TAny(J)?_():O("StructuralRight")}function _(P,J){return c.True}function R(P,J){return a.TIntersect(J)?Q(P,J):a.TUnion(J)&&J.anyOf.some(ze=>a.TAny(ze)||a.TUnknown(ze))?c.True:a.TUnion(J)?c.Union:a.TUnknown(J)||a.TAny(J)?c.True:c.Union}function Z(P,J){return a.TUnknown(P)?c.False:a.TAny(P)?c.Union:a.TNever(P)?c.True:c.False}function pe(P,J){return a.TObject(J)&&Ln(J)?c.True:S(J)?C(P,J):a.TArray(J)?x(ct(P.items,J.items)):c.False}function _e(P,J){return S(J)?C(P,J):a.TAsyncIterator(J)?x(ct(P.items,J.items)):c.False}function ke(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TBigInt(J)?c.True:c.False}function ue(P,J){return a.TLiteral(P)&&o.IsBoolean(P.const)||a.TBoolean(P)?c.True:c.False}function Ne(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TBoolean(J)?c.True:c.False}function oe(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TConstructor(J)?P.parameters.length>J.parameters.length?c.False:P.parameters.every((ze,nt)=>x(ct(J.parameters[nt],ze))===c.True)?x(ct(P.returns,J.returns)):c.False:c.False}function ye(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TDate(J)?c.True:c.False}function fe(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TFunction(J)?P.parameters.length>J.parameters.length?c.False:P.parameters.every((ze,nt)=>x(ct(J.parameters[nt],ze))===c.True)?x(ct(P.returns,J.returns)):c.False:c.False}function Fe(P,J){return a.TLiteral(P)&&o.IsNumber(P.const)||a.TNumber(P)||a.TInteger(P)?c.True:c.False}function Y(P,J){return a.TInteger(J)||a.TNumber(J)?c.True:S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):c.False}function Q(P,J){return J.allOf.every(ze=>ct(P,ze)===c.True)?c.True:c.False}function ve(P,J){return P.allOf.some(ze=>ct(ze,J)===c.True)?c.True:c.False}function Ae(P,J){return S(J)?C(P,J):a.TIterator(J)?x(ct(P.items,J.items)):c.False}function Me(P,J){return a.TLiteral(J)&&J.const===P.const?c.True:S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TString(J)?Oe(P):a.TNumber(J)?We(P):a.TInteger(J)?Fe(P):a.TBoolean(J)?ue(P):c.False}function Ve(P,J){return c.False}function xe(P,J){return c.True}function Ie(P){let[J,ze]=[P,0];for(;a.TNot(J);)J=J.not,ze+=1;return ze%2===0?J:e.Type.Unknown()}function qe(P,J){return a.TNot(P)?ct(Ie(P),J):a.TNot(J)?ct(P,Ie(J)):O("Invalid fallthrough for Not")}function tt(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TNull(J)?c.True:c.False}function We(P,J){return a.TLiteralNumber(P)||a.TNumber(P)||a.TInteger(P)?c.True:c.False}function ut(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TInteger(J)||a.TNumber(J)?c.True:c.False}function gt(P,J){return Object.getOwnPropertyNames(P.properties).length===J}function Dt(P){return Ln(P)}function jt(P){return gt(P,0)||gt(P,1)&&"description"in P.properties&&a.TUnion(P.properties.description)&&P.properties.description.anyOf.length===2&&(a.TString(P.properties.description.anyOf[0])&&a.TUndefined(P.properties.description.anyOf[1])||a.TString(P.properties.description.anyOf[1])&&a.TUndefined(P.properties.description.anyOf[0]))}function En(P){return gt(P,0)}function Lt(P){return gt(P,0)}function jn(P){return gt(P,0)}function fn(P){return gt(P,0)}function Kn(P){return Ln(P)}function bn(P){const J=e.Type.Number();return gt(P,0)||gt(P,1)&&"length"in P.properties&&x(ct(P.properties.length,J))===c.True}function Hn(P){return gt(P,0)}function Ln(P){const J=e.Type.Number();return gt(P,0)||gt(P,1)&&"length"in P.properties&&x(ct(P.properties.length,J))===c.True}function Sn(P){const J=e.Type.Function([e.Type.Any()],e.Type.Any());return gt(P,0)||gt(P,1)&&"then"in P.properties&&x(ct(P.properties.then,J))===c.True}function wn(P,J){return ct(P,J)===c.False||a.TOptional(P)&&!a.TOptional(J)?c.False:c.True}function ln(P,J){return a.TUnknown(P)?c.False:a.TAny(P)?c.Union:a.TNever(P)||a.TLiteralString(P)&&Dt(J)||a.TLiteralNumber(P)&&En(J)||a.TLiteralBoolean(P)&&Lt(J)||a.TSymbol(P)&&jt(J)||a.TBigInt(P)&&jn(J)||a.TString(P)&&Dt(J)||a.TSymbol(P)&&jt(J)||a.TNumber(P)&&En(J)||a.TInteger(P)&&En(J)||a.TBoolean(P)&&Lt(J)||a.TUint8Array(P)&&Kn(J)||a.TDate(P)&&fn(J)||a.TConstructor(P)&&Hn(J)||a.TFunction(P)&&bn(J)?c.True:a.TRecord(P)&&a.TString(Pe(P))?(()=>J[e.Hint]==="Record"?c.True:c.False)():a.TRecord(P)&&a.TNumber(Pe(P))?(()=>gt(J,0)?c.True:c.False)():c.False}function er(P,J){return S(J)?C(P,J):a.TRecord(J)?Ct(P,J):a.TObject(J)?(()=>{for(const ze of Object.getOwnPropertyNames(J.properties))if(!(ze in P.properties)||wn(P.properties[ze],J.properties[ze])===c.False)return c.False;return c.True})():c.False}function Gn(P,J){return S(J)?C(P,J):a.TObject(J)&&Sn(J)?c.True:a.TPromise(J)?x(ct(P.item,J.item)):c.False}function Pe(P){return e.PatternNumberExact in P.patternProperties?e.Type.Number():e.PatternStringExact in P.patternProperties?e.Type.String():O("Unknown record key pattern")}function dt(P){return e.PatternNumberExact in P.patternProperties?P.patternProperties[e.PatternNumberExact]:e.PatternStringExact in P.patternProperties?P.patternProperties[e.PatternStringExact]:O("Unable to get record value schema")}function Ct(P,J){const[ze,nt]=[Pe(J),dt(J)];return a.TLiteralString(P)&&a.TNumber(ze)&&x(ct(P,nt))===c.True?c.True:a.TUint8Array(P)&&a.TNumber(ze)||a.TString(P)&&a.TNumber(ze)||a.TArray(P)&&a.TNumber(ze)?ct(P,nt):a.TObject(P)?(()=>{for(const at of Object.getOwnPropertyNames(P.properties))if(wn(nt,P.properties[at])===c.False)return c.False;return c.True})():c.False}function rn(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?ct(dt(P),dt(J)):c.False}function Oe(P,J){return a.TLiteral(P)&&o.IsString(P.const)||a.TString(P)?c.True:c.False}function lt(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TString(J)?c.True:c.False}function re(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TSymbol(J)?c.True:c.False}function he(P,J){return a.TTemplateLiteral(P)?ct($.Resolve(P),J):a.TTemplateLiteral(J)?ct(P,$.Resolve(J)):O("Invalid fallthrough for TemplateLiteral")}function z(P,J){return a.TArray(J)&&P.items!==void 0&&P.items.every(ze=>ct(ze,J.items)===c.True)}function q(P,J){return a.TNever(P)?c.True:a.TUnknown(P)?c.False:a.TAny(P)?c.Union:c.False}function X(P,J){return S(J)?C(P,J):a.TObject(J)&&Ln(J)||a.TArray(J)&&z(P,J)?c.True:a.TTuple(J)?o.IsUndefined(P.items)&&!o.IsUndefined(J.items)||!o.IsUndefined(P.items)&&o.IsUndefined(J.items)?c.False:o.IsUndefined(P.items)&&!o.IsUndefined(J.items)||P.items.every((ze,nt)=>ct(ze,J.items[nt])===c.True)?c.True:c.False:c.False}function de(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TUint8Array(J)?c.True:c.False}function je(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?Ct(P,J):a.TVoid(J)?bt(P):a.TUndefined(J)?c.True:c.False}function Te(P,J){return J.anyOf.some(ze=>ct(P,ze)===c.True)?c.True:c.False}function it(P,J){return P.anyOf.every(ze=>ct(ze,J)===c.True)?c.True:c.False}function ht(P,J){return c.True}function $t(P,J){return a.TNever(J)?Ve():a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TAny(J)?_():a.TString(J)?Oe(P):a.TNumber(J)?We(P):a.TInteger(J)?Fe(P):a.TBoolean(J)?ue(P):a.TArray(J)?Z(P):a.TTuple(J)?q(P):a.TObject(J)?ln(P,J):a.TUnknown(J)?c.True:c.False}function bt(P,J){return a.TUndefined(P)||a.TUndefined(P)?c.True:c.False}function Ht(P,J){return a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TUnknown(J)?ht():a.TAny(J)?_():a.TObject(J)?ln(P,J):a.TVoid(J)?c.True:c.False}function ct(P,J){return a.TTemplateLiteral(P)||a.TTemplateLiteral(J)?he(P,J):a.TNot(P)||a.TNot(J)?qe(P,J):a.TAny(P)?R(P,J):a.TArray(P)?pe(P,J):a.TBigInt(P)?ke(P,J):a.TBoolean(P)?Ne(P,J):a.TAsyncIterator(P)?_e(P,J):a.TConstructor(P)?oe(P,J):a.TDate(P)?ye(P,J):a.TFunction(P)?fe(P,J):a.TInteger(P)?Y(P,J):a.TIntersect(P)?ve(P,J):a.TIterator(P)?Ae(P,J):a.TLiteral(P)?Me(P,J):a.TNever(P)?xe():a.TNull(P)?tt(P,J):a.TNumber(P)?ut(P,J):a.TObject(P)?er(P,J):a.TRecord(P)?rn(P,J):a.TString(P)?lt(P,J):a.TSymbol(P)?re(P,J):a.TTuple(P)?X(P,J):a.TPromise(P)?Gn(P,J):a.TUint8Array(P)?de(P,J):a.TUndefined(P)?je(P,J):a.TUnion(P)?it(P,J):a.TUnknown(P)?$t(P,J):a.TVoid(P)?Ht(P,J):O(`Unknown left type operand '${P[e.Kind]}'`)}function on(P,J){return ct(P,J)}T.Extends=on})(f||(e.TypeExtends=f={}));var u;(function(T){function x(R){const Z=Object.getOwnPropertyNames(R).reduce((_e,ke)=>({..._e,[ke]:S(R[ke])}),{}),pe=Object.getOwnPropertySymbols(R).reduce((_e,ke)=>({..._e,[ke]:S(R[ke])}),{});return{...Z,...pe}}function O(R){return R.map(Z=>S(Z))}function S(R){return o.IsArray(R)?O(R):o.IsObject(R)?x(R):R}function C(R){return R.map(Z=>_(Z))}T.Rest=C;function _(R,Z={}){return{...S(R),...Z}}T.Type=_})(u||(e.TypeClone=u={}));var d;(function(T){function x(oe){return oe.map(ye=>{const{[e.Optional]:fe,...Fe}=u.Type(ye);return Fe})}function O(oe){return oe.every(ye=>a.TOptional(ye))}function S(oe){return oe.some(ye=>a.TOptional(ye))}function C(oe){return O(oe.allOf)?e.Type.Optional(e.Type.Intersect(x(oe.allOf))):oe}function _(oe){return S(oe.anyOf)?e.Type.Optional(e.Type.Union(x(oe.anyOf))):oe}function R(oe){return oe[e.Kind]==="Intersect"?C(oe):oe[e.Kind]==="Union"?_(oe):oe}function Z(oe,ye){const fe=oe.allOf.reduce((Fe,Y)=>{const Q=ue(Y,ye);return Q[e.Kind]==="Never"?Fe:[...Fe,Q]},[]);return R(e.Type.Intersect(fe))}function pe(oe,ye){const fe=oe.anyOf.map(Fe=>ue(Fe,ye));return R(e.Type.Union(fe))}function _e(oe,ye){const fe=oe.properties[ye];return o.IsUndefined(fe)?e.Type.Never():e.Type.Union([fe])}function ke(oe,ye){const fe=oe.items;if(o.IsUndefined(fe))return e.Type.Never();const Fe=fe[ye];return o.IsUndefined(Fe)?e.Type.Never():Fe}function ue(oe,ye){return oe[e.Kind]==="Intersect"?Z(oe,ye):oe[e.Kind]==="Union"?pe(oe,ye):oe[e.Kind]==="Object"?_e(oe,ye):oe[e.Kind]==="Tuple"?ke(oe,ye):e.Type.Never()}function Ne(oe,ye,fe={}){const Fe=ye.map(Y=>ue(oe,Y.toString()));return R(e.Type.Union(Fe,fe))}T.Resolve=Ne})(d||(e.IndexedAccessor=d={}));var h;(function(T){function x(ke){const[ue,Ne]=[ke.slice(0,1),ke.slice(1)];return`${ue.toLowerCase()}${Ne}`}function O(ke){const[ue,Ne]=[ke.slice(0,1),ke.slice(1)];return`${ue.toUpperCase()}${Ne}`}function S(ke){return ke.toUpperCase()}function C(ke){return ke.toLowerCase()}function _(ke,ue){const Ne=E.ParseExact(ke.pattern);if(!D.Check(Ne))return{...ke,pattern:R(ke.pattern,ue)};const fe=[...M.Generate(Ne)].map(Q=>e.Type.Literal(Q)),Fe=Z(fe,ue),Y=e.Type.Union(Fe);return e.Type.TemplateLiteral([Y])}function R(ke,ue){return typeof ke=="string"?ue==="Uncapitalize"?x(ke):ue==="Capitalize"?O(ke):ue==="Uppercase"?S(ke):ue==="Lowercase"?C(ke):ke:ke.toString()}function Z(ke,ue){if(ke.length===0)return[];const[Ne,...oe]=ke;return[_e(Ne,ue),...Z(oe,ue)]}function pe(ke,ue){return a.TTemplateLiteral(ke)?_(ke,ue):a.TUnion(ke)?e.Type.Union(Z(ke.anyOf,ue)):a.TLiteral(ke)?e.Type.Literal(R(ke.const,ue)):ke}function _e(ke,ue){return pe(ke,ue)}T.Map=_e})(h||(e.Intrinsic=h={}));var p;(function(T){function x(R,Z){return e.Type.Intersect(R.allOf.map(pe=>C(pe,Z)),{...R})}function O(R,Z){return e.Type.Union(R.anyOf.map(pe=>C(pe,Z)),{...R})}function S(R,Z){return Z(R)}function C(R,Z){return R[e.Kind]==="Intersect"?x(R,Z):R[e.Kind]==="Union"?O(R,Z):R[e.Kind]==="Object"?S(R,Z):R}function _(R,Z,pe){return{...C(u.Type(R),Z),...pe}}T.Map=_})(p||(e.ObjectMap=p={}));var m;(function(T){function x(_e){return _e[0]==="^"&&_e[_e.length-1]==="$"?_e.slice(1,_e.length-1):_e}function O(_e,ke){return _e.allOf.reduce((ue,Ne)=>[...ue,...R(Ne,ke)],[])}function S(_e,ke){const ue=_e.anyOf.map(Ne=>R(Ne,ke));return[...ue.reduce((Ne,oe)=>oe.map(ye=>ue.every(fe=>fe.includes(ye))?Ne.add(ye):Ne)[0],new Set)]}function C(_e,ke){return Object.getOwnPropertyNames(_e.properties)}function _(_e,ke){return ke.includePatterns?Object.getOwnPropertyNames(_e.patternProperties):[]}function R(_e,ke){return a.TIntersect(_e)?O(_e,ke):a.TUnion(_e)?S(_e,ke):a.TObject(_e)?C(_e):a.TRecord(_e)?_(_e,ke):[]}function Z(_e,ke){return[...new Set(R(_e,ke))]}T.ResolveKeys=Z;function pe(_e){return`^(${Z(_e,{includePatterns:!0}).map(Ne=>`(${x(Ne)})`).join("|")})$`}T.ResolvePattern=pe})(m||(e.KeyResolver=m={}));class v extends n{}e.KeyArrayResolverError=v;var g;(function(T){function x(O){return Array.isArray(O)?O:a.TUnionLiteral(O)?O.anyOf.map(S=>S.const.toString()):a.TLiteral(O)?[O.const]:a.TTemplateLiteral(O)?(()=>{const S=E.ParseExact(O.pattern);if(!D.Check(S))throw new v("Cannot resolve keys from infinite template expression");return[...M.Generate(S)]})():[]}T.Resolve=x})(g||(e.KeyArrayResolver=g={}));var y;(function(T){function*x(S){for(const C of S.anyOf)C[e.Kind]==="Union"?yield*x(C):yield C}function O(S){return e.Type.Union([...x(S)],{...S})}T.Resolve=O})(y||(e.UnionResolver=y={}));class w extends n{}e.TemplateLiteralPatternError=w;var k;(function(T){function x(_){throw new w(_)}function O(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function S(_,R){return a.TTemplateLiteral(_)?_.pattern.slice(1,_.pattern.length-1):a.TUnion(_)?`(${_.anyOf.map(Z=>S(Z,R)).join("|")})`:a.TNumber(_)?`${R}${e.PatternNumber}`:a.TInteger(_)?`${R}${e.PatternNumber}`:a.TBigInt(_)?`${R}${e.PatternNumber}`:a.TString(_)?`${R}${e.PatternString}`:a.TLiteral(_)?`${R}${O(_.const.toString())}`:a.TBoolean(_)?`${R}${e.PatternBoolean}`:x(`Unexpected Kind '${_[e.Kind]}'`)}function C(_){return`^${_.map(R=>S(R,"")).join("")}$`}T.Create=C})(k||(e.TemplateLiteralPattern=k={}));var $;(function(T){function x(O){const S=E.ParseExact(O.pattern);if(!D.Check(S))return e.Type.String();const C=[...M.Generate(S)].map(_=>e.Type.Literal(_));return e.Type.Union(C)}T.Resolve=x})($||(e.TemplateLiteralResolver=$={}));class j extends n{}e.TemplateLiteralParserError=j;var E;(function(T){function x(oe,ye,fe){return oe[ye]===fe&&oe.charCodeAt(ye-1)!==92}function O(oe,ye){return x(oe,ye,"(")}function S(oe,ye){return x(oe,ye,")")}function C(oe,ye){return x(oe,ye,"|")}function _(oe){if(!(O(oe,0)&&S(oe,oe.length-1)))return!1;let ye=0;for(let fe=0;fe<oe.length;fe++)if(O(oe,fe)&&(ye+=1),S(oe,fe)&&(ye-=1),ye===0&&fe!==oe.length-1)return!1;return!0}function R(oe){return oe.slice(1,oe.length-1)}function Z(oe){let ye=0;for(let fe=0;fe<oe.length;fe++)if(O(oe,fe)&&(ye+=1),S(oe,fe)&&(ye-=1),C(oe,fe)&&ye===0)return!0;return!1}function pe(oe){for(let ye=0;ye<oe.length;ye++)if(O(oe,ye))return!0;return!1}function _e(oe){let[ye,fe]=[0,0];const Fe=[];for(let Q=0;Q<oe.length;Q++)if(O(oe,Q)&&(ye+=1),S(oe,Q)&&(ye-=1),C(oe,Q)&&ye===0){const ve=oe.slice(fe,Q);ve.length>0&&Fe.push(ue(ve)),fe=Q+1}const Y=oe.slice(fe);return Y.length>0&&Fe.push(ue(Y)),Fe.length===0?{type:"const",const:""}:Fe.length===1?Fe[0]:{type:"or",expr:Fe}}function ke(oe){function ye(Y,Q){if(!O(Y,Q))throw new j("TemplateLiteralParser: Index must point to open parens");let ve=0;for(let Ae=Q;Ae<Y.length;Ae++)if(O(Y,Ae)&&(ve+=1),S(Y,Ae)&&(ve-=1),ve===0)return[Q,Ae];throw new j("TemplateLiteralParser: Unclosed group parens in expression")}function fe(Y,Q){for(let ve=Q;ve<Y.length;ve++)if(O(Y,ve))return[Q,ve];return[Q,Y.length]}const Fe=[];for(let Y=0;Y<oe.length;Y++)if(O(oe,Y)){const[Q,ve]=ye(oe,Y),Ae=oe.slice(Q,ve+1);Fe.push(ue(Ae)),Y=ve}else{const[Q,ve]=fe(oe,Y),Ae=oe.slice(Q,ve);Ae.length>0&&Fe.push(ue(Ae)),Y=ve-1}return Fe.length===0?{type:"const",const:""}:Fe.length===1?Fe[0]:{type:"and",expr:Fe}}function ue(oe){return _(oe)?ue(R(oe)):Z(oe)?_e(oe):pe(oe)?ke(oe):{type:"const",const:oe}}T.Parse=ue;function Ne(oe){return ue(oe.slice(1,oe.length-1))}T.ParseExact=Ne})(E||(e.TemplateLiteralParser=E={}));class I extends n{}e.TemplateLiteralFiniteError=I;var D;(function(T){function x(R){throw new I(R)}function O(R){return R.type==="or"&&R.expr.length===2&&R.expr[0].type==="const"&&R.expr[0].const==="0"&&R.expr[1].type==="const"&&R.expr[1].const==="[1-9][0-9]*"}function S(R){return R.type==="or"&&R.expr.length===2&&R.expr[0].type==="const"&&R.expr[0].const==="true"&&R.expr[1].type==="const"&&R.expr[1].const==="false"}function C(R){return R.type==="const"&&R.const===".*"}function _(R){return S(R)?!0:O(R)||C(R)?!1:R.type==="and"?R.expr.every(Z=>_(Z)):R.type==="or"?R.expr.every(Z=>_(Z)):R.type==="const"?!0:x("Unknown expression type")}T.Check=_})(D||(e.TemplateLiteralFinite=D={}));class L extends n{}e.TemplateLiteralGeneratorError=L;var M;(function(T){function*x(R){if(R.length===1)return yield*R[0];for(const Z of R[0])for(const pe of x(R.slice(1)))yield`${Z}${pe}`}function*O(R){return yield*x(R.expr.map(Z=>[..._(Z)]))}function*S(R){for(const Z of R.expr)yield*_(Z)}function*C(R){return yield R.const}function*_(R){return R.type==="and"?yield*O(R):R.type==="or"?yield*S(R):R.type==="const"?yield*C(R):(()=>{throw new L("Unknown expression")})()}T.Generate=_})(M||(e.TemplateLiteralGenerator=M={}));var F;(function(T){function*x(_){const R=_.trim().replace(/"|'/g,"");return R==="boolean"?yield e.Type.Boolean():R==="number"?yield e.Type.Number():R==="bigint"?yield e.Type.BigInt():R==="string"?yield e.Type.String():yield(()=>{const Z=R.split("|").map(pe=>e.Type.Literal(pe.trim()));return Z.length===0?e.Type.Never():Z.length===1?Z[0]:e.Type.Union(Z)})()}function*O(_){if(_[1]!=="{"){const R=e.Type.Literal("$"),Z=S(_.slice(1));return yield*[R,...Z]}for(let R=2;R<_.length;R++)if(_[R]==="}"){const Z=x(_.slice(2,R)),pe=S(_.slice(R+1));return yield*[...Z,...pe]}yield e.Type.Literal(_)}function*S(_){for(let R=0;R<_.length;R++)if(_[R]==="$"){const Z=e.Type.Literal(_.slice(0,R)),pe=O(_.slice(R));return yield*[Z,...pe]}yield e.Type.Literal(_)}function C(_){return[...S(_)]}T.Parse=C})(F||(e.TemplateLiteralDslParser=F={}));class H{constructor(x){this.schema=x}Decode(x){return new N(this.schema,x)}}e.TransformDecodeBuilder=H;class N{constructor(x,O){this.schema=x,this.decode=O}Encode(x){const O=u.Type(this.schema);return a.TTransform(O)?(()=>{const _={Encode:R=>O[e.Transform].Encode(x(R)),Decode:R=>this.decode(O[e.Transform].Decode(R))};return{...O,[e.Transform]:_}})():(()=>{const S={Decode:this.decode,Encode:x};return{...O,[e.Transform]:S}})()}}e.TransformEncodeBuilder=N;let W=0;class ee extends n{}e.TypeBuilderError=ee;class U{Create(x){return x}Throw(x){throw new ee(x)}Discard(x,O){return O.reduce((S,C)=>{const{[C]:_,...R}=S;return R},x)}Strict(x){return JSON.parse(JSON.stringify(x))}}e.TypeBuilder=U;class K extends U{ReadonlyOptional(x){return this.Readonly(this.Optional(x))}Readonly(x){return{...u.Type(x),[e.Readonly]:"Readonly"}}Optional(x){return{...u.Type(x),[e.Optional]:"Optional"}}Any(x={}){return this.Create({...x,[e.Kind]:"Any"})}Array(x,O={}){return this.Create({...O,[e.Kind]:"Array",type:"array",items:u.Type(x)})}Boolean(x={}){return this.Create({...x,[e.Kind]:"Boolean",type:"boolean"})}Capitalize(x,O={}){return{...h.Map(u.Type(x),"Capitalize"),...O}}Composite(x,O){const S=e.Type.Intersect(x,{}),_=m.ResolveKeys(S,{includePatterns:!1}).reduce((R,Z)=>({...R,[Z]:e.Type.Index(S,[Z])}),{});return e.Type.Object(_,O)}Enum(x,O={}){const S=Object.getOwnPropertyNames(x).filter(R=>isNaN(R)).map(R=>x[R]),_=[...new Set(S)].map(R=>e.Type.Literal(R));return this.Union(_,{...O,[e.Hint]:"Enum"})}Extends(x,O,S,C,_={}){switch(f.Extends(x,O)){case c.Union:return this.Union([u.Type(S,_),u.Type(C,_)]);case c.True:return u.Type(S,_);case c.False:return u.Type(C,_)}}Exclude(x,O,S={}){return a.TTemplateLiteral(x)?this.Exclude($.Resolve(x),O,S):a.TTemplateLiteral(O)?this.Exclude(x,$.Resolve(O),S):a.TUnion(x)?(()=>{const C=x.anyOf.filter(_=>f.Extends(_,O)===c.False);return C.length===1?u.Type(C[0],S):this.Union(C,S)})():f.Extends(x,O)!==c.False?this.Never(S):u.Type(x,S)}Extract(x,O,S={}){return a.TTemplateLiteral(x)?this.Extract($.Resolve(x),O,S):a.TTemplateLiteral(O)?this.Extract(x,$.Resolve(O),S):a.TUnion(x)?(()=>{const C=x.anyOf.filter(_=>f.Extends(_,O)!==c.False);return C.length===1?u.Type(C[0],S):this.Union(C,S)})():f.Extends(x,O)!==c.False?u.Type(x,S):this.Never(S)}Index(x,O,S={}){return a.TArray(x)&&a.TNumber(O)?(()=>u.Type(x.items,S))():a.TTuple(x)&&a.TNumber(O)?(()=>{const _=(o.IsUndefined(x.items)?[]:x.items).map(R=>u.Type(R));return this.Union(_,S)})():(()=>{const C=g.Resolve(O),_=u.Type(x);return d.Resolve(_,C,S)})()}Integer(x={}){return this.Create({...x,[e.Kind]:"Integer",type:"integer"})}Intersect(x,O={}){if(x.length===0)return e.Type.Never();if(x.length===1)return u.Type(x[0],O);x.some(R=>a.TTransform(R))&&this.Throw("Cannot intersect transform types");const S=x.every(R=>a.TObject(R)),C=u.Rest(x),_=a.TSchema(O.unevaluatedProperties)?{unevaluatedProperties:u.Type(O.unevaluatedProperties)}:{};return O.unevaluatedProperties===!1||a.TSchema(O.unevaluatedProperties)||S?this.Create({...O,..._,[e.Kind]:"Intersect",type:"object",allOf:C}):this.Create({...O,..._,[e.Kind]:"Intersect",allOf:C})}KeyOf(x,O={}){return a.TRecord(x)?(()=>{const S=Object.getOwnPropertyNames(x.patternProperties)[0];return S===e.PatternNumberExact?this.Number(O):S===e.PatternStringExact?this.String(O):this.Throw("Unable to resolve key type from Record key pattern")})():a.TTuple(x)?(()=>{const C=(o.IsUndefined(x.items)?[]:x.items).map((_,R)=>e.Type.Literal(R.toString()));return this.Union(C,O)})():a.TArray(x)?(()=>this.Number(O))():(()=>{const S=m.ResolveKeys(x,{includePatterns:!1});if(S.length===0)return this.Never(O);const C=S.map(_=>this.Literal(_));return this.Union(C,O)})()}Literal(x,O={}){return this.Create({...O,[e.Kind]:"Literal",const:x,type:typeof x})}Lowercase(x,O={}){return{...h.Map(u.Type(x),"Lowercase"),...O}}Never(x={}){return this.Create({...x,[e.Kind]:"Never",not:{}})}Not(x,O){return this.Create({...O,[e.Kind]:"Not",not:u.Type(x)})}Null(x={}){return this.Create({...x,[e.Kind]:"Null",type:"null"})}Number(x={}){return this.Create({...x,[e.Kind]:"Number",type:"number"})}Object(x,O={}){const S=Object.getOwnPropertyNames(x),C=S.filter(pe=>a.TOptional(x[pe])),_=S.filter(pe=>!C.includes(pe)),R=a.TSchema(O.additionalProperties)?{additionalProperties:u.Type(O.additionalProperties)}:{},Z=S.reduce((pe,_e)=>({...pe,[_e]:u.Type(x[_e])}),{});return _.length>0?this.Create({...O,...R,[e.Kind]:"Object",type:"object",properties:Z,required:_}):this.Create({...O,...R,[e.Kind]:"Object",type:"object",properties:Z})}Omit(x,O,S={}){const C=g.Resolve(O);return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),_=>{o.IsArray(_.required)&&(_.required=_.required.filter(R=>!C.includes(R)),_.required.length===0&&delete _.required);for(const R of Object.getOwnPropertyNames(_.properties))C.includes(R)&&delete _.properties[R];return this.Create(_)},S)}Partial(x,O={}){return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),S=>{const C=Object.getOwnPropertyNames(S.properties).reduce((_,R)=>({..._,[R]:this.Optional(S.properties[R])}),{});return this.Object(C,this.Discard(S,["required"]))},O)}Pick(x,O,S={}){const C=g.Resolve(O);return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),_=>{o.IsArray(_.required)&&(_.required=_.required.filter(R=>C.includes(R)),_.required.length===0&&delete _.required);for(const R of Object.getOwnPropertyNames(_.properties))C.includes(R)||delete _.properties[R];return this.Create(_)},S)}Record(x,O,S={}){return a.TTemplateLiteral(x)?(()=>{const C=E.ParseExact(x.pattern);return D.Check(C)?this.Object([...M.Generate(C)].reduce((_,R)=>({..._,[R]:u.Type(O)}),{}),S):this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[x.pattern]:u.Type(O)}})})():a.TUnion(x)?(()=>{const C=y.Resolve(x);if(a.TUnionLiteral(C)){const _=C.anyOf.reduce((R,Z)=>({...R,[Z.const]:u.Type(O)}),{});return this.Object(_,{...S,[e.Hint]:"Record"})}else this.Throw("Record key of type union contains non-literal types")})():a.TLiteral(x)?(()=>o.IsString(x.const)||o.IsNumber(x.const)?this.Object({[x.const]:u.Type(O)},S):this.Throw("Record key of type literal is not of type string or number"))():a.TInteger(x)||a.TNumber(x)?(()=>this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[e.PatternNumberExact]:u.Type(O)}}))():a.TString(x)?(()=>{const C=o.IsUndefined(x.pattern)?e.PatternStringExact:x.pattern;return this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[C]:u.Type(O)}})})():this.Never()}Recursive(x,O={}){o.IsUndefined(O.$id)&&(O.$id=`T${W++}`);const S=x({[e.Kind]:"This",$ref:`${O.$id}`});return S.$id=O.$id,this.Create({...O,[e.Hint]:"Recursive",...S})}Ref(x,O={}){return o.IsString(x)?this.Create({...O,[e.Kind]:"Ref",$ref:x}):(o.IsUndefined(x.$id)&&this.Throw("Reference target type must specify an $id"),this.Create({...O,[e.Kind]:"Ref",$ref:x.$id}))}Required(x,O={}){return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),S=>{const C=Object.getOwnPropertyNames(S.properties).reduce((_,R)=>({..._,[R]:this.Discard(S.properties[R],[e.Optional])}),{});return this.Object(C,S)},O)}Rest(x){return a.TTuple(x)&&!o.IsUndefined(x.items)?u.Rest(x.items):a.TIntersect(x)?u.Rest(x.allOf):a.TUnion(x)?u.Rest(x.anyOf):[]}String(x={}){return this.Create({...x,[e.Kind]:"String",type:"string"})}TemplateLiteral(x,O={}){const S=o.IsString(x)?k.Create(F.Parse(x)):k.Create(x);return this.Create({...O,[e.Kind]:"TemplateLiteral",type:"string",pattern:S})}Transform(x){return new H(x)}Tuple(x,O={}){const[S,C,_]=[!1,x.length,x.length],R=u.Rest(x),Z=x.length>0?{...O,[e.Kind]:"Tuple",type:"array",items:R,additionalItems:S,minItems:C,maxItems:_}:{...O,[e.Kind]:"Tuple",type:"array",minItems:C,maxItems:_};return this.Create(Z)}Uncapitalize(x,O={}){return{...h.Map(u.Type(x),"Uncapitalize"),...O}}Union(x,O={}){return a.TTemplateLiteral(x)?$.Resolve(x):(()=>{const S=x;if(S.length===0)return this.Never(O);if(S.length===1)return this.Create(u.Type(S[0],O));const C=u.Rest(S);return this.Create({...O,[e.Kind]:"Union",anyOf:C})})()}Unknown(x={}){return this.Create({...x,[e.Kind]:"Unknown"})}Unsafe(x={}){return this.Create({...x,[e.Kind]:x[e.Kind]||"Unsafe"})}Uppercase(x,O={}){return{...h.Map(u.Type(x),"Uppercase"),...O}}}e.JsonTypeBuilder=K;class A extends K{AsyncIterator(x,O={}){return this.Create({...O,[e.Kind]:"AsyncIterator",type:"AsyncIterator",items:u.Type(x)})}Awaited(x,O={}){const S=C=>C.length>0?(()=>{const[_,...R]=C;return[this.Awaited(_),...S(R)]})():C;return a.TIntersect(x)?e.Type.Intersect(S(x.allOf)):a.TUnion(x)?e.Type.Union(S(x.anyOf)):a.TPromise(x)?this.Awaited(x.item):u.Type(x,O)}BigInt(x={}){return this.Create({...x,[e.Kind]:"BigInt",type:"bigint"})}ConstructorParameters(x,O={}){return this.Tuple([...x.parameters],{...O})}Constructor(x,O,S){const[C,_]=[u.Rest(x),u.Type(O)];return this.Create({...S,[e.Kind]:"Constructor",type:"Constructor",parameters:C,returns:_})}Date(x={}){return this.Create({...x,[e.Kind]:"Date",type:"Date"})}Function(x,O,S){const[C,_]=[u.Rest(x),u.Type(O)];return this.Create({...S,[e.Kind]:"Function",type:"Function",parameters:C,returns:_})}InstanceType(x,O={}){return u.Type(x.returns,O)}Iterator(x,O={}){return this.Create({...O,[e.Kind]:"Iterator",type:"Iterator",items:u.Type(x)})}Parameters(x,O={}){return this.Tuple(x.parameters,{...O})}Promise(x,O={}){return this.Create({...O,[e.Kind]:"Promise",type:"Promise",item:u.Type(x)})}RegExp(x,O={}){const S=o.IsString(x)?x:x.source;return this.Create({...O,[e.Kind]:"String",type:"string",pattern:S})}RegEx(x,O={}){return this.RegExp(x,O)}ReturnType(x,O={}){return u.Type(x.returns,O)}Symbol(x){return this.Create({...x,[e.Kind]:"Symbol",type:"symbol"})}Undefined(x={}){return this.Create({...x,[e.Kind]:"Undefined",type:"undefined"})}Uint8Array(x={}){return this.Create({...x,[e.Kind]:"Uint8Array",type:"Uint8Array"})}Void(x={}){return this.Create({...x,[e.Kind]:"Void",type:"void"})}}e.JavaScriptTypeBuilder=A,e.JsonType=new K,e.Type=new A})(B);const Gme=B.Type.Object({src:B.Type.String(),path:B.Type.Optional(B.Type.String()),volume:B.Type.Optional(B.Type.Number()),rate:B.Type.Optional(B.Type.Number()),html5:B.Type.Optional(B.Type.Boolean()),fadeInTime:B.Type.Optional(B.Type.Number()),fadeInDelay:B.Type.Optional(B.Type.Number()),fadeOutTime:B.Type.Optional(B.Type.Number()),loop:B.Type.Optional(B.Type.Boolean())}),Jme=B.Type.Record(B.Type.String(),Gme),Qme=B.Type.Object({volume:B.Type.Optional(B.Type.Number()),defaultMusic:B.Type.Optional(B.Type.String()),musicFadeInTime:B.Type.Optional(B.Type.Number()),musicFadeOutTime:B.Type.Optional(B.Type.Number()),musicFadeInDelay:B.Type.Optional(B.Type.Number())}),Yme=B.Type.Record(B.Type.String(),B.Type.String()),R7=B.Type.Object({files:Jme,audioTriggers:Yme,options:Qme}),B7={files:{},audioTriggers:{},options:{volume:1,musicFadeInTime:.5,musicFadeInDelay:.5,musicFadeOutTime:.5}},F7=B.Type.Object({backgrounds:B.Type.Object({width:B.Type.Number(),height:B.Type.Number()}),dialogBottomPadding:B.Type.Union([B.Type.Number(),B.Type.String()]),minTextWidth:B.Type.Optional(B.Type.Number()),verticalLayoutThreshold:B.Type.Number(),defaultFontSize:B.Type.Optional(B.Type.Number()),portraits:B.Type.Object({width:B.Type.Number(),height:B.Type.Number(),offset:B.Type.Optional(B.Type.Object({landscape:B.Type.Optional(B.Type.Object({right:B.Type.Number(),bottom:B.Type.Number()})),portrait:B.Type.Optional(B.Type.Object({right:B.Type.Number(),bottom:B.Type.Number()}))}))})}),Xme={backgrounds:{width:880,height:720},dialogBottomPadding:70,verticalLayoutThreshold:600,defaultFontSize:16,portraits:{width:100,height:100}},r0=B.Type.Object({name:B.Type.String(),description:B.Type.Optional(B.Type.String())}),Zme=B.Type.Intersect([r0,B.Type.Object({type:B.Type.Literal("number"),defaultValue:B.Type.Number(),step:B.Type.Number(),minValue:B.Type.Number(),maxValue:B.Type.Number()})]),eve=B.Type.Intersect([r0,B.Type.Object({type:B.Type.Literal("integer"),defaultValue:B.Type.Number(),step:B.Type.Number(),minValue:B.Type.Number(),maxValue:B.Type.Number()})]),tve=B.Type.Intersect([r0,B.Type.Object({type:B.Type.Literal("boolean"),defaultValue:B.Type.Boolean()})]),nve=B.Type.Intersect([r0,B.Type.Object({type:B.Type.Literal("string"),defaultValue:B.Type.String()})]),rve=B.Type.Union([Zme,eve,tve,nve]);function ove(e){return e.type==="number"}function V7(e){return e.type==="integer"}function ive(e){return e.type==="boolean"}function ave(e){return e.type==="string"}const z7=B.Type.Object({customSettings:B.Type.Optional(B.Type.Record(B.Type.String(),rve))}),o0="###_--_~=:;_JUMP",g_="###_--_~=:;_RETURN",sve="###_--_~=:;_OK",i0="###_--_~=:;_STOP";function lve(e){return e===o0||e===g_||e===sve||e===i0}const cve="3.6.2-beta.3",uve=new Date("2023-10-28T16:44:38.144Z"),fve=400,a0=20,y_="@empty",q7={background:y_},U7=B.Type.Optional(B.Type.Object({animateText:B.Type.Optional(B.Type.Boolean()),textSpeed:B.Type.Optional(B.Type.Number()),timeBetweenLines:B.Type.Optional(B.Type.Number()),overlayMode:B.Type.Optional(B.Type.Boolean()),rightOffset:B.Type.Optional(B.Type.Number()),bottomOffset:B.Type.Optional(B.Type.Number()),width:B.Type.Optional(B.Type.Number()),height:B.Type.Optional(B.Type.Number()),hideDuringTransition:B.Type.Optional(B.Type.Boolean()),showAfterScriptEnd:B.Type.Optional(B.Type.Boolean())})),H7=B.Type.Object({engineSplashScreen:B.Type.Optional(B.Type.Object({skip:B.Type.Optional(B.Type.Boolean()),fadeDuration:B.Type.Optional(B.Type.Number()),timeBeforeFadeout:B.Type.Optional(B.Type.Number()),overrideText:B.Type.Optional(B.Type.String()),overrideLogo:B.Type.Optional(B.Type.String())})),gameSplashScreen:B.Type.Optional(B.Type.Object({startButtonText:B.Type.Optional(B.Type.String())}))}),W7=B.Type.Object({timeOnScreen:B.Type.Number(),alsoPrintInDialogue:B.Type.Optional(B.Type.Boolean())}),dve=B.Type.Object({name:B.Type.String(),icon:B.Type.String(),startingValue:B.Type.Number(),maxValue:B.Type.Optional(B.Type.Number()),minValue:B.Type.Optional(B.Type.Number())}),K7=B.Type.Record(B.Type.String(),dve),G7=B.Type.Record(B.Type.String(),B.Type.Object({onlyInteractOutsideOfScripts:B.Type.Optional(B.Type.Boolean())})),hve=B.Type.Object({delay:B.Type.Optional(B.Type.Number()),duration:B.Type.Optional(B.Type.Number())}),J7=B.Type.Record(B.Type.String(),hve),pve=B.Type.Object({text:B.Type.String(),cssClass:B.Type.Optional(B.Type.String())}),Q7=B.Type.Record(B.Type.String(),pve),Y7=B.Type.Object({showScriptFinishedMessage:B.Type.Optional(B.Type.Boolean())}),X7=B.Type.Object({mode:B.Type.String(),slots:B.Type.Number(),runOnReload:B.Type.Optional(B.Type.String())}),Z7=B.Type.Array(B.Type.String()),mve=[],e9=B.Type.Object({baseAssetsPath:B.Type.Optional(B.Type.String()),baseDataPath:B.Type.Optional(B.Type.String()),gameTitle:B.Type.String(),saveFileName:B.Type.String(),images:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.String())),layout:F7,settings:B.Type.Optional(z7),gameFlow:B.Type.Optional(B.Type.Object({labelToJumpOnScriptEnd:B.Type.Optional(B.Type.String())})),dialogPanel:B.Type.Optional(U7),splashScreens:B.Type.Optional(H7),notifications:B.Type.Optional(W7),hudStats:K7,interactionTags:B.Type.Optional(G7),transitions:B.Type.Optional(J7),menuButtons:B.Type.Optional(Q7),debugging:B.Type.Optional(Y7),saves:B.Type.Optional(X7)}),b_={baseAssetsPath:"",baseDataPath:"",gameTitle:"Narrat Game",saveFileName:"narrat save",images:{},layout:Xme,settings:{},gameFlow:{},dialogPanel:{overlayMode:!0,rightOffset:100,bottomOffset:50,width:475,height:680,textSpeed:a0,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}},vve=B.Type.Object({name:B.Type.String(),description:B.Type.String(),icon:B.Type.String(),onUse:B.Type.Optional(B.Type.Object({action:B.Type.String(),label:B.Type.String()})),tag:B.Type.Optional(B.Type.String()),category:B.Type.Optional(B.Type.String()),showIfEmpty:B.Type.Optional(B.Type.Boolean())}),t9=B.Type.Object({id:B.Type.String(),title:B.Type.String()}),n9=B.Type.Record(B.Type.String(),vve);B.Type.Object({categories:B.Type.Array(t9),items:n9});const r9=B.Type.Object({categories:B.Type.Optional(B.Type.Array(t9)),items:B.Type.Optional(n9)}),o9={categories:[{id:"default",title:"Items"}],items:{}},gve=B.Type.Object({description:B.Type.String(),succeededDescription:B.Type.Optional(B.Type.String()),failedDescription:B.Type.Optional(B.Type.String()),hidden:B.Type.Optional(B.Type.Boolean())}),yve=B.Type.Object({title:B.Type.String(),description:B.Type.String(),succeededDescription:B.Type.Optional(B.Type.String()),failedDescription:B.Type.Optional(B.Type.String()),endings:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.Object({success:B.Type.Boolean(),description:B.Type.String()}))),objectives:B.Type.Record(B.Type.String(),gve),category:B.Type.Optional(B.Type.String())}),bve=B.Type.Object({id:B.Type.String(),title:B.Type.String()}),wve=B.Type.Record(B.Type.String(),yve),i9=B.Type.Object({quests:wve,categories:B.Type.Array(bve)}),a9={quests:{},categories:[{id:"default",title:"Quests"}]},s9=B.Type.Object({enabled:B.Type.Boolean(),background:B.Type.Optional(B.Type.String()),text:B.Type.Optional(B.Type.String()),cssClass:B.Type.Optional(B.Type.String()),position:B.Type.Object({left:B.Type.Number(),top:B.Type.Number(),width:B.Type.Optional(B.Type.Number()),height:B.Type.Optional(B.Type.Number())}),anchor:B.Type.Optional(B.Type.Object({x:B.Type.Number(),y:B.Type.Number()})),action:B.Type.Optional(B.Type.String()),actionType:B.Type.Optional(B.Type.String()),scriptClickable:B.Type.Optional(B.Type.Boolean()),tag:B.Type.Optional(B.Type.String())}),kve=B.Type.Record(B.Type.String(),s9),l9=B.Type.Object({buttons:kve,clickableDuringScriptsByDefault:B.Type.Optional(B.Type.Boolean())}),c9={buttons:{},clickableDuringScriptsByDefault:!1},xve=B.Type.Intersect([s9,B.Type.Object({id:B.Type.String()})]),_ve=B.Type.Object({muted:B.Type.Optional(B.Type.Boolean()),loop:B.Type.Optional(B.Type.Boolean())}),jve=B.Type.Object({background:B.Type.String(),video:B.Type.Optional(_ve),buttons:B.Type.Optional(B.Type.Array(B.Type.Union([B.Type.String(),xve])))}),u9=B.Type.Record(B.Type.String(),jve);B.Type.Object({screens:u9});const f9=B.Type.Object({screens:B.Type.Optional(u9)}),d9={screens:{}},Sve=B.Type.Object({name:B.Type.String(),description:B.Type.String(),startingLevel:B.Type.Number(),hidden:B.Type.Optional(B.Type.Boolean()),icon:B.Type.String()}),h9=B.Type.Record(B.Type.String(),Sve),p9=B.Type.Object({xpPerLevel:B.Type.Number(),notifyLevelUp:B.Type.Boolean()});B.Type.Object({skills:h9,skillOptions:p9});const m9=B.Type.Object({skills:B.Type.Optional(h9),skillOptions:B.Type.Optional(p9)}),v9={skills:{},skillOptions:{xpPerLevel:10,notifyLevelUp:!0}},Cve=B.Type.Object({portraitCssClass:B.Type.Optional(B.Type.String()),color:B.Type.Optional(B.Type.String()),boxCss:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.Any())),nameCss:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.Any())),textCss:B.Type.Optional(B.Type.Record(B.Type.String(),B.Type.Any()))}),$ve=B.Type.Object({video:B.Type.String(),autoplay:B.Type.Optional(B.Type.Boolean()),loop:B.Type.Optional(B.Type.Boolean()),muted:B.Type.Optional(B.Type.Boolean()),width:B.Type.Optional(B.Type.Number()),height:B.Type.Optional(B.Type.Number())}),Tve=B.Type.Object({image:B.Type.String(),width:B.Type.Optional(B.Type.Number()),height:B.Type.Optional(B.Type.Number())}),Ove=B.Type.Union([B.Type.String(),$ve,Tve]),Eve=B.Type.Object({sprites:B.Type.Optional(B.Type.Record(B.Type.String(),Ove)),name:B.Type.String(),style:B.Type.Optional(Cve)}),g9=B.Type.Object({config:B.Type.Object({imagesPath:B.Type.String(),playerCharacter:B.Type.Optional(B.Type.String()),gameCharacter:B.Type.Optional(B.Type.String())}),characters:B.Type.Record(B.Type.String(),Eve)}),y9={config:{imagesPath:"",playerCharacter:"player",gameCharacter:"game"},characters:{}},b9=B.Type.Object({cssClass:B.Type.Optional(B.Type.String()),textCssClass:B.Type.Optional(B.Type.String()),titleCssClass:B.Type.Optional(B.Type.String())}),w9=B.Type.Object({options:B.Type.Object({delay:B.Type.Optional(B.Type.Number()),width:B.Type.Number(),keywordsPrefix:B.Type.String(),screenEdgesMinimumMargin:B.Type.Optional(B.Type.Number()),styling:B.Type.Optional(b9)}),tooltips:B.Type.Array(B.Type.Object({keywords:B.Type.Array(B.Type.String()),title:B.Type.String(),description:B.Type.String(),styling:B.Type.Optional(b9)}))}),k9={options:{delay:0,width:350,keywordsPrefix:"@@"},tooltips:[]},Ave=B.Type.Object({name:B.Type.String(),description:B.Type.String(),icon:B.Type.Optional(B.Type.String()),lockedIcon:B.Type.Optional(B.Type.String()),secret:B.Type.Optional(B.Type.Boolean()),category:B.Type.Optional(B.Type.String())}),x9=B.Type.Object({id:B.Type.String(),title:B.Type.String()}),_9=B.Type.Record(B.Type.String(),Ave);B.Type.Object({defaultAchievementIcon:B.Type.String(),categories:B.Type.Array(x9),achievements:_9,notifyNewAchievements:B.Type.Boolean(),secretAchievements:B.Type.Optional(B.Type.Object({censorDescription:B.Type.Optional(B.Type.Boolean()),censorName:B.Type.Optional(B.Type.Boolean()),hideUntilObtained:B.Type.Optional(B.Type.Boolean())}))});const j9=B.Type.Object({categories:B.Type.Optional(B.Type.Array(x9)),achievements:B.Type.Optional(_9)}),S9={categories:[{id:"default",title:"Achievements"}],achievements:{},notifyNewAchievements:!0,defaultAchievementIcon:"img/achievements/trophy.png"},Mve=B.Type.Object({diceRange:B.Type.Tuple([B.Type.Number(),B.Type.Number()]),diceCount:B.Type.Number(),difficultyText:B.Type.Array(B.Type.Tuple([B.Type.Number(),B.Type.String()])),extraPointsPerLevel:B.Type.Number(),extraDicePerLevel:B.Type.Optional(B.Type.Number()),successOnRollsBelowThreshold:B.Type.Boolean(),showDifficultyText:B.Type.Boolean(),showDifficultyNumber:B.Type.Boolean(),showDifficultyWithoutModifiers:B.Type.Boolean(),finalRollIsHighest:B.Type.Optional(B.Type.Boolean()),finalRollIsLowest:B.Type.Optional(B.Type.Boolean()),failOnRollsEqualToThreshold:B.Type.Optional(B.Type.Boolean())}),Pve=B.Type.Object({skill:B.Type.String(),difficulty:B.Type.Number(),winsNeeded:B.Type.Optional(B.Type.Number()),hideAfterRoll:B.Type.Optional(B.Type.Boolean()),repeatable:B.Type.Optional(B.Type.Boolean())}),C9=B.Type.Object({options:Mve,skillChecks:B.Type.Record(B.Type.String(),Pve)}),$9={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:{}},Nve=B.Type.Object({cssClass:B.Type.Optional(B.Type.String()),textTemplate:B.Type.Optional(B.Type.String())}),T9=B.Type.Record(B.Type.String(),Nve);B.Type.Object({choiceTextTemplate:B.Type.String(),choicePrompts:T9});const O9=B.Type.Object({choiceTextTemplate:B.Type.Optional(B.Type.String()),choicePrompts:B.Type.Optional(T9)}),E9={choicePrompts:{},choiceTextTemplate:'<span class="choice-index">%{$index}. </span> <span class="choice-text">%{$choice}</span>'},A9=B.Type.Object({delay:B.Type.Optional(B.Type.Number()),direction:B.Type.Optional(B.Type.String()),duration:B.Type.Optional(B.Type.Number()),easing:B.Type.Optional(B.Type.String()),endDelay:B.Type.Optional(B.Type.Number()),fill:B.Type.Optional(B.Type.String()),iterationStart:B.Type.Optional(B.Type.Number()),iterations:B.Type.Optional(B.Type.Number()),keyframes:B.Type.Optional(B.Type.Any())}),w_=B.Type.Array(B.Type.Any()),Ive=B.Type.Object({keyframes:B.Type.Union([B.Type.String(),w_]),options:B.Type.Optional(A9)});B.Type.Object({keyframes:w_,options:B.Type.Optional(A9)});const M9=B.Type.Object({animations:B.Type.Record(B.Type.String(),Ive),keyframes:B.Type.Record(B.Type.String(),w_)}),P9={animations:{},keyframes:{}},Uf={common:b_,screens:d9,buttons:c9,skills:v9,skillChecks:$9,scripts:[],audio:B7,tooltips:k9,achievements:S9,items:o9,quests:a9,characters:y9,choices:E9,animations:P9};var Dve=function(t){return Lve(t)&&!Rve(t)};function Lve(e){return!!e&&typeof e=="object"}function Rve(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||Vve(e)}var Bve=typeof Symbol=="function"&&Symbol.for,Fve=Bve?Symbol.for("react.element"):60103;function Vve(e){return e.$$typeof===Fve}function zve(e){return Array.isArray(e)?[]:{}}function np(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Hf(zve(e),e,t):e}function qve(e,t,n){return e.concat(t).map(function(r){return np(r,n)})}function Uve(e,t){if(!t.customMerge)return Hf;var n=t.customMerge(e);return typeof n=="function"?n:Hf}function Hve(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function N9(e){return Object.keys(e).concat(Hve(e))}function I9(e,t){try{return t in e}catch{return!1}}function Wve(e,t){return I9(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function Kve(e,t,n){var r={};return n.isMergeableObject(e)&&N9(e).forEach(function(o){r[o]=np(e[o],n)}),N9(t).forEach(function(o){Wve(e,o)||(I9(e,o)&&n.isMergeableObject(t[o])?r[o]=Uve(o,n)(e[o],t[o],n):r[o]=np(t[o],n))}),r}function Hf(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||qve,n.isMergeableObject=n.isMergeableObject||Dve,n.cloneUnlessOtherwiseSpecified=np;var r=Array.isArray(t),o=Array.isArray(e),i=r===o;return i?r?n.arrayMerge(e,t,n):Kve(e,t,n):np(t,n)}Hf.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,o){return Hf(r,o,n)},{})};var Gve=Hf,Jve=Gve;const uu=Z0(Jve),_o=oo("config",{state:()=>({config:Uf,configModules:{}}),actions:{async setConfig(e){this.config=e},extendConfig(e){this.config=uu(this.config,e)},generateSaveData(){return{playerCharacter:this.playerCharacter,gameCharacter:this.gameCharacter}},addConfigModule(e,t){this.configModules[e]=t},reloadConfigModule(e){const t=Object.keys(this.configModules).find(r=>this.configModules[r].id===e.id);if(!t)return;this.configModules[t]=e;const n=this.config[t];n&&(this.config[t]=uu(n,e.code))},loadSaveData(e){this.config.characters.config.playerCharacter=e.playerCharacter,this.config.characters.config.gameCharacter=e.gameCharacter}},getters:{playerCharacter(){return this.config.characters.config.playerCharacter??"player"},gameCharacter(){return this.config.characters.config.gameCharacter??"game"}}});function D9(e){const t=Cr(),n=t.getSkillCheck(e.id);if(n&&n.happened&&(n.succeeded||!e.repeatable))return n;const r=Kme(e);return B9(qme(r,e)),r?t.passSkillCheck(e.id,e.hideAfterRoll):t.failSkillCheck(e.id,e.hideAfterRoll),t.getSkillCheck(e.id)}function Qve(e,t=[]){const n=e.options,r=e.staticOptions,o=!!n.condition;if(o)return r.success;if(!o){for(const[i,a]of r.elseifs.entries())if(t[i]===!0)return a.branch}if(!o&&r.failure)return r.failure}function L9(e){return typeof e=="object"}function R9(e){return typeof e=="string"&&e.search(/\$/)===0}function B9(e){const t={speaker:_o().gameCharacter,text:e,interactive:!1};Yn().addDialog(t)}async function k_(e){Yn().addDialog(e)}function Yve(e,t){if(t<e.length)return e[t]}/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function F9(e){return typeof e>"u"||e===null}function Xve(e){return typeof e=="object"&&e!==null}function Zve(e){return Array.isArray(e)?e:F9(e)?[]:[e]}function ege(e,t){var n,r,o,i;if(t)for(i=Object.keys(t),n=0,r=i.length;n<r;n+=1)o=i[n],e[o]=t[o];return e}function tge(e,t){var n="",r;for(r=0;r<t;r+=1)n+=e;return n}function nge(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var rge=F9,oge=Xve,ige=Zve,age=tge,sge=nge,lge=ege,po={isNothing:rge,isObject:oge,toArray:ige,repeat:age,isNegativeZero:sge,extend:lge};function V9(e,t){var n="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+=`
|
|
175
175
|
|
|
176
176
|
`+e.mark.snippet),r+" "+n):r}function rp(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=V9(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}rp.prototype=Object.create(Error.prototype),rp.prototype.constructor=rp,rp.prototype.toString=function(t){return this.name+": "+V9(this,t)};var si=rp;function x_(e,t,n,r,o){var i="",a="",s=Math.floor(o/2)-1;return r-t>s&&(i=" ... ",t=r-s+i.length),n-r>s&&(a=" ...",n=r+s-a.length),{str:i+e.slice(t,n).replace(/\t/g,"→")+a,pos:r-t+i.length}}function __(e,t){return po.repeat(" ",t-e.length)+e}function cge(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var n=/\r?\n|\r|\0/g,r=[0],o=[],i,a=-1;i=n.exec(e.buffer);)o.push(i.index),r.push(i.index+i[0].length),e.position<=i.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);var s="",l,c,f=Math.min(e.line+t.linesAfter,o.length).toString().length,u=t.maxLength-(t.indent+f+3);for(l=1;l<=t.linesBefore&&!(a-l<0);l++)c=x_(e.buffer,r[a-l],o[a-l],e.position-(r[a]-r[a-l]),u),s=po.repeat(" ",t.indent)+__((e.line-l+1).toString(),f)+" | "+c.str+`
|
|
177
177
|
`+s;for(c=x_(e.buffer,r[a],o[a],e.position,u),s+=po.repeat(" ",t.indent)+__((e.line+1).toString(),f)+" | "+c.str+`
|