Planar-Pioneers/assets/index.c3e08b9c.js

18 lines
129 KiB
JavaScript

/* empty css */import"./vue.804e2479.js";import{_ as $,l as te,C as a,q as Ye,t as T,b2 as Ie,ab as G,w as ct,b3 as $t,a9 as C,O as le,az as Et,as as Ge,aF as _,a1 as I,aL as ke,a2 as f,aH as mt,A as de,$ as j,b7 as F,b9 as Ft,ar as We,bv as Ze,a8 as D,bt as Mn,bc as He,T as xn,u as Tt,j as kn,bw as At,aM as Wt,a0 as P,aO as pe,J as R,G as ne,I as be,aI as qe,aG as Be,z as Ae,bo as In,bs as $n,aK as pt,bd as qt,bf as En}from"./@vue.6f8187b0.js";import{c as Zt}from"./nanoevents.1080beb7.js";import{L as Me}from"./lz-string.dccec454.js";import{Y as Fn}from"./vue-next-select.f5f69b1a.js";import{D as Tn}from"./vuedraggable.ce650350.js";import{p as Pn}from"./vue-textarea-autosize.35804eaf.js";import{P as Vn}from"./vue-panzoom.89be130f.js";import{s as Dn,u as On}from"./vue-toastification.5231d1bd.js";import"./amator.1e5a40c8.js";import"./bezier-easing.a990b400.js";import"./sortablejs.a0f68e5e.js";import"./panzoom.30c56ba6.js";import"./wheel.f2ae740f.js";import"./ngraph.events.083734c6.js";const Ln=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerpolicy&&(s.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?s.credentials="include":r.crossorigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}};Ln();const An="modulepreload",Bt={},qn="./",nt=function(t,n){return!n||n.length===0?t():Promise.all(n.map(i=>{if(i=`${qn}${i}`,i in Bt)return;Bt[i]=!0;const r=i.endsWith(".css"),s=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${s}`))return;const l=document.createElement("link");if(l.rel=r?"stylesheet":An,r||(l.as="script",l.crossOrigin=""),l.href=i,document.head.appendChild(l),r)return new Promise((u,d)=>{l.addEventListener("load",u),l.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},Bn="./projInfo-schema.json",Rn="Planar Pioneers",zn="A game about controlling and exploiting planes!",Un="planar-pioneers",jn="thepaperpilot",Gn="",Wn="",Zn="0.0",Hn="Initial Commit",Yn=!0,Kn=!1,Jn=2,Xn=!0,Qn=null,ei="",ti=["main"],ni=3600,ii=1,ri=!0,ai="base64";var W={$schema:Bn,title:Rn,description:zn,id:Un,author:jn,discordName:Gn,discordLink:Wn,versionNumber:Zn,versionTitle:Hn,allowGoBack:Yn,defaultShowSmall:Kn,defaultDecimalsShown:Jn,useHeader:Xn,banner:Qn,logo:ei,initialTabs:ti,maxTickLength:ni,offlineLimit:ii,enablePausing:ri,exportEncoding:ai};class si{constructor(t){this.map=new Map,this.first=void 0,this.last=void 0,this.maxSize=t}get size(){return this.map.size}get(t){const n=this.map.get(t);if(n!==void 0)return n!==this.first&&(n===this.last?(this.last=n.prev,this.last.next=void 0):(n.prev.next=n.next,n.next.prev=n.prev),n.next=this.first,this.first.prev=n,this.first=n),n.value}set(t,n){if(this.maxSize<1)return;if(this.map.has(t))throw new Error("Cannot update existing keys in the cache");const i=new oi(t,n);for(this.first===void 0?(this.first=i,this.last=i):(i.next=this.first,this.first.prev=i,this.first=i),this.map.set(t,i);this.map.size>this.maxSize;){const r=this.last;this.map.delete(r.key),this.last=r.prev,this.last.next=void 0}}}class oi{constructor(t,n){this.next=void 0,this.prev=void 0,this.key=t,this.value=n}}const xt=17,li=9e15,ui=Math.log10(9e15),ci=1/9e15,di=308,fi=-324,Rt=5,mi=(1<<10)-1,gi=function(){const e=[];for(let n=fi+1;n<=di;n++)e.push(Number("1e"+n));const t=323;return function(n){return e[n+t]}}(),Fe=[2,Math.E,3,4,5,6,7,8,9,10],hi=[[1,1.0891180521811203,1.1789767925673957,1.2701455431742086,1.3632090180450092,1.4587818160364217,1.5575237916251419,1.6601571006859253,1.767485818836978,1.8804192098842727,2],[1,1.1121114330934079,1.231038924931609,1.3583836963111375,1.4960519303993531,1.6463542337511945,1.8121385357018724,1.996971324618307,2.2053895545527546,2.4432574483385254,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.1840100246247336,1.4061375836156955,1.6802272208863964,2.026757028388619,2.4770056063449646,3.080525271755482,3.9191964192627284,5.135152840833187,6.989961179534715,10]],pi=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]];let p=function(t){return o.fromValue_noAlloc(t)},O=function(e,t,n){return o.fromComponents(e,t,n)},B=function(t,n,i){return o.fromComponents_noNormalize(t,n,i)};const Se=function(t,n){const i=n+1,r=Math.ceil(Math.log10(Math.abs(t))),s=Math.round(t*Math.pow(10,i-r))*Math.pow(10,r-i);return parseFloat(s.toFixed(Math.max(i-r,0)))},kt=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},vi=function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;let t=1;for(;e<10;)t=t*e,++e;e-=1;let n=.9189385332046727;n=n+(e+.5)*Math.log(e),n=n-e;const i=e*e;let r=e;return n=n+1/(12*r),r=r*i,n=n+1/(360*r),r=r*i,n=n+1/(1260*r),r=r*i,n=n+1/(1680*r),r=r*i,n=n+1/(1188*r),r=r*i,n=n+691/(360360*r),r=r*i,n=n+7/(1092*r),r=r*i,n=n+3617/(122400*r),Math.exp(n)/t},Ht=.5671432904097838,zt=function(e,t=1e-10){let n,i;if(!Number.isFinite(e)||e===0)return e;if(e===1)return Ht;e<10?n=0:n=Math.log(e)-Math.log(Math.log(e));for(let r=0;r<100;++r){if(i=(e*Math.exp(-n)+n*n)/(n+1),Math.abs(i-n)<t*Math.abs(i))return i;n=i}throw Error(`Iteration failed to converge: ${e.toString()}`)};function Ut(e,t=1e-10){let n,i,r,s;if(!Number.isFinite(e.mag)||e.eq(o.dZero))return e;if(e.eq(o.dOne))return o.fromNumber(Ht);n=o.ln(e);for(let l=0;l<100;++l){if(i=n.neg().exp(),r=n.sub(e.mul(i)),s=n.sub(r.div(n.add(1).sub(n.add(2).mul(r).div(o.mul(2,n).add(2))))),o.abs(s.sub(n)).lt(o.abs(s).mul(t)))return s;n=s}throw Error(`Iteration failed to converge: ${e.toString()}`)}const c=class{constructor(e){this.sign=0,this.mag=0,this.layer=0,e instanceof c?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"&&this.fromString(e)}get m(){if(this.sign===0)return 0;if(this.layer===0){const e=Math.floor(Math.log10(this.mag));let t;return this.mag===5e-324?t=5:t=this.mag/gi(e),this.sign*t}else if(this.layer===1){const e=this.mag-Math.floor(this.mag);return this.sign*Math.pow(10,e)}else return this.sign}set m(e){this.layer<=2?this.fromMantissaExponent(e,this.e):(this.sign=Math.sign(e),this.sign===0&&(this.layer=0,this.exponent=0))}get e(){return this.sign===0?0:this.layer===0?Math.floor(Math.log10(this.mag)):this.layer===1?Math.floor(this.mag):this.layer===2?Math.floor(Math.sign(this.mag)*Math.pow(10,Math.abs(this.mag))):this.mag*Number.POSITIVE_INFINITY}set e(e){this.fromMantissaExponent(this.m,e)}get s(){return this.sign}set s(e){e===0?(this.sign=0,this.layer=0,this.mag=0):this.sign=e}get mantissa(){return this.m}set mantissa(e){this.m=e}get exponent(){return this.e}set exponent(e){this.e=e}static fromComponents(e,t,n){return new c().fromComponents(e,t,n)}static fromComponents_noNormalize(e,t,n){return new c().fromComponents_noNormalize(e,t,n)}static fromMantissaExponent(e,t){return new c().fromMantissaExponent(e,t)}static fromMantissaExponent_noNormalize(e,t){return new c().fromMantissaExponent_noNormalize(e,t)}static fromDecimal(e){return new c().fromDecimal(e)}static fromNumber(e){return new c().fromNumber(e)}static fromString(e){return new c().fromString(e)}static fromValue(e){return new c().fromValue(e)}static fromValue_noAlloc(e){if(e instanceof c)return e;if(typeof e=="string"){const t=c.fromStringCache.get(e);return t!==void 0?t:c.fromString(e)}else return typeof e=="number"?c.fromNumber(e):c.dZero}static abs(e){return p(e).abs()}static neg(e){return p(e).neg()}static negate(e){return p(e).neg()}static negated(e){return p(e).neg()}static sign(e){return p(e).sign}static sgn(e){return p(e).sign}static round(e){return p(e).round()}static floor(e){return p(e).floor()}static ceil(e){return p(e).ceil()}static trunc(e){return p(e).trunc()}static add(e,t){return p(e).add(t)}static plus(e,t){return p(e).add(t)}static sub(e,t){return p(e).sub(t)}static subtract(e,t){return p(e).sub(t)}static minus(e,t){return p(e).sub(t)}static mul(e,t){return p(e).mul(t)}static multiply(e,t){return p(e).mul(t)}static times(e,t){return p(e).mul(t)}static div(e,t){return p(e).div(t)}static divide(e,t){return p(e).div(t)}static recip(e){return p(e).recip()}static reciprocal(e){return p(e).recip()}static reciprocate(e){return p(e).reciprocate()}static cmp(e,t){return p(e).cmp(t)}static cmpabs(e,t){return p(e).cmpabs(t)}static compare(e,t){return p(e).cmp(t)}static isNaN(e){return e=p(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag)}static isFinite(e){return e=p(e),isFinite(e.sign)&&isFinite(e.layer)&&isFinite(e.mag)}static eq(e,t){return p(e).eq(t)}static equals(e,t){return p(e).eq(t)}static neq(e,t){return p(e).neq(t)}static notEquals(e,t){return p(e).notEquals(t)}static lt(e,t){return p(e).lt(t)}static lte(e,t){return p(e).lte(t)}static gt(e,t){return p(e).gt(t)}static gte(e,t){return p(e).gte(t)}static max(e,t){return p(e).max(t)}static min(e,t){return p(e).min(t)}static minabs(e,t){return p(e).minabs(t)}static maxabs(e,t){return p(e).maxabs(t)}static clamp(e,t,n){return p(e).clamp(t,n)}static clampMin(e,t){return p(e).clampMin(t)}static clampMax(e,t){return p(e).clampMax(t)}static cmp_tolerance(e,t,n){return p(e).cmp_tolerance(t,n)}static compare_tolerance(e,t,n){return p(e).cmp_tolerance(t,n)}static eq_tolerance(e,t,n){return p(e).eq_tolerance(t,n)}static equals_tolerance(e,t,n){return p(e).eq_tolerance(t,n)}static neq_tolerance(e,t,n){return p(e).neq_tolerance(t,n)}static notEquals_tolerance(e,t,n){return p(e).notEquals_tolerance(t,n)}static lt_tolerance(e,t,n){return p(e).lt_tolerance(t,n)}static lte_tolerance(e,t,n){return p(e).lte_tolerance(t,n)}static gt_tolerance(e,t,n){return p(e).gt_tolerance(t,n)}static gte_tolerance(e,t,n){return p(e).gte_tolerance(t,n)}static pLog10(e){return p(e).pLog10()}static absLog10(e){return p(e).absLog10()}static log10(e){return p(e).log10()}static log(e,t){return p(e).log(t)}static log2(e){return p(e).log2()}static ln(e){return p(e).ln()}static logarithm(e,t){return p(e).logarithm(t)}static pow(e,t){return p(e).pow(t)}static pow10(e){return p(e).pow10()}static pow_base(e,t){return p(e).pow_base(t)}static root(e,t){return p(e).root(t)}static factorial(e,t){return p(e).factorial()}static gamma(e,t){return p(e).gamma()}static lngamma(e,t){return p(e).lngamma()}static exp(e){return p(e).exp()}static sqr(e){return p(e).sqr()}static sqrt(e){return p(e).sqrt()}static cube(e){return p(e).cube()}static cbrt(e){return p(e).cbrt()}static tetrate(e,t=2,n=B(1,0,1)){return p(e).tetrate(t,n)}static iteratedexp(e,t=2,n=B(1,0,1)){return p(e).iteratedexp(t,n)}static iteratedlog(e,t=10,n=1){return p(e).iteratedlog(t,n)}static layeradd10(e,t){return p(e).layeradd10(t)}static layeradd(e,t,n=10){return p(e).layeradd(t,n)}static slog(e,t=10){return p(e).slog(t)}static lambertw(e){return p(e).lambertw()}static ssqrt(e){return p(e).ssqrt()}static pentate(e,t=2,n=B(1,0,1)){return p(e).pentate(t,n)}static sin(e){return p(e).sin()}static cos(e){return p(e).cos()}static tan(e){return p(e).tan()}static asin(e){return p(e).asin()}static acos(e){return p(e).acos()}static atan(e){return p(e).atan()}static sinh(e){return p(e).sinh()}static cosh(e){return p(e).cosh()}static tanh(e){return p(e).tanh()}static asinh(e){return p(e).asinh()}static acosh(e){return p(e).acosh()}static atanh(e){return p(e).atanh()}static affordGeometricSeries(e,t,n,i){return this.affordGeometricSeries_core(p(e),p(t),p(n),i)}static sumGeometricSeries(e,t,n,i){return this.sumGeometricSeries_core(e,p(t),p(n),i)}static affordArithmeticSeries(e,t,n,i){return this.affordArithmeticSeries_core(p(e),p(t),p(n),p(i))}static sumArithmeticSeries(e,t,n,i){return this.sumArithmeticSeries_core(p(e),p(t),p(n),p(i))}static efficiencyOfPurchase(e,t,n){return this.efficiencyOfPurchase_core(p(e),p(t),p(n))}static randomDecimalForTesting(e){if(Math.random()*20<1)return B(0,0,0);const t=Math.random()>.5?1:-1;if(Math.random()*20<1)return B(t,0,1);const n=Math.floor(Math.random()*(e+1));let i=n===0?Math.random()*616-308:Math.random()*16;Math.random()>.9&&(i=Math.trunc(i));let r=Math.pow(10,i);return Math.random()>.9&&(r=Math.trunc(r)),O(t,n,r)}static affordGeometricSeries_core(e,t,n,i){const r=t.mul(n.pow(i));return c.floor(e.div(r).mul(n.sub(1)).add(1).log10().div(n.log10()))}static sumGeometricSeries_core(e,t,n,i){return t.mul(n.pow(i)).mul(c.sub(1,n.pow(e))).div(c.sub(1,n))}static affordArithmeticSeries_core(e,t,n,i){const s=t.add(i.mul(n)).sub(n.div(2)),l=s.pow(2);return s.neg().add(l.add(n.mul(e).mul(2)).sqrt()).div(n).floor()}static sumArithmeticSeries_core(e,t,n,i){const r=t.add(i.mul(n));return e.div(2).mul(r.mul(2).plus(e.sub(1).mul(n)))}static efficiencyOfPurchase_core(e,t,n){return e.div(t).add(e.div(n))}normalize(){if(this.sign===0||this.mag===0&&this.layer===0)return this.sign=0,this.mag=0,this.layer=0,this;if(this.layer===0&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.layer===0&&this.mag<ci)return this.layer+=1,this.mag=Math.log10(this.mag),this;let e=Math.abs(this.mag),t=Math.sign(this.mag);if(e>=li)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e<ui&&this.layer>0;)this.layer-=1,this.layer===0?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return this.layer===0&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):this.mag===0&&(this.sign=0)),this}fromComponents(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this.normalize(),this}fromComponents_noNormalize(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this}fromMantissaExponent(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}fromMantissaExponent_noNormalize(e,t){return this.fromMantissaExponent(e,t),this}fromDecimal(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}fromNumber(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}fromString(e){const t=e,n=c.fromStringCache.get(t);if(n!==void 0)return this.fromDecimal(n);e=e.replace(",","");const i=e.split("^^^");if(i.length===2){const N=parseFloat(i[0]),h=parseFloat(i[1]),E=i[1].split(";");let L=1;if(E.length===2&&(L=parseFloat(E[1]),isFinite(L)||(L=1)),isFinite(N)&&isFinite(h)){const w=c.pentate(N,h,L);return this.sign=w.sign,this.layer=w.layer,this.mag=w.mag,c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}}const r=e.split("^^");if(r.length===2){const N=parseFloat(r[0]),h=parseFloat(r[1]),E=r[1].split(";");let L=1;if(E.length===2&&(L=parseFloat(E[1]),isFinite(L)||(L=1)),isFinite(N)&&isFinite(h)){const w=c.tetrate(N,h,L);return this.sign=w.sign,this.layer=w.layer,this.mag=w.mag,c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}}const s=e.split("^");if(s.length===2){const N=parseFloat(s[0]),h=parseFloat(s[1]);if(isFinite(N)&&isFinite(h)){const E=c.pow(N,h);return this.sign=E.sign,this.layer=E.layer,this.mag=E.mag,c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}}e=e.trim().toLowerCase();let l,u,d=e.split("pt");if(d.length===2){l=10,u=parseFloat(d[0]),d[1]=d[1].replace("(",""),d[1]=d[1].replace(")","");let N=parseFloat(d[1]);if(isFinite(N)||(N=1),isFinite(l)&&isFinite(u)){const h=c.tetrate(l,u,N);return this.sign=h.sign,this.layer=h.layer,this.mag=h.mag,c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}}if(d=e.split("p"),d.length===2){l=10,u=parseFloat(d[0]),d[1]=d[1].replace("(",""),d[1]=d[1].replace(")","");let N=parseFloat(d[1]);if(isFinite(N)||(N=1),isFinite(l)&&isFinite(u)){const h=c.tetrate(l,u,N);return this.sign=h.sign,this.layer=h.layer,this.mag=h.mag,c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}}const v=e.split("e"),S=v.length-1;if(S===0){const N=parseFloat(e);if(isFinite(N))return this.fromNumber(N),c.fromStringCache.size>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}else if(S===1){const N=parseFloat(e);if(isFinite(N)&&N!==0)return this.fromNumber(N),c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}const y=e.split("e^");if(y.length===2){this.sign=1,y[0].charAt(0)=="-"&&(this.sign=-1);let N="";for(let h=0;h<y[1].length;++h){const E=y[1].charCodeAt(h);if(E>=43&&E<=57||E===101)N+=y[1].charAt(h);else return this.layer=parseFloat(N),this.mag=parseFloat(y[1].substr(h+1)),this.normalize(),c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}}if(S<1)return this.sign=0,this.layer=0,this.mag=0,c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this;const b=parseFloat(v[0]);if(b===0)return this.sign=0,this.layer=0,this.mag=0,c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this;let m=parseFloat(v[v.length-1]);if(S>=2){const N=parseFloat(v[v.length-2]);isFinite(N)&&(m*=Math.sign(N),m+=kt(N))}if(!isFinite(b))this.sign=v[0]==="-"?-1:1,this.layer=S,this.mag=m;else if(S===1)this.sign=Math.sign(b),this.layer=1,this.mag=m+Math.log10(Math.abs(b));else if(this.sign=Math.sign(b),this.layer=S,S===2){const N=c.mul(O(1,2,m),p(b));return this.sign=N.sign,this.layer=N.layer,this.mag=N.mag,c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}else this.mag=m;return this.normalize(),c.fromStringCache.maxSize>=1&&c.fromStringCache.set(t,c.fromDecimal(this)),this}fromValue(e){return e instanceof c?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}toNumber(){return Number.isFinite(this.layer)?this.layer===0?this.sign*this.mag:this.layer===1?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}mantissaWithDecimalPlaces(e){return isNaN(this.m)?Number.NaN:this.m===0?0:Se(this.m,e)}magnitudeWithDecimalPlaces(e){return isNaN(this.mag)?Number.NaN:this.mag===0?0:Se(this.mag,e)}toString(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?this.sign===1?"Infinity":"-Infinity":this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toString():this.m+"e"+this.e:this.layer===1?this.m+"e"+this.e:this.layer<=Rt?(this.sign===-1?"-":"")+"e".repeat(this.layer)+this.mag:(this.sign===-1?"-":"")+"(e^"+this.layer+")"+this.mag}toExponential(e){return this.layer===0?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}toFixed(e){return this.layer===0?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}toPrecision(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}valueOf(){return this.toString()}toJSON(){return this.toString()}toStringWithDecimalPlaces(e){return this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toFixed(e):Se(this.m,e)+"e"+Se(this.e,e):this.layer===1?Se(this.m,e)+"e"+Se(this.e,e):this.layer<=Rt?(this.sign===-1?"-":"")+"e".repeat(this.layer)+Se(this.mag,e):(this.sign===-1?"-":"")+"(e^"+this.layer+")"+Se(this.mag,e)}abs(){return B(this.sign===0?0:1,this.layer,this.mag)}neg(){return B(-this.sign,this.layer,this.mag)}negate(){return this.neg()}negated(){return this.neg()}sgn(){return this.sign}round(){return this.mag<0?c.dZero:this.layer===0?O(this.sign,0,Math.round(this.mag)):this}floor(){return this.mag<0?c.dZero:this.layer===0?O(this.sign,0,Math.floor(this.mag)):this}ceil(){return this.mag<0?c.dZero:this.layer===0?O(this.sign,0,Math.ceil(this.mag)):this}trunc(){return this.mag<0?c.dZero:this.layer===0?O(this.sign,0,Math.trunc(this.mag)):this}add(e){const t=p(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer)||this.sign===0)return t;if(t.sign===0)return this;if(this.sign===-t.sign&&this.layer===t.layer&&this.mag===t.mag)return B(0,0,0);let n,i;if(this.layer>=2||t.layer>=2)return this.maxabs(t);if(c.cmpabs(this,t)>0?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return c.fromNumber(n.sign*n.mag+i.sign*i.mag);const r=n.layer*Math.sign(n.mag),s=i.layer*Math.sign(i.mag);if(r-s>=2)return n;if(r===0&&s===-1){if(Math.abs(i.mag-Math.log10(n.mag))>xt)return n;{const l=Math.pow(10,Math.log10(n.mag)-i.mag),u=i.sign+n.sign*l;return O(Math.sign(u),1,i.mag+Math.log10(Math.abs(u)))}}if(r===1&&s===0){if(Math.abs(n.mag-Math.log10(i.mag))>xt)return n;{const l=Math.pow(10,n.mag-Math.log10(i.mag)),u=i.sign+n.sign*l;return O(Math.sign(u),1,Math.log10(i.mag)+Math.log10(Math.abs(u)))}}if(Math.abs(n.mag-i.mag)>xt)return n;{const l=Math.pow(10,n.mag-i.mag),u=i.sign+n.sign*l;return O(Math.sign(u),1,i.mag+Math.log10(Math.abs(u)))}}plus(e){return this.add(e)}sub(e){return this.add(p(e).neg())}subtract(e){return this.sub(e)}minus(e){return this.sub(e)}mul(e){const t=p(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer))return t;if(this.sign===0||t.sign===0)return B(0,0,0);if(this.layer===t.layer&&this.mag===-t.mag)return B(this.sign*t.sign,0,1);let n,i;if(this.layer>t.layer||this.layer==t.layer&&Math.abs(this.mag)>Math.abs(t.mag)?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return c.fromNumber(n.sign*i.sign*n.mag*i.mag);if(n.layer>=3||n.layer-i.layer>=2)return O(n.sign*i.sign,n.layer,n.mag);if(n.layer===1&&i.layer===0)return O(n.sign*i.sign,1,n.mag+Math.log10(i.mag));if(n.layer===1&&i.layer===1)return O(n.sign*i.sign,1,n.mag+i.mag);if(n.layer===2&&i.layer===1){const r=O(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(O(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return O(n.sign*i.sign,r.layer+1,r.sign*r.mag)}if(n.layer===2&&i.layer===2){const r=O(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(O(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return O(n.sign*i.sign,r.layer+1,r.sign*r.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}multiply(e){return this.mul(e)}times(e){return this.mul(e)}div(e){const t=p(e);return this.mul(t.recip())}divide(e){return this.div(e)}divideBy(e){return this.div(e)}dividedBy(e){return this.div(e)}recip(){return this.mag===0?c.dNaN:this.layer===0?O(this.sign,0,1/this.mag):O(this.sign,this.layer,-this.mag)}reciprocal(){return this.recip()}reciprocate(){return this.recip()}cmp(e){const t=p(e);return this.sign>t.sign?1:this.sign<t.sign?-1:this.sign*this.cmpabs(e)}cmpabs(e){const t=p(e),n=this.mag>0?this.layer:-this.layer,i=t.mag>0?t.layer:-t.layer;return n>i?1:n<i?-1:this.mag>t.mag?1:this.mag<t.mag?-1:0}compare(e){return this.cmp(e)}isNan(){return isNaN(this.sign)||isNaN(this.layer)||isNaN(this.mag)}isFinite(){return isFinite(this.sign)&&isFinite(this.layer)&&isFinite(this.mag)}eq(e){const t=p(e);return this.sign===t.sign&&this.layer===t.layer&&this.mag===t.mag}equals(e){return this.eq(e)}neq(e){return!this.eq(e)}notEquals(e){return this.neq(e)}lt(e){return this.cmp(e)===-1}lte(e){return!this.gt(e)}gt(e){return this.cmp(e)===1}gte(e){return!this.lt(e)}max(e){const t=p(e);return this.lt(t)?t:this}min(e){const t=p(e);return this.gt(t)?t:this}maxabs(e){const t=p(e);return this.cmpabs(t)<0?t:this}minabs(e){const t=p(e);return this.cmpabs(t)>0?t:this}clamp(e,t){return this.max(e).min(t)}clampMin(e){return this.max(e)}clampMax(e){return this.min(e)}cmp_tolerance(e,t){const n=p(e);return this.eq_tolerance(n,t)?0:this.cmp(n)}compare_tolerance(e,t){return this.cmp_tolerance(e,t)}eq_tolerance(e,t){const n=p(e);if(t==null&&(t=1e-7),this.sign!==n.sign||Math.abs(this.layer-n.layer)>1)return!1;let i=this.mag,r=n.mag;return this.layer>n.layer&&(r=kt(r)),this.layer<n.layer&&(i=kt(i)),Math.abs(i-r)<=t*Math.max(Math.abs(i),Math.abs(r))}equals_tolerance(e,t){return this.eq_tolerance(e,t)}neq_tolerance(e,t){return!this.eq_tolerance(e,t)}notEquals_tolerance(e,t){return this.neq_tolerance(e,t)}lt_tolerance(e,t){const n=p(e);return!this.eq_tolerance(n,t)&&this.lt(n)}lte_tolerance(e,t){const n=p(e);return this.eq_tolerance(n,t)||this.lt(n)}gt_tolerance(e,t){const n=p(e);return!this.eq_tolerance(n,t)&&this.gt(n)}gte_tolerance(e,t){const n=p(e);return this.eq_tolerance(n,t)||this.gt(n)}pLog10(){return this.lt(c.dZero)?c.dZero:this.log10()}absLog10(){return this.sign===0?c.dNaN:this.layer>0?O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):O(1,0,Math.log10(this.mag))}log10(){return this.sign<=0?c.dNaN:this.layer>0?O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):O(this.sign,0,Math.log10(this.mag))}log(e){return e=p(e),this.sign<=0||e.sign<=0||e.sign===1&&e.layer===0&&e.mag===1?c.dNaN:this.layer===0&&e.layer===0?O(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):c.div(this.log10(),e.log10())}log2(){return this.sign<=0?c.dNaN:this.layer===0?O(this.sign,0,Math.log2(this.mag)):this.layer===1?O(Math.sign(this.mag),0,Math.abs(this.mag)*3.321928094887362):this.layer===2?O(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}ln(){return this.sign<=0?c.dNaN:this.layer===0?O(this.sign,0,Math.log(this.mag)):this.layer===1?O(Math.sign(this.mag),0,Math.abs(this.mag)*2.302585092994046):this.layer===2?O(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}logarithm(e){return this.log(e)}pow(e){const t=p(e),n=this,i=t;if(n.sign===0)return i.eq(0)?B(1,0,1):n;if(n.sign===1&&n.layer===0&&n.mag===1)return n;if(i.sign===0)return B(1,0,1);if(i.sign===1&&i.layer===0&&i.mag===1)return n;const r=n.absLog10().mul(i).pow10();return this.sign===-1?Math.abs(i.toNumber()%2)%2===1?r.neg():Math.abs(i.toNumber()%2)%2===0?r:c.dNaN:r}pow10(){if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return c.dNaN;let e=this;if(e.layer===0){const t=Math.pow(10,e.sign*e.mag);if(Number.isFinite(t)&&Math.abs(t)>=.1)return O(1,0,t);if(e.sign===0)return c.dOne;e=B(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?O(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?O(-e.sign,e.layer+1,-e.mag):c.dOne}pow_base(e){return p(e).pow(this)}root(e){const t=p(e);return this.pow(t.recip())}factorial(){return this.mag<0?this.add(1).gamma():this.layer===0?this.add(1).gamma():this.layer===1?c.exp(c.mul(this,c.ln(this).sub(1))):c.exp(this)}gamma(){if(this.mag<0)return this.recip();if(this.layer===0){if(this.lt(B(1,0,24)))return c.fromNumber(vi(this.sign*this.mag));const e=this.mag-1;let t=.9189385332046727;t=t+(e+.5)*Math.log(e),t=t-e;const n=e*e;let i=e,r=12*i,s=1/r,l=t+s;if(l===t||(t=l,i=i*n,r=360*i,s=1/r,l=t-s,l===t))return c.exp(t);t=l,i=i*n,r=1260*i;let u=1/r;return t=t+u,i=i*n,r=1680*i,u=1/r,t=t-u,c.exp(t)}else return this.layer===1?c.exp(c.mul(this,c.ln(this).sub(1))):c.exp(this)}lngamma(){return this.gamma().ln()}exp(){return this.mag<0?c.dOne:this.layer===0&&this.mag<=709.7?c.fromNumber(Math.exp(this.sign*this.mag)):this.layer===0?O(1,1,this.sign*Math.log10(Math.E)*this.mag):this.layer===1?O(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):O(1,this.layer+1,this.sign*this.mag)}sqr(){return this.pow(2)}sqrt(){if(this.layer===0)return c.fromNumber(Math.sqrt(this.sign*this.mag));if(this.layer===1)return O(1,2,Math.log10(this.mag)-.3010299956639812);{const e=c.div(B(this.sign,this.layer-1,this.mag),B(1,0,2));return e.layer+=1,e.normalize(),e}}cube(){return this.pow(3)}cbrt(){return this.pow(1/3)}tetrate(e=2,t=B(1,0,1)){if(e===1)return c.pow(this,t);if(e===0)return new c(t);if(this.eq(c.dOne))return c.dOne;if(this.eq(-1))return c.pow(this,t);if(e===Number.POSITIVE_INFINITY){const r=this.toNumber();if(r<=1.444667861009766&&r>=.06598803584531254){if(r>1.444667861009099)return c.fromNumber(Math.E);const s=c.ln(this).neg();return s.lambertw().div(s)}else return r>1.444667861009766?c.fromNumber(Number.POSITIVE_INFINITY):c.dNaN}if(this.eq(c.dZero)){let r=Math.abs((e+1)%2);return r>1&&(r=2-r),c.fromNumber(r)}if(e<0)return c.iteratedlog(t,this,-e);t=p(t);const n=e;e=Math.trunc(e);const i=n-e;if(this.gt(c.dZero)&&this.lte(1.444667861009766)){e=Math.min(1e4,e);for(let r=0;r<e;++r){const s=t;if(t=this.pow(t),s.eq(t))return t}if(i!=0){const r=this.pow(t);return t.mul(1-i).add(r.mul(i))}return t}i!==0&&(t.eq(c.dOne)?this.gt(10)?t=this.pow(i):(t=c.fromNumber(c.tetrate_critical(this.toNumber(),i)),this.lt(2)&&(t=t.sub(1).mul(this.minus(1)).plus(1))):this.eq(10)?t=t.layeradd10(i):t=t.layeradd(i,this));for(let r=0;r<e;++r){if(t=this.pow(t),!isFinite(t.layer)||!isFinite(t.mag))return t.normalize();if(t.layer-this.layer>3)return B(t.sign,t.layer+(e-r-1),t.mag);if(r>1e4)return t}return t}iteratedexp(e=2,t=B(1,0,1)){return this.tetrate(e,t)}iteratedlog(e=10,t=1){if(t<0)return c.tetrate(e,-t,this);e=p(e);let n=c.fromDecimal(this);const i=t;t=Math.trunc(t);const r=i-t;if(n.layer-e.layer>3){const s=Math.min(t,n.layer-e.layer-3);t-=s,n.layer-=s}for(let s=0;s<t;++s){if(n=n.log(e),!isFinite(n.layer)||!isFinite(n.mag))return n.normalize();if(s>1e4)return n}return r>0&&r<1&&(e.eq(10)?n=n.layeradd10(-r):n=n.layeradd(-r,e)),n}slog(e=10,t=100){let n=.001,i=!1,r=!1,s=this.slog_internal(e).toNumber();for(let l=1;l<t;++l){const d=new c(e).tetrate(s).gt(this);if(l>1&&r!=d&&(i=!0),r=d,i?n/=2:n*=2,n=Math.abs(n)*(d?-1:1),s+=n,n===0)break}return c.fromNumber(s)}slog_internal(e=10){if(e=p(e),e.lte(c.dZero)||e.eq(c.dOne))return c.dNaN;if(e.lt(c.dOne))return this.eq(c.dOne)?c.dZero:this.eq(c.dZero)?c.dNegOne:c.dNaN;if(this.mag<0||this.eq(c.dZero))return c.dNegOne;let t=0,n=c.fromDecimal(this);if(n.layer-e.layer>3){const i=n.layer-e.layer-3;t+=i,n.layer-=i}for(let i=0;i<100;++i)if(n.lt(c.dZero))n=c.pow(e,n),t-=1;else{if(n.lte(c.dOne))return c.fromNumber(t+c.slog_critical(e.toNumber(),n.toNumber()));t+=1,n=c.log(n,e)}return c.fromNumber(t)}static slog_critical(e,t){return e>10?t-1:c.critical_section(e,t,pi)}static tetrate_critical(e,t){return c.critical_section(e,t,hi)}static critical_section(e,t,n){t*=10,t<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);let i=0,r=0;for(let l=0;l<Fe.length;++l)if(Fe[l]==e){i=n[l][Math.floor(t)],r=n[l][Math.ceil(t)];break}else if(Fe[l]<e&&Fe[l+1]>e){const u=(e-Fe[l])/(Fe[l+1]-Fe[l]);i=n[l][Math.floor(t)]*(1-u)+n[l+1][Math.floor(t)]*u,r=n[l][Math.ceil(t)]*(1-u)+n[l+1][Math.ceil(t)]*u;break}const s=t-Math.floor(t);return i<=0||r<=0?i*(1-s)+r*s:Math.pow(e,Math.log(i)/Math.log(e)*(1-s)+Math.log(r)/Math.log(e)*s)}layeradd10(e){e=c.fromValue_noAlloc(e).toNumber();const t=c.fromDecimal(this);if(e>=1){t.mag<0&&t.layer>0?(t.sign=0,t.mag=0,t.layer=0):t.sign===-1&&t.layer==0&&(t.sign=1,t.mag=-t.mag);const n=Math.trunc(e);e-=n,t.layer+=n}if(e<=-1){const n=Math.trunc(e);if(e-=n,t.layer+=n,t.layer<0)for(let i=0;i<100;++i){if(t.layer++,t.mag=Math.log10(t.mag),!isFinite(t.mag))return t.sign===0&&(t.sign=1),t.layer<0&&(t.layer=0),t.normalize();if(t.layer>=0)break}}for(;t.layer<0;)t.layer++,t.mag=Math.log10(t.mag);return t.sign===0&&(t.sign=1,t.mag===0&&t.layer>=1&&(t.layer-=1,t.mag=1)),t.normalize(),e!==0?t.layeradd(e,10):t}layeradd(e,t){const i=this.slog(t).toNumber()+e;return i>=0?c.tetrate(t,i):Number.isFinite(i)?i>=-1?c.log(c.tetrate(t,i+1),t):c.log(c.log(c.tetrate(t,i+2),t),t):c.dNaN}lambertw(){if(this.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");if(this.mag<0)return c.fromNumber(zt(this.toNumber()));if(this.layer===0)return c.fromNumber(zt(this.sign*this.mag));if(this.layer===1)return Ut(this);if(this.layer===2)return Ut(this);if(this.layer>=3)return B(this.sign,this.layer-1,this.mag);throw new Error("Unhandled behavior in lambertw()")}ssqrt(){if(this.sign==1&&this.layer>=3)return B(this.sign,this.layer-1,this.mag);const e=this.ln();return e.div(e.lambertw())}pentate(e=2,t=B(1,0,1)){t=p(t);const n=e;e=Math.trunc(e);const i=n-e;i!==0&&(t.eq(c.dOne)?(++e,t=c.fromNumber(i)):this.eq(10)?t=t.layeradd10(i):t=t.layeradd(i,this));for(let r=0;r<e;++r){if(t=this.tetrate(t.toNumber()),!isFinite(t.layer)||!isFinite(t.mag))return t.normalize();if(r>10)return t}return t}sin(){return this.mag<0?this:this.layer===0?c.fromNumber(Math.sin(this.sign*this.mag)):B(0,0,0)}cos(){return this.mag<0?c.dOne:this.layer===0?c.fromNumber(Math.cos(this.sign*this.mag)):B(0,0,0)}tan(){return this.mag<0?this:this.layer===0?c.fromNumber(Math.tan(this.sign*this.mag)):B(0,0,0)}asin(){return this.mag<0?this:this.layer===0?c.fromNumber(Math.asin(this.sign*this.mag)):B(Number.NaN,Number.NaN,Number.NaN)}acos(){return this.mag<0?c.fromNumber(Math.acos(this.toNumber())):this.layer===0?c.fromNumber(Math.acos(this.sign*this.mag)):B(Number.NaN,Number.NaN,Number.NaN)}atan(){return this.mag<0?this:this.layer===0?c.fromNumber(Math.atan(this.sign*this.mag)):c.fromNumber(Math.atan(this.sign*(1/0)))}sinh(){return this.exp().sub(this.negate().exp()).div(2)}cosh(){return this.exp().add(this.negate().exp()).div(2)}tanh(){return this.sinh().div(this.cosh())}asinh(){return c.ln(this.add(this.sqr().add(1).sqrt()))}acosh(){return c.ln(this.add(this.sqr().sub(1).sqrt()))}atanh(){return this.abs().gte(1)?B(Number.NaN,Number.NaN,Number.NaN):c.ln(this.add(1).div(c.fromNumber(1).sub(this))).div(2)}ascensionPenalty(e){return e===0?this:this.root(c.pow(10,e))}egg(){return this.add(9)}lessThanOrEqualTo(e){return this.cmp(e)<1}lessThan(e){return this.cmp(e)<0}greaterThanOrEqualTo(e){return this.cmp(e)>-1}greaterThan(e){return this.cmp(e)>0}};let o=c;o.fromStringCache=new si(mi);o.dZero=B(0,0,0);o.dOne=B(1,0,1);o.dNegOne=B(-1,0,1);o.dTwo=B(1,0,2);o.dTen=B(1,0,10);o.dNaN=B(Number.NaN,Number.NaN,Number.NaN);o.dInf=B(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);o.dNegInf=B(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);o.dNumberMax=O(1,0,Number.MAX_VALUE);o.dNumberMin=O(1,0,Number.MIN_VALUE);p=o.fromValue_noAlloc;O=o.fromComponents;B=o.fromComponents_noNormalize;o.fromMantissaExponent;o.fromMantissaExponent_noNormalize;const bi=new o(1);function Xe(e,t,n=!0){let i=o.log10(e).floor(),r=o.div(e,o.pow(10,i));r.toStringWithDecimalPlaces(t)==="10"&&(r=bi,i=i.add(1));const s=i.gte(1e9)?he(i,Math.max(Math.max(t,3),W.defaultDecimalsShown)):i.gte(1e4)?vt(i,0):i.toStringWithDecimalPlaces(0);return n?r.toStringWithDecimalPlaces(t)+"e"+s:"e"+s}function vt(e,t){if(e==null)return"NaN";if(e=new o(e),e.mag<.001)return 0 .toFixed(t);const i=e.toStringWithDecimalPlaces(t).split(".");return i[0]=i[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),i.length==1?i[0]:i[0]+"."+i[1]}function Yt(e,t){return e==null?"NaN":(e=new o(e),e.mag<1e-4?0 .toFixed(t):(e.mag<.1&&t!==0&&(t=Math.max(Math.max(t,e.log10().negate().ceil().toNumber()),W.defaultDecimalsShown)),e.toStringWithDecimalPlaces(t)))}const yi=new o("eeee1000"),_i=new o("e100000"),jt=new o("e1000"),Kt=new o(1e9),wi=new o(1e6),Ni=new o(1e3),Si=new o(.98),Ci=new o(.001),Jt=new o(0);function he(e,t,n){if(t==null&&(t=W.defaultDecimalsShown),n=n!=null?n:W.defaultShowSmall,e=new o(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag))return"NaN";if(e.sign<0)return"-"+he(e.neg(),t);if(e.mag===Number.POSITIVE_INFINITY)return"Infinity";if(e.gte(yi)){const i=e.slog();return i.gte(wi)?"F"+he(i.floor()):o.pow(10,i.sub(i.floor())).toStringWithDecimalPlaces(3)+"F"+vt(i.floor(),0)}else{if(e.gte(_i))return Xe(e,0,!1);if(e.gte(jt))return Xe(e,0);if(e.gte(Kt))return Xe(e,t);if(e.gte(Ni))return vt(e,0);if(e.gte(Ci)||!n)return Yt(e,t);if(e.eq(Jt))return 0 .toFixed(t)}return e=Qt(e),e.lt(jt)?Xe(e,t).replace(/([^(?:e|F)]*)$/,"-$1"):he(e,t)+"\u207B\xB9"}function ge(e){return e=new o(e),e.sign<0?"-"+ge(e.neg()):e.gte(Kt)||e.lte(Si)&&!e.eq(Jt)?he(e):he(e,0)}function Xt(e){return o.lt(e,0)?"-"+Xt(o.neg(e)):o.gt(e,2**51)?he(o.div(e,31536e3))+"y":(e=new o(e).toNumber(),e<60?he(e)+"s":e<3600?ge(Math.floor(e/60))+"m "+he(e%60)+"s":e<86400?ge(Math.floor(e/3600))+"h "+ge(Math.floor(e/60)%60)+"m "+ge(e%60)+"s":e<31536e3?ge(Math.floor(e/84600)%365)+"d "+ge(Math.floor(e/3600)%24)+"h "+ge(Math.floor(e/60)%60)+"m":ge(Math.floor(e/31536e3))+"y "+ge(Math.floor(e/84600)%365)+"d "+ge(Math.floor(e/3600)%24)+"h")}function Mi(e,t,n){e=new o(e);let i=e.toStringWithDecimalPlaces(t);return new o(i).gte(n)&&(i=o.sub(n,Math.pow(.1,t)).toStringWithDecimalPlaces(t)),i}function xi(e,t){return he(e,t,!0)}function Qt(e){let t=o.log10(e).ceil();const n=o.div(e,o.pow(10,t));return t=t.neg(),e=new o(10).pow(t).times(n),e}var ki=Object.freeze(Object.defineProperty({__proto__:null,default:o,exponentialFormat:Xe,commaFormat:vt,regularFormat:Yt,format:he,formatWhole:ge,formatTime:Xt,toPlaces:Mi,formatSmall:xi,invertOOM:Qt},Symbol.toStringTag,{value:"Module"}));const{exponentialFormat:Ii,commaFormat:$i,regularFormat:Ei,format:Ce,formatWhole:it,formatTime:Nt,toPlaces:Fi,formatSmall:bt,invertOOM:Ti}=ki;window.Decimal=o;window.exponentialFormat=Ii;window.commaFormat=$i;window.regularFormat=Ei;window.format=Ce;window.formatWhole=it;window.formatTime=Nt;window.toPlaces=Fi;window.formatSmall=bt;window.invertOOM=Ti;function Pi(e){let t=e.replace(/([A-Z])/g," $1");return t=t.charAt(0).toUpperCase()+t.slice(1),t}function yt(e){return typeof e=="function"}var K=(e=>(e.Up="Up",e.Down="Down",e.Left="Left",e.Right="Right",e.Default="Up",e))(K||{});const rt=Symbol("DoNotCache");function z(e,t){const n=e[t];yt(n)&&n.length===0&&!n[rt]?e[t]=$(n.bind(e)):yt(n)&&(e[t]=n.bind(e),e[t][rt]=!0)}function tt(e){return yt(e)&&!e[rt]&&(e=$(e)),e}const Pt=Symbol("Component"),Vt=Symbol("GatherProps");let Vi=0;function Di(e="feature-"){return e+Vi++}var It=(e=>(e[e.Visible=0]="Visible",e[e.Hidden=1]="Hidden",e[e.None=2]="None",e))(It||{});function en(e){const t=a(e);return t!==2&&t!==!1}function ae(e){return e[rt]=!0,e}function re(e,t,n){e[t]===void 0&&n!=null&&(e[t]=n)}function Oi(e,...t){const n=[],i=r=>{Object.keys(r).forEach(s=>{const l=r[s];l!=null&&typeof l=="object"&&(t.includes(l.type)?n.push(l):!(l instanceof o)&&!te(l)&&i(l))})};return i(e),n}const Te={variables:{"--foreground":"#dfdfdf","--background":"#0f0f0f","--feature-foreground":"#0f0f0f","--tooltip-background":"rgba(0, 0, 0, 0.75)","--raised-background":"#0f0f0f","--points":"#ffffff","--locked":"#bf8f8f","--highlighted":"#333","--bought":"#77bf5f","--danger":"rgb(220, 53, 69)","--link":"#02f2f2","--outline":"#dfdfdf","--accent1":"#627a82","--accent2":"#658262","--accent3":"#7c6282","--border-radius":"15px","--modal-border":"solid 2px var(--color)","--feature-margin":"0px"},floatingTabs:!0,mergeAdjacent:!0,showPin:!0};var Dt=(e=>(e.Classic="classic",e.Paper="paper",e.Nordic="nordic",e.Aqua="aqua",e))(Dt||{}),we={classic:Te,paper:{...Te,variables:{...Te.variables,"--background":"#2a323d","--feature-foreground":"#000","--raised-background":"#333c4a","--locked":"#3a3e45","--bought":"#5C8A58","--outline":"#333c4a","--border-radius":"4px","--modal-border":"","--feature-margin":"5px"},floatingTabs:!1},nordic:{...Te,variables:{...Te.variables,"--foreground":"#D8DEE9","--background":"#2E3440","--feature-foreground":"#000","--raised-background":"#3B4252","--points":"#E5E9F0","--locked":"#4c566a","--highlighted":"#434c5e","--bought":"#8FBCBB","--danger":"#D08770","--link":"#88C0D0","--outline":"#3B4252","--accent1":"#B48EAD","--accent2":"#A3BE8C","--accent3":"#EBCB8B","--border-radius":"4px","--modal-border":"solid 2px #3B4252","--feature-margin":"5px"},floatingTabs:!1},aqua:{...Te,variables:{...Te.variables,"--foreground":"#bfdfff","--background":"#001f3f","--tooltip-background":"rgba(0, 15, 31, 0.75)","--raised-background":"#001f3f","--points":"#dfefff","--locked":"#c4a7b3","--outline":"#bfdfff"}}};const ue=Zt();"fonts"in document&&(document.fonts.onloadingdone=()=>ue.emit("fontsLoaded"));var Li=Object.freeze(Object.defineProperty({__proto__:null,globalBus:ue},Symbol.toStringTag,{value:"Module"}));const Ai=Ye({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{}});var q=window.player=Ai;function tn(e){return JSON.stringify(e,(t,n)=>a(n))}function nn(e={}){return Object.assign({id:`${W.id}-0`,name:"Default Save",tabs:W.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:W.id,modVersion:W.versionNumber,layers:{}},e)}function ce(e){const t=Me.compressToUTF16(tn(e!=null?e:q));return localStorage.setItem((e!=null?e:q).id,t),t}async function qi(){zi();try{let e=localStorage.getItem(H.active);if(e==null){await Ve(Ue());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Me.decompressFromUTF16(e);else throw"Unable to determine save encoding";const t=JSON.parse(e);if(t.modID!==W.id){await Ve(Ue());return}t.id=H.active,await Ve(t)}catch(e){console.error(`Failed to load save. Falling back to new save.
`,e),await Ve(Ue())}}function Ue(){const e=ht(),t=nn({id:e});return ce(t),H.saves.push(e),t}function ht(){let e,t=0;do e=`${W.id}-${t++}`;while(localStorage.getItem(e)!=null);return e}const Bi=T(!1);async function Ve(e){console.info("Loading save",e),Bi.value=!0;const{layers:t,removeLayer:n,addLayer:i}=await nt(()=>Promise.resolve().then(function(){return lr}),void 0),{fixOldSave:r,getInitialLayers:s}=await nt(()=>Promise.resolve().then(function(){return Cl}),void 0);for(const l in t){const u=t[l];u&&n(u)}s(e).forEach(l=>i(l,e)),e=nn(e),e.offlineProd&&e.time!=null&&e.time&&e.devSpeed!==0&&(e.offlineTime==null&&(e.offlineTime=0),e.offlineTime+=Math.min(e.offlineTime+(Date.now()-e.time)/1e3,W.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==W.versionNumber&&(r(e.modVersion,e),e.modVersion=W.versionNumber),Object.assign(q,e),H.active=q.id,ue.emit("onLoad")}setInterval(()=>{q.autosave&&ce()},1e3);window.onbeforeunload=()=>{q.autosave&&ce()};window.save=ce;const Ri=window.hardReset=async()=>{await Ve(Ue())};window.deleteLowerSaves=()=>{const e=Object.values(H.saves).indexOf(q.id)+1;Object.values(H.saves).slice(e).forEach(t=>localStorage.removeItem(t)),H.saves=H.saves.slice(0,e)};const at=Ye({active:"",saves:[],showTPS:!0,theme:Dt.Nordic,unthrottled:!1,alignUnits:!1});Ie(at,e=>{const t=Me.compressToUTF16(JSON.stringify(e));localStorage.setItem(W.id,t)},{deep:!0});var H=window.settings=at;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:Dt.Nordic,alignUnits:!1};ue.emit("loadSettings",e),Object.assign(at,e),Ri()};function zi(){try{let e=localStorage.getItem(W.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Me.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const t=JSON.parse(e);typeof t=="object"&&Object.assign(at,t)}ue.emit("loadSettings",at)}catch{}}const Ui=Ye([]),ji=Ye([]),Gi=Ye([]);function $e(e,t="span"){return typeof e=="function"?G({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}</${t}>`),G({template:e})):G({render:()=>({})}):e}function St(e){if(rn(e))return typeof e=="function"?e():$e(e);const t=e[Pt];return C(t,e[Vt](),null)}function st(e){if(rn(e))return typeof e=="function"?e():typeof e=="string"?C(le,null,[e]):C(e,null,null);const t=e[Pt];return C(t,e[Vt](),null)}function rn(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[rt]===!0}function Wi(e,t="div"){const n=ct();return $t(()=>{n.value=$e(Oe(e),t)}),n}function dt(e,t="div"){const n=ct(null);return $t(()=>{const i=Oe(e);n.value=i==""||i==null?null:$e(i,t)}),n}function Oe(e){return a(a(e))}function ve(...e){return e.includes(Object)||e.push(Object),e}var X=(e,t)=>{const n=e.__vccOpts||e;for(const[i,r]of t)n[i]=r;return n};const Zi=G({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var S;const n=T({}),i=new ResizeObserver(u),r=T(null);Et(()=>{const y=r.value;y!=null&&i.observe(y)});let s=!0,l=T((S=r.value)==null?void 0:S.getBoundingClientRect());function u(){s&&(s=!1,Ge(()=>{var y;l.value=(y=r.value)==null?void 0:y.getBoundingClientRect(),Object.values(n.value).filter(b=>b).forEach(b=>b.rect=b.element.getBoundingClientRect()),t("updateNodes",n.value),s=!0}))}ue.on("fontsLoaded",u);const d={attributes:!1,childList:!0,subtree:!1};mt(sn,(y,b)=>{const m=new MutationObserver(()=>v(y));m.observe(b,d),n.value[y]={element:b,observer:m,rect:b.getBoundingClientRect()},u()}),mt(on,y=>{var b;(b=n.value[y])==null||b.observer.disconnect(),n.value[y]=void 0,u()}),mt(ln,n),mt(un,l);function v(y){const b=n.value[y];b!=null&&(b.rect=b.element.getBoundingClientRect(),t("updateNodes",n.value))}return(y,b)=>(_(),I(le,null,[ke(y.$slots,"default",{},void 0,!0),f("div",{ref_key:"resizeListener",ref:r,class:"resize-listener"},null,512)],64))}});var an=X(Zi,[["__scopeId","data-v-2b1dc1bc"]]);const Hi=["onPointerdown"],Yi={class:"modal-wrapper"},Ki={class:"modal-container"},Ji={class:"modal-header"},Xi={class:"modal-body"},Qi={class:"modal-footer"},er=f("div",{class:"modal-default-flex-grow"},null,-1),Re=G({__name:"Modal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=de(e),s=$(()=>a(r.modelValue)||u.value);function l(){n("update:modelValue",!1)}const u=T(!1),d=T(null),v=$(()=>{var S,y;return(y=(S=d.value)==null?void 0:S.nodes)!=null?y:null});return t({isOpen:s,nodes:v}),(S,y)=>(_(),j(xn,{to:"#modal-root"},[C(He,{name:"modal",onBeforeEnter:y[0]||(y[0]=b=>u.value=!0),onAfterLeave:y[1]||(y[1]=b=>u.value=!1)},{default:F(()=>[Ft(f("div",We({class:"modal-mask",onPointerdown:Ze(l,["self"])},S.$attrs),[f("div",Yi,[f("div",Ki,[f("div",Ji,[ke(S.$slots,"header",{shown:a(s)},()=>[D(" default header ")])]),f("div",Xi,[C(an,{ref_key:"contextRef",ref:d},{default:F(()=>[ke(S.$slots,"body",{shown:a(s)},()=>[D(" default body ")])]),_:3},512)]),f("div",Qi,[ke(S.$slots,"footer",{shown:a(s)},()=>[f("div",{class:"modal-default-footer"},[er,f("button",{class:"button modal-default-button",onClick:l}," Close ")])])])])])],16,Hi),[[Mn,e.modelValue]])]),_:3})]))}}),Pe=Symbol("ProxyState");function Ct(e,t={}){const n=t;let i=!1;function r(){return i||(Object.assign(n,e.call(n,n)),i=!0),n}return new Proxy(n,{get(s,l){if(l===Pe)return r();const u=r()[l];return u!=null&&typeof u=="object"&&xe in u?u[xe]:u},set(s,l,u){return r()[l]=u,!0},has(s,l){return l===Pe?!0:Reflect.has(r(),l)},ownKeys(){return Reflect.ownKeys(r())},getOwnPropertyDescriptor(s,l){return i||(Object.assign(n,e.call(n,n)),i=!0),Object.getOwnPropertyDescriptor(s,l)}})}var ee=window.state=Tt({lastTenTicks:[],hasNaN:!1,NaNPath:[]});const je=Symbol("PersistentState"),ot=Symbol("DefaultValue"),_t=Symbol("StackTrace"),wt=Symbol("Deleted"),xe=Symbol("NonPersistent"),De=Symbol("SaveDataPath"),tr=Symbol("SkipPersistence");function nr(){var e,t;return(t=(e=new Error().stack)==null?void 0:e.split(`
`).slice(3,5).map(n=>n.trim()).join(`
`))!=null?t:""}function Gt(e,t){var n;if(o.isNaN(t))throw ee.hasNaN||(q.autosave=!1,ee.hasNaN=!0,ee.NaNPath=e[De],ee.NaNPersistent=e),console.error("Attempted to save NaN value to",(n=e[De])==null?void 0:n.join("."),e),new Error("Attempted to set NaN value. See above for details");e[je].value=t}function Ot(e,t=!0){const n=te(e)?e:T(e);te(e)&&(e=e.value);const i=$({get(){return n.value},set(s){t?Gt(r,s):r[je].value=s}});i[ot]=e;const r={get value(){return n.value},set value(s){t?Gt(r,s):r[je].value=s},__v_isRef:!0,[je]:n,[ot]:e,[_t]:nr(),[wt]:!1,[xe]:i,[De]:void 0};return oe.length===0?console.warn("Creating a persistent ref outside of a layer. This is not officially supported",r,`
Created at:
`+r[_t]):Le[oe[oe.length-1]].add(r),r}function ir(e){return e!=null&&typeof e=="object"&&je in e}function rr(e){oe.length===0?console.warn("Deleting a persistent ref outside of a layer. Ignoring...",e):Le[oe[oe.length-1]].delete(e),e[wt]=!0}ue.on("addLayer",(e,t)=>{const n=[],i=(r,s=[])=>{let l=!1;return Object.keys(r).forEach(u=>{let d=r[u];if(d!=null&&typeof d=="object"){if(d[tr]===!0)return;if(Pe in d&&(d=d[Pe]),ir(d)){if(l=!0,d[wt]){console.warn("Deleted persistent ref present in returned object. Ignoring...",d,`
Created at:
`+d[_t]);return}Le[e.id].delete(d);const v=[e.id,...s,u];d[De]!=null&&JSON.stringify(v)!==JSON.stringify(d[De])&&console.error(`Persistent ref is being saved to \`${v.join(".")}\` when it's already present at \`${d[De].join(".")}\`. This can cause unexpected behavior when loading saves between updates.`,d),d[De]=v;const S=s.reduce((b,m)=>(m in b||(b[m]={}),b[m]),t),y=S[u];S[u]=d[je],kn(S)?y!=null?S[u]=y:S[u]=d[ot]:y!=null?S[u].value=y:S[u].value=d[ot]}else!(d instanceof o)&&!te(d)&&!n.includes(d)&&(typeof d.type=="symbol"&&n.push(d),i(d,[...s,u])&&(At(d)&&!At(r)?console.warn("Found array that contains persistent values when adding layer. Keep in mind changing the order of elements in the array will mess with existing player saves.",Pe in r?r[Pe]:r,u):l=!0))}}),l};i(e[Pe]),Le[e.id].forEach(r=>{r[wt]||console.error(`Created persistent ref in ${e.id} without registering it to the layer! Make sure to include everything persistent in the returned object`,r,`
Created at:
`+r[_t])}),Le[e.id].clear()});const sn=Symbol("RegisterNode"),on=Symbol("UnregisterNode"),ln=Symbol("Nodes"),un=Symbol("Bounds"),se=Tt({});window.layers=se;const Le={},oe=[];function cn(e,t){return Ct(()=>{const n={},i=n.emitter=Zt();if(n.on=i.on.bind(i),n.emit=i.emit.bind(i),n.nodes=T({}),n.id=e,oe.push(e),Le[e]=new Set,n.minimized=Ot(!1,!1),Object.assign(n,t.call(n,n)),oe[oe.length-1]==null||oe[oe.length-1]!==e)throw`Adding layers stack in invalid state. This should not happen
Stack: ${oe}
Trying to pop ${n.id}`;oe.pop(),z(n,"color"),z(n,"display"),z(n,"classes"),z(n,"style"),z(n,"name"),re(n,"name",n.id),z(n,"minWidth"),re(n,"minWidth",600),z(n,"minimizable"),re(n,"minimizable",!0),z(n,"minimizedDisplay");const r=n.style;return n.style=$(()=>{var l,u;let s=a(n.minWidth);return(typeof s=="number"||!Number.isNaN(parseInt(s)))&&(s=s+"px"),[(l=a(r))!=null?l:"",(u=n.minimized)!=null&&u.value?{flexGrow:"0",flexShrink:"0",width:"60px",minWidth:"",flexBasis:"",margin:"0"}:{flexGrow:"",flexShrink:"",width:"",minWidth:s,flexBasis:s,margin:""}]}),n})}function dn(e,t){if(console.info("Adding layer",e.id),se[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,se[e.id]);return}re(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),se[e.id]=e,ue.emit("addLayer",e,t.layers[e.id])}function ar(e){return se[e]}function fn(e){console.info("Removing layer",e.id),ue.emit("removeLayer",e),se[e.id]=void 0}function sr(e){fn(e),dn(e,q)}function or(e){const t=T(!1);return{openModal:()=>t.value=!0,modal:ae(()=>C(Re,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>C("h2",null,[a(e.name)]),body:a(e.display)}))}}ue.on("update",function(t){Object.values(se).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values(se).forEach(n=>{n==null||n.emit("update",t)}),Object.values(se).forEach(n=>{n==null||n.emit("postUpdate",t)})});var lr=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:sn,UnregisterNodeInjectionKey:on,NodesInjectionKey:ln,BoundsInjectionKey:un,layers:se,persistentRefs:Le,addingLayers:oe,createLayer:cn,addLayer:dn,getLayer:ar,removeLayer:fn,reloadLayer:sr,setupLayerModal:or},Symbol.toStringTag,{value:"Module"}));const ur=G({components:{Context:an},props:{index:{type:Number,required:!0},display:{type:ve(Object,String,Function),required:!0},minimizedDisplay:ve(Object,String,Function),minimized:{type:Object,required:!0},name:{type:ve(String),required:!0},color:ve(String),minimizable:ve(Boolean),nodes:{type:Object,required:!0}},emits:["setMinimized"],setup(e){const{display:t,index:n,minimized:i,minimizedDisplay:r}=de(e),s=Wi(t),l=dt(r),u=$(()=>W.allowGoBack&&n.value>0&&!Oe(i));function d(){q.tabs.splice(a(e.index),1/0)}function v(S){e.nodes.value=S}return{component:s,minimizedComponent:l,showGoBack:u,updateNodes:v,unref:a,goBack:d}}}),cr={key:1};function dr(e,t,n,i,r,s){const l=Wt("Context");return _(),I("div",{class:"layer-container",style:be({"--layer-color":e.unref(e.color)})},[e.showGoBack?(_(),I("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...u)=>e.goBack&&e.goBack(...u))},"\u274C")):P("",!0),e.unref(e.minimized)?(_(),I("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=u=>e.$emit("setMinimized",!1))},[e.minimizedComponent?(_(),j(pe(e.minimizedComponent),{key:0})):(_(),I("div",cr,R(e.unref(e.name)),1))])):(_(),I("div",{key:2,class:ne(["layer-tab",{showGoBack:e.showGoBack}])},[C(l,{onUpdateNodes:e.updateNodes},{default:F(()=>[(_(),j(pe(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(_(),I("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=u=>e.$emit("setMinimized",!0))}," \u25BC ")):P("",!0)],4)}var fr=X(ur,[["render",dr],["__scopeId","data-v-72dd78b1"]]);const mn=e=>(qe("data-v-4b4bda40"),e=e(),Be(),e),mr=mn(()=>f("h2",null,"Changelog",-1)),gr=mn(()=>f("details",{open:""},[f("summary",null,[D("v0.0 Initial Commit - "),f("time",null,"2021-09-04")]),D(" This is the first release :D "),f("ul",null,[f("li",{class:"feature"},"Did everything"),f("li",{class:"fix"},"Had some fun"),f("li",{class:"breaking"},"Removed everything"),f("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),hr=G({__name:"Changelog",setup(e,{expose:t}){const n=T(!1);return t({open(){n.value=!0}}),(i,r)=>(_(),j(Re,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s)},{header:F(()=>[mr]),body:F(()=>[gr]),_:1},8,["modelValue"]))}});var pr=X(hr,[["__scopeId","data-v-4b4bda40"]]),vr=G({props:{element:Object,display:{type:ve(Object,String,Function),required:!0},style:ve(Object,String,Array),classes:ve(Object),direction:ve(String),xoffset:ve(String),yoffset:ve(String),pinned:Object},setup(e){const{element:t,display:n,pinned:i}=de(e),r=T(!1),s=$(()=>(Oe(i)||r.value)&&l.value),l=dt(n),u=ct($e(ae(()=>{const S=Oe(t);return S==null?"":st(S)})));function d(S){const y=i;S.shiftKey&&y&&(y.value=!y.value,S.stopPropagation(),S.preventDefault())}const v=$(()=>Oe(i)&&we[H.theme].showPin);return{Direction:K,isHovered:r,isShown:s,comp:l,elementComp:u,unref:a,togglePinned:d,showPin:v}}});const br={key:0,class:"material-icons pinned"};function yr(e,t,n,i,r,s){return _(),I("div",{class:ne(["tooltip-container",{shown:e.isShown}]),onMouseenter:t[0]||(t[0]=l=>e.isHovered=!0),onMouseleave:t[1]||(t[1]=l=>e.isHovered=!1),onClickCapture:t[2]||(t[2]=(...l)=>e.togglePinned&&e.togglePinned(...l))},[ke(e.$slots,"default",{},void 0,!0),e.elementComp?(_(),j(pe(e.elementComp),{key:0})):P("",!0),C(He,{name:"fade"},{default:F(()=>{var l;return[e.isShown?(_(),I("div",{key:0,class:ne(["tooltip",{top:e.unref(e.direction)===e.Direction.Up,left:e.unref(e.direction)===e.Direction.Left,right:e.unref(e.direction)===e.Direction.Right,bottom:e.unref(e.direction)===e.Direction.Down,...e.unref(e.classes)}]),style:be([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(l=e.unref(e.style))!=null?l:{}])},[e.showPin?(_(),I("span",br,"push_pin")):P("",!0),e.comp?(_(),j(pe(e.comp),{key:1})):P("",!0)],6)):P("",!0)]}),_:1})],34)}var Q=X(vr,[["render",yr],["__scopeId","data-v-6102fa3a"]]);const ze=e=>(qe("data-v-4f97aa40"),e=e(),Be(),e),_r={class:"info-modal-header"},wr=["src","alt"],Nr={class:"info-modal-title"},Sr={key:0},Cr={key:0},Mr={key:0},xr=ze(()=>f("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1)),kr=ze(()=>f("br",null,null,-1)),Ir=ze(()=>f("br",null,null,-1)),$r=["href"],Er=ze(()=>f("span",{class:"material-icons info-modal-discord"},"discord",-1)),Fr=ze(()=>f("div",null,[f("a",{href:"https://discord.gg/yJ4fjnjU54",class:"info-modal-discord-link",target:"_blank"},[f("span",{class:"material-icons info-modal-discord"},"discord"),D(" The Paper Pilot Community ")])],-1)),Tr=ze(()=>f("div",null,[f("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link",target:"_blank"},[f("span",{class:"material-icons info-modal-discord"},"discord"),D(" The Modding Tree ")])],-1)),Pr=ze(()=>f("br",null,null,-1));var Vr=G({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const n=e,{title:i,logo:r,author:s,discordName:l,discordLink:u,versionNumber:d,versionTitle:v}=W,S=de(n),y=T(!1),b=$(()=>Nt(q.timePlayed)),m=$(()=>$e(ae(()=>C(le,null,[ji.map(St)]))));t({open(){y.value=!0}});function N(){var h;(h=a(S.changelog))==null||h.open()}return(h,E)=>(_(),j(Re,{modelValue:y.value,"onUpdate:modelValue":E[0]||(E[0]=L=>y.value=L)},{header:F(()=>[f("div",_r,[a(r)?(_(),I("img",{key:0,class:"info-modal-logo",src:a(r),alt:a(i)},null,8,wr)):P("",!0),f("div",Nr,[f("h2",null,R(a(i)),1),f("h4",null,[D(" v"+R(a(d)),1),a(v)?(_(),I("span",Sr,": "+R(a(v)),1)):P("",!0)])])])]),body:F(({shown:L})=>[L?(_(),I("div",Cr,[a(s)?(_(),I("div",Mr,"By "+R(a(s)),1)):P("",!0),xr,kr,f("div",{class:"link",onClick:N},"Changelog"),Ir,f("div",null,[a(u)?(_(),I("a",{key:0,href:a(u),class:"info-modal-discord-link",target:"_blank"},[Er,D(" "+R(a(l)),1)],8,$r)):P("",!0)]),Fr,Tr,Pr,f("div",null,"Time Played: "+R(a(b)),1),(_(),j(pe(a(m))))])):P("",!0)]),_:1},8,["modelValue"]))}});var Dr=X(Vr,[["__scopeId","data-v-4f97aa40"]]);const Or={class:"field"},Lr={key:0,class:"field-title"},gn=G({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var l;const n=e,i=dt(Ae(n,"title"),"span"),r=T((l=n.options.find(u=>u.value===n.modelValue))!=null?l:null);Ie(Ae(n,"modelValue"),u=>{var d;Oe(r)!==u&&(r.value=(d=n.options.find(v=>v.value===u))!=null?d:null)});function s(u){t("update:modelValue",u.value)}return(u,d)=>(_(),I("div",Or,[a(i)?(_(),I("span",Lr,[(_(),j(pe(a(i))))])):P("",!0),C(a(Fn),{options:e.options,modelValue:r.value,"onUpdate:modelValue":[d[0]||(d[0]=v=>r.value=v),s],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});const Ar={class:"field"},qr=G({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=$(()=>{var s;return $e((s=a(n.title))!=null?s:"<span></span>","span")}),r=$({get(){return!!n.modelValue},set(s){t("update:modelValue",s)}});return(s,l)=>(_(),I("label",Ar,[Ft(f("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":l[0]||(l[0]=u=>te(r)?r.value=u:null)},null,512),[[In,a(r)]]),(_(),j(pe(a(i))))]))}});var _e=X(qr,[["__scopeId","data-v-11046116"]]);const Br=["onClick"],Rr=G({__name:"FeedbackButton",props:{left:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const n=T(!1),i=T(null);function r(){t("click"),i.value&&clearTimeout(i.value),n.value=!1,Ge(()=>{n.value=!0,i.value=setTimeout(()=>n.value=!1,500)})}return(s,l)=>(_(),I("button",{onClick:Ze(r,["stop"]),class:ne(["feedback",{activated:n.value,left:e.left}])},[ke(s.$slots,"default",{},void 0,!0)],10,Br))}});var hn=X(Rr,[["__scopeId","data-v-01a1b95c"]]);const zr={class:"header"},Ur=f("h2",null,"Settings",-1),jr={class:"option-tabs"},Gr={key:0},Wr={key:1};var Zr=G({__name:"Options",setup(e,{expose:t}){const n=T(!1),i=T("behaviour");function r(Z){return Z==i.value}function s(Z){i.value=Z}t({isTab:r,setTab:s,save:ce,open(){n.value=!0}});const l=Object.keys(we).map(Z=>({label:Pi(Z),value:Z})),u=$(()=>$e(ae(()=>C(le,null,[Ui.map(St)])))),{showTPS:d,theme:v,unthrottled:S,alignUnits:y}=de(H),{autosave:b,offlineProd:m}=de(q),N=$({get(){return q.devSpeed===0},set(Z){q.devSpeed=Z?0:null}}),h=ae(()=>C("span",{class:"option-title"},[D("Unthrottled"),C("desc",null,[D("Allow the game to run as fast as possible. Not battery friendly.")])])),E=ae(()=>C("span",{class:"option-title"},[D("Offline Production"),C(Q,{display:"Save-specific",direction:K.Right},{default:()=>[D("*")]}),C("desc",null,[D("Simulate production that occurs while the game is closed.")])])),L=ae(()=>C("span",{class:"option-title"},[D("Autosave"),C(Q,{display:"Save-specific",direction:K.Right},{default:()=>[D("*")]}),C("desc",null,[D("Automatically save the game every second or when the game is closed.")])])),w=ae(()=>C("span",{class:"option-title"},[D("Pause game"),C(Q,{display:"Save-specific",direction:K.Right},{default:()=>[D("*")]}),C("desc",null,[D("Stop everything from moving.")])])),M=ae(()=>C("span",{class:"option-title"},[D("Theme"),C("desc",null,[D("How the game looks.")])])),A=ae(()=>C("span",{class:"option-title"},[D("Show TPS"),C("desc",null,[D("Show TPS meter at the bottom-left corner of the page.")])])),ie=ae(()=>C("span",{class:"option-title"},[D("Align modifier units"),C("desc",null,[D("Align numbers to the beginning of the unit in modifier view.")])]));return(Z,U)=>(_(),j(Re,{modelValue:n.value,"onUpdate:modelValue":U[10]||(U[10]=V=>n.value=V)},{header:F(()=>[f("div",zr,[Ur,f("div",jr,[f("button",{class:ne({selected:r("behaviour")}),onClick:U[0]||(U[0]=V=>s("behaviour"))},"Behaviour",2),f("button",{class:ne({selected:r("appearance")}),onClick:U[1]||(U[1]=V=>s("appearance"))},"Appearance",2)])])]),body:F(()=>[r("behaviour")?(_(),I("div",Gr,[C(_e,{title:a(h),modelValue:a(S),"onUpdate:modelValue":U[2]||(U[2]=V=>te(S)?S.value=V:null)},null,8,["title","modelValue"]),a(W).enablePausing?(_(),j(_e,{key:0,title:a(w),modelValue:a(N),"onUpdate:modelValue":U[3]||(U[3]=V=>te(N)?N.value=V:null)},null,8,["title","modelValue"])):P("",!0),C(_e,{title:a(E),modelValue:a(m),"onUpdate:modelValue":U[4]||(U[4]=V=>te(m)?m.value=V:null)},null,8,["title","modelValue"]),C(_e,{title:a(L),modelValue:a(b),"onUpdate:modelValue":U[5]||(U[5]=V=>te(b)?b.value=V:null)},null,8,["title","modelValue"]),a(b)?P("",!0):(_(),j(hn,{key:1,class:"button save-button",onClick:U[6]||(U[6]=V=>a(ce)())},{default:F(()=>[D("Manually save")]),_:1}))])):P("",!0),r("appearance")?(_(),I("div",Wr,[C(gn,{title:a(M),options:a(l),modelValue:a(v),"onUpdate:modelValue":U[7]||(U[7]=V=>te(v)?v.value=V:null)},null,8,["title","options","modelValue"]),(_(),j(pe(a(u)))),C(_e,{title:a(A),modelValue:a(d),"onUpdate:modelValue":U[8]||(U[8]=V=>te(d)?d.value=V:null)},null,8,["title","modelValue"]),C(_e,{title:a(ie),modelValue:a(y),"onUpdate:modelValue":U[9]||(U[9]=V=>te(y)?y.value=V:null)},null,8,["title","modelValue"])])):P("",!0)]),_:1},8,["modelValue"]))}});const Hr=["onSubmit"],Yr={class:"field"},Kr={key:0,class:"field-title"},Jr=["placeholder"],Xr=G({__name:"Text",props:{title:null,modelValue:null,textArea:{type:Boolean},placeholder:null,maxHeight:null,submitOnBlur:{type:Boolean}},emits:["update:modelValue","submit","cancel"],setup(e,{emit:t}){const n=e,i=dt(Ae(n,"title"),"span"),r=ct(null);Et(()=>{var d;(d=r.value)==null||d.focus()});const s=$({get(){var d;return(d=a(n.modelValue))!=null?d:""},set(d){t("update:modelValue",d)}});function l(){t("submit")}function u(){n.submitOnBlur!==!1?t("submit"):t("cancel")}return(d,v)=>(_(),I("form",{onSubmit:Ze(l,["prevent"])},[f("div",Yr,[a(i)?(_(),I("span",Kr,[(_(),j(pe(a(i))))])):P("",!0),e.textArea?(_(),j(a(Pn),{key:1,modelValue:a(s),"onUpdate:modelValue":v[0]||(v[0]=S=>te(s)?s.value=S:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:u,ref_key:"field",ref:r},null,8,["modelValue","placeholder","maxHeight"])):Ft((_(),I("input",{key:2,type:"text","onUpdate:modelValue":v[1]||(v[1]=S=>te(s)?s.value=S:null),placeholder:e.placeholder,class:ne({fullWidth:!e.title}),onBlur:u,ref_key:"field",ref:r},null,42,Jr)),[[$n,a(s)]])])],40,Hr))}});var pn=X(Xr,[["__scopeId","data-v-90bd4994"]]);const Qr={key:0},ea=["onClick","disabled"],ta={key:0},na=["onClick"],ia=G({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const i=de(e),r=T(!1);Ie(r,u=>{t("confirmingChanged",u)});function s(){if(a(i.skipConfirm)){t("click");return}r.value&&t("click"),r.value=!r.value}function l(){r.value=!1}return(u,d)=>(_(),I("span",{class:ne(["container",{confirming:r.value}])},[r.value?(_(),I("span",Qr,"Are you sure?")):P("",!0),f("button",{onClick:Ze(s,["stop"]),class:"button danger",disabled:e.disabled},[r.value?(_(),I("span",ta,"Yes")):ke(u.$slots,"default",{key:1},void 0,!0)],8,ea),r.value?(_(),I("button",{key:1,class:"button",onClick:Ze(l,["stop"])},"No",8,na)):P("",!0)],2))}});var ra=X(ia,[["__scopeId","data-v-2f8ef34c"]]);const Ne=e=>(qe("data-v-32313015"),e=e(),Be(),e),aa=Ne(()=>f("div",{class:"handle material-icons"},"drag_handle",-1)),sa={key:0,class:"actions"},oa=Ne(()=>f("span",{class:"material-icons"},"content_paste",-1)),la=Ne(()=>f("span",{class:"material-icons"},"content_copy",-1)),ua=Ne(()=>f("span",{class:"material-icons"},"edit",-1)),ca=Ne(()=>f("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),da={key:1,class:"actions"},fa=Ne(()=>f("span",{class:"material-icons"},"check",-1)),ma=Ne(()=>f("span",{class:"material-icons"},"close",-1)),ga={key:2,class:"details"},ha={class:"save-version"},pa=Ne(()=>f("br",null,null,-1)),va={key:0},ba={key:3,class:"details"},ya={key:4,class:"details error"},_a=Ne(()=>f("br",null,null,-1)),wa=G({__name:"Save",props:{save:null},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const n=e,{save:i}=de(n),r=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),s=T(!1),l=T(!1),u=T("");Ie(s,()=>{var y;return u.value=(y=i.value.name)!=null?y:""});const d=$(()=>i.value!=null&&i.value.id===q.id),v=$(()=>{var y;return d.value?q.time:(y=i.value!=null&&i.value.time)!=null?y:0});function S(){t("editName",u.value),s.value=!1}return(y,b)=>(_(),I("div",{class:ne(["save",{active:a(d)}])},[aa,s.value?(_(),I("div",da,[f("button",{onClick:S,class:"button"},[C(Q,{display:"Save",direction:a(K).Left,class:"info"},{default:F(()=>[fa]),_:1},8,["direction"])]),f("button",{onClick:b[5]||(b[5]=m=>s.value=!s.value),class:"button"},[C(Q,{display:"Cancel",direction:a(K).Left,class:"info"},{default:F(()=>[ma]),_:1},8,["direction"])])])):(_(),I("div",sa,[a(i).error==null&&!l.value?(_(),j(hn,{key:0,onClick:b[0]||(b[0]=m=>t("export")),class:"button",left:""},{default:F(()=>[C(Q,{display:"Export",direction:a(K).Left,class:"info"},{default:F(()=>[oa]),_:1},8,["direction"])]),_:1})):P("",!0),a(i).error==null&&!l.value?(_(),I("button",{key:1,onClick:b[1]||(b[1]=m=>t("duplicate")),class:"button"},[C(Q,{display:"Duplicate",direction:a(K).Left,class:"info"},{default:F(()=>[la]),_:1},8,["direction"])])):P("",!0),a(i).error==null&&!l.value?(_(),I("button",{key:2,onClick:b[2]||(b[2]=m=>s.value=!s.value),class:"button"},[C(Q,{display:"Edit Name",direction:a(K).Left,class:"info"},{default:F(()=>[ua]),_:1},8,["direction"])])):P("",!0),C(ra,{disabled:a(d),onClick:b[3]||(b[3]=m=>t("delete")),onConfirmingChanged:b[4]||(b[4]=m=>l.value=m)},{default:F(()=>[C(Q,{display:"Delete",direction:a(K).Left,class:"info"},{default:F(()=>[ca]),_:1},8,["direction"])]),_:1},8,["disabled"])])),a(i).error==null&&!s.value?(_(),I("div",ga,[f("button",{class:"button open",onClick:b[6]||(b[6]=m=>t("open"))},[f("h3",null,R(a(i).name),1)]),f("span",ha,"v"+R(a(i).modVersion),1),pa,a(v)?(_(),I("div",va,"Last played "+R(a(r).format(a(v))),1)):P("",!0)])):a(i).error==null&&s.value?(_(),I("div",ba,[C(pn,{modelValue:u.value,"onUpdate:modelValue":b[7]||(b[7]=m=>u.value=m),class:"editname",onSubmit:S},null,8,["modelValue"])])):(_(),I("div",ya,[D(" Error: Failed to load save with id "+R(a(i).id),1),_a,D(R(a(i).error),1)]))],2))}});var Na=X(wa,[["__scopeId","data-v-32313015"]]);const Lt=e=>(qe("data-v-2a4275be"),e=e(),Be(),e),Sa=Lt(()=>f("h2",null,"Saves Manager",-1)),Ca={class:"modal-footer"},Ma={class:"field"},xa=Lt(()=>f("span",{class:"field-title"},"Create Save",-1)),ka={class:"field-buttons"},Ia={class:"footer"},$a=Lt(()=>f("div",{style:{"flex-grow":"1"}},null,-1)),Ea=G({__name:"SavesManager",setup(e,{expose:t}){const n=T(!1),i=T(null);t({open(){n.value=!0}});const r=T(!1),s=T(""),l=T(null);Ie(s,w=>{w?Ge(()=>{try{if(w[0]!=="{")if(w[0]==="e")w=decodeURIComponent(escape(atob(w)));else if(w[0]==="\u1BE1")w=Me.decompressFromUTF16(w);else{console.warn("Unable to determine preset encoding",w),r.value=!0;return}const M=JSON.parse(w);if(typeof M!="object"){r.value=!0;return}const A=ht();M.id=A,ce(M),s.value="",r.value=!1,H.saves.push(A)}catch{r.value=!0}}):r.value=!1});let u={},d=T(Object.keys(u).reduce((w,M)=>(w.push({label:M.split("/").slice(-1)[0].slice(0,-4),value:u[M]}),w),[]));const v=Tt({});function S(w){if(v[w]==null){let M=localStorage.getItem(w);if(M==null)v[w]={error:"Save doesn't exist in localStorage",id:w};else if(M==="dW5kZWZpbmVk")v[w]={error:"Save is undefined",id:w};else try{if(M[0]!=="{")if(M[0]==="e")M=decodeURIComponent(escape(atob(M)));else if(M[0]==="\u1BE1")M=Me.decompressFromUTF16(M);else return console.warn("Unable to determine preset encoding",M),r.value=!0,v[w]={error:"Unable to determine preset encoding",id:w},v[w];v[w]={...JSON.parse(M),id:w}}catch(A){v[w]={error:A,id:w},console.warn(`SavesManager: Failed to load info about save with id ${w}:
${A}
${M}`)}}return v[w]}Ie(n,w=>{w&&Object.keys(v).forEach(M=>delete v[M])});const y=$(()=>H.saves.reduce((w,M)=>(w[M]=S(M),w),{}));function b(w){let M;switch(q.id===w?M=tn(q):M=JSON.stringify(y.value[w]),W.exportEncoding){default:console.warn(`Unknown save encoding: ${W.exportEncoding}. Defaulting to lz`);case"lz":M=Me.compressToUTF16(M);break;case"base64":M=btoa(unescape(encodeURIComponent(M)));break;case"plain":break}const A=document.createElement("textarea");A.value=M,document.body.appendChild(A),A.select(),A.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(A)}function m(w){q.id===w&&ce();const M={...y.value[w],id:ht()};ce(M),H.saves.push(M.id)}function N(w){H.saves=H.saves.filter(M=>M!==w),localStorage.removeItem(w),v[w]=void 0}function h(w){y.value[q.id].time=q.time,ce(),v[q.id]=void 0,Ve(y.value[w]),v[w]=void 0}function E(w){if(l.value=w,Ge(()=>{l.value=null}),w[0]!=="{")if(w[0]==="e")w=decodeURIComponent(escape(atob(w)));else if(w[0]==="\u1BE1")w=Me.decompressFromUTF16(w);else{console.warn("Unable to determine preset encoding",w);return}const M=JSON.parse(w);M.id=ht(),ce(M),H.saves.push(M.id),h(M.id)}function L(w,M){const A=y.value[w];A!=null&&(A.name=M,q.id===w?(q.name=M,ce()):(ce(A),v[w]=void 0))}return(w,M)=>(_(),j(Re,{modelValue:n.value,"onUpdate:modelValue":M[4]||(M[4]=A=>n.value=A),ref_key:"modal",ref:i},{header:F(()=>[Sa]),body:F(({shown:A})=>[A?(_(),j(a(Tn),{key:0,list:a(H).saves,handle:".handle",itemKey:ie=>ie},{item:F(({element:ie})=>[C(Na,{save:a(y)[ie],onOpen:Z=>h(ie),onExport:Z=>b(ie),onEditName:Z=>L(ie,Z),onDuplicate:Z=>m(ie),onDelete:Z=>N(ie)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):P("",!0)]),footer:F(()=>[f("div",Ca,[C(pn,{modelValue:s.value,"onUpdate:modelValue":M[0]||(M[0]=A=>s.value=A),title:"Import Save",placeholder:"Paste your save here!",class:ne({importingFailed:r.value})},null,8,["modelValue","class"]),f("div",Ma,[xa,f("div",ka,[f("button",{class:"button",onClick:M[1]||(M[1]=A=>h(a(Ue)().id))},"New Game"),Object.keys(a(d)).length>0?(_(),j(gn,{key:0,options:a(d),modelValue:l.value,"onUpdate:modelValue":M[2]||(M[2]=A=>E(A)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):P("",!0)])]),f("div",Ia,[$a,f("button",{class:"button modal-default-button",onClick:M[3]||(M[3]=A=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var vn=X(Ea,[["__scopeId","data-v-2a4275be"]]);const fe=e=>(qe("data-v-318a1c31"),e=e(),Be(),e),Fa=["src","alt"],Ta={key:1,class:"title"},Pa=fe(()=>f("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),Va={class:"discord"},Da={class:"discord-links"},Oa={key:0},La=["href"],Aa=fe(()=>f("li",null,[f("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"The Paper Pilot Community")],-1)),qa=fe(()=>f("li",null,[f("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Ba={href:"https://forums.moddingtree.com/",target:"_blank"},Ra=fe(()=>f("span",{class:"material-icons"},"forum",-1)),za=fe(()=>f("span",{class:"material-icons"},"info",-1)),Ua=fe(()=>f("span",{class:"material-icons"},"library_books",-1)),ja=fe(()=>f("span",{class:"material-icons"},"settings",-1)),Ga=fe(()=>f("span",{class:"material-icons"},"library_books",-1)),Wa=fe(()=>f("span",{class:"material-icons"},"settings",-1)),Za=fe(()=>f("span",{class:"material-icons"},"info",-1)),Ha={href:"https://forums.moddingtree.com/",target:"_blank"},Ya=fe(()=>f("span",{class:"material-icons"},"forum",-1)),Ka={class:"discord"},Ja={class:"discord-links"},Xa={key:0},Qa=["href"],es=fe(()=>f("li",null,[f("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"The Paper Pilot Community")],-1)),ts=fe(()=>f("li",null,[f("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),ns=G({__name:"Nav",setup(e){const t=T(null),n=T(null),i=T(null),r=T(null),{useHeader:s,banner:l,title:u,discordName:d,discordLink:v,versionNumber:S}=W;function y(){window.open(v,"mywindow")}return(b,m)=>(_(),I(le,null,[a(s)?(_(),I("div",We({key:0,class:"nav"},b.$attrs),[a(l)?(_(),I("img",{key:0,src:a(l),class:"banner",alt:a(u)},null,8,Fa)):(_(),I("div",Ta,R(a(u)),1)),f("div",{onClick:m[0]||(m[0]=N=>{var h;return(h=r.value)==null?void 0:h.open()}),class:"version-container"},[C(Q,{display:"Changelog",direction:a(K).Down,class:"version"},{default:F(()=>[f("span",null,"v"+R(a(S)),1)]),_:1},8,["direction"])]),Pa,f("div",Va,[f("span",{onClick:y,class:"material-icons"},"discord"),f("ul",Da,[a(v)?(_(),I("li",Oa,[f("a",{href:a(v),target:"_blank"},R(a(d)),9,La)])):P("",!0),Aa,qa])]),f("div",null,[f("a",Ba,[C(Q,{display:"Forums",direction:a(K).Down,yoffset:"5px"},{default:F(()=>[Ra]),_:1},8,["direction"])])]),f("div",{onClick:m[1]||(m[1]=N=>{var h;return(h=t.value)==null?void 0:h.open()})},[C(Q,{display:"Info",direction:a(K).Down,class:"info"},{default:F(()=>[za]),_:1},8,["direction"])]),f("div",{onClick:m[2]||(m[2]=N=>{var h;return(h=n.value)==null?void 0:h.open()})},[C(Q,{display:"Saves",direction:a(K).Down,xoffset:"-20px"},{default:F(()=>[Ua]),_:1},8,["direction"])]),f("div",{onClick:m[3]||(m[3]=N=>{var h;return(h=i.value)==null?void 0:h.open()})},[C(Q,{display:"Settings",direction:a(K).Down,xoffset:"-66px"},{default:F(()=>[ja]),_:1},8,["direction"])])],16)):(_(),I("div",We({key:1,class:"overlay-nav"},b.$attrs),[f("div",{onClick:m[4]||(m[4]=N=>{var h;return(h=r.value)==null?void 0:h.open()}),class:"version-container"},[C(Q,{display:"Changelog",direction:a(K).Right,xoffset:"25%",class:"version"},{default:F(()=>[f("span",null,"v"+R(a(S)),1)]),_:1},8,["direction"])]),f("div",{onClick:m[5]||(m[5]=N=>{var h;return(h=n.value)==null?void 0:h.open()})},[C(Q,{display:"Saves",direction:a(K).Right},{default:F(()=>[Ga]),_:1},8,["direction"])]),f("div",{onClick:m[6]||(m[6]=N=>{var h;return(h=i.value)==null?void 0:h.open()})},[C(Q,{display:"Settings",direction:a(K).Right},{default:F(()=>[Wa]),_:1},8,["direction"])]),f("div",{onClick:m[7]||(m[7]=N=>{var h;return(h=t.value)==null?void 0:h.open()})},[C(Q,{display:"Info",direction:a(K).Right},{default:F(()=>[Za]),_:1},8,["direction"])]),f("div",null,[f("a",Ha,[C(Q,{display:"Forums",direction:a(K).Right,xoffset:"7px"},{default:F(()=>[Ya]),_:1},8,["direction"])])]),f("div",Ka,[f("span",{onClick:y,class:"material-icons"},"discord"),f("ul",Ja,[a(v)?(_(),I("li",Xa,[f("a",{href:a(v),target:"_blank"},R(a(d)),9,Qa)])):P("",!0),es,ts])])],16)),C(Dr,{ref_key:"info",ref:t,changelog:r.value},null,8,["changelog"]),C(vn,{ref_key:"savesManager",ref:n},null,512),C(Zr,{ref_key:"options",ref:i},null,512),C(pr,{ref_key:"changelog",ref:r},null,512)],64))}});var bn=X(ns,[["__scopeId","data-v-318a1c31"]]);const is={class:"inner-tab"},rs=G({__name:"Game",setup(e){const t=Ae(q,"tabs"),n=$(()=>Object.keys(se)),i=W.useHeader;function r(s){const{display:l,minimized:u,name:d,color:v,minimizable:S,nodes:y,minimizedDisplay:b}=s;return{display:l,minimized:u,name:d,color:v,minimizable:S,nodes:y,minimizedDisplay:b}}return(s,l)=>(_(),I("div",{class:ne(["tabs-container",{useHeader:a(i)}])},[(_(!0),I(le,null,pt(a(t),(u,d)=>{var v,S;return _(),I("div",{key:d,class:ne(["tab",a((v=a(se)[u])==null?void 0:v.classes)]),style:be(a((S=a(se)[u])==null?void 0:S.style))},[d===0&&!a(i)?(_(),j(bn,{key:0})):P("",!0),f("div",is,[a(n).includes(u)?(_(),j(fr,We({key:0},r(a(se)[u]),{index:d,onSetMinimized:y=>a(se)[u].minimized.value=y}),null,16,["index","onSetMinimized"])):(_(),j(pe(u),{key:1,index:d},null,8,["index"]))])],6)}),128))],2))}});var as=X(rs,[["__scopeId","data-v-dcd207b4"]]);const ss=G({__name:"Sticky",setup(e){const t=T("0"),n=new ResizeObserver(r),i=ct(null);function r(){let s=i.value;if(s==null)return;let l=0;for(;s.previousSibling;){const u=s.previousSibling;u.dataset&&"vSticky"in u.dataset&&(l+=u.offsetHeight),s=u}t.value=l+"px"}return Ge(r),document.fonts.ready.then(r),Et(()=>{var l;const s=(l=i.value)==null?void 0:l.parentElement;s&&n.observe(s)}),(s,l)=>(_(),I("div",{class:"sticky",style:be({top:t.value}),ref_key:"element",ref:i,"data-v-sticky":""},[ke(s.$slots,"default",{},void 0,!0)],4))}});var yn=X(ss,[["__scopeId","data-v-cccac690"]]);const os=["x1","y1","x2","y2"],ls=G({__name:"BoardLink",props:{link:null},setup(e){const n=de(e),i=$(()=>{const s=n.link.value.startNode.position;return n.link.value.offsetStart&&(s.x+=a(n.link.value.offsetStart).x,s.y+=a(n.link.value.offsetStart).y),s}),r=$(()=>{const s=n.link.value.endNode.position;return n.link.value.offsetEnd&&(s.x+=a(n.link.value.offsetEnd).x,s.y+=a(n.link.value.offsetEnd).y),s});return(s,l)=>(_(),I("line",We({class:"link"},e.link,{class:{pulsing:e.link.pulsing},x1:a(i).x,y1:a(i).y,x2:a(r).x,y2:a(r).y}),null,16,os))}});var us=X(ls,[["__scopeId","data-v-57c4970a"]]);const cs={key:0},ds=["transform","onMousedown","onTouchstart","onMouseup","onTouchend"],fs=["fill","stroke-width","stroke"],ms=["fill"],gs=G({__name:"BoardNodeAction",props:{node:null,nodeType:null,actions:null,isSelected:{type:Boolean},selectedAction:null},setup(e){const n=de(e),i=$(()=>Y(n.nodeType.value.size,a(n.node))),r=$(()=>{var v;return(v=Y(n.nodeType.value.outlineColor,a(n.node)))!=null?v:we[H.theme].variables["--outline"]}),s=$(()=>{var v;return(v=Y(n.nodeType.value.titleColor,a(n.node)))!=null?v:we[H.theme].variables["--foreground"]}),l=$(()=>Y(n.nodeType.value.actionDistance,a(n.node)));function u(v,S){var y;(S.onClick(a(n.node))||((y=a(n.selectedAction))==null?void 0:y.id)===S.id)&&(v.preventDefault(),v.stopPropagation())}function d(v,S){var y;((y=a(n.selectedAction))==null?void 0:y.id)===S.id&&(v.preventDefault(),v.stopPropagation())}return(v,S)=>(_(),j(He,{name:"actions",appear:""},{default:F(()=>[e.isSelected&&e.actions?(_(),I("g",cs,[(_(!0),I(le,null,pt(e.actions,(y,b)=>{var m,N;return _(),I("g",{key:y.id,class:ne(["action",{selected:((m=e.selectedAction)==null?void 0:m.id)===y.id}]),transform:`translate(
${(-a(i)-30)*Math.sin(((e.actions.length-1)/2-b)*a(l))},
${(a(i)+30)*Math.cos(((e.actions.length-1)/2-b)*a(l))}
)`,onMousedown:h=>u(h,y),onTouchstart:h=>u(h,y),onMouseup:h=>d(h,y),onTouchend:Ze(h=>d(h,y),["stop"])},[f("circle",{fill:a(Y)(y.fillColor,e.node),r:"20","stroke-width":((N=e.selectedAction)==null?void 0:N.id)===y.id?4:0,stroke:a(r)},null,8,fs),f("text",{fill:a(s),class:"material-icons"},R(a(Y)(y.icon,e.node)),9,ms)],42,ds)}),128))])):P("",!0)]),_:1}))}});var hs=X(gs,[["__scopeId","data-v-ffe504c4"]]);const ps=["transform"],vs={key:0},bs=["r","fill","stroke"],ys=["r","fill","stroke"],_s=["r","fill"],ws=["r","stroke-dasharray","stroke-dashoffset","stroke"],Ns={key:1,transform:"rotate(45, 0, 0)"},Ss=["width","height","transform","fill","stroke"],Cs=["width","height","transform","fill","stroke"],Ms=["width","height","transform","fill"],xs=["width","height","transform","stroke-dasharray","stroke-dashoffset","stroke"],ks=["fill","y"],Is=["fill"],$s={key:0},Es=["fill","y"],Fs=["fill","y"],Ts=G({__name:"BoardNode",props:{node:null,nodeType:null,dragging:null,dragged:null,hasDragged:{type:Boolean},receivingNode:{type:Boolean},selectedNode:null,selectedAction:null},emits:["mouseDown","endDragging"],setup(e,{emit:t}){const n=e,i=Math.sqrt(2),r=de(n),s=$(()=>a(r.selectedNode)===a(r.node)),l=$(()=>Y(r.nodeType.value.draggable,a(r.node)));Ie(l,V=>{const me=a(r.node);a(r.dragging)===me&&!V&&t("endDragging",me.id)});const u=$(()=>{var me;const V=a(r.node);return(me=Y(r.nodeType.value.actions,V))==null?void 0:me.filter(ye=>en(Y(ye.visibility,V)))}),d=$(()=>{var me;const V=a(r.node);if(Y(r.nodeType.value.draggable,V)&&((me=a(r.dragging))==null?void 0:me.id)===V.id&&a(r.dragged)!=null){const{x:ye,y:Ee}=a(r.dragged);return{x:V.position.x+Math.round(ye/25)*25,y:V.position.y+Math.round(Ee/25)*25}}return V.position}),v=$(()=>Y(r.nodeType.value.shape,a(r.node))),S=$(()=>Y(r.nodeType.value.title,a(r.node))),y=$(()=>Y(r.nodeType.value.subtitle,a(r.node))),b=$(()=>Y(r.nodeType.value.label,a(r.node))),m=$(()=>Y(r.nodeType.value.size,a(r.node))),N=$(()=>{var V;return(V=Y(r.nodeType.value.progress,a(r.node)))!=null?V:0}),h=$(()=>we[H.theme].variables["--background"]),E=$(()=>{var V;return(V=Y(r.nodeType.value.outlineColor,a(r.node)))!=null?V:we[H.theme].variables["--outline"]}),L=$(()=>{var V;return(V=Y(r.nodeType.value.fillColor,a(r.node)))!=null?V:we[H.theme].variables["--raised-background"]}),w=$(()=>Y(r.nodeType.value.progressColor,a(r.node))),M=$(()=>{var V;return(V=Y(r.nodeType.value.titleColor,a(r.node)))!=null?V:we[H.theme].variables["--foreground"]}),A=$(()=>Y(r.nodeType.value.progressDisplay,a(r.node))),ie=$(()=>a(r.dragging)!=null&&a(r.hasDragged)&&Y(r.nodeType.value.canAccept,a(r.node)));function Z(V){t("mouseDown",V,r.node.value.id,l.value)}function U(V){var me,ye,Ee;(me=r.hasDragged)!=null&&me.value||((Ee=(ye=r.nodeType.value).onClick)==null||Ee.call(ye,r.node.value),V.stopPropagation())}return(V,me)=>{var ye,Ee;return _(),I("g",{class:ne(["boardnode",{[e.node.type]:!0,isSelected:a(s),isDraggable:a(l)}]),style:be({opacity:((ye=e.dragging)==null?void 0:ye.id)===e.node.id&&e.hasDragged?.5:1}),transform:`translate(${a(d).x},${a(d).y})`},[C(hs,{actions:(Ee=a(u))!=null?Ee:[],"is-selected":a(s),node:e.node,"node-type":e.nodeType},null,8,["actions","is-selected","node","node-type"]),f("g",{class:"node-container",onMousedown:Z,onTouchstartPassive:Z,onMouseup:U,onTouchendPassive:U},[a(v)===a(ut).Circle?(_(),I("g",vs,[a(ie)?(_(),I("circle",{key:0,class:"receiver",r:a(m)+8,fill:a(h),stroke:e.receivingNode?"#0F0":"#0F03","stroke-width":2},null,8,bs)):P("",!0),f("circle",{class:"body",r:a(m),fill:a(L),stroke:a(E),"stroke-width":4},null,8,ys),a(A)===a(lt).Fill?(_(),I("circle",{key:1,class:"progress progressFill",r:Math.max(a(m)*a(N)-2,0),fill:a(w)},null,8,_s)):(_(),I("circle",{key:2,r:a(m)+4.5,class:"progress progressRing",fill:"transparent","stroke-dasharray":(a(m)+4.5)*2*Math.PI,"stroke-width":5,"stroke-dashoffset":(a(m)+4.5)*2*Math.PI-a(N)*(a(m)+4.5)*2*Math.PI,stroke:a(w)},null,8,ws))])):a(v)===a(ut).Diamond?(_(),I("g",Ns,[a(ie)?(_(),I("rect",{key:0,class:"receiver",width:a(m)*a(i)+16,height:a(m)*a(i)+16,transform:`translate(${-(a(m)*a(i)+16)/2}, ${-(a(m)*a(i)+16)/2})`,fill:a(h),stroke:e.receivingNode?"#0F0":"#0F03","stroke-width":2},null,8,Ss)):P("",!0),f("rect",{class:"body",width:a(m)*a(i),height:a(m)*a(i),transform:`translate(${-a(m)*a(i)/2}, ${-a(m)*a(i)/2})`,fill:a(L),stroke:a(E),"stroke-width":4},null,8,Cs),a(A)===a(lt).Fill?(_(),I("rect",{key:1,class:"progress progressFill",width:Math.max(a(m)*a(i)*a(N)-2,0),height:Math.max(a(m)*a(i)*a(N)-2,0),transform:`translate(${-Math.max(a(m)*a(i)*a(N)-2,0)/2}, ${-Math.max(a(m)*a(i)*a(N)-2,0)/2})`,fill:a(w)},null,8,Ms)):(_(),I("rect",{key:2,class:"progress progressDiamond",width:a(m)*a(i)+9,height:a(m)*a(i)+9,transform:`translate(${-(a(m)*a(i)+9)/2}, ${-(a(m)*a(i)+9)/2})`,fill:"transparent","stroke-dasharray":(a(m)*a(i)+9)*4,"stroke-width":5,"stroke-dashoffset":(a(m)*a(i)+9)*4-a(N)*(a(m)*a(i)+9)*4,stroke:a(w)},null,8,xs))])):P("",!0),f("text",{fill:a(M),class:"node-title",y:a(y)?10:0},R(a(S)),9,ks),a(y)?(_(),I("text",{key:2,fill:a(M),class:"node-subtitle",y:"-15"},R(a(y)),9,Is)):P("",!0)],32),C(He,{name:"fade",appear:""},{default:F(()=>[a(b)?(_(),I("g",$s,[f("text",{fill:a(b).color||a(M),class:ne(["node-title",{pulsing:a(b).pulsing}]),y:-a(m)-20},R(a(b).text),11,Es)])):P("",!0)]),_:1}),C(He,{name:"fade",appear:""},{default:F(()=>[a(s)&&e.selectedAction?(_(),I("text",{key:0,fill:a(M),class:"node-title",y:a(m)+75},"Tap again to confirm",8,Fs)):P("",!0)]),_:1})],14,ps)}}});var Ps=X(Ts,[["__scopeId","data-v-2dd74696"]]);const Vs={class:"stage",width:"100%",height:"100%"},Ds={class:"g1"},Os=G({__name:"Board",props:{nodes:null,types:null,state:null,visibility:null,width:null,height:null,style:null,classes:null,links:null,selectedAction:null,selectedNode:null,mousePosition:null},setup(e){const n=de(e),i=T({x:0,y:0}),r=T({x:0,y:0}),s=T(null),l=T(!1),u=T(null),d=$(()=>s.value==null?void 0:n.nodes.value.find(h=>h.id===s.value)),v=$(()=>{const h=n.nodes.value.slice();if(d.value){const E=h.splice(h.indexOf(d.value),1)[0];h.push(E)}return h}),S=$(()=>{const h=d.value;if(h==null)return null;const E={x:h.position.x+r.value.x,y:h.position.y+r.value.y};let L=Number.MAX_VALUE;return n.nodes.value.reduce((w,M)=>{if(M.id===h.id)return w;const A=n.types.value[M.type];if(!Y(A.canAccept,M))return w;const Z=Math.pow(E.x-M.position.x,2)+Math.pow(E.y-M.position.y,2);let U=Y(A.size,M);return Z>L||Z>U*U?w:(L=Z,M)},null)});function y(h){h.setTransformOrigin(null),h.moveTo(u.value.$el.clientWidth/2,u.value.$el.clientHeight/2)}function b(h,E=null,L=!1){if(s.value==null){h.preventDefault(),h.stopPropagation();let w,M;if("touches"in h)if(h.touches.length===1)w=h.touches[0].clientX,M=h.touches[0].clientY;else return;else w=h.clientX,M=h.clientY;i.value={x:w,y:M},r.value={x:0,y:0},l.value=!1,L&&(s.value=E)}E!=null&&(n.state.value.selectedNode=null,n.state.value.selectedAction=null)}function m(h){const{x:E,y:L,scale:w}=u.value.panZoomInstance.getTransform();let M,A;if("touches"in h)if(h.touches.length===1)M=h.touches[0].clientX,A=h.touches[0].clientY;else{N(s.value),n.mousePosition.value=null;return}else M=h.clientX,A=h.clientY;n.mousePosition.value={x:(M-E)/w,y:(A-L)/w},r.value={x:r.value.x+(M-i.value.x)/w,y:r.value.y+(A-i.value.y)/w},i.value={x:M,y:A},(Math.abs(r.value.x)>10||Math.abs(r.value.y)>10)&&(l.value=!0),s.value!=null&&(h.preventDefault(),h.stopPropagation())}function N(h){var E,L;if(s.value!=null&&s.value===h&&d.value!=null){d.value.position.x+=Math.round(r.value.x/25)*25,d.value.position.y+=Math.round(r.value.y/25)*25;const w=n.nodes.value;w.push(w.splice(w.indexOf(d.value),1)[0]),S.value&&((L=(E=n.types.value[S.value.type]).onDrop)==null||L.call(E,S.value,d.value)),s.value=null}else l.value||(n.state.value.selectedNode=null,n.state.value.selectedAction=null)}return(h,E)=>{const L=Wt("panZoom");return a(en)(e.visibility)?(_(),j(L,{key:0,style:be([{width:e.width,height:e.height},e.style]),class:ne(e.classes),selector:".g1",options:{initialZoom:1,minZoom:.1,maxZoom:10,zoomDoubleClickSpeed:1},ref_key:"stage",ref:u,onInit:y,onMousemove:m,onTouchmove:m,onMousedown:E[0]||(E[0]=w=>b(w)),onTouchstart:E[1]||(E[1]=w=>b(w)),onMouseup:E[2]||(E[2]=()=>N(s.value)),onTouchendPassive:E[3]||(E[3]=()=>N(s.value)),onMouseleave:E[4]||(E[4]=()=>N(s.value))},{default:F(()=>[(_(),I("svg",Vs,[f("g",Ds,[C(qt,{name:"link",appear:""},{default:F(()=>[(_(!0),I(le,null,pt(a(e.links)||[],w=>(_(),I("g",{key:`${w.startNode.id}-${w.endNode.id}`},[C(us,{link:w},null,8,["link"])]))),128))]),_:1}),C(qt,{name:"grow",duration:500,appear:""},{default:F(()=>[(_(!0),I(le,null,pt(a(v),w=>{var M;return _(),I("g",{key:w.id,style:{"transition-duration":"0s"}},[C(Ps,{node:w,nodeType:e.types[w.type],dragging:a(d),dragged:a(d)===w?r.value:void 0,hasDragged:l.value,receivingNode:((M=a(S))==null?void 0:M.id)===w.id,selectedNode:a(e.selectedNode),selectedAction:a(e.selectedAction),onMouseDown:b,onEndDragging:N},null,8,["node","nodeType","dragging","dragged","hasDragged","receivingNode","selectedNode","selectedAction"])])}),128))]),_:1})])]))]),_:1},8,["style","class","options"])):P("",!0)}}});ue.on("setupVue",e=>Vn.install(e));const _n=Symbol("Board");var lt=(e=>(e.Outline="Outline",e.Fill="Fill",e))(lt||{}),ut=(e=>(e.Circle="Circle",e.Diamond="Triangle",e))(ut||{});function Ls(e){const t=Ot({nodes:[],selectedNode:null,selectedAction:null},!1);return Ct(n=>{const i=e.call(n,n);i.id=Di("board-"),i.type=_n,i[Pt]=Os,i.state?(rr(t),z(i,"state")):(t[ot]={nodes:i.startNodes().map((s,l)=>(s.id=l,s)),selectedNode:null,selectedAction:null},i.state=t),i.nodes=$(()=>a(r.state).nodes),i.selectedNode=$(()=>r.nodes.value.find(s=>s.id===a(r.state).selectedNode)||null),i.selectedAction=$(()=>{const s=r.selectedNode.value;if(s==null)return null;const l=r.types[s.type];return l.actions==null?null:l.actions.find(u=>u.id===a(r.state).selectedAction)||null}),i.mousePosition=T(null),i.links?z(i,"links"):i.links=$(()=>r.selectedAction.value==null?null:r.selectedAction.value.links&&r.selectedNode.value?Y(r.selectedAction.value.links,r.selectedNode.value):null),z(i,"visibility"),re(i,"visibility",It.Visible),z(i,"width"),re(i,"width","100%"),z(i,"height"),re(i,"height","100%"),z(i,"classes"),z(i,"style");for(const s in i.types){const l=i.types[s];if(z(l,"title"),z(l,"subtitle"),z(l,"label"),z(l,"size"),re(l,"size",50),z(l,"draggable"),re(l,"draggable",!1),z(l,"shape"),re(l,"shape","Circle"),z(l,"canAccept"),re(l,"canAccept",!1),z(l,"progress"),z(l,"progressDisplay"),re(l,"progressDisplay","Fill"),z(l,"progressColor"),re(l,"progressColor","none"),z(l,"fillColor"),z(l,"outlineColor"),z(l,"titleColor"),z(l,"actionDistance"),re(l,"actionDistance",Math.PI/6),l.nodes=$(()=>a(r.state).nodes.filter(u=>u.type===s)),re(l,"onClick",function(u){a(r.state).selectedNode=u.id}),l.actions)for(const u of l.actions)z(u,"visibility"),re(u,"visibility",It.Visible),z(u,"icon"),z(u,"fillColor"),z(u,"tooltip"),z(u,"links")}i[Vt]=function(){const{nodes:s,types:l,state:u,visibility:d,width:v,height:S,style:y,classes:b,links:m,selectedAction:N,selectedNode:h,mousePosition:E}=this;return{nodes:s,types:l,state:u,visibility:d,width:v,height:S,style:a(y),classes:b,links:m,selectedAction:N,selectedNode:h,mousePosition:E}};const r=i;return r})}function Y(e,t){return yt(e)?e(t):a(e)}function As(e){let t=0;return e.nodes.value.forEach(n=>{n.id>=t&&(t=n.id+1)}),t}const Qe={};ue.on("addLayer",e=>{const t=Oi(e,_n);Qe[e.id]=e.on("postUpdate",n=>{t.forEach(i=>{Object.values(i.types).forEach(r=>r.nodes.value.forEach(s=>{var l;return(l=r.update)==null?void 0:l.call(r,s,n)}))})})});ue.on("removeLayer",e=>{var t;(t=Qe[e.id])==null||t.call(Qe),Qe[e.id]=void 0});function qs(e,t="points",n=0,i=void 0){const r=te(e)?e:Ot(e);if(r.displayName=t,r.precision=n,r.small=i,!te(e)){const s=r[xe];s.displayName=t,s.precision=n,s.small=i}return r}new o("10^^8");new o("1e100");function wn(e,t){const n=t!=null?t:e.value;return o.eq(e.precision,0)?it(e.small?n:o.floor(n)):Ce(n,e.precision,e.small)}const Bs=G({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,n=$(()=>wn(t.resource));return(i,r)=>(_(),I("h2",{style:be({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},R(a(n)),5))}});const Rs={class:"main-display"},zs={key:0},Us={key:1},js=G({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null},setup(e){const n=de(e),i=T(null),r=dt(n.effectDisplay),s=$(()=>o.lt(n.resource.value,"1e1000"));return(l,u)=>(_(),j(yn,null,{default:F(()=>{var d,v,S,y;return[f("div",{class:ne(["main-display-container",(d=e.classes)!=null?d:{}]),style:be([{height:`${((S=(v=i.value)==null?void 0:v.$el.clientHeight)!=null?S:0)+50}px`},(y=e.style)!=null?y:{}])},[f("div",Rs,[a(s)?(_(),I("span",zs,"You have ")):P("",!0),C(Bs,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),D(" "+R(e.resource.displayName),1),a(r)?(_(),I("span",Us,[D(", "),(_(),j(pe(a(r)),{ref_key:"effectRef",ref:i},null,512))])):P("",!0)])],6)]}),_:1}))}}),Nn=o.ln(10);function et(e){return e}function Gs(e,t){if(k(t))return t.invert(o.neg(e));throw new Error("Could not invert due to no input being a variable")}function Ws(e,t){if(k(t))return x.neg(t.getIntegralFormula(e));throw new Error("Could not integrate due to no input being a variable")}function Zs(e){return x.neg(e)}function Hs(e,t,n){if(k(t))return t.invert(o.sub(e,J(n)));if(k(n))return n.invert(o.sub(e,J(t)));throw new Error("Could not invert due to no input being a variable")}function Ys(e,t,n){var i,r;if(k(t)){const s=t.getIntegralFormula(e);return x.times(n,(i=t.innermostVariable)!=null?i:0).add(s)}else if(k(n)){const s=n.getIntegralFormula(e);return x.times(t,(r=n.innermostVariable)!=null?r:0).add(s)}throw new Error("Could not integrate due to no input being a variable")}function Ks(e,t,n){if(k(t)){const i=t.getIntegralFormula(e);return x.add(i,n)}else if(k(n)){const i=n.getIntegralFormula(e);return x.add(i,t)}throw new Error("Could not integrate due to no input being a variable")}function Js(e,t,n){if(k(t))return t.invert(o.add(e,J(n)));if(k(n))return n.invert(o.sub(J(t),e));throw new Error("Could not invert due to no input being a variable")}function Xs(e,t,n){var i,r;if(k(t)){const s=t.getIntegralFormula(e);return x.sub(s,x.times(n,(i=t.innermostVariable)!=null?i:0))}else if(k(n)){const s=n.getIntegralFormula(e);return x.times(t,(r=n.innermostVariable)!=null?r:0).sub(s)}throw new Error("Could not integrate due to no input being a variable")}function Qs(e,t,n){if(k(t)){const i=t.getIntegralFormula(e);return x.sub(i,n)}else if(k(n)){const i=n.getIntegralFormula(e);return x.sub(i,t)}throw new Error("Could not integrate due to no input being a variable")}function eo(e,t,n){if(k(t))return t.invert(o.div(e,J(n)));if(k(n))return n.invert(o.div(e,J(t)));throw new Error("Could not invert due to no input being a variable")}function to(e,t,n){if(k(t)){const i=t.getIntegralFormula(e);return x.times(i,n)}else if(k(n)){const i=n.getIntegralFormula(e);return x.times(i,t)}throw new Error("Could not integrate due to no input being a variable")}function no(e,t,n){if(k(t))return x.div(e,n);if(k(n))return x.div(e,t);throw new Error("Could not apply substitution due to no input being a variable")}function io(e,t,n){if(k(t))return t.invert(o.mul(e,J(n)));if(k(n))return n.invert(o.div(J(t),e));throw new Error("Could not invert due to no input being a variable")}function ro(e,t,n){if(k(t)){const i=t.getIntegralFormula(e);return x.div(i,n)}else if(k(n)){const i=n.getIntegralFormula(e);return x.div(t,i)}throw new Error("Could not integrate due to no input being a variable")}function ao(e,t,n){if(k(t))return x.mul(e,n);if(k(n))return x.mul(e,t);throw new Error("Could not apply substitution due to no input being a variable")}function so(e,t){if(k(t))return t.invert(o.recip(e));throw new Error("Could not invert due to no input being a variable")}function oo(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.ln(n)}throw new Error("Could not integrate due to no input being a variable")}function lo(e,t){if(k(t))return t.invert(o.pow10(e));throw new Error("Could not invert due to no input being a variable")}function uo(e){return o.ln(e).sub(1).times(e).div(Nn)}function co(e,t){if(k(t)){const n=Nn.times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}throw new Error("Could not invert due to no input being a variable")}function fo(e,t){if(k(t))return new x({inputs:[t.getIntegralFormula(e)],evaluate:uo,invert:co});throw new Error("Could not integrate due to no input being a variable")}function mo(e,t,n){if(k(t))return t.invert(o.pow(J(n),e));if(k(n))return n.invert(o.root(J(t),e));throw new Error("Could not invert due to no input being a variable")}function go(e,t){return o.ln(e).sub(1).times(e).div(o.ln(t))}function ho(e,t,n){if(k(t)){const i=o.ln(J(n)).times(e);return t.invert(i.div(i.div(Math.E).lambertw()))}throw new Error("Could not invert due to no input being a variable")}function po(e,t,n){if(k(t))return new x({inputs:[t.getIntegralFormula(e),n],evaluate:go,invert:ho});throw new Error("Could not integrate due to no input being a variable")}function vo(e,t){if(k(t))return t.invert(o.pow(2,e));throw new Error("Could not invert due to no input being a variable")}function bo(e){return o.ln(e).sub(1).times(e).div(o.ln(2))}function yo(e,t){if(k(t)){const n=o.ln(2).times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}throw new Error("Could not invert due to no input being a variable")}function _o(e,t){if(k(t))return new x({inputs:[t.getIntegralFormula(e)],evaluate:bo,invert:yo});throw new Error("Could not integrate due to no input being a variable")}function wo(e,t){if(k(t))return t.invert(o.exp(e));throw new Error("Could not invert due to no input being a variable")}function No(e){return o.ln(e).sub(1).times(e)}function So(e,t){if(k(t))return t.invert(o.div(e,o.div(e,Math.E).lambertw()));throw new Error("Could not invert due to no input being a variable")}function Co(e,t){if(k(t))return new x({inputs:[t.getIntegralFormula(e)],evaluate:No,invert:So});throw new Error("Could not integrate due to no input being a variable")}function Mo(e,t,n){if(k(t))return t.invert(o.root(e,J(n)));if(k(n))return n.invert(o.ln(e).div(o.ln(J(t))));throw new Error("Could not invert due to no input being a variable")}function xo(e,t,n){if(k(t)){const i=t.getIntegralFormula(e),r=x.add(n,1);return x.pow(i,r).div(r)}else if(k(n)){const i=n.getIntegralFormula(e);return x.pow(t,i).div(x.ln(t))}throw new Error("Could not integrate due to no input being a variable")}function ko(e,t){if(k(t))return t.invert(o.root(e,10));throw new Error("Could not invert due to no input being a variable")}function Io(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.pow10(n).div(x.ln(10))}throw new Error("Could not integrate due to no input being a variable")}function $o(e,t,n){if(k(t))return t.invert(o.ln(e).div(J(n)));if(k(n))return n.invert(o.root(J(t),e));throw new Error("Could not invert due to no input being a variable")}function Eo(e,t,n){if(k(t)){const i=t.getIntegralFormula(e);return x.pow(n,i).div(x.ln(n))}else if(k(n)){const i=n.getIntegralFormula(e),r=x.add(t,1);return x.pow(i,r).div(r)}throw new Error("Could not integrate due to no input being a variable")}function Fo(e,t,n){if(k(t))return t.invert(o.root(e,o.recip(J(n))));if(k(n))return n.invert(o.ln(J(t)).div(o.ln(e)));throw new Error("Could not invert due to no input being a variable")}function To(e,t,n){if(k(t)){const i=t.getIntegralFormula(e);return x.pow(i,x.recip(n).add(1)).times(n).div(x.add(n,1))}throw new Error("Could not integrate due to no input being a variable")}function Po(e,t){if(k(t))return t.invert(o.ln(e));throw new Error("Could not invert due to no input being a variable")}function Vo(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.exp(n)}throw new Error("Could not integrate due to no input being a variable")}function Do(e,t=2,n=o.fromComponents_noNormalize(1,0,1)){const i=o.minabs(t,1e308).toNumber();return o.tetrate(e,i,n)}function Oo(e,t,n,i){if(k(t))return t.invert(o.ssqrt(e));throw new Error("Could not invert due to no input being a variable")}function Lo(e,t=2,n=o.fromComponents_noNormalize(1,0,1)){const i=o.minabs(t,1e308).toNumber();return o.iteratedexp(e,i,new o(n))}function Ao(e,t,n,i){if(k(t))return t.invert(o.iteratedlog(e,Math.E,o.minabs(1e308,J(n)).toNumber()));throw new Error("Could not invert due to no input being a variable")}function qo(e,t=10,n=2){const i=o.minabs(n,1e308).toNumber();return o.iteratedlog(e,t,i)}function Bo(e,t=10){const n=o.minabs(t,1e308).toNumber();return o.slog(e,n)}function Ro(e,t,n){if(k(t))return t.invert(o.tetrate(e,o.minabs(1e308,J(n)).toNumber()));throw new Error("Could not invert due to no input being a variable")}function zo(e,t,n){const i=o.minabs(t,1e308).toNumber();return o.layeradd(e,i,n)}function Uo(e,t,n,i){if(k(t))return t.invert(o.layeradd(e,o.minabs(1e308,J(n)).negate().toNumber()));throw new Error("Could not invert due to no input being a variable")}function jo(e,t){if(k(t))return t.invert(o.pow(Math.E,e).times(e));throw new Error("Could not invert due to no input being a variable")}function Go(e,t){if(k(t))return t.invert(o.tetrate(e,2));throw new Error("Could not invert due to no input being a variable")}function Wo(e,t,n){const i=o.minabs(t,1e308).toNumber();return o.pentate(e,i,n)}function Zo(e,t){if(k(t))return t.invert(o.asin(e));throw new Error("Could not invert due to no input being a variable")}function Ho(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.cos(n).neg()}throw new Error("Could not integrate due to no input being a variable")}function Yo(e,t){if(k(t))return t.invert(o.acos(e));throw new Error("Could not invert due to no input being a variable")}function Ko(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.sin(n)}throw new Error("Could not integrate due to no input being a variable")}function Jo(e,t){if(k(t))return t.invert(o.atan(e));throw new Error("Could not invert due to no input being a variable")}function Xo(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.cos(n).ln().neg()}throw new Error("Could not integrate due to no input being a variable")}function Qo(e,t){if(k(t))return t.invert(o.sin(e));throw new Error("Could not invert due to no input being a variable")}function el(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.asin(n).times(n).add(x.sqrt(x.sub(1,x.pow(n,2))))}throw new Error("Could not integrate due to no input being a variable")}function tl(e,t){if(k(t))return t.invert(o.cos(e));throw new Error("Could not invert due to no input being a variable")}function nl(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.acos(n).times(n).sub(x.sqrt(x.sub(1,x.pow(n,2))))}throw new Error("Could not integrate due to no input being a variable")}function il(e,t){if(k(t))return t.invert(o.tan(e));throw new Error("Could not invert due to no input being a variable")}function rl(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.atan(n).times(n).sub(x.ln(x.pow(n,2).add(1)).div(2))}throw new Error("Could not integrate due to no input being a variable")}function al(e,t){if(k(t))return t.invert(o.asinh(e));throw new Error("Could not invert due to no input being a variable")}function sl(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.cosh(n)}throw new Error("Could not integrate due to no input being a variable")}function ol(e,t){if(k(t))return t.invert(o.acosh(e));throw new Error("Could not invert due to no input being a variable")}function ll(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.sinh(n)}throw new Error("Could not integrate due to no input being a variable")}function ul(e,t){if(k(t))return t.invert(o.atanh(e));throw new Error("Could not invert due to no input being a variable")}function cl(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.cosh(n).ln()}throw new Error("Could not integrate due to no input being a variable")}function dl(e,t){if(k(t))return t.invert(o.sinh(e));throw new Error("Could not invert due to no input being a variable")}function fl(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.asinh(n).times(n).sub(x.pow(n,2).add(1).sqrt())}throw new Error("Could not integrate due to no input being a variable")}function ml(e,t){if(k(t))return t.invert(o.cosh(e));throw new Error("Could not invert due to no input being a variable")}function gl(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.acosh(n).times(n).sub(x.add(n,1).sqrt().times(x.sub(n,1).sqrt()))}throw new Error("Could not integrate due to no input being a variable")}function hl(e,t){if(k(t))return t.invert(o.tanh(e));throw new Error("Could not invert due to no input being a variable")}function pl(e,t){if(k(t)){const n=t.getIntegralFormula(e);return x.atanh(n).times(n).add(x.sub(1,x.pow(n,2)).ln().div(2))}throw new Error("Could not integrate due to no input being a variable")}function Ke(e){return(t,n)=>new x({inputs:[t,n],evaluate:e,invert:et})}function k(e){return e instanceof x&&e.hasVariable()}function J(e,t){return e instanceof x?e.evaluate(t):a(e)}function vl(){return x.pow(this,2).div(2)}function bl(){return this}const g=class{constructor(e){this.negate=this.neg,this.negated=this.neg,this.sgn=this.sign,this.plus=this.add,this.subtract=this.sub,this.minus=this.sub,this.multiply=this.mul,this.times=this.mul,this.divide=this.div,this.divideBy=this.div,this.dividedBy=this.div,this.reciprocal=this.recip,this.reciprocate=this.recip,this.logarithm=this.log;let t;"inputs"in e&&(e.inputs=e.inputs.map(n=>typeof n=="object"&&xe in n?n[xe]:n)),"variable"in e?(typeof e.variable=="object"&&xe in e.variable&&(e.variable=e.variable[xe]),t=this.setupVariable(e)):"evaluate"in e?t=this.setupFormula(e):t=this.setupConstant(e),this.inputs=t.inputs,this.internalVariables=t.internalVariables,this.innermostVariable=t.innermostVariable,this.internalEvaluate=t.internalEvaluate,this.internalInvert=t.internalInvert,this.internalIntegrate=t.internalIntegrate,this.internalIntegrateInner=t.internalIntegrateInner,this.applySubstitution=t.applySubstitution}setupVariable({variable:e}){return{inputs:[e],internalVariables:1,innermostVariable:e,internalIntegrate:vl,internalIntegrateInner:bl,applySubstitution:et}}setupConstant({inputs:e}){if(e.length!==1)throw new Error("Evaluate function is required if inputs is not length 1");return{inputs:e,internalVariables:0}}setupFormula(e){const{inputs:t,evaluate:n,invert:i,integrate:r,integrateInner:s,applySubstitution:l}=e,u=t.reduce((S,y)=>S+(y instanceof g?y.internalVariables:0),0),d=t.find(S=>S instanceof g&&S.hasVariable()),v=u===1?d==null?void 0:d.innermostVariable:void 0;return{inputs:t,internalEvaluate:n,internalInvert:i,internalIntegrate:r,internalIntegrateInner:s,applySubstitution:l,innermostVariable:v,internalVariables:u}}calculateConstantOfIntegration(){const e=this.getIntegralFormula().evaluate(1),t=o.add(this.evaluate(0),this.evaluate(1)).div(2);return o.sub(t,e)}isInvertible(){return this.hasVariable()&&(this.internalInvert!=null||this.internalEvaluate==null)}isIntegrable(){return this.hasVariable()&&this.internalIntegrate!=null}isIntegralInvertible(){return this.isIntegrable()?this.getIntegralFormula().isInvertible():!1}hasVariable(){return this.internalVariables===1}evaluate(e){var t,n,i;return(i=(n=(t=this.internalEvaluate)==null?void 0:t.call(this,...this.inputs.map(r=>J(r,e))))!=null?n:this.hasVariable()?e:null)!=null?i:J(this.inputs[0])}invert(e){if(this.internalInvert&&this.hasVariable())return this.internalInvert.call(this,e,...this.inputs);if(this.inputs.length===1&&this.hasVariable())return e;throw new Error("Cannot invert non-invertible formula")}evaluateIntegral(e){if(!this.isIntegrable())throw new Error("Cannot evaluate integral of formula without integral");return this.getIntegralFormula().evaluate(e)}invertIntegral(e){if(!this.isIntegrable()||!this.getIntegralFormula().isInvertible())throw new Error("Cannot invert integral of formula without invertible integral");return this.getIntegralFormula().invert(e)}getIntegralFormula(e){if(this.integralFormula!=null&&e==null)return this.integralFormula;if(e==null){if(this.applySubstitution==null){if(e=[],this.internalIntegrate==null)throw new Error("Cannot integrate formula with non-integrable operation");let t=this.internalIntegrate.call(this,e,...this.inputs);e.forEach(n=>t=n(t)),this.integralFormula=t}else if(this.internalIntegrate)this.integralFormula=this.internalIntegrate.call(this,void 0,...this.inputs);else if(this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable())this.integralFormula=this;else throw new Error("Cannot integrate formula without variable");return this.integralFormula}else{if(this.applySubstitution==null)throw new Error("Cannot have two complex operations in an integrable formula");if(e.push(t=>this.applySubstitution.call(this,t,...this.inputs)),this.internalIntegrateInner)return this.internalIntegrateInner.call(this,e,...this.inputs);if(this.internalIntegrate)return this.internalIntegrate.call(this,e,...this.inputs);if(this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable())return this;throw new Error("Cannot integrate formula without variable")}}equals(e){return this.inputs.length===e.inputs.length&&this.inputs.every((t,n)=>t instanceof g&&e.inputs[n]instanceof g?t.equals(e.inputs[n]):!(t instanceof g)&&!(e.inputs[n]instanceof g)&&o.eq(a(t),a(e.inputs[n])))&&this.internalEvaluate===e.internalEvaluate&&this.internalInvert===e.internalInvert&&this.internalIntegrate===e.internalIntegrate&&this.internalVariables===e.internalVariables}static constant(e){return new g({inputs:[e]})}static variable(e){return new g({variable:e})}static step(e,t,n){const i=T(0),r=n(g.variable(i)),s=tt(t);function l(d){return o.lt(d,a(s))?d:(i.value=o.sub(d,a(s)),o.add(r.evaluate(),a(s)))}function u(d,v){if(k(v))return o.gt(d,a(s))&&(d=o.add(r.invert(o.sub(d,a(s))),a(s))),v.invert(d);throw new Error("Could not invert due to no input being a variable")}return new g({inputs:[e],evaluate:l,invert:r.isInvertible()&&r.hasVariable()?u:void 0})}static if(e,t,n,i){const r=T(0),s=g.variable(r),l=n(s),u=i==null?void 0:i(s),d=tt(t);function v(y){return a(d)?(r.value=y,l.evaluate()):u?(r.value=y,u.evaluate()):y}function S(y,b){if(!k(b))throw new Error("Could not invert due to no input being a variable");return a(d)?b.invert(l.invert(y)):u?b.invert(u.invert(y)):b.invert(y)}return new g({inputs:[e],evaluate:v,invert:l.isInvertible()&&l.hasVariable()?S:void 0})}static conditional(e,t,n,i){return g.if(e,t,n,i)}static abs(e){return new g({inputs:[e],evaluate:o.abs})}static neg(e){return new g({inputs:[e],evaluate:o.neg,invert:Gs,applySubstitution:Zs,integrate:Ws})}static sign(e){return new g({inputs:[e],evaluate:o.sign})}static round(e){return new g({inputs:[e],evaluate:o.round})}static floor(e){return new g({inputs:[e],evaluate:o.floor})}static ceil(e){return new g({inputs:[e],evaluate:o.ceil})}static trunc(e){return new g({inputs:[e],evaluate:o.trunc})}static add(e,t){return new g({inputs:[e,t],evaluate:o.add,invert:Hs,integrate:Ys,integrateInner:Ks,applySubstitution:et})}static sub(e,t){return new g({inputs:[e,t],evaluate:o.sub,invert:Js,integrate:Xs,integrateInner:Qs,applySubstitution:et})}static mul(e,t){return new g({inputs:[e,t],evaluate:o.mul,invert:eo,integrate:to,applySubstitution:no})}static div(e,t){return new g({inputs:[e,t],evaluate:o.div,invert:io,integrate:ro,applySubstitution:ao})}static recip(e){return new g({inputs:[e],evaluate:o.recip,invert:so,integrate:oo})}static clamp(e,t,n){return new g({inputs:[e,t,n],evaluate:o.clamp,invert:et})}static pLog10(e){return new g({inputs:[e],evaluate:o.pLog10})}static absLog10(e){return new g({inputs:[e],evaluate:o.absLog10})}static log10(e){return new g({inputs:[e],evaluate:o.log10,invert:lo,integrate:fo})}static log(e,t){return new g({inputs:[e,t],evaluate:o.log,invert:mo,integrate:po})}static log2(e){return new g({inputs:[e],evaluate:o.log2,invert:vo,integrate:_o})}static ln(e){return new g({inputs:[e],evaluate:o.ln,invert:wo,integrate:Co})}static pow(e,t){return new g({inputs:[e,t],evaluate:o.pow,invert:Mo,integrate:xo})}static pow10(e){return new g({inputs:[e],evaluate:o.pow10,invert:ko,integrate:Io})}static pow_base(e,t){return new g({inputs:[e,t],evaluate:o.pow_base,invert:$o,integrate:Eo})}static root(e,t){return new g({inputs:[e,t],evaluate:o.root,invert:Fo,integrate:To})}static factorial(e){return new g({inputs:[e],evaluate:o.factorial})}static gamma(e){return new g({inputs:[e],evaluate:o.gamma})}static lngamma(e){return new g({inputs:[e],evaluate:o.lngamma})}static exp(e){return new g({inputs:[e],evaluate:o.exp,invert:Po,integrate:Vo})}static sqr(e){return g.pow(e,2)}static sqrt(e){return g.root(e,2)}static cube(e){return g.pow(e,3)}static cbrt(e){return g.root(e,3)}static tetrate(e,t=2,n=o.fromComponents_noNormalize(1,0,1)){return new g({inputs:[e,t,n],evaluate:Do,invert:Oo})}static iteratedexp(e,t=2,n=o.fromComponents_noNormalize(1,0,1)){return new g({inputs:[e,t,n],evaluate:Lo,invert:Ao})}static iteratedlog(e,t=10,n=1){return new g({inputs:[e,t,n],evaluate:qo})}static slog(e,t=10){return new g({inputs:[e,t],evaluate:Bo,invert:Ro})}static layeradd10(e,t){return new g({inputs:[e,t],evaluate:o.layeradd10})}static layeradd(e,t,n=10){return new g({inputs:[e,t,n],evaluate:zo,invert:Uo})}static lambertw(e){return new g({inputs:[e],evaluate:o.lambertw,invert:jo})}static ssqrt(e){return new g({inputs:[e],evaluate:o.ssqrt,invert:Go})}static pentate(e,t=2,n=o.fromComponents_noNormalize(1,0,1)){return new g({inputs:[e,t,n],evaluate:Wo})}static sin(e){return new g({inputs:[e],evaluate:o.sin,invert:Qo,integrate:Ho})}static cos(e){return new g({inputs:[e],evaluate:o.cos,invert:tl,integrate:Ko})}static tan(e){return new g({inputs:[e],evaluate:o.tan,invert:il,integrate:Xo})}static asin(e){return new g({inputs:[e],evaluate:o.asin,invert:Zo,integrate:el})}static acos(e){return new g({inputs:[e],evaluate:o.acos,invert:Yo,integrate:nl})}static atan(e){return new g({inputs:[e],evaluate:o.atan,invert:Jo,integrate:rl})}static sinh(e){return new g({inputs:[e],evaluate:o.sinh,invert:dl,integrate:sl})}static cosh(e){return new g({inputs:[e],evaluate:o.cosh,invert:ml,integrate:ll})}static tanh(e){return new g({inputs:[e],evaluate:o.tanh,invert:hl,integrate:cl})}static asinh(e){return new g({inputs:[e],evaluate:o.asinh,invert:al,integrate:fl})}static acosh(e){return new g({inputs:[e],evaluate:o.acosh,invert:ol,integrate:gl})}static atanh(e){return new g({inputs:[e],evaluate:o.atanh,invert:ul,integrate:pl})}step(e,t){return g.step(this,e,t)}if(e,t){return g.if(this,e,t)}conditional(e,t){return g.if(this,e,t)}abs(){return g.abs(this)}neg(){return g.neg(this)}sign(){return g.sign(this)}round(){return g.round(this)}floor(){return g.floor(this)}ceil(){return g.ceil(this)}trunc(){return g.trunc(this)}add(e){return g.add(this,e)}sub(e){return g.sub(this,e)}mul(e){return g.mul(this,e)}div(e){return g.div(this,e)}recip(){return g.recip(this)}max(e){return g.max(this,e)}min(e){return g.min(this,e)}maxabs(e){return g.maxabs(this,e)}minabs(e){return g.minabs(this,e)}clamp(e,t){return g.clamp(this,e,t)}clampMin(e){return g.clampMin(this,e)}clampMax(e){return g.clampMax(this,e)}pLog10(){return g.pLog10(this)}absLog10(){return g.absLog10(this)}log10(){return g.log10(this)}log(e){return g.log(this,e)}log2(){return g.log2(this)}ln(){return g.ln(this)}pow(e){return g.pow(this,e)}pow10(){return g.pow10(this)}pow_base(e){return g.pow_base(this,e)}root(e){return g.root(this,e)}factorial(){return g.factorial(this)}gamma(){return g.gamma(this)}lngamma(){return g.lngamma(this)}exp(){return g.exp(this)}sqr(){return g.pow(this,2)}sqrt(){return g.root(this,2)}cube(){return g.pow(this,3)}cbrt(){return g.root(this,3)}tetrate(e=2,t=o.fromComponents_noNormalize(1,0,1)){return g.tetrate(this,e,t)}iteratedexp(e=2,t=o.fromComponents_noNormalize(1,0,1)){return g.iteratedexp(this,e,t)}iteratedlog(e=10,t=1){return g.iteratedlog(this,e,t)}slog(e=10){return g.slog(this,e)}layeradd10(e){return g.layeradd10(this,e)}layeradd(e,t){return g.layeradd(this,e,t)}lambertw(){return g.lambertw(this)}ssqrt(){return g.ssqrt(this)}pentate(e=2,t=o.fromComponents_noNormalize(1,0,1)){return g.pentate(this,e,t)}sin(){return g.sin(this)}cos(){return g.cos(this)}tan(){return g.tan(this)}asin(){return g.asin(this)}acos(){return g.acos(this)}atan(){return g.atan(this)}sinh(){return g.sinh(this)}cosh(){return g.cosh(this)}tanh(){return g.tanh(this)}asinh(){return g.asinh(this)}acosh(){return g.acosh(this)}atanh(){return g.atanh(this)}};let x=g;x.negate=g.neg;x.negated=g.neg;x.sgn=g.sign;x.plus=g.add;x.subtract=g.sub;x.minus=g.sub;x.multiply=g.mul;x.times=g.mul;x.divide=g.div;x.divideBy=g.div;x.dividedBy=g.div;x.reciprocal=g.recip;x.reciprocate=g.recip;x.max=Ke(o.max);x.min=Ke(o.min);x.minabs=Ke(o.minabs);x.maxabs=Ke(o.maxabs);x.clampMin=Ke(o.clampMin);x.clampMax=Ke(o.clampMax);x.logarithm=g.log;function Je(e,t,n=!0,i){var s,l,u;let r=o.add(t,(s=a(e.innermostVariable))!=null?s:0);if(n){const d=r;r=r.sub(i!=null?i:10).clampMin((l=a(e.innermostVariable))!=null?l:0);let v=o.sub(e.evaluateIntegral(r),e.evaluateIntegral());if(d.gt(1e308))return v.add(o.sub(d,r).times(e.evaluate(r)));for(let S=r.toNumber();S<d.toNumber();S++)v=v.add(e.evaluate(S));return v}else{const d=r;r=r.sub(i!=null?i:0).clampMin((u=a(e.innermostVariable))!=null?u:0);let v=e.evaluate(r);if(d.gt(1e308))return o.sub(d,r).add(1).times(v);for(let S=r.toNumber();S<d.toNumber();S++)v=o.add(v,e.evaluate(S));return v}}function yl(e){return Ct(t=>{const{multiplier:n,description:i,enabled:r,smallerIsBetter:s}=e.call(t,t),l=tt(n),u=tt(i),d=r==null?void 0:tt(r);return{apply:v=>o.times(v,a(l)),invert:v=>o.div(v,a(l)),getFormula:v=>x.times(v,l),enabled:d,description:i==null?void 0:ae(()=>C("div",{class:"modifier-container"},[a(u)!=null?C("span",{class:"modifier-description"},[st(a(u))]):null,C("span",{class:"modifier-amount",style:(s===!0?o.gt(a(l),1):o.lt(a(l),1))?"color: var(--danger)":""},[D("\xD7"),bt(a(l))])]))}})}function _l(e){return Ct(()=>{const t=e();return{apply:n=>t.filter(i=>a(i.enabled)!==!1).reduce((i,r)=>r.apply(i),n),invert:t.every(n=>n.invert!=null)?n=>t.filter(i=>a(i.enabled)!==!1).reduceRight((i,r)=>r.invert(i),n):void 0,getFormula:t.every(n=>n.getFormula!=null)?n=>t.filter(i=>a(i.enabled)!==!1).reduce((i,r)=>r.getFormula(i),n):void 0,enabled:t.some(n=>n.enabled!=null)?$(()=>t.filter(n=>a(n.enabled)!==!1).length>0):void 0,description:t.some(n=>n.description!=null)?ae(()=>C(le,null,[t.filter(n=>a(n.enabled)!==!1).map(n=>a(n.description)).filter(n=>n).map(st)])):void 0}})}function wl({title:e,subtitle:t,modifier:n,base:i,unit:r,baseText:s,smallerIsBetter:l}){const u=n.apply(i!=null?i:1);return C("div",{style:{"--unit":H.alignUnits&&r!=null?"'"+r+"'":""}},[C("h3",null,[e,t==null?null:C("span",{class:"subtitle"},[D(" ("),t,D(")")])]),C("br",null,null),C("div",{class:"modifier-container"},[C("span",{class:"modifier-description"},[st(s!=null?s:"Base")]),C("span",{class:"modifier-amount"},[bt(i!=null?i:1),r])]),st(a(n.description)),C("hr",null,null),C("div",{class:"modifier-container"},[C("span",{class:"modifier-description"},[D("Total")]),C("span",{class:"modifier-amount",style:(l===!0?o.gt(u,i!=null?i:1):o.lt(u,i!=null?i:1))?"color: var(--danger)":""},[bt(u),r])])])}const gt={dirt:120,sand:60,gravel:40,wood:30,stone:24,coal:20,copper:15,iron:12,silver:10,gold:8,emerald:6,platinum:5,diamond:4,berylium:3,unobtainium:2,ultimatum:1},Sn=cn("main",function(){const e=qs(0,"energy"),t=x.variable(0).add(1);function n(b){let m=o.floor(t.invertIntegral(b)).sub(10).clampMin(0),N=Je(t,m,!0,0);for(;;){const L=t.evaluate(m);if(o.add(N,L).lte(b))m=m.add(1),N=o.add(N,L);else break}console.log("!!",Ce(b),"(lv "+Ce(m)+")",Ce(Je(t,m,!0)),"/ "+Ce(Je(t,o.add(m,1),!0)));const h=Je(t,m,!0),E=Je(t,o.add(m,1),!0);return o.sub(b,h).max(0).div(o.sub(E,h)).toNumber()}const i=Ye({}),r=Ls(b=>({startNodes:()=>[{position:{x:0,y:0},type:"mine",state:0}],types:{mine:{shape:ut.Diamond,size:50,title:"Mine",label:m=>m===b.selectedNode.value?null:{text:"Click me!"},progress:m=>m==b.selectedNode.value?new o(m.state).toNumber():0,progressDisplay:lt.Outline,progressColor:"var(--accent2)"},resource:{shape:ut.Circle,size:50,title:m=>m.state.type,subtitle:m=>it(m.state.amount),progress:m=>n(m.state.amount),progressDisplay:lt.Outline,progressColor:"var(--accent3)",draggable:!0}},style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"},links(){const m=b.nodes.value.find(N=>N.type==="mine");return Object.keys(i).map(N=>({startNode:m,endNode:s.value[N],stroke:"var(--accent3)",strokeWidth:5}))}})),s=$(()=>r.nodes.value.reduce((b,m)=>(m.type==="resource"&&(b[m.state.type]=m),b),{}));function l(b,m){let N=s.value[b];if(N==null){let h=0;h=r.nodes.value.filter(E=>E.position.y<50&&E.position.y>-50).reduce((E,L)=>Math.max(E,L.position.x+100),0),N={id:As(r),position:{x:h,y:0},type:"resource",state:{type:b,amount:m}},r.nodes.value.push(N)}else{const h=N.state;N.state={...h,amount:o.add(h.amount,m)}}}const u=Object.values(gt).reduce((b,m)=>b+m),d=Object.keys(gt),v=_l(()=>d.map(b=>yl(()=>({description:b,multiplier:()=>{var m,N,h;return o.pow(1.01,t.invertIntegral((h=(N=(m=s.value[b])==null?void 0:m.state)==null?void 0:N.amount)!=null?h:0))},enabled:()=>{var m,N;return b in s.value&&o.gt((N=(m=s.value[b].state)==null?void 0:m.amount)!=null?N:0,0)}})))),S=$(()=>v.apply(1)),y=ae(()=>wl({title:"Energy Gain",modifier:v,base:1,unit:"/s"}));return this.on("preUpdate",b=>{var m;if(Object.keys(i).forEach(N=>{i[N]-=b,i[N]<=0&&delete i[N]}),((m=r.selectedNode.value)==null?void 0:m.type)==="mine"){const N=r.selectedNode.value,h=o.add(N.state,b),E=h.floor();N.state=o.sub(h,E);const L=E.div(u).floor();L.gt(0)&&d.forEach(M=>{l(M,o.times(gt[M],L)),i[M]=.3});const w=o.sub(E,L).toNumber();for(let M=0;M<w;M++){const A=Math.floor(Math.random()*u);let ie=0;for(let Z=0;Z<d.length;Z++){const U=d[Z];if(ie+=gt[U],A<=ie){l(U,1),i[U]=.3;break}}}}e.value=o.add(e.value,o.times(S.value,b))}),{name:"World",board:r,energy:e,display:ae(()=>C(le,null,[q.devSpeed===0?C("div",null,[D("Game Paused")]):null,q.devSpeed!=null&&q.devSpeed!==0&&q.devSpeed!==1?C("div",null,[D("Dev Speed: "),Ce(q.devSpeed),D("x")]):null,q.offlineTime!=null&&q.offlineTime!==0?C("div",null,[D("Offline Time: "),Nt(q.offlineTime)]):null,C(js,{resource:e},null),C(yn,{style:"margin-top: -20px"},{default:()=>[D("You are gaining")," ",C("span",{class:"tooltip-inline-container"},[C(Q,{display:y,direction:K.Down,style:"width: 200px; text-align: left"},{default:()=>[C("h3",{style:"color: white; text-shadow: 0px 0px 10px white;"},[wn(e,S.value)])]})])," ",D("energy/sec")," "]}),St(r)]))}}),Nl=e=>[Sn],Cn=$(()=>!1);function Sl(e,t){}var Cl=Object.freeze(Object.defineProperty({__proto__:null,main:Sn,getInitialLayers:Nl,hasWon:Cn,fixOldSave:Sl},Symbol.toStringTag,{value:"Module"}));const ft=e=>(qe("data-v-4a50ce42"),e=e(),Be(),e),Ml={class:"game-over-modal-header"},xl=["src","alt"],kl={class:"game-over-modal-title"},Il=ft(()=>f("h2",null,"Congratulations!",-1)),$l={key:0},El=ft(()=>f("br",null,null,-1)),Fl=ft(()=>f("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),Tl=ft(()=>f("br",null,null,-1)),Pl=["href"],Vl=ft(()=>f("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),Dl=G({__name:"GameOverScreen",setup(e){const{title:t,logo:n,discordName:i,discordLink:r,versionNumber:s,versionTitle:l}=W,u=$(()=>Nt(q.timePlayed)),d=$(()=>Cn.value&&!q.keepGoing),v=Ae(q,"autosave");function S(){q.keepGoing=!0}function y(){Ve(Ue())}return(b,m)=>(_(),j(Re,{"model-value":a(d)},{header:F(()=>[f("div",Ml,[a(n)?(_(),I("img",{key:0,class:"game-over-modal-logo",src:a(n),alt:a(t)},null,8,xl)):P("",!0),f("div",kl,[Il,f("h4",null,"You've beaten "+R(a(t))+" v"+R(a(s))+": "+R(a(l)),1)])])]),body:F(({shown:N})=>[N?(_(),I("div",$l,[f("div",null,"It took you "+R(a(u))+" to beat the game.",1),El,Fl,Tl,f("div",null,[f("a",{href:a(r),class:"game-over-modal-discord-link"},[Vl,D(" "+R(a(i)),1)],8,Pl)]),C(_e,{title:"Autosave",modelValue:a(v),"onUpdate:modelValue":m[0]||(m[0]=h=>te(v)?v.value=h:null)},null,8,["modelValue"])])):P("",!0)]),footer:F(()=>[f("div",{class:"game-over-footer"},[f("button",{onClick:S,class:"button"},"Keep Going"),f("button",{onClick:y,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var Ol=X(Dl,[["__scopeId","data-v-4a50ce42"]]);const Mt=e=>(qe("data-v-2776d67d"),e=e(),Be(),e),Ll=Mt(()=>f("div",{class:"nan-modal-header"},[f("h2",null,"NaN value detected!")],-1)),Al={key:0},ql=Mt(()=>f("br",null,null,-1)),Bl=["href"],Rl=Mt(()=>f("span",{class:"material-icons nan-modal-discord"},"discord",-1)),zl=Mt(()=>f("br",null,null,-1)),Ul={class:"nan-footer"},jl=G({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:n}=W,i=T(!0),r=T(!0),s=Ae(ee,"hasNaN"),l=T(null);Ie(s,b=>{b?(i.value=q.autosave,r.value=q.devSpeed===0):(q.autosave=i.value,q.devSpeed=r.value?0:null)});const u=$(()=>{var b;return(b=ee.NaNPath)==null?void 0:b.join(".")}),d=$(()=>ee.NaNPersistent!=null?ee.NaNPersistent.value:null);function v(){ee.NaNPersistent!=null&&(ee.NaNPersistent.value=new o(0),ee.hasNaN=!1)}function S(){ee.NaNPersistent&&(ee.NaNPersistent.value=new o(1),ee.hasNaN=!1)}function y(){ee.NaNPersistent&&(ee.NaNPersistent.value=new o(NaN),ee.hasNaN=!1)}return(b,m)=>(_(),I(le,null,[C(Re,We({modelValue:a(s),"onUpdate:modelValue":m[4]||(m[4]=N=>te(s)?s.value=N:null)},b.$attrs),{header:F(()=>[Ll]),body:F(()=>[f("div",null,[D(' Attempted to assign "'+R(a(u))+'" to NaN',1),a(d)?(_(),I("span",Al,R(" ")+"(previously "+R(a(Ce)(a(d)))+")",1)):P("",!0),D(". Auto-saving has been "+R(i.value?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),ql,f("div",null,[f("a",{href:a(n)||"https://discord.gg/yJ4fjnjU54",class:"nan-modal-discord-link"},[Rl,D(" "+R(a(t)||"The Paper Pilot Community"),1)],8,Bl)]),zl,C(_e,{title:"Autosave",modelValue:i.value,"onUpdate:modelValue":m[0]||(m[0]=N=>i.value=N)},null,8,["modelValue"]),a(W).enablePausing?(_(),j(_e,{key:0,title:"Pause game",modelValue:r.value,"onUpdate:modelValue":m[1]||(m[1]=N=>r.value=N)},null,8,["modelValue"])):P("",!0)]),footer:F(()=>[f("div",Ul,[f("button",{onClick:m[2]||(m[2]=N=>{var h;return(h=l.value)==null?void 0:h.open()}),class:"button"},"Open Saves Manager"),f("button",{onClick:v,class:"button"},"Set to 0"),f("button",{onClick:S,class:"button"},"Set to 1"),a(d)&&a(o).neq(a(d),0)&&a(o).neq(a(d),1)?(_(),I("button",{key:0,onClick:m[3]||(m[3]=N=>s.value=!1),class:"button"}," Set to previous ")):P("",!0),f("button",{onClick:y,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),C(vn,{ref_key:"savesManager",ref:l},null,512)],64))}});var Gl=X(jl,[["__scopeId","data-v-2776d67d"]]);const Wl={key:0,class:"tpsDisplay"},Zl={key:0,class:"low"},Hl=G({__name:"TPS",setup(e){const t=$(()=>o.div(ee.lastTenTicks.length,ee.lastTenTicks.reduce((s,l)=>s+l,0))),n=T([]);$t(()=>{n.value.push(Math.round(t.value.toNumber())),n.value.length>10&&(n.value=n.value.slice(1))});const i=$(()=>n.value.reduce((s,l)=>o.max(s,l),0)),r=$(()=>o.sub(t.value,i.value).gt(1));return(s,l)=>a(t).isNan()?P("",!0):(_(),I("div",Wl,[D(" TPS: "+R(a(it)(a(t)))+" ",1),C(He,{name:"fade"},{default:F(()=>[a(r)?(_(),I("span",Zl,R(a(it)(a(i))),1)):P("",!0)]),_:1})]))}});var Yl=X(Hl,[["__scopeId","data-v-46a3ed5b"]]);var Kl=G({__name:"App",setup(e){const t=W.useHeader,n=$(()=>we[H.theme].variables),i=Ae(H,"showTPS"),r=$(()=>$e(ae(()=>C(le,null,[Gi.map(St)]))));return(s,l)=>(_(),I(le,null,[f("div",{id:"modal-root",style:be(a(n))},null,4),f("div",{class:ne(["app",{useHeader:a(t)}]),style:be(a(n))},[a(t)?(_(),j(bn,{key:0})):P("",!0),C(as),a(a(i))?(_(),j(Yl,{key:1})):P("",!0),C(Ol),C(Gl),(_(),j(pe(a(r))))],6)],64))}});var Jl=X(Kl,[["__scopeId","data-v-41d15e5e"]]);ue.on("setupVue",e=>e.use(Dn));function Xl(e={}){const{immediate:t=!1,onNeedRefresh:n,onOfflineReady:i,onRegistered:r,onRegisteredSW:s,onRegisterError:l}=e;let u,d,v,S;const y=async(m=!0)=>{await v,m&&(u==null||u.addEventListener("controlling",N=>{N.isUpdate&&window.location.reload()})),await(S==null?void 0:S())};async function b(){if("serviceWorker"in navigator){const{Workbox:m,messageSW:N}=await nt(()=>import("./workbox-window.4a8794bb.js"),[]);S=async()=>{d&&d.waiting&&await N(d.waiting,{type:"SKIP_WAITING"})},u=new m("./sw.js",{scope:"./",type:"classic"}),u.addEventListener("activated",h=>{h.isUpdate||i==null||i()});{const h=()=>{n==null||n()};u.addEventListener("waiting",h),u.addEventListener("externalwaiting",h)}u.register({immediate:t}).then(h=>{d=h,s?s("./sw.js",h):r==null||r(h)}).catch(h=>{l==null||l(h)})}}return v=b(),y}function Ql(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:i,onRegistered:r,onRegisteredSW:s,onRegisterError:l}=e,u=T(!1),d=T(!1);return{updateServiceWorker:Xl({immediate:t,onNeedRefresh(){u.value=!0,n==null||n()},onOfflineReady(){d.value=!0,i==null||i()},onRegistered:r,onRegisteredSW:s,onRegisterError:l}),offlineReady:d,needRefresh:u}}document.title=W.title;window.projInfo=W;if(W.id==="")throw new Error("Project ID is empty! Please select a unique ID for this project in /src/data/projInfo.json");requestAnimationFrame(async()=>{console.log(`%cMade in Profectus%c
Learn more at www.moddingtree.com`,"font-weight: bold; font-size: 24px; color: #A3BE8C; background: #2E3440; padding: 4px 8px; border-radius: 8px;","padding: 4px;"),await qi();const{globalBus:e}=await nt(()=>Promise.resolve().then(function(){return Li}),void 0),{startGameLoop:t}=await nt(()=>import("./gameLoop.cc1aecc7.js"),["assets/gameLoop.cc1aecc7.js","assets/@fontsource.f66d05e7.css","assets/vue.804e2479.js","assets/amator.1e5a40c8.js","assets/bezier-easing.a990b400.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/lz-string.dccec454.js","assets/vue-next-select.f5f69b1a.js","assets/vue-next-select.9e6f4164.css","assets/vuedraggable.ce650350.js","assets/sortablejs.a0f68e5e.js","assets/vue-textarea-autosize.35804eaf.js","assets/vue-panzoom.89be130f.js","assets/panzoom.30c56ba6.js","assets/wheel.f2ae740f.js","assets/ngraph.events.083734c6.js","assets/vue-toastification.5231d1bd.js","assets/vue-toastification.4b5f8ac8.css"]),n=window.vue=En(Jl);e.emit("setupVue",n),n.mount("#app"),Ge(()=>{const i=On(),{updateServiceWorker:r}=Ql({onNeedRefresh(){i.info("New content available, click here to update.",{timeout:!1,closeOnClick:!1,draggable:!1,icon:{iconClass:"material-icons",iconChildren:"refresh",iconTag:"i"},rtl:!1,onClick(){r()}})},onOfflineReady(){i.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(s){s&&setInterval(()=>s.update(),60*60*1e3)}})}),t()});export{o as D,nt as _,ee as a,W as b,Cl as c,ue as g,Bi as l,q as p,H as s};