@rohal12/spindle 0.51.1 → 0.51.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- window.storyFormat({"name":"spindle","version":"0.51.1","author":"Rohal12","description":"A Preact-based story format for Twine 2.","image":"","url":"","license":"Unlicense","proofing":false,"source":"<!doctype html>\n<html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1\"\n />\n <title>{{STORY_NAME}}</title>\n <link\n id=\"favicon\"\n rel=\"icon\"\n type=\"image/svg+xml\"\n href=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cdefs%3E%3ClinearGradient id='sg' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%23c4b5fd'/%3E%3Cstop offset='50%25' stop-color='%238b5cf6'/%3E%3Cstop offset='100%25' stop-color='%235b21b6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='16' cy='16' rx='13' ry='5' stroke='%237c3aed' stroke-width='1.8' fill='none' opacity='.85' transform='rotate(55,16,16)'/%3E%3Cellipse cx='16' cy='16' rx='13' ry='5' stroke='%238b5cf6' stroke-width='1.8' fill='none' opacity='.85' transform='rotate(-55,16,16)'/%3E%3Cpath d='M16 3Q19.5 9 20.5 16 19.5 23 16 29 12.5 23 11.5 16 12.5 9 16 3Z' fill='url(%23sg)'/%3E%3C/svg%3E\"\n />\n <script type=\"module\" crossorigin>var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel=\"modulepreload\"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var n,r,i,a,o,s,c,l,u,d,f,p,m={},h=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,_=Array.isArray;function v(e,t){for(var n in t)e[n]=t[n];return e}function y(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function b(e,t,r){var i,a,o,s={};for(o in t)o==`key`?i=t[o]:o==`ref`?a=t[o]:s[o]=t[o];if(arguments.length>2&&(s.children=arguments.length>3?n.call(arguments,2):r),typeof e==`function`&&e.defaultProps!=null)for(o in e.defaultProps)s[o]===void 0&&(s[o]=e.defaultProps[o]);return x(e,s,i,a,null)}function x(e,t,n,a,o){var s={type:e,props:t,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++i,__i:-1,__u:0};return o==null&&r.vnode!=null&&r.vnode(s),s}function S(e){return e.children}function C(e,t){this.props=e,this.context=t}function w(e,t){if(t==null)return e.__?w(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?w(e):null}function T(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,i=[],a=[],o=v({},t);o.__v=t.__v+1,r.vnode&&r.vnode(o),oe(e.__P,o,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,i,n??w(t),!!(32&t.__u),a),o.__v=t.__v,o.__.__k[o.__i]=o,ce(i,o,a),t.__e=t.__=null,o.__e!=n&&E(o)}}function E(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),E(e)}function D(e){(!e.__d&&(e.__d=!0)&&a.push(e)&&!O.__r++||o!=r.debounceRendering)&&((o=r.debounceRendering)||s)(O)}function O(){try{for(var e,t=1;a.length;)a.length>t&&a.sort(c),e=a.shift(),t=a.length,T(e)}finally{a.length=O.__r=0}}function ee(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,g,_,v,y,b=r&&r.__k||h,x=t.length;for(c=te(n,t,b,c,x),d=0;d<x;d++)(p=n.__k[d])!=null&&(f=p.__i!=-1&&b[p.__i]||m,p.__i=d,v=oe(e,p,f,i,a,o,s,c,l,u),g=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&de(f.ref,null,p),u.push(p.ref,p.__c||g,p)),_==null&&g!=null&&(_=g),(y=!!(4&p.__u))||f.__k===p.__k?c=ne(p,c,e,y):typeof p.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),p.__u&=-7);return n.__e=_,c}function te(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?o=e.__k[a]=x(null,o,null,null,null):_(o)?o=e.__k[a]=x(S,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,c=a+f,o.__=e,o.__b=e.__b+1,s=null,(l=o.__i=A(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=w(s)),fe(s,s));return r}function ne(e,t,n,r){var i,a;if(typeof e.type==`function`){for(i=e.__k,a=0;i&&a<i.length;a++)i[a]&&(i[a].__=e,t=ne(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=w(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function k(e,t){return t=t||[],e==null||typeof e==`boolean`||(_(e)?e.some(function(e){k(e,t)}):t.push(e)),t}function A(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>(u?1:0)){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function re(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||g.test(t)?n:n+`px`}function ie(e,t,n,r,i){var a,o;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||re(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||re(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(l,`$1`)),o=t.toLowerCase(),t=o in e||t==`onFocusOut`||t==`onFocusIn`?o.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r?n.u=r.u:(n.u=u,e.addEventListener(t,a?f:d,a)):e.removeEventListener(t,a?f:d,a);else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function ae(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=u++;else if(t.t<n.u)return;return n(r.event?r.event(t):t)}}}function oe(e,t,n,i,a,o,s,c,l,u){var d,f,p,m,g,b,x,w,T,E,D,O,te,ne,k,A=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(l=!!(32&n.__u),o=[c=t.__e=n.__e]),(d=r.__b)&&d(t);n:if(typeof A==`function`)try{if(w=t.props,T=A.prototype&&A.prototype.render,E=(d=A.contextType)&&i[d.__c],D=d?E?E.props.value:d.__:i,n.__c?x=(f=t.__c=n.__c).__=f.__E:(T?t.__c=f=new A(w,D):(t.__c=f=new C(w,D),f.constructor=A,f.render=pe),E&&E.sub(f),f.state||(f.state={}),f.__n=i,p=f.__d=!0,f.__h=[],f._sb=[]),T&&f.__s==null&&(f.__s=f.state),T&&A.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=v({},f.__s)),v(f.__s,A.getDerivedStateFromProps(w,f.__s))),m=f.props,g=f.state,f.__v=t,p)T&&A.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),T&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(T&&A.getDerivedStateFromProps==null&&w!==m&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(w,D),t.__v==n.__v||!f.__e&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(w,f.__s,D)){t.__v!=n.__v&&(f.props=w,f.state=f.__s,f.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),h.push.apply(f.__h,f._sb),f._sb=[],f.__h.length&&s.push(f);break n}f.componentWillUpdate!=null&&f.componentWillUpdate(w,f.__s,D),T&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(m,g,b)})}if(f.context=D,f.props=w,f.__P=e,f.__e=!1,O=r.__r,te=0,T)f.state=f.__s,f.__d=!1,O&&O(t),d=f.render(f.props,f.state,f.context),h.push.apply(f.__h,f._sb),f._sb=[];else do f.__d=!1,O&&O(t),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(f.__d&&++te<25);f.state=f.__s,f.getChildContext!=null&&(i=v(v({},i),f.getChildContext())),T&&!p&&f.getSnapshotBeforeUpdate!=null&&(b=f.getSnapshotBeforeUpdate(m,g)),ne=d!=null&&d.type===S&&d.key==null?le(d.props.children):d,c=ee(e,_(ne)?ne:[ne],t,n,i,a,o,s,c,l,u),f.base=t.__e,t.__u&=-161,f.__h.length&&s.push(f),x&&(f.__E=f.__=null)}catch(e){if(t.__v=null,l||o!=null)if(e.then){for(t.__u|=l?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;o[o.indexOf(c)]=null,t.__e=c}else{for(k=o.length;k--;)y(o[k]);se(t)}else t.__e=n.__e,t.__k=n.__k,e.then||se(t);r.__e(e,t,n)}else o==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):c=t.__e=ue(n.__e,t,n,i,a,o,s,l,u);return(d=r.diffed)&&d(t),128&t.__u?void 0:c}function se(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(se))}function ce(e,t,n){for(var i=0;i<n.length;i++)de(n[i],n[++i],n[++i]);r.__c&&r.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){r.__e(e,t.__v)}})}function le(e){return typeof e!=`object`||!e||e.__b>0?e:_(e)?e.map(le):v({},e)}function ue(e,t,i,a,o,s,c,l,u){var d,f,p,h,g,v,b,x=i.props||m,S=t.props,C=t.type;if(C==`svg`?o=`http://www.w3.org/2000/svg`:C==`math`?o=`http://www.w3.org/1998/Math/MathML`:o||(o=`http://www.w3.org/1999/xhtml`),s!=null){for(d=0;d<s.length;d++)if((g=s[d])&&`setAttribute`in g==!!C&&(C?g.localName==C:g.nodeType==3)){e=g,s[d]=null;break}}if(e==null){if(C==null)return document.createTextNode(S);e=document.createElementNS(o,C,S.is&&S),l&&(r.__m&&r.__m(t,s),l=!1),s=null}if(C==null)x===S||l&&e.data==S||(e.data=S);else{if(s=s&&n.call(e.childNodes),!l&&s!=null)for(x={},d=0;d<e.attributes.length;d++)x[(g=e.attributes[d]).name]=g.value;for(d in x)g=x[d],d==`dangerouslySetInnerHTML`?p=g:d==`children`||d in S||d==`value`&&`defaultValue`in S||d==`checked`&&`defaultChecked`in S||ie(e,d,null,g,o);for(d in S)g=S[d],d==`children`?h=g:d==`dangerouslySetInnerHTML`?f=g:d==`value`?v=g:d==`checked`?b=g:l&&typeof g!=`function`||x[d]===g||ie(e,d,g,x[d],o);if(f)l||p&&(f.__html==p.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),t.__k=[];else if(p&&(e.innerHTML=``),ee(t.type==`template`?e.content:e,_(h)?h:[h],t,i,a,C==`foreignObject`?`http://www.w3.org/1999/xhtml`:o,s,c,s?s[0]:i.__k&&w(i,0),l,u),s!=null)for(d=s.length;d--;)y(s[d]);l||(d=`value`,C==`progress`&&v==null?e.removeAttribute(`value`):v!=null&&(v!==e[d]||C==`progress`&&!v||C==`option`&&v!=x[d])&&ie(e,d,v,x[d],o),d=`checked`,b!=null&&b!=e[d]&&ie(e,d,b,x[d],o))}return e}function de(e,t,n){try{if(typeof e==`function`){var i=typeof e.__u==`function`;i&&e.__u(),i&&t==null||(e.__u=e(t))}else e.current=t}catch(e){r.__e(e,n)}}function fe(e,t,n){var i,a;if(r.unmount&&r.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||de(i,null,t)),(i=e.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){r.__e(e,t)}i.base=i.__P=null}if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&fe(i[a],t,n||typeof e.type!=`function`);n||y(e.__e),e.__c=e.__=e.__e=void 0}function pe(e,t,n){return this.constructor(e,n)}function me(e,t,i){var a,o,s,c;t==document&&(t=document.documentElement),r.__&&r.__(e,t),o=(a=typeof i==`function`)?null:i&&i.__k||t.__k,s=[],c=[],oe(t,e=(!a&&i||t).__k=b(S,null,[e]),o||m,m,t.namespaceURI,!a&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,s,!a&&i?i:o?o.__e:t.firstChild,a,c),ce(s,e,c)}function he(e){function t(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,D(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c=`__cC`+ p++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t}n=h.slice,r={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},i=0,C.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=v({},this.state);typeof e==`function`&&(e=e(v({},n),this.props)),e&&v(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),D(this))},C.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),D(this))},C.prototype.render=S,a=[],s=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,c=function(e,t){return e.__v.__b-t.__v.__b},O.__r=0,l=/(PointerCapture)$|Capture$/i,u=0,d=ae(!1),f=ae(!0),p=0;var ge,j,_e,ve,ye=0,be=[],M=r,xe=M.__b,Se=M.__r,Ce=M.diffed,we=M.__c,Te=M.unmount,Ee=M.__;function De(e,t){M.__h&&M.__h(j,e,ye||t),ye=0;var n=j.__H||(j.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function N(e){return ye=1,Oe(Le,e)}function Oe(e,t,n){var r=De(ge++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Le(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=j,!j.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return e.__c});if(i.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var o=r.__c.props!==e;return i.some(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}}),a&&a.call(this,e,t,n)||o};j.__f=!0;var a=j.shouldComponentUpdate,o=j.componentWillUpdate;j.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},j.shouldComponentUpdate=i}return r.__N||r.__}function ke(e,t){var n=De(ge++,3);!M.__s&&Ie(n.__H,t)&&(n.__=e,n.u=t,j.__H.__h.push(n))}function Ae(e,t){var n=De(ge++,4);!M.__s&&Ie(n.__H,t)&&(n.__=e,n.u=t,j.__h.push(n))}function P(e){return ye=5,F(function(){return{current:e}},[])}function F(e,t){var n=De(ge++,7);return Ie(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function I(e,t){return ye=8,F(function(){return e},t)}function L(e){var t=j.context[e.__c],n=De(ge++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(j)),t.props.value):e.__}function je(){for(var e;e=be.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Pe),t.__h.some(Fe),t.__h=[]}catch(n){t.__h=[],M.__e(n,e.__v)}}}M.__b=function(e){j=null,xe&&xe(e)},M.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Ee&&Ee(e,t)},M.__r=function(e){Se&&Se(e),ge=0;var t=(j=e.__c).__H;t&&(_e===j?(t.__h=[],j.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(Pe),t.__h.some(Fe),t.__h=[],ge=0)),_e=j},M.diffed=function(e){Ce&&Ce(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(be.push(t)!==1&&ve===M.requestAnimationFrame||((ve=M.requestAnimationFrame)||Ne)(je)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),_e=j=null},M.__c=function(e,t){t.some(function(e){try{e.__h.some(Pe),e.__h=e.__h.filter(function(e){return!e.__||Fe(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],M.__e(n,e.__v)}}),we&&we(e,t)},M.unmount=function(e){Te&&Te(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{Pe(e)}catch(e){t=e}}),n.__H=void 0,t&&M.__e(t,n.__v))};var Me=typeof requestAnimationFrame==`function`;function Ne(e){var t,n=function(){clearTimeout(r),Me&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Me&&(t=requestAnimationFrame(n))}function Pe(e){var t=j,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),j=t}function Fe(e){var t=j;e.__c=e.__(),j=t}function Ie(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function Le(e,t){return typeof t==`function`?t(e):t}function Re(e,t){for(var n in t)e[n]=t[n];return e}function ze(e,t){for(var n in e)if(n!==`__source`&&!(n in t))return!0;for(var r in t)if(r!==`__source`&&e[r]!==t[r])return!0;return!1}function Be(e,t){var n=t(),r=N({t:{__:n,u:t}}),i=r[0].t,a=r[1];return Ae(function(){i.__=n,i.u=t,Ve(i)&&a({t:i})},[e,n,t]),ke(function(){return Ve(i)&&a({t:i}),e(function(){Ve(i)&&a({t:i})})},[e]),n}function Ve(e){try{return!((t=e.__)===(n=e.u())&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}var t,n}function He(e,t){this.props=e,this.context=t}(He.prototype=new C).isPureReactComponent=!0,He.prototype.shouldComponentUpdate=function(e,t){return ze(this.props,e)||ze(this.state,t)};var Ue=r.__b;r.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ue&&Ue(e)},typeof Symbol<`u`&&Symbol.for;var We=r.__e;r.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e??(t.__e=n.__e,t.__k=n.__k),i.__c(e,t)}We(e,t,n,r)};var Ge=r.unmount;function Ke(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){typeof e.__c==`function`&&e.__c()}),e.__c.__H=null),(e=Re({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return Ke(e,t,n)})),e}function qe(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return qe(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function Je(){this.__u=0,this.o=null,this.__b=null}function Ye(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function Xe(){this.i=null,this.l=null}r.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Ge&&Ge(e)},(Je.prototype=new C).__c=function(e,t){var n=t.__c,r=this;r.o??(r.o=[]),r.o.push(n);var i=Ye(r.__v),a=!1,o=function(){a||r.__z||(a=!0,n.__R=null,i?i(c):c())};n.__R=o;var s=n.__P;n.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=qe(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=s,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},Je.prototype.componentWillUnmount=function(){this.o=[]},Je.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement(`div`),r=this.__v.__k[0].__c;this.__v.__k[0]=Ke(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&b(S,null,e.fallback);return i&&(i.__u&=-33),[b(S,null,t.__a?null:e.children),i]};var Ze=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!==`t`||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(Xe.prototype=new C).__a=function(e){var t=this,n=Ye(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),Ze(t,e,r)):i()};n?n(a):a()}},Xe.prototype.render=function(e){this.i=null,this.l=new Map;var t=k(e.children);e.revealOrder&&e.revealOrder[0]===`b`&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},Xe.prototype.componentDidUpdate=Xe.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){Ze(e,n,t)})};var Qe=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,$e=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,et=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,tt=/[A-Z0-9]/g,nt=typeof document<`u`,rt=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/:/fil|che|ra/).test(e)};C.prototype.isReactComponent=!0,[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(C.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var it=r.event;r.event=function(e){return it&&(e=it(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var at={configurable:!0,get:function(){return this.class}},ot=r.vnode;r.vnode=function(e){typeof e.type==`string`&&function(e){var t=e.props,n=e.type,r={},i=n.indexOf(`-`)==-1;for(var a in t){var o=t[a];if(!(a===`value`&&`defaultValue`in t&&o==null||nt&&a===`children`&&n===`noscript`||a===`class`||a===`className`)){var s=a.toLowerCase();a===`defaultValue`&&`value`in t&&t.value==null?a=`value`:a===`download`&&!0===o?o=``:s===`translate`&&o===`no`?o=!1:s[0]===`o`&&s[1]===`n`?s===`ondoubleclick`?a=`ondblclick`:s!==`onchange`||n!==`input`&&n!==`textarea`||rt(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:et.test(a)&&(a=s):s=a=`oninput`:i&&$e.test(a)?a=a.replace(tt,`-$&`).toLowerCase():o===null&&(o=void 0),s===`oninput`&&r[a=s]&&(a=`oninputCapture`),r[a]=o}}n==`select`&&(r.multiple&&Array.isArray(r.value)&&(r.value=k(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=k(t.children).forEach(function(e){e.props.selected=r.multiple?r.defaultValue.indexOf(e.props.value)!=-1:r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,`className`,at)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=Qe,ot&&ot(e)};var st=r.__r;r.__r=function(e){st&&st(e),e.__c};var ct=r.diffed;r.diffed=function(e){ct&&ct(e);var t=e.props,n=e.__e;n!=null&&e.type===`textarea`&&`value`in t&&t.value!==n.value&&(n.value=t.value==null?``:t.value)};var lt=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},ut=(e=>e?lt(e):lt),dt=e=>e;function ft(e){function t(t=dt){let n=I(()=>t(e.getState()),[t]);return Be(e.subscribe,n)}return Object.assign(t,e)}function pt(){return e=>ft(ut()(e))}var mt=Symbol.for(`immer-nothing`),ht=Symbol.for(`immer-draftable`),R=Symbol.for(`immer-state`);function z(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var gt=Object,_t=gt.getPrototypeOf,vt=`constructor`,yt=`prototype`,bt=`configurable`,xt=`enumerable`,St=`writable`,Ct=`value`,wt=e=>!!e&&!!e[R];function Tt(e){return e?Ot(e)||Ft(e)||!!e[ht]||!!e[vt]?.[ht]||It(e)||Lt(e):!1}var Et=gt[yt][vt].toString(),Dt=new WeakMap;function Ot(e){if(!e||!Rt(e))return!1;let t=_t(e);if(t===null||t===gt[yt])return!0;let n=gt.hasOwnProperty.call(t,vt)&&t[vt];if(n===Object)return!0;if(!zt(n))return!1;let r=Dt.get(n);return r===void 0&&(r=Function.toString.call(n),Dt.set(n,r)),r===Et}function kt(e,t,n=!0){At(e)===0?(n?Reflect.ownKeys(e):gt.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function At(e){let t=e[R];return t?t.type_:Ft(e)?1:It(e)?2:Lt(e)?3:0}var jt=(e,t,n=At(e))=>n===2?e.has(t):gt[yt].hasOwnProperty.call(e,t),Mt=(e,t,n=At(e))=>n===2?e.get(t):e[t],Nt=(e,t,n,r=At(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Pt(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Ft=Array.isArray,It=e=>e instanceof Map,Lt=e=>e instanceof Set,Rt=e=>typeof e==`object`,zt=e=>typeof e==`function`,Bt=e=>typeof e==`boolean`;function Vt(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ht=e=>Rt(e)?e?.[R]:null,Ut=e=>e.copy_||e.base_,Wt=e=>e.modified_?e.copy_:e.base_;function Gt(e,t){if(It(e))return new Map(e);if(Lt(e))return new Set(e);if(Ft(e))return Array[yt].slice.call(e);let n=Ot(e);if(t===!0||t===`class_only`&&!n){let t=gt.getOwnPropertyDescriptors(e);delete t[R];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[St]===!1&&(a[St]=!0,a[bt]=!0),(a.get||a.set)&&(t[i]={[bt]:!0,[St]:!0,[xt]:a[xt],[Ct]:e[i]})}return gt.create(_t(e),t)}else{let t=_t(e);if(t!==null&&n)return{...e};let r=gt.create(t);return gt.assign(r,e)}}function Kt(e,t=!1){return Yt(e)||wt(e)||!Tt(e)?e:(At(e)>1&&gt.defineProperties(e,{set:Jt,add:Jt,clear:Jt,delete:Jt}),gt.freeze(e),t&&kt(e,(e,t)=>{Kt(t,!0)},!1),e)}function qt(){z(2)}var Jt={[Ct]:qt};function Yt(e){return e===null||!Rt(e)?!0:gt.isFrozen(e)}var Xt=`MapSet`,Zt=`Patches`,Qt=`ArrayMethods`,$t={};function en(e){let t=$t[e];return t||z(0,e),t}var tn=e=>!!$t[e];function nn(e,t){$t[e]||($t[e]=t)}var rn,an=()=>rn,on=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:tn(Xt)?en(Xt):void 0,arrayMethodsPlugin_:tn(Qt)?en(Qt):void 0});function sn(e,t){t&&(e.patchPlugin_=en(Zt),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function cn(e){ln(e),e.drafts_.forEach(dn),e.drafts_=null}function ln(e){e===rn&&(rn=e.parent_)}var un=e=>rn=on(rn,e);function dn(e){let t=e[R];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function fn(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[R].modified_&&(cn(t),z(4)),Tt(e)&&(e=pn(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[R].base_,e,t)}else e=pn(t,n);return mn(t,e,!0),cn(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===mt?void 0:e}function pn(e,t){if(Yt(t))return t;let n=t[R];if(!n)return Sn(t,e.handledSet_,e);if(!gn(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);bn(n,e)}return n.copy_}function mn(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Kt(t,n)}function hn(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var gn=(e,t)=>e.scope_===t,_n=[];function vn(e,t,n,r){let i=Ut(e),a=e.type_;if(r!==void 0&&Mt(i,r,a)===t){Nt(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;kt(i,(e,n)=>{if(wt(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??_n;for(let e of o)Nt(i,e,n,a)}function yn(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!gn(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Wt(i);vn(e,i.draft_??i,a,n),bn(i,r)})}function bn(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}hn(e)}}function xn(e,t,n){let{scope_:r}=e;if(wt(n)){let i=n[R];gn(i,r)&&i.callbacks_.push(function(){An(e),vn(e,n,Wt(i),t)})}else Tt(n)&&e.callbacks_.push(function(){let i=Ut(e);e.type_===3?i.has(n)&&Sn(n,r.handledSet_,r):Mt(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Sn(Mt(e.copy_,t,e.type_),r.handledSet_,r)})}function Sn(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||wt(e)||t.has(e)||!Tt(e)||Yt(e)?e:(t.add(e),kt(e,(r,i)=>{if(wt(i)){let t=i[R];gn(t,n)&&(Nt(e,r,Wt(t),e.type_),hn(t))}else Tt(i)&&Sn(i,t,n)}),e)}function Cn(e,t){let n=Ft(e),r={type_:n?1:0,scope_:t?t.scope_:an(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=wn;n&&(i=[r],a=Tn);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var wn={get(e,t){if(t===R)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Ut(e);if(!jt(i,t,e.type_))return Dn(e,i,t);let a=i[t];if(e.finalized_||!Tt(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Vt(t))return a;if(a===En(e.base_,t)){An(e);let n=e.type_===1?+t:t,r=Mn(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Ut(e)},ownKeys(e){return Reflect.ownKeys(Ut(e))},set(e,t,n){let r=On(Ut(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=En(Ut(e),t),i=r?.[R];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Pt(n,r)&&(n!==void 0||jt(e.base_,t,e.type_)))return!0;An(e),kn(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),xn(e,t,n),!0)},deleteProperty(e,t){return An(e),En(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),kn(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Ut(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[St]:!0,[bt]:e.type_!==1||t!==`length`,[xt]:r[xt],[Ct]:n[t]}},defineProperty(){z(11)},getPrototypeOf(e){return _t(e.base_)},setPrototypeOf(){z(12)}},Tn={};for(let e in wn){let t=wn[e];Tn[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}Tn.deleteProperty=function(e,t){return Tn.set.call(this,e,t,void 0)},Tn.set=function(e,t,n){return wn.set.call(this,e[0],t,n,e[0])};function En(e,t){let n=e[R];return(n?Ut(n):e)[t]}function Dn(e,t,n){let r=On(t,n);return r?Ct in r?r[Ct]:r.get?.call(e.draft_):void 0}function On(e,t){if(!(t in e))return;let n=_t(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=_t(n)}}function kn(e){e.modified_||(e.modified_=!0,e.parent_&&kn(e.parent_))}function An(e){e.copy_||(e.assigned_=new Map,e.copy_=Gt(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var jn=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(zt(e)&&!zt(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}zt(t)||z(6),n!==void 0&&!zt(n)&&z(7);let r;if(Tt(e)){let i=un(this),a=Mn(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?cn(i):ln(i)}return sn(i,n),fn(r,i)}else if(!e||!Rt(e)){if(r=t(e),r===void 0&&(r=e),r===mt&&(r=void 0),this.autoFreeze_&&Kt(r,!0),n){let t=[],i=[];en(Zt).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else z(1,e)},this.produceWithPatches=(e,t)=>{if(zt(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Bt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Bt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Bt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Tt(e)||z(8),wt(e)&&(e=Nn(e));let t=un(this),n=Mn(t,e,void 0);return n[R].isManual_=!0,ln(t),n}finishDraft(e,t){let n=e&&e[R];(!n||!n.isManual_)&&z(9);let{scope_:r}=n;return sn(r,t),fn(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=en(Zt).applyPatches_;return wt(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Mn(e,t,n,r){let[i,a]=It(t)?en(Xt).proxyMap_(t,n):Lt(t)?en(Xt).proxySet_(t,n):Cn(t,n);return(n?.scope_??an()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?yn(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Nn(e){return wt(e)||z(10,e),Pn(e)}function Pn(e){if(!Tt(e)||Yt(e))return e;let t=e[R],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Gt(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Gt(e,!0);return kt(n,(e,t)=>{Nt(n,e,Pn(t))},r),t&&(t.finalized_=!1),n}function Fn(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Ht(Mt(e,n.key_)),i=Mt(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||jt(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=Mt(n,r),!Rt(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[R];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;kt(e.assigned_,(e,l)=>{let u=Mt(o,e,c),f=Mt(s,e,c),p=l?jt(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===mt?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=At(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===vt)&&z(19),zt(o)&&n===yt&&z(19),o=Mt(o,n),Rt(o)||z(18,i.join(`/`))}let s=At(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:z(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:z(17,a)}}),e}function u(e){if(!Tt(e))return e;if(Ft(e))return e.map(u);if(It(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(Lt(e))return new Set(Array.from(e).map(u));let t=Object.create(_t(e));for(let n in e)t[n]=u(e[n]);return jt(e,ht)&&(t[ht]=e[ht]),t}function d(e){return wt(e)?u(e):e}nn(Zt,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}var In=new jn,Ln=In.produce,Rn=In.produceWithPatches.bind(In),zn=In.applyPatches.bind(In),Bn=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t(typeof e==`function`?Ln(e):e,n,...r),e(r.setState,n,r));function Vn(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.version!==1||typeof t.ifid!=`string`||typeof t.save!=`object`||t.save===null)return!1;let n=t.save;if(typeof n.meta!=`object`||n.meta===null||typeof n.payload!=`object`||n.payload===null)return!1;let r=n.meta;return typeof r.id!=`string`||typeof r.passage!=`string`||typeof r.ifid!=`string`||typeof r.playthroughId!=`string`||typeof r.createdAt!=`string`||typeof r.updatedAt!=`string`||typeof r.title!=`string`?!1:Gn(n.payload)}function Hn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Un(e){return e==null?!0:Hn(e)&&typeof e.seed==`string`&&typeof e.pull==`number`&&Number.isInteger(e.pull)&&e.pull>=0}function Wn(e){return Hn(e)&&typeof e.passage==`string`&&Hn(e.variables)&&typeof e.timestamp==`number`&&Un(e.prng)}function Gn(e){if(!Hn(e)||typeof e.passage!=`string`||!Hn(e.variables))return!1;let{history:t,historyIndex:n}=e;return!Array.isArray(t)||t.length===0||!t.every(Wn)||typeof n!=`number`||!Number.isInteger(n)||n<0||n>=t.length||t[n].passage!==e.passage||e.visitCounts!==void 0&&!Hn(e.visitCounts)||e.renderCounts!==void 0&&!Hn(e.renderCounts)?!1:Un(e.prng)}function Kn(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.passage!=`string`||typeof t.variables!=`object`||t.variables===null||!Array.isArray(t.history)||t.history.length===0||typeof t.historyIndex!=`number`)}var qn=/[a-zA-Z]/,Jn=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),Yn=new Set([`do`]);function Xn(e){let t=e.indexOf(`|`);if(t!==-1)return{display:e.slice(0,t).trim(),target:e.slice(t+1).trim()};let n=e.indexOf(`->`);if(n!==-1)return{display:e.slice(0,n).trim(),target:e.slice(n+2).trim()};let r=e.indexOf(`<-`);if(r!==-1)return{target:e.slice(0,r).trim(),display:e.slice(r+2).trim()};let i=e.trim();return{display:i,target:i}}function Zn(e){let t=e.trim(),n=t.startsWith(`/`),r=n?t.slice(1):t,i=r.search(/\\s/);return i===-1?{name:r,rawArgs:``,isClose:n}:{name:r.slice(0,i),rawArgs:r.slice(i+1).trim(),isClose:n}}function Qn(e,t){let n=[],r=``,i=t;for(;i<e.length&&(e[i]===`.`||e[i]===`#`);){let t=e[i];i++;let a=``;for(;i<e.length;)if(/[a-zA-Z0-9_-]/.test(e[i]))a+=e[i],i++;else if(e[i]===`{`&&(e[i+1]===`$`||e[i+1]===`_`||e[i+1]===`@`)){let t=i;for(i+=2;i<e.length&&/[\\w.]/.test(e[i]);)i++;if(i<e.length&&e[i]===`}`)i++,a+=e.slice(t,i);else{i=t;break}}else break;a&&(t===`.`?n.push(a):r=a)}return{className:n.join(` `),id:r,endIdx:i}}function $n(e,t){let n={};for(;t<e.length;){for(;t<e.length&&/\\s/.test(e[t]);)t++;if(t>=e.length||e[t]===`>`||e[t]===`/`&&e[t+1]===`>`)break;let r=t;for(;t<e.length&&/[a-zA-Z0-9_\\-:@]/.test(e[t]);)t++;let i=e.slice(r,t);if(!i)break;if(e[t]===`=`)if(t++,e[t]===`\"`||e[t]===`'`){let r=e[t];t++;let a=t;for(;t<e.length;){if(e[t]===`{`){let n=rr(e,t+1);if(n!==-1){t=n+1;continue}}else if(e[t]===r)break;t++}n[i]=e.slice(a,t),t<e.length&&t++}else{let r=t;for(;t<e.length&&/[^\\s>]/.test(e[t]);)t++;n[i]=e.slice(r,t)}else n[i]=``}return{attributes:n,endIdx:t}}function er(e,t){let n=e[t],r=t+1;for(;r<e.length;){let t=e[r];if(t===`\\\\`)r+=2;else if(t===n)return r+1;else if(t===`\n`)return-1;else r++}return-1}function tr(e,t){let n=t+1;for(;n<e.length;){let t=e[n];if(t===`\\\\`)n+=2;else if(t===\"`\")return n+1;else if(t===`$`&&e[n+1]===`{`){let t=rr(e,n+2);if(t===-1)return-1;n=t+1}else n++}return-1}var nr=/[\\p{L}\\p{N}_\\\\]/u;function rr(e,t){let n=1;for(;t<e.length;){let r=e[t];if(r===`{`)n++;else if(r===`}`){if(--n===0)return t}else if((r===`\"`||r===`'`)&&!(t>0&&nr.test(e[t-1]))){let n=er(e,t);if(n!==-1){t=n;continue}}else if(r===\"`\"){let n=tr(e,t);if(n!==-1){t=n;continue}}t++}return-1}function ir(e){let t=[],n=0,r=0;function i(n){n>r&&t.push({type:`text`,value:e.slice(r,n),start:r,end:n})}function a(a,o){let s=a.toLowerCase();if(o||!Yn.has(s))return;let c=RegExp(`\\\\{/${s}\\\\s*\\\\}`,`gi`);c.lastIndex=n;let l=c.exec(e);if(!l)return;let u=l.index,d=u+l[0].length;i(u),t.push({type:`macro`,...Zn(e.slice(u+1,d-1)),start:u,end:d}),n=d,r=d}for(;n<e.length;){if(e[n]===`\\\\`&&(e[n+1]===`{`||e[n+1]===`}`)){i(n),t.push({type:`text`,value:e[n+1],start:n,end:n+2}),n+=2,r=n;continue}if(e[n]===`[`&&e[n+1]===`[`){i(n);let a=n;n+=2;let o,s;if(e[n]===`.`||e[n]===`#`){let t=Qn(e,n);o=t.className||void 0,s=t.id||void 0,n=t.endIdx,e[n]===` `&&n++}let c=1,l=n;for(;n<e.length&&c>0;)if(e[n]===`[`&&e[n+1]===`[`)c++,n+=2;else if(e[n]===`]`&&e[n+1]===`]`){if(c--,c===0)break;n+=2}else n++;if(c!==0){n=a+2,r=a;continue}let u=e.slice(l,n);n+=2;let{display:d,target:f}=Xn(u),p={type:`link`,display:d,target:f,start:a,end:n};o&&(p.className=o),s&&(p.id=s),t.push(p),r=n;continue}if(e[n]===`{`){let o=n,s=e[n+1],c,l;if(s===`.`||s===`#`){i(n);let s=Qn(e,n+1);c=s.className||void 0,l=s.id||void 0;let u=s.endIdx;e[u]===` `&&u++;let d=e[u];if(d===`$`){n=u+1;let i=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let a=e.slice(i,n);if(e[n]===`}`){n++;let e={type:`variable`,name:a,scope:`variable`,start:o,end:n};c&&(e.className=c),l&&(e.id=l),t.push(e),r=n;continue}let s=rr(e,i);if(s!==-1){let i=e.slice(u,s);n=s+1;let a={type:`expression`,expression:i,start:o,end:n};c&&(a.className=c),l&&(a.id=l),t.push(a),r=n;continue}n=o+1,r=o;continue}if(d===`_`){n=u+1;let i=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let a=e.slice(i,n);if(e[n]===`}`){n++;let e={type:`variable`,name:a,scope:`temporary`,start:o,end:n};c&&(e.className=c),l&&(e.id=l),t.push(e),r=n;continue}let s=rr(e,i);if(s!==-1){let i=e.slice(u,s);n=s+1;let a={type:`expression`,expression:i,start:o,end:n};c&&(a.className=c),l&&(a.id=l),t.push(a),r=n;continue}n=o+1,r=o;continue}if(d===`@`){n=u+1;let i=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let a=e.slice(i,n);if(e[n]===`}`){n++;let e={type:`variable`,name:a,scope:`local`,start:o,end:n};c&&(e.className=c),l&&(e.id=l),t.push(e),r=n;continue}let s=rr(e,i);if(s!==-1){let i=e.slice(u,s);n=s+1;let a={type:`expression`,expression:i,start:o,end:n};c&&(a.className=c),l&&(a.id=l),t.push(a),r=n;continue}n=o+1,r=o;continue}if(d===`%`){n=u+1;let i=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let a=e.slice(i,n);if(e[n]===`}`){n++;let e={type:`variable`,name:a,scope:`transient`,start:o,end:n};c&&(e.className=c),l&&(e.id=l),t.push(e),r=n;continue}let s=rr(e,i);if(s!==-1){let i=e.slice(u,s);n=s+1;let a={type:`expression`,expression:i,start:o,end:n};c&&(a.className=c),l&&(a.id=l),t.push(a),r=n;continue}n=o+1,r=o;continue}if(d!==void 0&&/[a-zA-Z]/.test(d)){let i=u,s=rr(e,i);if(s===-1){n=o+1,r=o;continue}let d=e.slice(i,s);n=s+1;let{name:f,rawArgs:p,isClose:m}=Zn(d),h={type:`macro`,name:f,rawArgs:p,isClose:m,start:o,end:n};c&&(h.className=c),l&&(h.id=l),t.push(h),r=n,a(f,m);continue}n=o+1,r=o;continue}if(s===`$`){i(n),n+=2;let a=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let s=e.slice(a,n);if(e[n]===`}`){n++,t.push({type:`variable`,name:s,scope:`variable`,start:o,end:n}),r=n;continue}let c=rr(e,a);if(c!==-1){let i=e.slice(o+1,c);n=c+1,t.push({type:`expression`,expression:i,start:o,end:n}),r=n;continue}n=o+1,r=o;continue}if(s===`_`){i(n),n+=2;let a=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let s=e.slice(a,n);if(e[n]===`}`){n++,t.push({type:`variable`,name:s,scope:`temporary`,start:o,end:n}),r=n;continue}let c=rr(e,a);if(c!==-1){let i=e.slice(o+1,c);n=c+1,t.push({type:`expression`,expression:i,start:o,end:n}),r=n;continue}n=o+1,r=o;continue}if(s===`@`){i(n),n+=2;let a=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let s=e.slice(a,n);if(e[n]===`}`){n++,t.push({type:`variable`,name:s,scope:`local`,start:o,end:n}),r=n;continue}let c=rr(e,a);if(c!==-1){let i=e.slice(o+1,c);n=c+1,t.push({type:`expression`,expression:i,start:o,end:n}),r=n;continue}n=o+1,r=o;continue}if(s===`%`){i(n),n+=2;let a=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let s=e.slice(a,n);if(e[n]===`}`){n++,t.push({type:`variable`,name:s,scope:`transient`,start:o,end:n}),r=n;continue}let c=rr(e,a);if(c!==-1){let i=e.slice(o+1,c);n=c+1,t.push({type:`expression`,expression:i,start:o,end:n}),r=n;continue}n=o+1,r=o;continue}if(s!==void 0&&(s===`/`||/[a-zA-Z]/.test(s))){i(n);let s=n+1,c=rr(e,s);if(c===-1){n=o+1,r=o;continue}let l=e.slice(s,c);n=c+1;let{name:u,rawArgs:d,isClose:f}=Zn(l);t.push({type:`macro`,name:u,rawArgs:d,isClose:f,start:o,end:n}),r=n,a(u,f);continue}n++;continue}if(e[n]===`<`){let a=n,o=n+1,s=e[o]===`/`;s&&o++;let c=o;for(;o<e.length&&/[a-zA-Z0-9-]/.test(e[o]);)o++;let l=e.slice(c,o),u=l.toLowerCase();if(l&&qn.test(l[0]))if(s){for(;o<e.length&&/\\s/.test(e[o]);)o++;if(e[o]===`>`){if(o++,i(a),Jn.has(u)){r=o,n=o;continue}t.push({type:`html`,tag:l,attributes:{},isClose:!0,isSelfClose:!1,start:a,end:o}),r=o,n=o;continue}}else{let s=$n(e,o);o=s.endIdx;let c=Jn.has(u);if(e[o]===`/`&&(c=!0,o++),e[o]===`>`){o++,i(a),t.push({type:`html`,tag:l,attributes:s.attributes,isClose:!1,isSelfClose:c,start:a,end:o}),r=o,n=o;continue}}n++;continue}n++}return i(e.length),t}var ar=new Set([`if`,`for`,`do`,`button`,`link`,`listbox`,`cycle`,`switch`,`timed`,`repeat`,`type`,`widget`,`span`,`nobr`]);function or(e){ar.add(e.toLowerCase())}var sr={elseif:`if`,else:`if`,case:`switch`,default:`switch`,next:`timed`},cr=new Set([`if`,`switch`,`timed`]);function lr(e){return`\"${e.replace(/[\\\\\"]/g,`\\\\$&`)}\"`}function ur(e){let t=[],n=[];function r(){if(n.length===0)return t;let e=n[n.length-1].node;return e.type===`macro`&&e.branches&&e.branches.length>0?e.branches[e.branches.length-1].children:e.children}for(let t of e)switch(t.type){case`text`:r().push({type:`text`,value:t.value});break;case`link`:{let e={type:`macro`,name:`link`,rawArgs:`${lr(t.display)} ${lr(t.target)}`,children:[]};t.className&&(e.className=t.className),t.id&&(e.id=t.id),r().push(e);break}case`variable`:{let e={type:`variable`,name:t.name,scope:t.scope};t.className&&(e.className=t.className),t.id&&(e.id=t.id),r().push(e);break}case`expression`:{let e={type:`expression`,expression:t.expression};t.className&&(e.className=t.className),t.id&&(e.id=t.id),r().push(e);break}case`html`:{if(t.isSelfClose){r().push({type:`html`,tag:t.tag,attributes:t.attributes,children:[]});break}if(t.isClose){if(n.length===0)throw Error(`Unexpected closing </${t.tag}> (at character ${t.start})`);let e=n[n.length-1];if(e.node.type!==`html`||e.node.tag.toLowerCase()!==t.tag.toLowerCase()){let n=e.node.type===`html`?`</${e.node.tag}>`:`{/${e.node.name}}`;throw Error(`Expected ${n} but found </${t.tag}> (at character ${t.start})`)}n.pop(),r().push(e.node);break}let e={type:`html`,tag:t.tag,attributes:t.attributes,children:[]};n.push({node:e,start:t.start});break}case`macro`:{let e=t.name.toLowerCase();if(t.isClose){if(n.length===0)throw Error(`Unexpected closing {/${t.name}} (at character ${t.start})`);let i=n[n.length-1];if(i.node.type!==`macro`||i.node.name!==e){let e=i.node.type===`macro`?`{/${i.node.name}}`:`</${i.node.tag}>`;throw Error(`Expected ${e} but found {/${t.name}} (at character ${t.start})`)}n.pop(),r().push(i.node);break}if(sr[e]){let r=sr[e],i=n.length>0?n[n.length-1].node:null;if(!i||i.type!==`macro`||i.name!==r)throw Error(`{${t.name}} without matching {${r}} (at character ${t.start})`);let a={rawArgs:t.rawArgs,children:[]};t.className&&(a.className=t.className),t.id&&(a.id=t.id),i.branches.push(a);break}if(ar.has(e)){let r={type:`macro`,name:e,rawArgs:t.rawArgs,children:[]};if(cr.has(e)){let e={rawArgs:t.rawArgs,children:[]};t.className&&(e.className=t.className),t.id&&(e.id=t.id),r.branches=[e]}else t.className&&(r.className=t.className),t.id&&(r.id=t.id);n.push({node:r,start:t.start});break}{let n={type:`macro`,name:e,rawArgs:t.rawArgs,children:[]};t.className&&(n.className=t.className),t.id&&(n.id=t.id),r().push(n)}break}default:throw Error(`Unknown token type: ${t.type}`)}if(n.length>0){let e=n[n.length-1],t=e.node.type===`html`?`<${e.node.tag}>`:`{${e.node.name}} macro`;throw Error(`Unclosed ${t} (opened at character ${e.start})`)}return t}function dr(){let e=Z(e=>e.variables),t=Z(e=>e.temporary),n=Z(e=>e.transient),r=L(Os);return F(()=>[e,t,r,n],[e,t,r,n])}function fr(e){let t=e|0;return()=>{t=t+1831565813|0;let e=Math.imul(t^t>>>15,t|1);return e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function pr(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t}var mr=!1,hr=``,gr=0,_r=null;function vr(e,t=!0){let n;n=e===void 0?String(Date.now())+String(Math.random()):t?e+`|`+Date.now()+`|`+Math.random():e,hr=n,gr=0,_r=fr(pr(n)),mr=!0}function yr(e,t){hr=e,gr=0,_r=fr(pr(e)),mr=!0;for(let e=0;e<t;e++)_r();gr=t}function br(){mr=!1,hr=``,gr=0,_r=null}function xr(){return mr?{seed:hr,pull:gr}:null}function Sr(){return!mr||!_r?Math.random():(gr++,_r())}function Cr(e,t){return e>t&&([e,t]=[t,e]),Math.floor(Sr()*(t-e+1))+e}function wr(){return mr}function Tr(){return hr}function Er(){return gr}var Dr=500,Or=new Map,kr=/\\$(\\w+)/g,Ar=/(?<![.\\w])_(\\w+)/g,jr=/@(\\w+)/g,Mr=/[A-Za-z_]\\w*/y,Nr=/[\\w$@]/,Pr=/\\s/,Fr=new Set([`await`,`case`,`delete`,`do`,`else`,`in`,`instanceof`,`new`,`of`,`return`,`throw`,`typeof`,`void`,`yield`]),Ir=new Set([`for`,`if`,`while`,`with`]);function Lr(e){return e.replace(kr,`variables[\"$1\"]`).replace(Ar,`temporary[\"$1\"]`).replace(jr,`locals[\"$1\"]`)}function Rr(e){let t=``,n=``,r=0,i=!0,a=``,o=!1,s=!1,c=``,l=[];function u(){n&&(t+=Lr(n),n=``)}function d(){a&&(i=!o&&Fr.has(a),s=!o&&Ir.has(a),o=!1,c=``,a=``)}function f(){d(),i=!1,s=!1,o=!1,c=``}function p(e){if(Nr.test(e)){a+=e;return}d(),e===`\n`&&(i=!0),!Pr.test(e)&&(e===`(`&&l.push(s),i=e===`)`?l.pop()??!1:e===`.`?c===`.`:e!==`]`,o=e===`.`,s=!1,c=e)}for(;r<e.length;){let a=e.charAt(r);if(a===`\"`||a===`'`){u();let n=a,i=n;for(r++;r<e.length;){let t=e.charAt(r);if(t===`\\\\`&&r+1<e.length)i+=t+e.charAt(r+1),r+=2;else if(t===n){i+=n,r++;break}else i+=t,r++}t+=i,f();continue}if(a===\"`\"){for(u(),t+=\"`\",r++;r<e.length;){let n=e.charAt(r);if(n===`\\\\`&&r+1<e.length)t+=n+e.charAt(r+1),r+=2;else if(n===`$`&&e.charAt(r+1)===`{`){t+=\"${\",r+=2;let n=1,i=``;for(;r<e.length&&n>0;){let t=e.charAt(r);if(t===`{`)n++,i+=t;else if(t===`}`){if(n--,n===0)break;i+=t}else if(t===`\\\\`&&r+1<e.length)i+=t+e.charAt(r+1),r++;else if(t===`\"`||t===`'`){for(i+=t,r++;r<e.length;){let n=e.charAt(r);if(n===`\\\\`&&r+1<e.length)i+=n+e.charAt(r+1),r+=2;else if(n===t){i+=n,r++;break}else i+=n,r++}continue}else if(t===\"`\"){for(i+=t,r++;r<e.length;){let t=e.charAt(r);if(t===`\\\\`&&r+1<e.length)i+=t+e.charAt(r+1),r+=2;else if(t===`$`&&e.charAt(r+1)===`{`){i+=\"${\",r+=2;let t=1;for(;r<e.length&&t>0;){let n=e.charAt(r);n===`{`?t++:n===`}`&&t--,t>0&&(i+=n),r++}i+=`}`}else if(t===\"`\"){i+=t,r++;break}else i+=t,r++}continue}else i+=t;r++}t+=Rr(i),r<e.length&&e.charAt(r)===`}`&&(t+=`}`,r++)}else if(n===\"`\"){t+=\"`\",r++;break}else t+=n,r++}f();continue}if(a===`%`){d(),Mr.lastIndex=r+1;let n=i?Mr.exec(e)?.[0]:void 0;if(n){u(),t+=`transient[\"${n}\"]`,r+=1+n.length,f();continue}}p(a),n+=a,r++}return u(),t}var zr=`const {currentPassage,previousPassage,visited,hasVisited,hasVisitedAny,hasVisitedAll,rendered,hasRendered,hasRenderedAny,hasRenderedAll,random,randomInt}=__fns;`;function Br(e,t){let n=Or.get(e);if(n)return Or.delete(e),Or.set(e,n),n;let r=Function(`variables`,`temporary`,`locals`,`__fns`,`transient`,zr+t);if(Or.set(e,r),Or.size>Dr){let e=Or.keys().next().value;e!==void 0&&Or.delete(e)}return r}var Vr=null,Hr=null,Ur=null;function Wr(){let{visitCounts:e,renderCounts:t}=Z.getState();if(Vr&&Hr===e&&Ur===t)return Vr;let n=t=>e[t??Z.getState().currentPassage]??0,r=e=>n(e)>0,i=(...e)=>e.some(e=>n(e)>0),a=(...e)=>e.every(e=>n(e)>0),o=e=>t[e??Z.getState().currentPassage]??0;return Vr={currentPassage:()=>{let e=Z.getState();return e.storyData?.passages.get(e.currentPassage)},previousPassage:()=>{let e=Z.getState();if(e.historyIndex<=0)return;let t=e.history[e.historyIndex-1]?.passage;return t?e.storyData?.passages.get(t):void 0},visited:n,hasVisited:r,hasVisitedAny:i,hasVisitedAll:a,rendered:o,hasRendered:e=>o(e)>0,hasRenderedAny:(...e)=>e.some(e=>o(e)>0),hasRenderedAll:(...e)=>e.every(e=>o(e)>0),random:Sr,randomInt:Cr},Hr=e,Ur=t,Vr}function Gr(e,t,n,r={},i={}){let a=`return (${Rr(e)});`;return Br(a,a)(t,n,r,Wr(),i)}function Kr(e,t,n,r={},i={}){let a=Rr(e);Br(`exec:`+a,a)(t,n,r,Wr(),i)}var qr=/\\{[\\$_@%]\\w/;function Jr(e){return qr.test(e)}function Yr(e,t){let n=e;for(let e=1;e<t.length;e++){if(n==null)return;n=n[t[e]]}return n}function Xr(e,t,n,r,i={}){let a=Gr(e,t,n,r,i);return a==null?``:String(a)}function Zr(e,t,n,r,i){let a=e[0],o=e.slice(1).split(`.`),s=o[0],c;return c=a===`$`?t[s]:a===`_`?n[s]:a===`%`?i[s]:r[s],o.length>1&&(c=Yr(c,o)),c==null?``:String(c)}function Qr(e,t,n,r,i={}){let a=``,o=0;for(;o<e.length;){if(e[o]!==`{`){let t=e.indexOf(`{`,o);if(t===-1){a+=e.slice(o);break}a+=e.slice(o,t),o=t;continue}o++;let s=e[o];if(s!==`$`&&s!==`_`&&s!==`@`&&s!==`%`){a+=`{`;continue}let c=rr(e,o);if(c===-1){a+=`{`;continue}let l=e.slice(o,c);o=c+1,/^[\\$_@%][\\w.]+$/.test(l)?a+=Zr(l,t,n,r,i):a+=Xr(l,t,n,r,i)}return a}function $r(){let[e,t,n,r]=dr();return I(i=>i===void 0||!Jr(i)?i:Qr(i,e,t,n,r),[e,t,n,r])}var ei=0;Array.isArray;function B(e,t,n,i,a,o){t||(t={});var s,c,l=t;if(`ref`in l)for(c in l={},t)c==`ref`?s=t[c]:l[c]=t[c];var u={type:e,props:l,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--ei,__i:-1,__u:0,__source:a,__self:o};if(typeof e==`function`&&(s=e.defaultProps))for(c in s)l[c]===void 0&&(l[c]=s[c]);return r.vnode&&r.vnode(u),u}function ti({name:e,scope:t,className:n,id:r}){let i=$r();n=i(n),r=i(r);let a=L(Os),o=e.split(`.`),s=o[0],c=Z(e=>t===`variable`?e.variables[s]:t===`temporary`?e.temporary[s]:t===`transient`?e.transient[s]:void 0),l;l=t===`local`?s in a?a[s]:void 0:c;for(let e=1;e<o.length;e++){if(l==null){l=void 0;break}let t=o[e];l=l[t]}let u=l==null?``:String(l);return n||r?B(`span`,{id:r,class:n,children:u}):B(S,{children:u})}function ni({expression:e,className:t,id:n}){let r=$r();t=r(t),n=r(n);let i=L(Os),a=Z(e=>e.variables),o=Z(e=>e.temporary),s=Z(e=>e.transient),c;try{let t=Gr(e,a,o,i,s);c=t==null?``:String(t)}catch{c=`{error: ${e}}`}return t||n?B(`span`,{id:n,class:t,children:c}):B(S,{children:c})}function ri(e){let t=e[0];return!!(t===`\"`||t===`'`||t===\"`\"||t===`$`||t===`_`||t===`@`||t===`%`||/\\d/.test(t)||(t===`-`||t===`+`)&&e.length>1&&/\\d/.test(e[1])||t===`(`||t===`[`||t===`{`||/^(true|false|null|undefined)$/.test(e)||t===`!`&&e.length>1)}function ii(e){let t=[],n=``,r=0,i=null;for(let a=0;a<e.length;a++){let o=e[a];if(i){n+=o,o===i&&e[a-1]!==`\\\\`&&(i=null);continue}if(o===`\"`||o===`'`||o===\"`\"){i=o,n+=o;continue}if(o===`(`||o===`[`||o===`{`){r++,n+=o;continue}if(o===`)`||o===`]`||o===`}`){r--,n+=o;continue}if(/\\s/.test(o)&&r===0){n&&(t.push(n),n=``);continue}n+=o}if(n&&t.push(n),t.length<2)return null;for(let e of t)if(!ri(e))return null;return t}function ai(e){let t=[],n=``,r=0,i=null,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if(i){n+=s,s===i&&e[o-1]!==`\\\\`&&(i=null);continue}if(s===`\"`||s===`'`||s===\"`\"){i=s,n+=s;continue}if(s===`(`||s===`[`||s===`{`){r++,n+=s;continue}if(s===`)`||s===`]`||s===`}`){r--,n+=s;continue}if(s===`,`&&r===0){a=!0,t.push(n.trim()),n=``;continue}n+=s}let o=n.trim();if(o&&t.push(o),!a&&t.length===1){let e=ii(t[0]);if(e)return e}return t}function oi({body:e,parentValues:t,ownKeys:n}){let r=L(K),[i,a]=N({}),o=F(()=>({...t,...n,...i}),[t,n,i]),s=P(o);s.current=o;let c=I(()=>s.current,[]),l=I((e,t)=>{s.current={...s.current,[e]:t},a(n=>({...n,[e]:t}))},[]),u=F(()=>({update:l,getValues:c}),[l,c]);return B(ks.Provider,{value:u,children:B(Os.Provider,{value:o,children:$s(e,{nobr:r,locals:o})})})}function si({body:e,params:t,rawArgs:n,invocationChildren:r}){let i=L(Os),a=L(K),[o,s,c,l]=dr(),u=r?.length?r:null;if(t.length===0)return B(js.Provider,{value:u,children:$s(e,{nobr:a,locals:i})});let d=n?ai(n):[],f=[];for(let e=0;e<t.length;e++){let t=d[e],n;if(t!==void 0)try{n=Gr(t,o,s,c,l)}catch{n=void 0}f.push(n)}let p=F(()=>{let e={};for(let n=0;n<t.length;n++)e[t[n].startsWith(`@`)?t[n].slice(1):t[n]]=f[n];return e},f);return B(js.Provider,{value:u,children:B(oi,{body:e,parentValues:i,ownKeys:p})})}var ci=new Map;function li(e,t,n,r=!1){let i=n.filter(e=>e!==`@children`);ci.set(e.toLowerCase(),{body:t,params:i,isBlock:r})}function ui(e){return ci.get(e.toLowerCase())}var di=new Map;function fi(e,t){di.set(e.toLowerCase(),t)}function pi(e){return di.get(e.toLowerCase())}var mi=new Set;function hi(e){mi.add(e.toLowerCase())}function gi(e){return mi.has(e.toLowerCase())}var _i=new Map;function vi(e,t){_i.set(e.toLowerCase(),t)}function yi(){return Array.from(_i.values())}var bi=document.createElement(`i`);function xi(e){let t=`&`+e+`;`;bi.innerHTML=t;let n=bi.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`||n===t?!1:n}function Si(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function V(e,t){return e.length>0?(Si(e,e.length,0,t),e):t}var Ci={}.hasOwnProperty;function wi(e){let t={},n=-1;for(;++n<e.length;)Ti(t,e[n]);return t}function Ti(e,t){let n;for(n in t){let r=(Ci.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){Ci.call(r,a)||(r[a]=[]);let e=i[a];Ei(r[a],Array.isArray(e)?e:e?[e]:[])}}}function Ei(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);Si(e,0,0,r)}function Di(e){let t={},n=-1;for(;++n<e.length;)Oi(t,e[n]);return t}function Oi(e,t){let n;for(n in t){let r=(Ci.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i)r[a]=i[a]}}function ki(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}var Ai={'\"':`quot`,\"&\":`amp`,\"<\":`lt`,\">\":`gt`};function ji(e){return e.replace(/[\"&<>]/g,t);function t(e){return`&`+Ai[e]+`;`}}function Mi(e){return e.replace(/[\\t\\n\\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var Ni=Hi(/[A-Za-z]/),Pi=Hi(/[\\dA-Za-z]/),Fi=Hi(/[#-'*+\\--9=?A-Z^-~]/);function Ii(e){return e!==null&&(e<32||e===127)}var Li=Hi(/\\d/),Ri=Hi(/[\\dA-Fa-f]/),zi=Hi(/[!-/:-@[-`{-~]/);function H(e){return e!==null&&e<-2}function U(e){return e!==null&&(e<0||e===32)}function W(e){return e===-2||e===-1||e===32}var Bi=Hi(/\\p{P}|\\p{S}/u),Vi=Hi(/\\s/);function Hi(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Ui(e,t){let n=ji(Wi(e||``));if(!t)return n;let r=n.indexOf(`:`),i=n.indexOf(`?`),a=n.indexOf(`#`),o=n.indexOf(`/`);return r<0||o>-1&&r>o||i>-1&&r>i||a>-1&&r>a||t.test(n.slice(0,r))?n:``}function Wi(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&Pi(e.charCodeAt(n+1))&&Pi(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=``),i&&(n+=i,i=0)}return t.join(``)+e.slice(r)}var Gi={}.hasOwnProperty,Ki=/^(https?|ircs?|mailto|xmpp)$/i,qi=/^https?$/i;function Ji(e){let t=e||{},n=!0,r={},i=[[]],a=[],o=[],s=Di([{enter:{blockQuote:te,codeFenced:re,codeFencedFenceInfo:h,codeFencedFenceMeta:h,codeIndented:oe,codeText:Ne,content:Se,definition:_e,definitionDestinationString:ye,definitionLabelString:h,definitionTitleString:h,emphasis:je,htmlFlow:F,htmlText:L,image:ce,label:h,link:le,listItemMarker:E,listItemValue:T,listOrdered:C,listUnordered:w,paragraph:k,reference:h,resource:pe,resourceDestinationString:me,resourceTitleString:h,setextHeading:we,strong:Me},exit:{atxHeading:Ee,atxHeadingSequence:Ce,autolinkEmail:Ve,autolinkProtocol:Be,blockQuote:ne,characterEscapeValue:Oe,characterReferenceMarkerHexadecimal:Re,characterReferenceMarkerNumeric:Re,characterReferenceValue:ze,codeFenced:se,codeFencedFence:ae,codeFencedFenceInfo:ie,codeFencedFenceMeta:S,codeFlowValue:Ae,codeIndented:se,codeText:Pe,codeTextData:Oe,data:Oe,definition:xe,definitionDestinationString:be,definitionLabelString:ve,definitionTitleString:M,emphasis:Fe,hardBreakEscape:P,hardBreakTrailing:P,htmlFlow:I,htmlFlowData:Oe,htmlText:I,htmlTextData:Oe,image:j,label:de,labelText:ue,lineEnding:ke,link:j,listOrdered:D,listUnordered:O,paragraph:A,reference:S,referenceString:fe,resource:S,resourceDestinationString:he,resourceTitleString:ge,setextHeading:N,setextHeadingLineSequence:De,setextHeadingText:Te,strong:Ie,thematicBreak:Le}},...t.htmlExtensions||[]]),c={definitions:r,tightStack:o},l={buffer:h,encode:x,getData:m,lineEndingIfNeeded:b,options:t,raw:v,resume:g,setData:p,tag:_},u=t.defaultLineEnding;return d;function d(e){let t=-1,n=0,r=[],a=[],o=[];for(;++t<e.length;)!u&&(e[t][1].type===`lineEnding`||e[t][1].type===`lineEndingBlank`)&&(u=e[t][2].sliceSerialize(e[t][1])),(e[t][1].type===`listOrdered`||e[t][1].type===`listUnordered`)&&(e[t][0]===`enter`?r.push(t):f(e.slice(r.pop(),t))),e[t][1].type===`definition`&&(e[t][0]===`enter`?(o=V(o,e.slice(n,t)),n=t):(a=V(a,e.slice(n,t+1)),n=t+1));a=V(a,o),a=V(a,e.slice(n)),t=-1;let c=a;for(s.enter.null&&s.enter.null.call(l);++t<e.length;){let e=s[c[t][0]],n=c[t][1].type,r=e[n];Gi.call(e,n)&&r&&r.call({sliceSerialize:c[t][2].sliceSerialize,...l},c[t][1])}return s.exit.null&&s.exit.null.call(l),i[0].join(``)}function f(e){let t=e.length,n=0,r=0,i=!1,a;for(;++n<t;){let t=e[n];if(t[1]._container)a=void 0,t[0]===`enter`?r++:r--;else switch(t[1].type){case`listItemPrefix`:t[0]===`exit`&&(a=!0);break;case`linePrefix`:break;case`lineEndingBlank`:t[0]===`enter`&&!r&&(a?a=void 0:i=!0);break;default:a=void 0}}e[0][1]._loose=i}function p(e,t){c[e]=t}function m(e){return c[e]}function h(){i.push([])}function g(){return i.pop().join(``)}function _(e){n&&(p(`lastWasTag`,!0),i[i.length-1].push(e))}function v(e){p(`lastWasTag`),i[i.length-1].push(e)}function y(){v(u||`\n`)}function b(){let e=i[i.length-1],t=e[e.length-1],n=t?t.charCodeAt(t.length-1):null;n===10||n===13||n===null||y()}function x(e){return m(`ignoreEncode`)?e:ji(e)}function S(){g()}function C(e){o.push(!e._loose),b(),_(`<ol`),p(`expectFirstItem`,!0)}function w(e){o.push(!e._loose),b(),_(`<ul`),p(`expectFirstItem`,!0)}function T(e){if(m(`expectFirstItem`)){let t=Number.parseInt(this.sliceSerialize(e),10);t!==1&&_(` start=\"`+x(String(t))+`\"`)}}function E(){m(`expectFirstItem`)?_(`>`):ee(),b(),_(`<li>`),p(`expectFirstItem`),p(`lastWasTag`)}function D(){ee(),o.pop(),y(),_(`</ol>`)}function O(){ee(),o.pop(),y(),_(`</ul>`)}function ee(){m(`lastWasTag`)&&!m(`slurpAllLineEndings`)&&b(),_(`</li>`),p(`slurpAllLineEndings`)}function te(){o.push(!1),b(),_(`<blockquote>`)}function ne(){o.pop(),b(),_(`</blockquote>`),p(`slurpAllLineEndings`)}function k(){o[o.length-1]||(b(),_(`<p>`)),p(`slurpAllLineEndings`)}function A(){o[o.length-1]?p(`slurpAllLineEndings`,!0):_(`</p>`)}function re(){b(),_(`<pre><code`),p(`fencesCount`,0)}function ie(){_(` class=\"language-`+g()+`\"`)}function ae(){let e=m(`fencesCount`)||0;e||(_(`>`),p(`slurpOneLineEnding`,!0)),p(`fencesCount`,e+1)}function oe(){b(),_(`<pre><code>`)}function se(){let e=m(`fencesCount`);e!==void 0&&e<2&&c.tightStack.length>0&&!m(`lastWasTag`)&&y(),m(`flowCodeSeenData`)&&b(),_(`</code></pre>`),e!==void 0&&e<2&&b(),p(`flowCodeSeenData`),p(`fencesCount`),p(`slurpOneLineEnding`)}function ce(){a.push({image:!0}),n=void 0}function le(){a.push({})}function ue(e){a[a.length-1].labelId=this.sliceSerialize(e)}function de(){a[a.length-1].label=g()}function fe(e){a[a.length-1].referenceId=this.sliceSerialize(e)}function pe(){h(),a[a.length-1].destination=``}function me(){h(),p(`ignoreEncode`,!0)}function he(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function ge(){a[a.length-1].title=g()}function j(){let e=a.length-1,i=a[e],o=i.referenceId||i.labelId,s=i.destination===void 0?r[Mi(o)]:i;for(n=!0;e--;)if(a[e].image){n=void 0;break}i.image?(_(`<img src=\"`+Ui(s.destination,t.allowDangerousProtocol?void 0:qi)+`\" alt=\"`),v(i.label),_(`\"`)):_(`<a href=\"`+Ui(s.destination,t.allowDangerousProtocol?void 0:Ki)+`\"`),_(s.title?` title=\"`+s.title+`\"`:``),i.image?_(` />`):(_(`>`),v(i.label),_(`</a>`)),a.pop()}function _e(){h(),a.push({})}function ve(e){g(),a[a.length-1].labelId=this.sliceSerialize(e)}function ye(){h(),p(`ignoreEncode`,!0)}function be(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function M(){a[a.length-1].title=g()}function xe(){let e=a[a.length-1],t=Mi(e.labelId);g(),Gi.call(r,t)||(r[t]=a[a.length-1]),a.pop()}function Se(){p(`slurpAllLineEndings`,!0)}function Ce(e){m(`headingRank`)||(p(`headingRank`,this.sliceSerialize(e).length),b(),_(`<h`+m(`headingRank`)+`>`))}function we(){h(),p(`slurpAllLineEndings`)}function Te(){p(`slurpAllLineEndings`,!0)}function Ee(){_(`</h`+m(`headingRank`)+`>`),p(`headingRank`)}function De(e){p(`headingRank`,this.sliceSerialize(e).charCodeAt(0)===61?1:2)}function N(){let e=g();b(),_(`<h`+m(`headingRank`)+`>`),v(e),_(`</h`+m(`headingRank`)+`>`),p(`slurpAllLineEndings`),p(`headingRank`)}function Oe(e){v(x(this.sliceSerialize(e)))}function ke(e){if(!m(`slurpAllLineEndings`)){if(m(`slurpOneLineEnding`)){p(`slurpOneLineEnding`);return}if(m(`inCodeText`)){v(` `);return}v(x(this.sliceSerialize(e)))}}function Ae(e){v(x(this.sliceSerialize(e))),p(`flowCodeSeenData`,!0)}function P(){_(`<br />`)}function F(){b(),L()}function I(){p(`ignoreEncode`)}function L(){t.allowDangerousHtml&&p(`ignoreEncode`,!0)}function je(){_(`<em>`)}function Me(){_(`<strong>`)}function Ne(){p(`inCodeText`,!0),_(`<code>`)}function Pe(){p(`inCodeText`),_(`</code>`)}function Fe(){_(`</em>`)}function Ie(){_(`</strong>`)}function Le(){b(),_(`<hr />`)}function Re(e){p(`characterReferenceType`,e.type)}function ze(e){let t=this.sliceSerialize(e);v(x(m(`characterReferenceType`)?ki(t,m(`characterReferenceType`)===`characterReferenceMarkerNumeric`?10:16):xi(t))),p(`characterReferenceType`)}function Be(e){let n=this.sliceSerialize(e);_(`<a href=\"`+Ui(n,t.allowDangerousProtocol?void 0:Ki)+`\">`),v(x(n)),_(`</a>`)}function Ve(e){let t=this.sliceSerialize(e);_(`<a href=\"`+Ui(`mailto:`+t)+`\">`),v(x(t)),_(`</a>`)}}function G(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return W(r)?(e.enter(n),s(r)):t(r)}function s(r){return W(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}var Yi={tokenize:Xi};function Xi(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null){e.consume(n);return}return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),G(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null){e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);return}return H(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var Zi={tokenize:$i},Qi={tokenize:ea};function $i(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return Si(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Qi,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(Qi,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null){i&&v(),_(0),e.consume(n);return}return i=i||t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null){g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);return}return H(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;Si(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-- >r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function ea(e,t,n){return G(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function ta(e){if(e===null||U(e)||Vi(e))return 1;if(Bi(e))return 2}function na(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}var ra={name:`attention`,resolveAll:ia,tokenize:aa};function ia(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};oa(d,-c),oa(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=V(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=V(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=V(l,na(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=V(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=V(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,Si(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function aa(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=ta(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=ta(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function oa(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var sa={name:`autolink`,tokenize:ca};function ca(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return Ni(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||Pi(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||Pi(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||Ii(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):Fi(t)?(e.consume(t),l):n(t)}function u(e){return Pi(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||Pi(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var la={partial:!0,tokenize:ua};function ua(e,t,n){return r;function r(t){return W(t)?G(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||H(e)?t(e):n(e)}}var da={continuation:{tokenize:pa},exit:ma,name:`blockQuote`,tokenize:fa};function fa(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||(e.enter(`blockQuote`,{_container:!0}),n.open=!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return W(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function pa(e,t,n){let r=this;return i;function i(t){return W(t)?G(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(da,t,n)(r)}}function ma(e){e.exit(`blockQuote`)}var ha={name:`characterEscape`,tokenize:ga};function ga(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return zi(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var _a={name:`characterReference`,tokenize:va};function va(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=Pi,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=Ri,u):(e.enter(`characterReferenceValue`),a=7,o=Li,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===Pi&&!xi(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}var ya={partial:!0,tokenize:Sa},ba={concrete:!0,name:`codeFenced`,tokenize:xa};function xa(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),W(t)?G(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||H(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(ya,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||H(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):W(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),G(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||H(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||H(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&W(t)?G(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||H(t)?e.check(ya,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||H(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),W(t)?G(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),W(t)?G(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||H(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function Sa(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var Ca={name:`codeIndented`,tokenize:Ta},wa={partial:!0,tokenize:Ea};function Ta(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),G(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):H(t)?e.attempt(wa,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||H(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function Ea(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):G(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):H(e)?i(e):n(e)}}var Da={name:`codeText`,previous:ka,resolve:Oa,tokenize:Aa};function Oa(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function ka(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function Aa(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||H(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var ja=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError(\"Cannot access index `\"+e+\"` in a splice buffer of size `\"+(this.left.length+this.right.length)+\"`\");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&Ma(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),Ma(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Ma(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e<this.left.length){let t=this.left.splice(e,1/0);Ma(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);Ma(this.left,t.reverse())}}};function Ma(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Na(e){let t={},n=-1,r,i,a,o,s,c,l,u=new ja(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,Pa(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(!(o[1].type===`linePrefix`||o[1].type===`listItemIndent`))break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return Si(e,0,1/0,u.slice(0)),!l}function Pa(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}var Fa={resolve:La,tokenize:Ra},Ia={partial:!0,tokenize:za};function La(e){return Na(e),e}function Ra(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):H(t)?e.check(Ia,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function za(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),G(e,a,`linePrefix`)}function a(i){if(i===null||H(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function Ba(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||Ii(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||H(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||U(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||Ii(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function Va(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):H(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||H(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||(c=!W(t)),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function Ha(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),G(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||H(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function Ua(e,t){let n;return r;function r(i){return H(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):W(i)?G(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var Wa={name:`definition`,tokenize:Ka},Ga={partial:!0,tokenize:qa};function Ka(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return Va.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Mi(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return U(t)?Ua(e,l)(t):l(t)}function l(t){return Ba(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(Ga,d,d)(t)}function d(t){return W(t)?G(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||H(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function qa(e,t,n){return r;function r(t){return U(t)?Ua(e,i)(t):n(t)}function i(t){return Ha(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return W(t)?G(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||H(e)?t(e):n(e)}}var Ja={name:`hardBreakEscape`,tokenize:Ya};function Ya(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return H(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var Xa={name:`headingAtx`,resolve:Za,tokenize:Qa};function Za(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},Si(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function Qa(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||U(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||H(n)?(e.exit(`atxHeading`),t(n)):W(n)?G(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||U(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var $a=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),eo=[`pre`,`script`,`style`,`textarea`],to={concrete:!0,name:`htmlFlow`,resolveTo:io,tokenize:ao},no={partial:!0,tokenize:so},ro={partial:!0,tokenize:oo};function io(e){let t=e.length;for(;t--&&!(e[t][0]===`enter`&&e[t][1].type===`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function ao(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:ae):Ni(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):Ni(a)?(e.consume(a),i=4,r.interrupt?t:ae):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:ae):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:O:m):n(i)}function h(t){return Ni(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||U(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&eo.includes(l)?(i=1,r.interrupt?t(s):O(s)):$a.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):O(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||Pi(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:O):n(i)}function v(t){return W(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||Ni(t)?(e.consume(t),b):W(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||Pi(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):W(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):W(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||H(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||U(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||W(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),D):n(t)}function D(t){return t===null||H(t)?O(t):W(t)?(e.consume(t),D):n(t)}function O(t){return t===45&&i===2?(e.consume(t),k):t===60&&i===1?(e.consume(t),A):t===62&&i===4?(e.consume(t),oe):t===63&&i===3?(e.consume(t),ae):t===93&&i===5?(e.consume(t),ie):H(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(no,se,ee)(t)):t===null||H(t)?(e.exit(`htmlFlowData`),ee(t)):(e.consume(t),O)}function ee(t){return e.check(ro,te,se)(t)}function te(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),ne}function ne(t){return t===null||H(t)?ee(t):(e.enter(`htmlFlowData`),O(t))}function k(t){return t===45?(e.consume(t),ae):O(t)}function A(t){return t===47?(e.consume(t),o=``,re):O(t)}function re(t){if(t===62){let n=o.toLowerCase();return eo.includes(n)?(e.consume(t),oe):O(t)}return Ni(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),re):O(t)}function ie(t){return t===93?(e.consume(t),ae):O(t)}function ae(t){return t===62?(e.consume(t),oe):t===45&&i===2?(e.consume(t),ae):O(t)}function oe(t){return t===null||H(t)?(e.exit(`htmlFlowData`),se(t)):(e.consume(t),oe)}function se(n){return e.exit(`htmlFlow`),t(n)}}function oo(e,t,n){let r=this;return i;function i(t){return H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function so(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(la,t,n)}}var co={name:`htmlText`,tokenize:lo};function lo(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):Ni(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):Ni(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):H(t)?(o=d,A(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?k(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):H(t)?(o=h,A(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?k(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?k(t):H(t)?(o=v,A(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):H(t)?(o=y,A(t)):(e.consume(t),y)}function b(e){return e===62?k(e):y(e)}function x(t){return Ni(t)?(e.consume(t),S):n(t)}function S(t){return t===45||Pi(t)?(e.consume(t),S):C(t)}function C(t){return H(t)?(o=C,A(t)):W(t)?(e.consume(t),C):k(t)}function w(t){return t===45||Pi(t)?(e.consume(t),w):t===47||t===62||U(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),k):t===58||t===95||Ni(t)?(e.consume(t),E):H(t)?(o=T,A(t)):W(t)?(e.consume(t),T):k(t)}function E(t){return t===45||t===46||t===58||t===95||Pi(t)?(e.consume(t),E):D(t)}function D(t){return t===61?(e.consume(t),O):H(t)?(o=D,A(t)):W(t)?(e.consume(t),D):T(t)}function O(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,ee):H(t)?(o=O,A(t)):W(t)?(e.consume(t),O):(e.consume(t),te)}function ee(t){return t===i?(e.consume(t),i=void 0,ne):t===null?n(t):H(t)?(o=ee,A(t)):(e.consume(t),ee)}function te(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||U(t)?T(t):(e.consume(t),te)}function ne(e){return e===47||e===62||U(e)?T(e):n(e)}function k(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function A(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return W(t)?G(e,ie,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):ie(t)}function ie(t){return e.enter(`htmlTextData`),o(t)}}var uo={name:`labelEnd`,resolveAll:ho,resolveTo:go,tokenize:_o},fo={tokenize:vo},po={tokenize:yo},mo={tokenize:bo};function ho(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&Si(e,0,e.length,n),e}function go(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=V(s,e.slice(a+1,a+r+3)),s=V(s,[[`enter`,u,t]]),s=V(s,na(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=V(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=V(s,e.slice(o+1)),s=V(s,[[`exit`,c,t]]),Si(e,a,e.length,s),e}function _o(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(Mi(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(fo,u,o?u:d)(t):t===91?e.attempt(po,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(mo,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function vo(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return U(t)?Ua(e,a)(t):a(t)}function a(t){return t===41?u(t):Ba(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return U(t)?Ua(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?Ha(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return U(t)?Ua(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function yo(e,t,n){let r=this;return i;function i(t){return Va.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(Mi(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function bo(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}var xo={name:`labelStartImage`,resolveAll:uo.resolveAll,tokenize:So};function So(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var Co={name:`labelStartLink`,resolveAll:uo.resolveAll,tokenize:wo};function wo(e,t,n){let r=this;return i;function i(t){return e.enter(`labelLink`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelLink`),a}function a(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var To={name:`lineEnding`,tokenize:Eo};function Eo(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),G(e,t,`linePrefix`)}}var Do={name:`thematicBreak`,tokenize:Oo};function Oo(e,t,n){let r=0,i;return a;function a(t){return e.enter(`thematicBreak`),o(t)}function o(e){return i=e,s(e)}function s(a){return a===i?(e.enter(`thematicBreakSequence`),c(a)):r>=3&&(a===null||H(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),W(t)?G(e,s,`whitespace`)(t):s(t))}}var ko={continuation:{tokenize:No},exit:Fo,name:`list`,tokenize:Mo},Ao={partial:!0,tokenize:Io},jo={partial:!0,tokenize:Po};function Mo(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:Li(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(Do,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return Li(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(la,r.interrupt?n:u,e.attempt(Ao,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return W(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function No(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(la,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,G(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!W(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(jo,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,G(e,e.attempt(ko,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function Po(e,t,n){let r=this;return G(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function Fo(e){e.exit(this.containerState.type)}function Io(e,t,n){let r=this;return G(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!W(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var Lo={name:`setextUnderline`,resolveTo:Ro,tokenize:zo};function Ro(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function zo(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),W(t)?G(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||H(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var Bo={tokenize:Vo};function Vo(e){let t=this,n=e.attempt(la,r,e.attempt(this.parser.constructs.flowInitial,i,G(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Fa,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var Ho={resolveAll:Ko()},Uo=Go(`string`),Wo=Go(`text`);function Go(e){return{resolveAll:Ko(e===`text`?qo:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}function Ko(e){return t;function t(t,n){let r=-1,i;for(;++r<=t.length;)i===void 0?t[r]&&t[r][1].type===`data`&&(i=r,r++):(!t[r]||t[r][1].type!==`data`)&&(r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),r=i+2),i=void 0);return e?e(t,n):t}}function qo(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type===`lineEnding`)&&e[n-1][1].type===`data`){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,c;for(;a--;){let e=i[a];if(typeof e==`string`){for(o=e.length;e.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(e===-2)c=!0,s++;else if(e!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let i={type:n===e.length||c||s<2?`lineSuffix`:`hardBreakTrailing`,start:{_bufferIndex:a?o:r.start._bufferIndex+o,_index:r.start._index+a,line:r.end.line,column:r.end.column-s,offset:r.end.offset-s},end:{...r.end}};r.end={...i.start},r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[`enter`,i,t],[`exit`,i,t]),n+=2)}n++}return e}var Jo=t({attentionMarkers:()=>ns,contentInitial:()=>Xo,disable:()=>rs,document:()=>Yo,flow:()=>Qo,flowInitial:()=>Zo,insideSpan:()=>ts,string:()=>$o,text:()=>es}),Yo={42:ko,43:ko,45:ko,48:ko,49:ko,50:ko,51:ko,52:ko,53:ko,54:ko,55:ko,56:ko,57:ko,62:da},Xo={91:Wa},Zo={[-2]:Ca,[-1]:Ca,32:Ca},Qo={35:Xa,42:Do,45:[Lo,Do],60:to,61:Lo,95:Do,96:ba,126:ba},$o={38:_a,92:ha},es={[-5]:To,[-4]:To,[-3]:To,33:xo,38:_a,42:ra,60:[sa,co],91:Co,92:[Ja,ha],93:uo,95:ra,96:Da},ts={null:[ra,Ho]},ns={null:[42,95]},rs={null:[]};function is(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=V(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=na(a,l.events,l),l.events):[]}function f(e,t){return os(p(e),t)}function p(e){return as(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index<o.length;){let t=o[r._index];if(typeof t==`string`)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)_(t.charCodeAt(r._bufferIndex));else _(t)}}function _(e){u=u(e)}function v(e){H(e)?(r.line++,r.column=1,r.offset+=e===-3?2:1,E()):e!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),l.previous=e}function y(e,t){let n=t||{};return n.type=e,n.start=m(),l.events.push([`enter`,n,l]),s.push(n),n}function b(e){let t=s.pop();return t.end=m(),l.events.push([`exit`,t,l]),t}function x(e,t){w(e,t.from)}function S(e,t){t.restore()}function C(e,t){return n;function n(n,r,i){let a,o,s,u;return Array.isArray(n)?f(n):`tokenize`in n?f([n]):d(n);function d(e){return t;function t(t){let n=t!==null&&e[t],r=t!==null&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}function f(e){return a=e,o=0,e.length===0?i:p(e[o])}function p(e){return n;function n(n){return u=T(),s=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name)?h(n):e.tokenize.call(t?Object.assign(Object.create(l),t):l,c,m,h)(n)}}function m(t){return e(s,u),r}function h(e){return u.restore(),++o<a.length?p(a[o]):i}}}function w(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&Si(l.events,t,l.events.length-t,e.resolve(l.events.slice(t),l)),e.resolveTo&&(l.events=e.resolveTo(l.events,l))}function T(){let e=m(),t=l.previous,n=l.currentConstruct,i=l.events.length,a=Array.from(s);return{from:i,restore:o};function o(){r=e,l.previous=t,l.currentConstruct=n,l.events.length=i,s=a,E()}}function E(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function as(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function os(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a==`string`)o=a;else switch(a){case-5:o=`\\r`;break;case-4:o=`\n`;break;case-3:o=`\\r\n`;break;case-2:o=t?` `:`\t`;break;case-1:if(!t&&i)continue;o=` `;break;default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join(``)}function ss(e){let t={constructs:wi([Jo,...(e||{}).extensions||[]]),content:n(Yi),defined:[],document:n(Zi),flow:n(Bo),lazy:{},string:n(Uo),text:n(Wo)};return t;function n(e){return n;function n(n){return is(t,e,n)}}}function cs(e){for(;!Na(e););return e}var ls=/[\\0\\t\\n\\r]/g;function us(){let e=1,t=``,n=!0,r;return i;function i(i,a,o){let s=[],c,l,u,d,f;for(i=t+(typeof i==`string`?i.toString():new TextDecoder(a||void 0).decode(i)),u=0,t=``,n&&(i.charCodeAt(0)===65279&&u++,n=void 0);u<i.length;){if(ls.lastIndex=u,c=ls.exec(i),d=c&&c.index!==void 0?c.index:i.length,f=i.charCodeAt(d),!c){t=i.slice(u);break}if(f===10&&u===d&&r)s.push(-3),r=void 0;else switch(r&&(s.push(-5),r=void 0),u<d&&(s.push(i.slice(u,d)),e+=d-u),f){case 0:s.push(65533),e++;break;case 9:for(l=Math.ceil(e/4)*4,s.push(-2);e++<l;)s.push(-1);break;case 10:s.push(-4),e=1;break;default:r=!0,e=1}u=d+1}return o&&(r&&s.push(-5),t&&s.push(t),s.push(null)),s}}function ds(e,t,n){return typeof t!=`string`&&(n=t,t=void 0),Ji(n)(cs(ss(n).document().write(us()(e,t,!0))))}var fs={none:``,left:` align=\"left\"`,right:` align=\"right\"`,center:` align=\"center\"`};function ps(){return{enter:{table(e){let t=e._align;this.lineEndingIfNeeded(),this.tag(`<table>`),this.setData(`tableAlign`,t)},tableBody(){this.tag(`<tbody>`)},tableData(){let e=fs[this.getData(`tableAlign`)[this.getData(`tableColumn`)]];e===void 0?this.buffer():(this.lineEndingIfNeeded(),this.tag(`<td`+e+`>`))},tableHead(){this.lineEndingIfNeeded(),this.tag(`<thead>`)},tableHeader(){let e=fs[this.getData(`tableAlign`)[this.getData(`tableColumn`)]];this.lineEndingIfNeeded(),this.tag(`<th`+e+`>`)},tableRow(){this.setData(`tableColumn`,0),this.lineEndingIfNeeded(),this.tag(`<tr>`)}},exit:{codeTextData(e){let t=this.sliceSerialize(e);this.getData(`tableAlign`)&&(t=t.replace(/\\\\([\\\\|])/g,ms)),this.raw(this.encode(t))},table(){this.setData(`tableAlign`),this.setData(`slurpAllLineEndings`),this.lineEndingIfNeeded(),this.tag(`</table>`)},tableBody(){this.lineEndingIfNeeded(),this.tag(`</tbody>`)},tableData(){let e=this.getData(`tableAlign`),t=this.getData(`tableColumn`);t in e?(this.tag(`</td>`),this.setData(`tableColumn`,t+1)):this.resume()},tableHead(){this.lineEndingIfNeeded(),this.tag(`</thead>`)},tableHeader(){let e=this.getData(`tableColumn`);this.tag(`</th>`),this.setData(`tableColumn`,e+1)},tableRow(){let e=this.getData(`tableAlign`),t=this.getData(`tableColumn`);for(;t<e.length;)this.lineEndingIfNeeded(),this.tag(`<td`+fs[e[t]]+`></td>`),t++;this.setData(`tableColumn`,t),this.lineEndingIfNeeded(),this.tag(`</tr>`)}}}}function ms(e,t){return t===`|`?t:e}var hs=class{constructor(){this.map=[]}add(e,t,n){gs(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function gs(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function _s(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function vs(){return{flow:{null:{name:`table`,tokenize:ys,resolveAll:bs}}}}function ys(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):H(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):W(t)?G(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||U(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,W(t)?G(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return W(t)?G(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||H(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return W(t)?G(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||H(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||H(n)?(e.exit(`tableRow`),t(n)):W(n)?G(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||U(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function bs(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new hs;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(Ss(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=xs(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=xs(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=xs(f,t,o,i,n,d)):(o[0]=o[1],d=xs(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&Ss(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=_s(t.events,n))}return e}function xs(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},Cs(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=Cs(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=Cs(t.events,n[2]),a=Cs(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},Cs(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function Ss(e,t,n,r,i){let a=[],o=Cs(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function Cs(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}function ws(){return{enter:{strikethrough(){this.tag(`<del>`)}},exit:{strikethrough(){this.tag(`</del>`)}}}}function Ts(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&Si(o,o.length,0,na(s,e.slice(r+1,n),t)),Si(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),Si(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=ta(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=ta(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}function Es(e,t){let n=[`codeIndented`];return t?.inline&&n.push(`list`,`headingAtx`,`setextUnderline`,`thematicBreak`,`blockQuote`),ds(e,{allowDangerousHtml:!0,extensions:[vs(),Ts(),{disable:{null:n}}],htmlExtensions:[ps(),ws()]})}var Ds={update:e=>{throw Error(`Cannot set @${e} — local variables require a {for}, widget, {link}, or {button} scope`)},getValues:()=>({})},Os=he({}),ks=he(Ds),K=he(!1),As=he(!1),js=he(null);function Ms(e,t,n=!1){let r=document.createElement(`div`);if(r.innerHTML=e.trim(),n)for(let e of Array.from(r.querySelectorAll(`:scope > p`)))e.replaceWith(...Array.from(e.childNodes));return B(S,{children:Array.from(r.childNodes).map((e,n)=>Ns(e,n,t))})}function Ns(e,t,n){if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType===Node.ELEMENT_NODE){let r=e,i=r.localName,a=r.getAttribute(`data-tw`);if(a!=null)return n[parseInt(a,10)];let o={key:t};for(let e of Array.from(r.attributes))o[e.name]=e.value;return b(i,o,...Array.from(r.childNodes).map((e,t)=>Ns(e,t,n)))}return null}var Ps=new Set(`a.abbr.b.bdi.bdo.br.cite.code.data.dfn.em.i.kbd.label.mark.meter.output.progress.q.rp.rt.ruby.s.samp.small.span.strong.sub.sup.time.u.var.wbr`.split(`.`)),Fs=new Set([`allowfullscreen`,`async`,`autofocus`,`autoplay`,`checked`,`controls`,`default`,`defer`,`disabled`,`formnovalidate`,`hidden`,`inert`,`ismap`,`itemscope`,`loop`,`multiple`,`muted`,`nomodule`,`novalidate`,`open`,`playsinline`,`readonly`,`required`,`reversed`,`selected`]);function Is(e,t){return t===``&&Fs.has(e.toLowerCase())}function Ls({node:e}){let t=$r(),n=L(K),r=L(Os),i=L(As),a={};for(let[n,r]of Object.entries(e.attributes))a[n]=Is(n,r)?!0:t(r)??r;let o=e.tag.toLowerCase()===`svg`,s=Ps.has(e.tag.toLowerCase()),c=e.children.length>0?i||o?Ws(e.children):$s(e.children,{nobr:n,locals:r,inline:s}):void 0,l=b(e.tag,a,c);return o?B(As.Provider,{value:!0,children:l}):l}function Rs(){let e=L(js),t=L(K),n=L(Os);return!e||e.length===0?null:B(S,{children:$s(e,{nobr:t,locals:n})})}var zs=new WeakMap,Bs=0;function Vs(e){let t=zs.get(e);return t===void 0&&(t=`n${Bs++}`,zs.set(e,t)),t}function Hs(e,t){if(gi(e.name))return null;let n=ui(e.name);if(n)return B(si,{body:n.body,params:n.params,rawArgs:e.rawArgs,invocationChildren:e.children},t);let r=pi(e.name);return r?B(r,{rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},t):B(`span`,{class:`error`,children:`{unknown macro: ${e.name}}`},t)}function Us(e){if(e.type===`text`)return e.value;let t=Vs(e);switch(e.type){case`variable`:return e.scope===`local`&&e.name===`children`?B(Rs,{},t):B(ti,{name:e.name,scope:e.scope,className:e.className,id:e.id},t);case`expression`:return B(ni,{expression:e.expression,className:e.className,id:e.id},t);case`macro`:return Hs(e,t);case`html`:return B(Ls,{node:e},t);default:return e}}function Ws(e){return e.length===0?null:e.map(e=>Us(e))}function Gs(e){let t=0;for(let n=0;n<e.length;n++)e[n]===\"`\"&&t++;return t%2==1}function Ks(e,t){let n=Z.getState(),r=e.name.split(`.`),i=r[0],a;a=e.scope===`variable`?n.variables[i]:e.scope===`temporary`?n.temporary[i]:e.scope===`transient`?n.transient[i]:t[i];for(let e=1;e<r.length;e++){if(a==null)return``;a=a[r[e]]}return a==null?``:String(a)}var qs=/[*_`#|~\\[>\\\\\\-+=]|!\\[|\\d+\\.|&#?[a-zA-Z0-9]+;| {2}\\n/,Js=/\\n\\s*\\n/,Ys=/(<span data-tw=\"\\d+\"><\\/span>)/,Xs=/^<span data-tw=\"(\\d+)\"><\\/span>$/,Zs=/<span data-tw=\"\\d+\"><\\/span>/g;function Qs(e,t,n){let r=e.split(Ys),i=[];for(let e of r){let n=Xs.exec(e);n?i.push(t[parseInt(n[1],10)]):e&&i.push(e)}return n?B(S,{children:i}):b(`p`,null,...i)}function $s(e,t){if(e.length===0)return null;if(!e.some(e=>e.type===`text`&&(e.value.trim()!==``||/\\n\\s*\\n/.test(e.value))))return e.map(e=>Us(e));let n=[],r=``,i=t?.locals??{};for(let t=0;t<e.length;t++){let a=e[t];if(a.type===`text`)r+=a.value;else if(a.type===`variable`&&Gs(r))r+=Ks(a,i);else{let e=n.length;n.push(Us(a)),r+=`<span data-tw=\"${e}\"></span>`}}let a=r.replace(Zs,``);return!qs.test(a)&&!Js.test(a)?Qs(r,n,t?.nobr):Ms(Es(r,{inline:t?.inline}),n,t?.nobr)}function ec(){let e=new Map,t=new Map,n=new Map;return{type:`memory`,async putSave(t){e.set(t.meta.id,t)},async getSave(t){return e.get(t)},async deleteSave(t){e.delete(t)},async getSavesByIfid(t){return[...e.values()].filter(e=>e.meta.ifid===t)},async deleteSavesByIfid(t){for(let n of[...e.keys()]){let r=e.get(n);r&&r.meta.ifid===t&&e.delete(n)}},async deleteSavesByPlaythrough(t){let n=[];for(let r of[...e.keys()]){let i=e.get(r);i&&i.meta.playthroughId===t&&(e.delete(r),n.push(r))}return n},async putPlaythrough(e){t.set(e.id,e)},async getPlaythroughsByIfid(e){return[...t.values()].filter(t=>t.ifid===e)},async deletePlaythroughsByIfid(e){for(let n of[...t.keys()]){let r=t.get(n);r&&r.ifid===e&&t.delete(n)}},async deletePlaythroughById(e){t.delete(e)},async getMeta(e){return n.get(e)},async setMeta(e,t){n.set(e,t)},async deleteMeta(e){n.delete(e)},async deleteMetaByPrefix(e){for(let t of[...n.keys()])t.startsWith(e)&&n.delete(t)},async deleteMetaByIfid(e){for(let t of[...n.keys()])t.includes(e)&&n.delete(t)},async getAllMetaKeys(){return[...n.keys()]},async destroy(){e.clear(),t.clear(),n.clear()}}}var tc=`spindle.save.`,nc=`spindle.pt.`,rc=`spindle.meta.`,ic=`spindle.idx.saves.`,ac=`spindle.idx.pt.`,oc=`spindle.idx.saves-pt.`;function sc(e){let t=localStorage.getItem(e);if(t!==null)try{return JSON.parse(t)}catch{return}}function cc(e,t){localStorage.setItem(e,JSON.stringify(t))}function lc(e){localStorage.removeItem(e)}function uc(e){return sc(e)??[]}function dc(e,t){let n=uc(e);n.includes(t)||(n.push(t),cc(e,n))}function fc(e,t){cc(e,uc(e).filter(e=>e!==t))}function pc(){return{type:`localstorage`,async putSave(e){let t=e.meta.id;cc(`${tc}${t}`,e),dc(`${ic}${e.meta.ifid}`,t),dc(`${oc}${e.meta.playthroughId}`,t)},async getSave(e){return sc(`${tc}${e}`)},async deleteSave(e){let t=sc(`${tc}${e}`);t&&(fc(`${ic}${t.meta.ifid}`,e),fc(`${oc}${t.meta.playthroughId}`,e)),lc(`${tc}${e}`)},async getSavesByIfid(e){let t=uc(`${ic}${e}`),n=[];for(let e of t){let t=sc(`${tc}${e}`);t&&n.push(t)}return n},async deleteSavesByIfid(e){let t=uc(`${ic}${e}`);for(let e of t){let t=sc(`${tc}${e}`);t&&fc(`${oc}${t.meta.playthroughId}`,e),lc(`${tc}${e}`)}lc(`${ic}${e}`)},async deleteSavesByPlaythrough(e){let t=uc(`${oc}${e}`);for(let e of t){let t=sc(`${tc}${e}`);t&&fc(`${ic}${t.meta.ifid}`,e),lc(`${tc}${e}`)}return lc(`${oc}${e}`),t},async putPlaythrough(e){cc(`${nc}${e.id}`,e),dc(`${ac}${e.ifid}`,e.id)},async getPlaythroughsByIfid(e){let t=uc(`${ac}${e}`),n=[];for(let e of t){let t=sc(`${nc}${e}`);t&&n.push(t)}return n},async deletePlaythroughsByIfid(e){let t=uc(`${ac}${e}`);for(let e of t)lc(`${nc}${e}`);lc(`${ac}${e}`)},async deletePlaythroughById(e){let t=sc(`${nc}${e}`);t&&fc(`${ac}${t.ifid}`,e),lc(`${nc}${e}`)},async getMeta(e){return sc(`${rc}${e}`)},async setMeta(e,t){cc(`${rc}${e}`,t)},async deleteMeta(e){lc(`${rc}${e}`)},async deleteMetaByPrefix(e){let t=`${rc}${e}`;for(let e of Object.keys(localStorage))e.startsWith(t)&&localStorage.removeItem(e)},async deleteMetaByIfid(e){for(let t of Object.keys(localStorage))t.startsWith(rc)&&t.includes(e)&&localStorage.removeItem(t)},async getAllMetaKeys(){let e=[];for(let t of Object.keys(localStorage))t.startsWith(rc)&&e.push(t.slice(13));return e},async destroy(){for(let e of Object.keys(localStorage))e.startsWith(`spindle.`)&&localStorage.removeItem(e)}}}var mc=`spindle`,hc=1;function gc(){let e=null;function t(){return e||(e=new Promise((e,t)=>{let n=indexedDB.open(mc,hc);n.onupgradeneeded=()=>{let e=n.result;if(!e.objectStoreNames.contains(`saves`)){let t=e.createObjectStore(`saves`,{keyPath:`meta.id`});t.createIndex(`ifid`,`meta.ifid`,{unique:!1}),t.createIndex(`playthroughId`,`meta.playthroughId`,{unique:!1})}e.objectStoreNames.contains(`playthroughs`)||e.createObjectStore(`playthroughs`,{keyPath:`id`}).createIndex(`ifid`,`ifid`,{unique:!1}),e.objectStoreNames.contains(`meta`)||e.createObjectStore(`meta`,{keyPath:`key`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)}),e)}function n(e,n){return t().then(t=>t.transaction(e,n).objectStore(e))}function r(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}async function i(e,t,i){return await r((await n(e,`readonly`)).index(t).getAll(i))??[]}return{type:`indexeddb`,async putSave(e){await r((await n(`saves`,`readwrite`)).put(e))},async getSave(e){return await r((await n(`saves`,`readonly`)).get(e))??void 0},async deleteSave(e){await r((await n(`saves`,`readwrite`)).delete(e))},async getSavesByIfid(e){return i(`saves`,`ifid`,e)},async deleteSavesByIfid(e){let t=await i(`saves`,`ifid`,e),a=await n(`saves`,`readwrite`);for(let e of t)await r(a.delete(e.meta.id))},async deleteSavesByPlaythrough(e){let t=await i(`saves`,`playthroughId`,e),a=await n(`saves`,`readwrite`),o=[];for(let e of t)await r(a.delete(e.meta.id)),o.push(e.meta.id);return o},async putPlaythrough(e){await r((await n(`playthroughs`,`readwrite`)).put(e))},async getPlaythroughsByIfid(e){return i(`playthroughs`,`ifid`,e)},async deletePlaythroughsByIfid(e){let t=await i(`playthroughs`,`ifid`,e),a=await n(`playthroughs`,`readwrite`);for(let e of t)await r(a.delete(e.id))},async deletePlaythroughById(e){await r((await n(`playthroughs`,`readwrite`)).delete(e))},async getMeta(e){let t=await r((await n(`meta`,`readonly`)).get(e));return t?t.value:void 0},async setMeta(e,t){await r((await n(`meta`,`readwrite`)).put({key:e,value:t}))},async deleteMeta(e){await r((await n(`meta`,`readwrite`)).delete(e))},async deleteMetaByPrefix(e){let t=await r((await n(`meta`,`readwrite`)).getAll());for(let i of t)i.key.startsWith(e)&&await r((await n(`meta`,`readwrite`)).delete(i.key))},async deleteMetaByIfid(e){let t=await r((await n(`meta`,`readwrite`)).getAll());for(let i of t)i.key.includes(e)&&await r((await n(`meta`,`readwrite`)).delete(i.key))},async getAllMetaKeys(){return(await r((await n(`meta`,`readonly`)).getAll())).map(e=>e.key)},async destroy(){(await t()).close(),e=null,await new Promise((e,t)=>{let n=indexedDB.deleteDatabase(mc);n.onsuccess=()=>e(),n.onerror=()=>t(n.error)})}}}var _c=null;async function vc(){if(typeof indexedDB<`u`)try{return await new Promise((e,t)=>{let n=indexedDB.open(`__spindle_probe__`,1);n.onsuccess=()=>{n.result.close(),indexedDB.deleteDatabase(`__spindle_probe__`),e()},n.onerror=()=>t(n.error)}),gc()}catch{}if(typeof localStorage<`u`)try{let e=`__spindle_probe__`;localStorage.setItem(e,`1`);let t=localStorage.getItem(e);if(localStorage.removeItem(e),t===`1`)return pc()}catch{}return ec()}var yc=null;function q(){if(_c)return Promise.resolve(_c);if(!yc){let e=vc().then(t=>(yc===e&&(_c=t),t));yc=e}return yc}function bc(){_c=null,yc=null}function xc(){return _c?.type??`memory`}var Sc=new Map,Cc=new Map;function wc(e,t){Sc.set(e,t),Cc.set(t,e)}function Tc(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function J(e,t={}){let n=new Map;function r(e){if(typeof e!=`object`||!e)return e;let i=e;if(n.has(i))return n.get(i);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(Array.isArray(e)){let t=[];n.set(i,t);for(let n=0;n<e.length;n++)t[n]=r(e[n]);return t}if(e instanceof Map){let t=new Map;n.set(i,t);for(let[n,i]of e)t.set(r(n),r(i));return t}if(e instanceof Set){let t=new Set;n.set(i,t);for(let n of e)t.add(r(n));return t}let a=i.constructor;if(Cc.get(a)!==void 0){let e=Object.create(Object.getPrototypeOf(i));n.set(i,e);for(let t of Object.keys(i))e[t]=r(i[t]);return e}if(!Tc(e)&&t.keepUnregistered)return e;if(Tc(e)||typeof e==`object`){let e={};n.set(i,e);for(let t of Object.keys(i))e[t]=r(i[t]);return e}return e}return r(e)}function Ec(e,t,n=new Map){if(Object.is(e,t))return!0;if(e===null||t===null||typeof e!=`object`||typeof t!=`object`||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;if(n.get(e)===t)return!0;if(n.set(e,t),e instanceof Date)return Object.is(e.getTime(),t.getTime());if(e instanceof RegExp)return String(e)===String(t);if(e instanceof Map||e instanceof Set){let r=t;if(e.size!==r.size)return!1;let i=e.entries(),a=r.entries();for(let e=i.next(),t=a.next();!e.done;e=i.next(),t=a.next())if(!Ec(e.value,t.value,n))return!1;return!0}let r=e,i=t,a=Object.keys(r);if(a.length!==Object.keys(i).length)return!1;for(let e of a)if(!(e in i)||!Ec(r[e],i[e],n))return!1;return!0}var Dc=`__spindle_class__`,Oc=`__spindle_data__`;function kc(e){let t=new Set;function n(e){if(typeof e!=`object`||!e)return e;let r=e;if(t.has(r))throw Error(`spindle: Cannot serialize circular references`);if(t.add(r),e instanceof Date)return t.delete(r),{[Dc]:`__Date__`,[Oc]:{iso:e.toISOString()}};if(e instanceof RegExp)return t.delete(r),{[Dc]:`__RegExp__`,[Oc]:{source:e.source,flags:e.flags}};if(Array.isArray(e)){let i=e.map(e=>n(e));return t.delete(r),i}if(e instanceof Map){let i=[...e].map(([e,t])=>[n(e),n(t)]);return t.delete(r),{[Dc]:`__Map__`,[Oc]:{entries:i}}}if(e instanceof Set){let i=[...e].map(e=>n(e));return t.delete(r),{[Dc]:`__Set__`,[Oc]:{entries:i}}}let i=r.constructor,a=Cc.get(i);if(a!==void 0){let e={};for(let t of Object.keys(r))e[t]=n(r[t]);return t.delete(r),{[Dc]:a,[Oc]:e}}let o={};for(let e of Object.keys(r))o[e]=n(r[e]);return t.delete(r),o}return n(e)}function Ac(e){function t(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(e=>t(e));let n=e;if(Dc in n&&Oc in n){let e=n[Dc],r=n[Oc];if(e===`__Date__`)return new Date(r.iso);if(e===`__RegExp__`)return new RegExp(r.source,r.flags);if(e===`__Map__`){let e=r.entries;return new Map(e.map(([e,n])=>[t(e),t(n)]))}if(e===`__Set__`){let e=r.entries;return new Set(e.map(e=>t(e)))}let i=Sc.get(e);if(!i){console.warn(`spindle: Class \"${e}\" not registered. Falling back to plain object.`);let n={};for(let e of Object.keys(r))n[e]=t(r[e]);return n}let a=Object.create(i.prototype);for(let e of Object.keys(r))a[e]=t(r[e]);return a}if(e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set)return e;let r=n.constructor;if(Cc.has(r))return e;let i={};for(let e of Object.keys(n))i[e]=t(n[e]);return i}return t(e)}var jc=new Set([`storyinit`,`beforerestart`,`actionsChanged`,`variableChanged`,`beforesave`,`aftersave`,`beforeload`,`afterload`,`beforenavigate`,`afternavigate`,`passagerender`,`dialogrender`]),Mc=new Map;function Nc(e,t){if(!jc.has(e))throw Error(`spindle: Unknown event \"${e}\".`);let n=Mc.get(e);return n||(n=new Set,Mc.set(e,n)),n.add(t),()=>{n.delete(t)}}function Y(e,...t){let n=Mc.get(e);if(n)for(let e of[...n])e(...t)}function Pc(e,...t){let n=Mc.get(e);if(n)for(let r of[...n])try{r(...t)}catch(t){console.error(`spindle: Error in ${e} handler:`,t)}}var Fc=null,Ic=null,Lc=!1;function Rc(e){Fc=e}function zc(e){Ic=e}function Bc(e){if(Ic)try{let t=Function(`passage`,`variables`,Ic)(e.passage,e.variables);if(typeof t==`string`&&t.trim())return t.trim()}catch{}if(Fc)try{let t=Fc(e);if(typeof t==`string`&&t.trim())return t.trim()}catch{}let t=new Date().toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`});return`${e.passage} - ${t}`}async function Vc(){Lc||(Lc=!0)}async function Hc(e){let t=await q(),n=(await t.getPlaythroughsByIfid(e)).length+1,r=crypto.randomUUID(),i={id:r,ifid:e,createdAt:new Date().toISOString(),label:`Playthrough ${n}`};return await t.putPlaythrough(i),await t.setMeta(`currentPlaythroughId.${e}`,r),r}async function Uc(e){return(await q()).getMeta(`currentPlaythroughId.${e}`)}function Wc(e,t,n,r){try{return Y(`beforesave`,e,t),r(n()).then(t=>(Y(`aftersave`,e),t))}catch(e){return Promise.reject(e)}}async function Gc(e,t,n,r={}){let i=new Date().toISOString(),a={id:crypto.randomUUID(),ifid:e,playthroughId:t,createdAt:i,updatedAt:i,title:Bc(n),passage:n.passage,custom:r},o=J(n);o.variables=kc(o.variables),o.history=o.history.map(e=>({...e,variables:kc(e.variables)}));let s={meta:a,payload:o};return s.meta.estimatedBytes=JSON.stringify(o).length,await(await q()).putSave(s),s}async function Kc(e,t,n){let r=await q(),i=await r.getSave(e);if(!i)return;let a=J(t);a.variables=kc(a.variables),a.history=a.history.map(e=>({...e,variables:kc(e.variables)}));let o={meta:{...i.meta,updatedAt:new Date().toISOString(),passage:t.passage,...n==null?{}:{custom:{...i.meta.custom,...n}}},payload:a};return o.meta.estimatedBytes=JSON.stringify(a).length,await r.putSave(o),o}function qc(e){return{...e,variables:Ac(e.variables),history:e.history.map(e=>({...e,variables:Ac(e.variables)}))}}async function Jc(e){let t=await(await q()).getSave(e);if(t)return qc(t.payload)}async function Yc(e){let t=await q(),n=await t.getSave(e);if(await t.deleteSave(e),!n)return;let r=n.meta.ifid,i=[void 0,...await ll(r)];for(let n of i){let i=nl(r,n);await il(i,async()=>{await t.getMeta(i)===e&&(await t.deleteMeta(i),await cl(r,n))})}}async function Xc(e,t){let n=await q(),r=await n.getSave(e);if(!r)return;let i={...r,meta:{...r.meta,title:t,updatedAt:new Date().toISOString()}};await n.putSave(i)}async function Zc(e){let t=await q(),[n,r]=await Promise.all([t.getSavesByIfid(e),t.getPlaythroughsByIfid(e)]),i=new Map;for(let e of r)i.set(e.id,e);let a=new Map;for(let e of n){let t=e.meta.playthroughId,n=a.get(t);n?n.push(e):a.set(t,[e])}for(let e of a.values())e.sort((e,t)=>new Date(t.meta.updatedAt).getTime()-new Date(e.meta.updatedAt).getTime());let o=[],s=[...i.values()].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());for(let e of s){let t=a.get(e.id)??[];o.push({playthrough:e,saves:t})}for(let[t,n]of a)i.has(t)||o.push({playthrough:{id:t,ifid:e,createdAt:n[0]?.meta.createdAt??new Date().toISOString(),label:`Unknown Playthrough`},saves:n});return o}var Qc=`autosave.`,$c=`slot.`,el=`slotIndex.`;function tl(e){return e!=null&&e!==``}function nl(e,t){return tl(t)?`${$c}${t}.${e}`:`${Qc}${e}`}var rl=new Map;function il(e,t){let n=(rl.get(e)??Promise.resolve()).then(t),r=n.catch(()=>{});return rl.set(e,r),r.then(()=>{rl.get(e)===r&&rl.delete(e)}),n}var al=Promise.resolve();function ol(e,t){let n=al.then(async()=>{let n=await q(),r=`${el}${e}`,i=await n.getMeta(r)??[],a=t(i);a!==i&&await n.setMeta(r,a)});return al=n.catch(()=>{}),n}function sl(e,t){return tl(t)?ol(e,e=>e.includes(t)?e:[...e,t]):Promise.resolve()}function cl(e,t){return tl(t)?ol(e,e=>e.filter(e=>e!==t)):Promise.resolve()}async function ll(e){let t=`${el}${e}`;return(await(await q()).getMeta(t)??[]).filter(tl)}function ul(e,t){return{slot:tl(t)?t:``,title:e.meta.title,passage:e.meta.passage,createdAt:e.meta.createdAt,updatedAt:e.meta.updatedAt,custom:e.meta.custom??{}}}function dl(e,t,n,r,i){let a=nl(e,r);return il(a,async()=>{let o=await q(),s=await o.getMeta(a);if(s){let e=await Kc(s,n,i);if(e)return e}let c=await Gc(e,t,n,{isAutosave:!tl(r),...tl(r)?{slot:r}:{},...i});return await o.setMeta(a,c.meta.id),await sl(e,r),c})}async function fl(e,t){let n=await q(),r=nl(e,t),i=await n.getMeta(r);return i?await n.getSave(i)!==void 0:!1}async function pl(e,t){let n=nl(e,t),r=await(await q()).getMeta(n);if(r)return Jc(r)}async function ml(e){let t=Object.create(null);await fl(e)&&(t[``]=!0);for(let n of await ll(e))await fl(e,n)&&(t[n]=!0);return t}async function hl(e,t){let n=await q(),r=nl(e,t),i=await n.getMeta(r);if(!i)return null;let a=await n.getSave(i);return a?ul(a,t):null}async function gl(e){let t=[],n=await hl(e);n&&t.push(n);for(let n of await ll(e)){let r=await hl(e,n);r&&t.push(r)}return t}function _l(e,t){let n=nl(e,t);return il(n,async()=>{let r=await q(),i=await r.getMeta(n);i&&(await r.deleteSave(i),await r.deleteMeta(n),await cl(e,t))})}var vl=`spindle.session.`;function yl(e,t){try{sessionStorage.setItem(`${vl}${e}`,JSON.stringify(t))}catch{}}function bl(e){try{let t=sessionStorage.getItem(`${vl}${e}`);if(!t)return;let n=JSON.parse(t);return Kn(n)?qc(n):void 0}catch{return}}function xl(e){try{sessionStorage.removeItem(`${vl}${e}`)}catch{}}async function Sl(e){let t=await(await q()).getSave(e);if(t)return{version:1,ifid:t.meta.ifid,exportedAt:new Date().toISOString(),save:t}}async function Cl(e,t){if(e.version!==1)throw Error(`Unsupported save version: ${e.version}`);if(e.ifid!==t)throw Error(`Save is from a different story (expected IFID ${t}, got ${e.ifid})`);if(!Vn(e))throw Error(`Invalid save file format`);let n=await q(),r=J(e.save);if(r.meta.id=crypto.randomUUID(),r.meta.updatedAt=new Date().toISOString(),!(await n.getPlaythroughsByIfid(t)).some(e=>e.id===r.meta.playthroughId)){let e={id:r.meta.playthroughId,ifid:t,createdAt:r.meta.createdAt,label:`Imported`};await n.putPlaythrough(e)}return r}async function wl(e,t){let n=await Cl(e,t);return await(await q()).putSave(n),n}async function Tl(e,t){let n=await(await q()).getMeta(nl(e,t));if(n)return Sl(n)}function El(e,t,n){let r=nl(t,n);return il(r,async()=>{let i=await Cl(e,t),{slot:a,...o}=i.meta.custom??{};i.meta.custom={...o,isAutosave:!tl(n),...tl(n)?{slot:n}:{}};let s=await q(),c=await s.getMeta(r);return await s.putSave(i),await s.setMeta(r,i.meta.id),await sl(t,n),c&&await s.deleteSave(c),ul(i,n)})}async function Dl(e){let t=await q(),n=await t.getSavesByIfid(e),r=await t.getPlaythroughsByIfid(e),i=0;for(let e of n)if(e.meta.estimatedBytes!=null)i+=e.meta.estimatedBytes;else{let n=JSON.stringify(e.payload).length;e.meta.estimatedBytes=n,await t.putSave(e),i+=n}return{saveCount:n.length,playthroughCount:r.length,totalBytes:i,backend:t.type}}async function Ol(e){let t=await q();await t.deleteSavesByIfid(e),await t.deletePlaythroughsByIfid(e),await t.deleteMetaByIfid(e),xl(e)}async function kl(){if(await(await q()).destroy(),bc(),typeof sessionStorage<`u`){let e=[];for(let t=0;t<sessionStorage.length;t++){let n=sessionStorage.key(t);n?.startsWith(`spindle.session.`)&&e.push(n)}for(let t of e)sessionStorage.removeItem(t)}}async function Al(e,t){let n=await q(),r=await n.deleteSavesByPlaythrough(t);await n.deletePlaythroughById(t);let i=new Set(r),a=await n.getAllMetaKeys();for(let e of a)if(e.startsWith(`slot.`)||e.startsWith(`autosave.`)){let t=await n.getMeta(e);t&&i.has(t)&&await n.deleteMeta(e)}let o=`currentPlaythroughId.${e}`;await n.getMeta(o)===t&&await n.deleteMeta(o)}var jl=null;function Ml(){jl&&(me(null,jl),jl.remove(),jl=null)}function Nl(){Ml();let e=Z.getState();if(!e.storyData)return;let t=e.storyData.passages.get(`StoryInit`);if(t){let e=ur(ir(t.content)),n=document.createElement(`div`);n.style.display=`none`,document.body.appendChild(n),jl=n,me(b(()=>$s(e),null),n),wu()}let n=e.storyData.passages.get(`SaveTitle`);n&&zc(n.content)}function Pl(e){Nl(),e&&Z.getState().loadFromPayload(e),Y(`storyinit`),e||wu()}function Fl(e,t,n){for(let r of Object.keys(t))Ec(t[r],n[r])||(e[r]=t[r]);for(let r of Object.keys(n))r in t||delete e[r]}function Il(e,t,n){let r=Z.getState(),i=J(r.variables),a=J(r.temporary),o=J(r.transient),s=J(t,{keepUnregistered:!0});Kr(e,i,a,s,o),r.updateVariables(e=>{Fl(e.variables,i,r.variables),Fl(e.temporary,a,r.temporary),Fl(e.transient,o,r.transient)});for(let e of Object.keys(s))Ec(s[e],t[e])||n(e,s[e]);for(let e of Object.keys(t))e in s||n(e,void 0)}var Ll=0,Rl=[],zl=!1,Bl=[],Vl=null,Hl=null;function Ul(e){let t=Z.getState();try{return!!Gr(e,t.variables,t.temporary,{},t.transient)}catch{return!1}}function Wl(e,t,n){let r=Ll++,i=typeof t==`function`,a=i?void 0:t,o=i?t:void 0,s={id:r,name:a?.name,condition:e,callback:o,options:a,lastResult:Ul(e),priority:a?.priority??0,macroKey:n};return Rl.push(s),Rl.sort((e,t)=>t.priority-e.priority),()=>{Rl=Rl.filter(e=>e.id!==r)}}function Gl(e,t){return Wl(e,t)}function Kl(e,t){let n=Object.fromEntries(Object.entries(t).sort(([e],[t])=>e<t?-1:1)),r=JSON.stringify([e,n]);Rl.some(e=>e.macroKey===r)||Wl(e,t,r)}function ql(e){Rl=Rl.filter(t=>t.name!==e)}function Jl(e){let{callback:t,options:n}=e;if(t){t();return}if(n){if(n.run)try{Il(n.run,{},()=>{})}catch(t){console.error(`spindle: Error in watch run action for \"${e.condition}\":`,t)}n.dialog&&(Bl.push({passageName:n.dialog}),Vl?.()),n.goto&&Z.getState().navigate(n.goto)}}var Yl=10;function Xl(){for(let e=0;e<Yl;e++){let e=!1,t=[...Rl];for(let n of t){if(!Rl.includes(n))continue;let t=Ul(n.condition),r=!n.lastResult;n.lastResult=t,t&&r&&(e=!0,n.options?.once&&(Rl=Rl.filter(e=>e.id!==n.id)),Jl(n))}if(!e)break}}function Zl(){if(!zl){zl=!0;try{Xl()}finally{zl=!1}}}var Ql=0;function $l(){if(Ql===0)return;let e=zl;zl=!0;try{Xl()}finally{zl=e}}function eu(){let e=Z.getState();Ql++;let t=Z.subscribe(t=>{let n=e;e=t,t.navigationId===n.navigationId&&(t.variables===n.variables&&t.temporary===n.temporary&&t.transient===n.transient||Zl())}),n=!0;return()=>{n&&(n=!1,Ql--,t())}}function tu(){for(let e of Rl)e.lastResult=Ul(e.condition)}function nu(){Rl=[],Bl=[],Ll=0,Hl?.closeAll()}function ru(e){return Vl=e,Bl.length>0&&e(),()=>{Vl===e&&(Vl=null)}}function iu(){return Bl.shift()}function au(){return Bl.length}function ou(e){Hl?Hl.push(e):(Bl.push(e),Vl?.())}function su(){Bl=[]}function cu(e){return Hl=e,()=>{Hl===e&&(Hl=null)}}function lu(){Hl?.close()}function uu(){su(),Hl?.closeAll()}function du(){return Hl?.isOpen()??!1}Fn();var fu=new Set([`StoryInit`,`StoryInterface`,`StoryVariables`,`StoryTransients`,`StoryLoading`,`SaveTitle`,`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]),pu={},mu=[],hu={};function gu(e){return e.map(e=>({...e,value:e.value===void 0?void 0:J(e.value)}))}function _u(e,t){let[,n,r]=Rn(e,e=>{let n=e;for(let e of Object.keys(n))e in t||delete n[e];for(let[e,r]of Object.entries(t))n[e]=r});return{forward:gu(n),inverse:gu(r)}}function vu(e){let t=mu.length-1;t<0?pu=e:mu[t]=_u(yu(t),e)}function yu(e){let t=pu;for(let n=0;n<e;n++)t=zn(t,mu[n].forward);return t}var X=[];function bu(e){let{storyData:t,currentPassage:n,variables:r,history:i,historyIndex:a,visitCounts:o,renderCounts:s}=e();if(t){if(X.length>i.length&&(X.length=i.length),X.length<i.length)if(i.length-X.length===1){let e=i.length-1;X[e]={passage:i[e].passage,variables:kc(r),timestamp:i[e].timestamp,prng:i[e].prng}}else{let e=pu;for(let t=0;t<i.length;t++)t>0&&(e=zn(e,mu[t-1].forward)),t>=X.length&&(X[t]={passage:i[t].passage,variables:kc(e),timestamp:i[t].timestamp,prng:i[t].prng})}yl(t.ifid,{passage:n,variables:kc(r),history:X,historyIndex:a,visitCounts:o,renderCounts:s,prng:xr()})}}var xu=!1,Su=[];function Cu(e){pu=e,mu=[],hu=e,X=[]}function wu(){let{history:e,historyIndex:t,variables:n}=Z.getState();if(e.length!==1||t!==0)return;pu=n,mu=[],hu=n,X=[];let r=xr();Z.setState(e=>{e.history[0].prng=r})}var Tu=[],Eu=!1;function Du(e){Eu&&Tu.push(e)}function Ou(){Eu=!0}function ku(){for(let e of Tu)e();Tu=[],Eu=!1}function Au(e){return typeof e==`string`&&e!==``?e:null}function ju(e){let{history:t,historyIndex:n}=e;if(!Number.isInteger(n))return;let r=t[n];if(!(!r||r.passage!==e.passage)&&!(typeof r.variables!=`object`||r.variables===null))return r}function Mu(e){e?.prng?yr(e.prng.seed,e.prng.pull):e&&br()}function Nu(e){return e.catch(()=>{}),e}var Z=pt()(Bn((e,t)=>({storyData:null,currentPassage:``,navigationId:0,variables:{},variableDefaults:{},transient:{},transientDefaults:{},temporary:{},history:[],historyIndex:-1,visitCounts:{},renderCounts:{},knownSaves:{},playthroughId:``,maxHistory:40,quickSaveKey:`F6`,quickLoadKey:`F9`,saveError:null,loadError:null,transitionConfig:null,nextTransition:null,nobr:!1,renderDeferred:!1,setMaxHistory:t=>{e(e=>{e.maxHistory=Math.max(1,Math.round(t))})},setQuickSaveKey:t=>{e(e=>{e.quickSaveKey=Au(t)})},setQuickLoadKey:t=>{e(e=>{e.quickLoadKey=Au(t)})},init:(n,r={},i={})=>{let a=n.passagesById.get(n.startNode);if(!a)throw Error(`spindle: Start passage (pid=${n.startNode}) not found.`);let o=J(r);Cu(J(o)),e(e=>{e.storyData=n,e.currentPassage=a.name,e.navigationId++,e.variables=o,e.variableDefaults=r,e.transient=J(i),e.transientDefaults=i,e.temporary={},e.history=[{passage:a.name,timestamp:Date.now()}],e.historyIndex=0,e.visitCounts={[a.name]:1},e.renderCounts={[a.name]:1}}),hu=t().variables;let s=n.ifid;Vc().then(async()=>{let t=await Uc(s);if(t)e(e=>{e.playthroughId=t});else{let t=await Hc(s);e(e=>{e.playthroughId=t})}let n=await ml(s);Object.keys(n).length>0&&e(e=>{e.knownSaves=n})}).catch(e=>console.error(`spindle: failed to init save system`,e))},navigate:n=>{if(xu){Su.push(n);return}let{storyData:r}=t();if(!r)return;if(fu.has(n)){console.error(`spindle: Cannot navigate to special passage \"${n}\".`);return}if(!r.passages.has(n)){console.error(`spindle: Passage \"${n}\" not found.`);return}let i=t().currentPassage;Y(`beforenavigate`,n);let a=_u(hu,t().variables);e(e=>{e.temporary={},e.currentPassage=n,e.navigationId++,e.history=e.history.slice(0,e.historyIndex+1),mu.length=e.historyIndex,X.length>e.historyIndex+1&&(X.length=e.historyIndex+1),mu.push(a),e.history.push({passage:n,timestamp:Date.now(),prng:xr()});let t=e.history.length-e.maxHistory;if(t>0){for(let e=0;e<t;e++)pu=zn(pu,mu[e].forward);e.history=e.history.slice(t),mu=mu.slice(t),X=X.slice(t)}e.historyIndex=e.history.length-1,e.visitCounts[n]=(e.visitCounts[n]??0)+1,e.renderCounts[n]=(e.renderCounts[n]??0)+1});let o=t().variables;xu=!0;try{$l()}finally{xu=!1}let s=Su;Su=[],t().variables!==o&&vu(t().variables);let c=xr(),l=t().history[t().historyIndex].prng;(c?.seed!==l?.seed||c?.pull!==l?.pull)&&e(e=>{e.history[e.historyIndex].prng=c}),hu=t().variables,bu(t),Y(`afternavigate`,n,i);for(let e of s)t().navigate(e)},goBack:()=>{let{historyIndex:n}=t();if(n<=0)return;let r=t().currentPassage,i=t().history[n-1].passage;Y(`beforenavigate`,i);let a=J(yu(n-1));e(e=>{e.historyIndex--,e.currentPassage=e.history[e.historyIndex].passage,e.navigationId++,e.variables=a,e.temporary={}}),tu(),hu=t().variables,Mu(t().history[t().historyIndex]),bu(t),Y(`afternavigate`,i,r)},goForward:()=>{let{historyIndex:n,history:r}=t();if(n>=r.length-1)return;let i=t().currentPassage,a=r[n+1].passage;Y(`beforenavigate`,a);let o=J(yu(n+1));e(e=>{e.historyIndex++,e.currentPassage=e.history[e.historyIndex].passage,e.navigationId++,e.variables=o,e.temporary={}}),tu(),hu=t().variables,Mu(t().history[t().historyIndex]),bu(t),Y(`afternavigate`,a,i)},setVariable:(t,n)=>{e(e=>{e.variables[t]=n})},setTemporary:(t,n)=>{e(e=>{e.temporary[t]=n})},deleteVariable:t=>{e(e=>{delete e.variables[t]})},deleteTemporary:t=>{e(e=>{delete e.temporary[t]})},setTransient:(t,n)=>{e(e=>{e.transient[t]=n})},deleteTransient:t=>{e(e=>{delete e.transient[t]})},updateVariables:t=>{e(e=>{t(e)})},trackRender:t=>{e(e=>{e.renderCounts[t]=(e.renderCounts[t]??0)+1})},restart:()=>{let{storyData:n,variableDefaults:r,transientDefaults:i}=t();if(!n)return;let a=n.passagesById.get(n.startNode);if(!a)return;e(e=>{e.renderDeferred=!1}),Y(`beforerestart`);let o=t().renderDeferred;ku(),br(),nu();let s=J(r);Cu(J(s)),e(e=>{e.currentPassage=a.name,e.navigationId++,e.variables=s,e.transient=J(i),e.temporary={},e.history=[{passage:a.name,timestamp:Date.now()}],e.historyIndex=0,e.visitCounts={[a.name]:1},e.renderCounts={[a.name]:1},o||(e.renderDeferred=!1)}),hu=t().variables,Ou(),Nl(),xl(n.ifid),Y(`storyinit`),wu(),Hc(n.ifid).then(t=>{e(e=>{e.playthroughId=t})}).catch(e=>console.error(`spindle: failed to start new playthrough`,e))},save:(n,r)=>{let{storyData:i,playthroughId:a}=t();return i?Nu(Wc(n,r,()=>t().getSavePayload(),async t=>{e(e=>{e.saveError=null}),await dl(i.ifid,a,t,n,r),e(e=>{e.knownSaves={...e.knownSaves,[n??``]:!0}})}).catch(t=>{throw console.error(`spindle: failed to save`,t),e(e=>{e.saveError=t instanceof Error?t.message:`Failed to save`}),t})):Promise.resolve()},load:n=>{let{storyData:r}=t();return r?(e(e=>{e.loadError=null}),Nu(pl(r.ifid,n).then(e=>{e&&t().loadFromPayload(e,n)}).catch(t=>{throw console.error(`spindle: failed to load save`,t),e(e=>{e.loadError=t instanceof Error?t.message:`Failed to load`}),t}))):Promise.resolve()},hasSave:e=>{let{storyData:n,knownSaves:r}=t();return n?Object.prototype.hasOwnProperty.call(r,e??``):!1},getSaveInfo:async e=>{let{storyData:n}=t();return n?hl(n.ifid,e):null},listSaves:async()=>{let{storyData:e}=t();return e?gl(e.ifid):[]},deleteSave:n=>{let{storyData:r}=t();return r?Nu(_l(r.ifid,n).then(()=>{e(e=>{let t=n??``,{[t]:r,...i}=e.knownSaves;e.knownSaves=i})}).catch(e=>{throw console.error(`spindle: failed to delete save`,e),e})):Promise.resolve()},exportSave:async e=>{let{storyData:n}=t();return n?await Tl(n.ifid,e)??null:null},importSave:async(n,r)=>{let{storyData:i}=t();if(!i)throw Error(`spindle: Story is not initialized.`);if(!Vn(n))throw Error(`Invalid save file format`);let a=await El(n,i.ifid,r);return e(e=>{e.knownSaves={...e.knownSaves,[r??``]:!0}}),a},clearGameData:()=>{let{storyData:n}=t();n&&Ol(n.ifid).then(()=>{e(e=>{e.knownSaves={}}),t().restart()}).catch(e=>{console.error(`spindle: failed to clear game data`,e)})},clearAllData:()=>{let{storyData:n}=t();n&&kl().then(()=>{e(e=>{e.knownSaves={}}),t().restart()}).catch(e=>{console.error(`spindle: failed to clear all data`,e)})},deletePlaythrough:n=>{let{storyData:r}=t();r&&Al(r.ifid,n).then(async()=>{let t=await ml(r.ifid);e(e=>{e.knownSaves=t})}).catch(e=>{console.error(`spindle: failed to delete playthrough`,e)})},getSavePayload:()=>{let{currentPassage:e,variables:n,history:r,historyIndex:i,visitCounts:a,renderCounts:o}=t(),s=[],c=pu;for(let e=0;e<r.length;e++)e>0&&(c=zn(c,mu[e-1].forward)),s.push({passage:r[e].passage,variables:J(c),timestamp:r[e].timestamp,prng:r[e].prng});return{passage:e,variables:J(n),history:s,historyIndex:i,visitCounts:{...a},renderCounts:{...o},prng:xr()}},loadFromPayload:(n,r)=>{if(n.history.length===0){console.warn(`loadFromPayload: rejecting payload with empty history`);return}Y(`beforeload`,r);let i=ju(n),a=J(n.history[0]?.variables??{}),o=[],s=a;for(let e=1;e<n.history.length;e++){let t=J(n.history[e].variables);o.push(_u(s,t)),s=t}pu=J(a),mu=o,X=n.history.map(e=>({passage:e.passage,variables:kc(e.variables),timestamp:e.timestamp,prng:e.prng})),e(e=>{e.currentPassage=n.passage,e.navigationId++,e.variables=J(i?.variables??n.variables),e.history=n.history.map(e=>({passage:e.passage,timestamp:e.timestamp,prng:e.prng})),e.historyIndex=Math.max(0,Math.min(n.historyIndex,e.history.length-1)),e.visitCounts=n.visitCounts??{},e.renderCounts=n.renderCounts??{},e.temporary={},e.transient=J(t().transientDefaults)}),tu(),hu=yu(t().historyIndex);let c=i?.prng===void 0?n.prng:i.prng;c?yr(c.seed,c.pull):br(),bu(t),Y(`afterload`,r)},getHistoryVariables:e=>J(yu(e)),setTransition:t=>{e(e=>{e.transitionConfig=t})},setNextTransition:t=>{e(e=>{e.nextTransition=t})},consumeNextTransition:()=>{let n=t().nextTransition;return n!==null&&e(e=>{e.nextTransition=null}),n},deferRender:()=>{e(e=>{e.renderDeferred=!0})},clearDeferredRender:()=>{e(e=>{e.renderDeferred=!1})}}))),Pu=`<header class=\"story-menubar\">{story-title}{back}{forward}{restart}{quicksave}{quickload}{saves}{settings}</header>\n{passage}`;function Fu(){let e=Z(e=>e.storyData)?.passages.get(`StoryInterface`),t=e===void 0?Pu:e.content,n=e?.tags.includes(`nobr`)??!1,r=F(()=>{try{return B(S,{children:Ws(ur(ir(t)))})}catch(e){return B(`span`,{class:`error`,children:[`Error in StoryInterface:`,` `,e instanceof Error?e.message:String(e)]})}},[t]);return n?B(K.Provider,{value:!0,children:r}):r}var Iu=[`a[href]`,`area[href]`,`button:not([disabled])`,`input:not([disabled]):not([type=\"hidden\"])`,`select:not([disabled])`,`textarea:not([disabled])`,`iframe`,`[contenteditable=\"true\"]`,`[tabindex]:not([tabindex=\"-1\"])`].join(`,`);function Lu(e){return Array.from(e.querySelectorAll(Iu)).filter(e=>!e.hidden&&!e.closest(`[hidden], [inert]`))}var Ru=[];function zu(e,t,n,r){Ae(()=>{let n=e.current;if(!n)return;let r=document.activeElement instanceof HTMLElement?document.activeElement:null,i={panel:n};Ru.push(i);let a=n.querySelector(t)??n;return(n.querySelector(`[autofocus]`)??Lu(a)[0]??n).focus(),()=>{let e=Ru.indexOf(i);e!==-1&&Ru.splice(e,1);let t=document.activeElement;(!t||t===document.body||n.contains(t))&&r?.isConnected&&r.focus()}},[]),Ae(()=>{let t=e.current;if(!t)return;let i=e=>{if(Ru[Ru.length-1]?.panel!==t)return;if(e.key===`Escape`){if(!n)return;e.preventDefault(),e.stopPropagation(),r();return}if(e.key!==`Tab`)return;let i=Lu(t),a=i[0],o=i[i.length-1],s=document.activeElement,c=s!==t&&t.contains(s);!a||!o?(e.preventDefault(),t.focus()):e.shiftKey&&(s===a||!c)?(e.preventDefault(),o.focus()):!e.shiftKey&&(s===o||!c)&&(e.preventDefault(),a.focus())};return document.addEventListener(`keydown`,i),()=>document.removeEventListener(`keydown`,i)},[n,r])}var Bu=he(null);function Vu({passageName:e,fallbackMarkup:t,panelClass:n,onClose:r,dismissible:i=!0,showCloseButton:a=i}){let o=P(r);o.current=r;let s=I(()=>o.current(),[]),c=Z(e=>e.storyData),l=e?c?.passages.get(e):void 0,u=l?.content??t,d=l?.tags.includes(`nobr`)??!1,f=F(()=>{if(!u)return B(`div`,{class:`error`,children:`Dialog: no content available`});try{let e=$s(ur(ir(u)),d?{nobr:!0}:void 0);return d?B(K.Provider,{value:!0,children:e}):e}catch(e){return B(`div`,{class:`error`,children:[`Error in dialog: `,e instanceof Error?e.message:String(e)]})}},[u,d]),p=P(null);zu(p,`.dialog-body`,i,s),Ae(()=>{p.current&&Pc(`dialogrender`,e??``,p.current)},[]);let m=e=>{i&&e.target.classList.contains(`dialog-overlay`)&&s()},h=n?`dialog-panel ${n}`:`dialog-panel`;return B(Bu.Provider,{value:s,children:B(`div`,{class:`dialog-overlay`,onClick:m,children:B(`div`,{ref:p,class:h,role:`dialog`,\"aria-modal\":`true`,tabIndex:-1,children:[a&&B(`button`,{class:`dialog-close`,\"aria-label\":`Close`,onClick:s,children:`✕`}),B(`div`,{class:`dialog-body`,children:f})]})})})}function Hu(){let[e,t]=N([]),n=P(e);n.current=e;let r=I(e=>{t(t=>[...t,e])},[]),i=I(()=>{t(e=>e.slice(0,-1))},[]),a=I(()=>{t([])},[]);return ke(()=>cu({close:i,closeAll:a,push:r,isOpen:()=>n.current.length>0}),[i,a,r]),ke(()=>ru(()=>{let e=[];for(;au()>0;){let t=iu();t&&e.push(t)}e.length>0&&t(t=>[...t,...e])}),[]),e.length===0?null:B(S,{children:e.map((e,t)=>B(Vu,{passageName:e.passageName,panelClass:e.panelClass,onClose:i,showCloseButton:e.showCloseButton,dismissible:e.dismissible},`${e.passageName}-${t}`))})}function Uu(){let e=Z(e=>e.storyData),t=Z(e=>e.currentPassage),n=Z(e=>e.nobr);if(ke(()=>{let e=e=>{let{quickSaveKey:t,quickLoadKey:n,save:r,load:i}=Z.getState();t!==null&&e.key===t?(e.preventDefault(),r()):n!==null&&e.key===n&&(e.preventDefault(),i())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]),!e||!t)return B(`div`,{class:`loading`,children:`Loading...`});let r=B(S,{children:[B(Fu,{}),B(Hu,{})]});return n?B(K.Provider,{value:!0,children:r}):r}function Wu(e){return e.replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`\"`).replace(/&#39;/g,`'`).replace(/&amp;/g,`&`)}function Gu(){let e=document.querySelector(`tw-storydata`);if(!e)throw Error(`spindle: No <tw-storydata> element found in the document.`);let t=e.getAttribute(`name`)||`Untitled`,n=parseInt(e.getAttribute(`startnode`)||`1`,10),r=e.getAttribute(`ifid`)||``,i=e.getAttribute(`format`)||``,a=e.getAttribute(`format-version`)||``,o=e.querySelector(`[type=\"text/twine-css\"]`)?.textContent||``,s=e.querySelector(`[type=\"text/twine-javascript\"]`)?.textContent||``,c=new Map,l=new Map;for(let t of e.querySelectorAll(`tw-passagedata`)){let e=parseInt(t.getAttribute(`pid`)||`0`,10),n=t.getAttribute(`name`)||``,r=(t.getAttribute(`tags`)||``).split(/\\s+/).filter(e=>e.length>0),i=Wu(t.innerHTML),a={},o=new Set([`pid`,`name`,`tags`]);for(let e of t.attributes)o.has(e.name)||(a[e.name]=e.value);let s={pid:e,name:n,tags:r,metadata:a,content:i};c.set(n,s),l.set(e,s)}return{name:t,startNode:n,ifid:r,format:i,formatVersion:a,passages:c,passagesById:l,userCSS:o,userScript:s}}var Ku=new Map,Q={},qu=!1,Ju=null;function Yu(){return`spindle.${Z.getState().storyData?.ifid||`unknown`}.settings`}function Xu(){localStorage.setItem(Yu(),JSON.stringify(Q))}function Zu(){if(!qu){if(!Z.getState().storyData?.ifid){Ju||(Ju=Z.subscribe(e=>{e.storyData?.ifid&&(Ju?.(),Ju=null,Zu())}));return}qu=!0;try{let e=localStorage.getItem(Yu());if(e){let t=JSON.parse(e);typeof t==`object`&&t&&!Array.isArray(t)&&(Q={...Q,...t})}}catch{}}}var Qu={addToggle(e,t){Ku.set(e,{type:`toggle`,config:t}),e in Q||(Q[e]=t.default),Zu()},addList(e,t){Ku.set(e,{type:`list`,config:t}),e in Q||(Q[e]=t.default),Zu()},addRange(e,t){Ku.set(e,{type:`range`,config:t}),e in Q||(Q[e]=t.default),Zu()},get(e){return Q[e]},getToggle(e){let t=Q[e];return typeof t==`boolean`?t:!1},getList(e){let t=Q[e];return typeof t==`string`?t:``},getRange(e){let t=Q[e];return typeof t==`number`?t:0},set(e,t){Q[e]=t,Xu()},getAll(){return{...Q}},getDefinitions(){return Ku},hasAny(){return Ku.size>0}},$u=new Map,ed=new Map;function td(e,t,n){if(n)return n;let r=`${e}:${t}`,i=(ed.get(r)??0)+1;return ed.set(r,i),i===1?r:`${r}:${i}`}function nd(e){return $u.set(e.id,e),od(),()=>{$u.delete(e.id),od()}}function rd(){return Array.from($u.values())}function id(e){return $u.get(e)}function ad(){ed.clear()}function od(){Y(`actionsChanged`)}function sd(e){let t=P(``),n=P(e.perform);n.current=e.perform,t.current||(t.current=td(e.type,e.key,e.authorId));let r=t.current;return Ae(()=>{let t={id:r,type:e.type,label:e.label,perform:(...e)=>n.current(...e)};return e.target!==void 0&&(t.target=e.target),e.variable!==void 0&&(t.variable=e.variable),e.options!==void 0&&(t.options=e.options),e.value!==void 0&&(t.value=e.value),e.disabled!==void 0&&(t.disabled=e.disabled),nd(t)},[r,e.type,e.label,e.target,e.variable,e.disabled,e.value,JSON.stringify(e.options)]),r}function cd(e){return e.map(e=>e.type===`text`?e.value:``).join(``)}function ld(e){let t=e.metadata[`data-source-file`],n=e.metadata[`data-source-line`];return t?n?` (${t}:${n})`:` (${t})`:``}function ud(){let e=Z.getState();if(!e.storyData)return``;let t=e.storyData.passages.get(e.currentPassage);return t?ld(t):``}function dd(e){let t=e.match(/^\\s*([\"']?\\$[\\w.]+[\"']?)\\s*(?:[\"'](.*)[\"'])?\\s*$/);return t?{varName:t[1].replace(/[\"']/g,``),placeholder:t[2]||``}:{varName:e.trim(),placeholder:``}}function fd(e){let t=[];for(let n of e)if(n.type===`macro`&&n.name===`option`){let e=n.rawArgs.trim().replace(/^([\"'])(.+)\\1$/,`$2`);t.push(e)}return t}function pd(e,t){let n=`macro-${e}`;return t?`${n} ${t}`:n}var md={useState:N,useRef:P,useEffect:ke,useLayoutEffect:Ae,useCallback:I,useMemo:F,useContext:L};function hd(e,t){let n=e;for(let e of t){if(typeof n!=`object`||!n)return;n=n[e]}return n}function gd(e,t,n){let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];(r[n]==null||typeof r[n]!=`object`)&&(r[n]={}),r=r[n]}r[t[t.length-1]]=n}function $(e,t=`builtin`){function n(t){let n=t.className,r=t.id,i;e.interpolate&&(i=$r(),n=i(n),r=i(r));let{update:a,getValues:o}=L(ks),s=L(K),c=L(Os),l={collectText:cd,sourceLocation:ud,parseVarArgs:dd,extractOptions:fd,h:b,renderNodes:(e,t)=>$s(e,{nobr:s,locals:c,...t}),renderInlineNodes:Ws,hooks:md,useAction:sd,className:n,id:r,resolve:i,cls:pd(e.name,n),mutate:e=>Il(e,o(),a),update:a,getValues:o,wrap:e=>n||r?b(`span`,{id:r,class:n},e):b(S,null,e)};if(e.merged){l.merged=dr();let e=l.merged;l.evaluate=t=>Gr(t,e[0],e[1],e[2],e[3])}if(e.storeVar){let n=t.rawArgs.trim().split(/\\s+/)[0]?.replace(/[\"']/g,``)??``;if(n.startsWith(`%`))return b(`span`,{class:`error`},`{${e.name}}: transient variables (%${n.slice(1)}) cannot be bound to input macros`);let r=n.replace(/[\"']/g,``).replace(/^\\$/,``),i=r.split(`.`);l.varName=r,l.value=Z(e=>hd(e.variables,i)),l.getValue=()=>hd(Z.getState().variables,i),l.setValue=e=>{Z.setState(t=>{gd(t.variables,i,e)})}}return e.render(t,l)}fi(e.name,n);let r=e.block===!0||e.block!==!1&&(e.subMacros?.length??0)>0;if(vi(e.name,{name:e.name,block:r,subMacros:e.subMacros??[],storeVar:e.storeVar,interpolate:e.interpolate,merged:e.merged,description:e.description,parameters:e.parameters,source:t}),e.subMacros)for(let t of e.subMacros)hi(t);r&&or(e.name)}var _d=null;function vd(e){_d=e}function yd(){return _d}var bd=null,xd=null;function Sd(){return xd}var Cd=!1;function wd(){if(Cd)return;Cd=!0;let e={...Z.getState().variables},t={...Z.getState().transient};Z.subscribe(n=>{let r={},i=!1,a=new Set([...Object.keys(e),...Object.keys(n.variables)]);for(let t of a)n.variables[t]!==e[t]&&(r[t]={from:e[t],to:n.variables[t]},i=!0);let o=new Set([...Object.keys(t),...Object.keys(n.transient)]);for(let e of o)n.transient[e]!==t[e]&&(r[`%${e}`]={from:t[e],to:n.transient[e]},i=!0);e={...n.variables},t={...n.transient},i&&Y(`variableChanged`,r)})}function Td(e,t){let n=t.split(`.`),r=e[n[0]];for(let e=1;e<n.length;e++){if(r==null)return;r=r[n[e]]}return r}function Ed(e,t,n){let r=t.split(`.`),i=e;for(let e=0;e<r.length-1;e++){let t=i[r[e]];if(typeof t!=`object`||!t)throw TypeError(`spindle: Cannot set property \"${r[e+1]}\" on ${typeof t} (at \"${r.slice(0,e+1).join(`.`)}\")`);i=t}i[r[r.length-1]]=n}var Dd=null,Od=null,kd=new Set;function Ad(e,t=[]){Dd=new Set(e),Od=new Set(t),kd.clear()}function jd(e){return e.startsWith(`%`)?{isTransient:!0,key:e.slice(1)}:e.startsWith(`$`)?{isTransient:!1,key:e.slice(1)}:{isTransient:!1,key:e}}function Md(e,t){let n=e?Od:Dd;if(!n)return;let r=t.split(`.`)[0];if(n.has(r))return;let i=(e?`%`:`$`)+r;kd.has(i)||(kd.add(i),console.warn(`spindle: Story.set() wrote ${i}, which is not declared in ${e?`StoryTransients`:`StoryVariables`}. Passages cannot reference it; check the name or declare it.`))}function Nd(e,t,n){let{isTransient:r,key:i}=jd(t),a=r?e.transient:e.variables;i.includes(`.`)?Ed(a,i,n):a[i]=n}function Pd(){return{get(e){let{isTransient:t,key:n}=jd(e),r=t?Z.getState().transient:Z.getState().variables;return n.includes(`.`)?Td(r,n):r[n]},set(e,t){let n=typeof e==`string`?[e]:Object.keys(e);for(let e of n){let{isTransient:t,key:n}=jd(e);Md(t,n)}Z.getState().updateVariables(n=>{if(typeof e==`string`)Nd(n,e,t);else for(let[t,r]of Object.entries(e))Nd(n,t,r)})},goto(e){Z.getState().navigate(e)},back(){Z.getState().goBack()},forward(){Z.getState().goForward()},restart(){Z.getState().restart()},save(e,t){return Z.getState().save(e,t)},load(e){return Z.getState().load(e)},hasSave(e){return Z.getState().hasSave(e)},getSaveInfo(e){return Z.getState().getSaveInfo(e)},listSaves(){return Z.getState().listSaves()},deleteSave(e){return Z.getState().deleteSave(e)},exportSave(e){return Z.getState().exportSave(e)},importSave(e,t){return Z.getState().importSave(e,t)},visited(e){let t=Z.getState();return t.visitCounts[e??t.currentPassage]??0},hasVisited(e){return this.visited(e)>0},hasVisitedAny(...e){let{visitCounts:t}=Z.getState();return e.some(e=>(t[e]??0)>0)},hasVisitedAll(...e){let{visitCounts:t}=Z.getState();return e.every(e=>(t[e]??0)>0)},rendered(e){let t=Z.getState();return t.renderCounts[e??t.currentPassage]??0},hasRendered(e){return this.rendered(e)>0},hasRenderedAny(...e){let{renderCounts:t}=Z.getState();return e.some(e=>(t[e]??0)>0)},hasRenderedAll(...e){let{renderCounts:t}=Z.getState();return e.every(e=>(t[e]??0)>0)},currentPassage(){let e=Z.getState();return e.storyData?.passages.get(e.currentPassage)},previousPassage(){let e=Z.getState();if(e.historyIndex<=0)return;let t=e.history[e.historyIndex-1]?.passage;return t?e.storyData?.passages.get(t):void 0},get title(){return Z.getState().storyData?.name||``},get passage(){return Z.getState().currentPassage},settings:Qu,registerClass(e,t){wc(e,t)},defineMacro(e){$(e,`user`)},getMacroRegistry(){return yi()},saves:{setTitleGenerator(e){Rc(e)}},storage:{async getInfo(){let e=Z.getState().storyData?.ifid;return e?Dl(e):{saveCount:0,playthroughCount:0,totalBytes:0,backend:xc()}},async getQuota(){if(typeof navigator<`u`&&navigator.storage?.estimate)try{let e=await navigator.storage.estimate();return{usage:e.usage??0,quota:e.quota??0,estimateSupported:!0}}catch{}return{usage:0,quota:0,estimateSupported:!1}},async clearGameData(){let e=Z.getState().storyData?.ifid;e&&(await Ol(e),Z.setState(e=>{e.knownSaves={}}),Z.getState().restart())},async clearAllData(){await kl(),Z.setState(e=>{e.knownSaves={}}),Z.getState().restart()},async deletePlaythrough(e){let{storyData:t}=Z.getState();if(!t)return;await Al(t.ifid,e);let n=await ml(t.ifid);Z.setState(e=>{e.knownSaves=n})},get backend(){return xc()}},getActions(){return rd()},performAction(e,t){let n=id(e);if(!n)throw Error(`spindle: Action \"${e}\" not found.`);if(n.disabled)throw Error(`spindle: Action \"${e}\" is disabled.`);n.perform(t)},on(e,t){e===`variableChanged`&&wd();let n=Nc(e,t);return Du(n),n},async waitForActions(){await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))});let{currentPassage:e,renderDeferred:t}=Z.getState(),n=yd();return n!==null&&n!==e&&!t&&await new Promise(e=>{let t=Nc(`passagerender`,n=>{n===Z.getState().currentPassage&&(t(),e())})}),rd()},watch(e,t){return Gl(e,t)},unwatch(e){ql(e)},openDialog(e,t){ou({passageName:e,panelClass:t?.panelClass,showCloseButton:t?.showCloseButton,dismissible:t?.dismissible})},closeDialog(){lu()},closeAllDialogs(){uu()},isDialogOpen(){return du()},setNobr(e){Z.setState({nobr:e})},setCSS(e){let t=document.getElementById(`spindle-styles`);t&&(t.disabled=!e)},setTransition(e){Z.getState().setTransition(e)},setNextTransition(e){Z.getState().setNextTransition(e)},deferRender(){Z.getState().deferRender(),xd=new Promise(e=>{bd=e})},ready(){bd&&(Z.getState().clearDeferredRender(),bd(),bd=null,xd=null)},random(){return Sr()},randomInt(e,t){return Cr(e,t)},config:{get maxHistory(){return Z.getState().maxHistory},set maxHistory(e){Z.getState().setMaxHistory(e)},get quickSaveKey(){return Z.getState().quickSaveKey},set quickSaveKey(e){Z.getState().setQuickSaveKey(e)},get quickLoadKey(){return Z.getState().quickLoadKey},set quickLoadKey(e){Z.getState().setQuickLoadKey(e)}},prng:{init(e,t){vr(e,t);let{historyIndex:n}=Z.getState();Z.setState(e=>{let t=e.history[n];t&&(t.prng=xr())})},isEnabled(){return wr()},get seed(){return Tr()},get pull(){return Er()}}}}function Fd(){window.Story=Pd()}function Id(e){let t=e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`);return RegExp(`^${t}(\\\\w+)\\\\s*=\\\\s*(.+)$`)}var Ld=/\\$(\\w+(?:\\.\\w+)*)/g,Rd=/^[$_@%]\\w/,zd=/^[\"']\\$(\\w+(?:\\.\\w+)*)[\"']?$/,Bd=/\\{for\\s+@(\\w+)(?:\\s*,\\s*@(\\w+))?\\s+of\\b/g,Vd=new Set([`number`,`string`,`boolean`]),Hd={string:Object(``),number:Object(0),boolean:Object(!1)};function Ud(e){if(Array.isArray(e))return{type:`array`};if(typeof e==`object`&&e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,Ud(r));return{type:`object`,fields:t}}let t=typeof e;if(!Vd.has(t))throw Error(`Unsupported type \"${t}\" for value ${String(e)}. Expected number, string, boolean, array, or object.`);return{type:t}}function Wd(e,t=`$`){let n=new Map,r=Id(t),i=t===`%`?`StoryTransients`:`StoryVariables`;for(let a of e.split(`\n`)){let e=a.trim();if(!e)continue;let o=e.match(r);if(!o)throw Error(`${i}: Invalid declaration: \"${e}\". Expected: ${t}name = value`);let[,s,c]=o,l;try{l=Function(`return (`+c+`)`)()}catch(e){throw Error(`${i}: Failed to evaluate \"${t}${s} = ${c}\": ${e instanceof Error?e.message:e}`)}let u;try{u=Ud(l)}catch(e){throw Error(`${i}: ${e instanceof Error?e.message:e}`)}n.set(s,{...u,name:s,default:l})}return n}function Gd(e){let t=new Set,n;for(Bd.lastIndex=0;(n=Bd.exec(e))!==null;)t.add(n[1]),n[2]&&t.add(n[2]);return t}function Kd(e,t,n){let r=e.split(`.`),i=r[0];if(n.has(i))return null;let a=t.get(i);if(!a)return`Undeclared variable: $${e}`;let o=a;for(let e=1;e<r.length;e++){let t=r[e];if(o.type===`array`)return null;let n=Hd[o.type];if(n&&t in n){let e=typeof n[t];if(!Vd.has(e))return null;o={type:e};continue}if(o.type!==`object`||!o.fields)return`Cannot access field \"${t}\" on $${r.slice(0,e).join(`.`)} (type: ${o.type})`;let i=o.fields.get(t);if(!i)return null;o=i}return null}var qd=[`checkbox`,`cycle`,`listbox`,`numberbox`,`radiobutton`,`textarea`,`textbox`];function Jd(e,t){for(let n of e.matchAll(Ld))t(n[1])}function Yd(e,t){let n=e[t],r=t+1;for(;r<e.length&&e[r]!==n;)r+=e[r]===`\\\\`?2:1;return Math.min(r,e.length)}function Xd(e,t){let n=e.indexOf(`{`);for(;n!==-1;){let r=Rd.test(e.slice(n+1,n+3))?Qd(e,n+1,t,!0):n+1;n=e.indexOf(`{`,r)}}function Zd(e,t,n){let r=t,i=t;for(;r<e.length;){let t=e[r];if(t===`\\\\`)r+=2;else if(t===\"`\")return Xd(e.slice(i,r),n),r+1;else t===`$`&&e[r+1]===`{`?(Xd(e.slice(i,r),n),r=i=Qd(e,r+2,n,!0)):r++}return Xd(e.slice(i),n),e.length}function Qd(e,t,n,r=!1){let i=t,a=t,o=0;for(;i<e.length;){let t=e[i],s=e[i+1],c=t===`/`&&(s===`/`||s===`*`);if(t===`\"`||t===`'`||t===\"`\"||c){if(Jd(e.slice(a,i),n),t===\"`\")i=Zd(e,i+1,n);else if(c){let t=e.indexOf(s===`/`?`\n`:`*/`,i+2);i=t===-1?e.length:s===`/`?t:t+2}else{let t=Yd(e,i);Xd(e.slice(i+1,t),n),i=Math.min(t+1,e.length)}a=i;continue}if(r&&t===`{`)o++;else if(r&&t===`}`&&o--===0)return Jd(e.slice(a,i),n),i+1;i++}return Jd(e.slice(a),n),e.length}function $d(e,t,n){let r=ir(e);for(let i=0;i<r.length;i++){let a=r[i];if(a.type===`variable`)a.scope===`variable`&&a.name&&n(a.name);else if(a.type===`expression`)Qd(a.expression,0,n);else if(a.type===`html`)for(let e of Object.values(a.attributes))Xd(e,n);else if(a.type===`macro`&&!a.isClose){if(Qd(a.rawArgs,0,n),t.has(a.name.toLowerCase())){let e=a.rawArgs.trim().split(/\\s+/)[0]??``,t=zd.exec(e);t&&n(t[1])}if(a.name===`do`){let t=i+1;for(;t<r.length;){let e=r[t];if(e.type===`macro`&&e.isClose&&e.name===`do`)break;t++}t<r.length&&(Qd(e.slice(a.end,r[t].start),0,n),i=t)}}}}function ef(e,t,n=qd){let r=[],i=new Set(Array.from(n,e=>e.toLowerCase()));for(let[n,a]of e){if(n===`StoryVariables`||n===`StoryTransients`)continue;let e=Gd(a.content);$d(a.content,i,i=>{let a=Kd(i,t,e);a&&r.push(`Passage \"${n}\": ${a}`)})}return r}function tf(e){let t={};for(let[n,r]of e)t[n]=r.default;return t}function nf(e){for(let t of e){if(t.type===`variable`&&t.scope===`local`&&t.name===`children`||t.type===`html`&&nf(t.children))return!0;if(t.type===`macro`){if(nf(t.children))return!0;if(t.branches){for(let e of t.branches)if(nf(e.children))return!0}}}return!1}function rf({macro:e,error:t}){return B(`span`,{class:`error`,title:String(t),children:`{${e} error${ud()}: ${t instanceof Error?t.message:String(t)}}`})}$({name:`set`,render({rawArgs:e},t){let n=t.hooks.useRef(!1),r=t.hooks.useRef(null);if(!n.current){n.current=!0;try{t.mutate(e)}catch(n){r.current=n,console.error(`spindle: Error in {set ${e}}${t.sourceLocation()}:`,n)}}return r.current?B(rf,{macro:`set`,error:r.current}):null}}),$({name:`print`,interpolate:!0,merged:!0,render({rawArgs:e},t){try{let n=t.evaluate(e),r=n==null?``:String(n);return t.wrap(r)}catch(e){return B(rf,{macro:`print`,error:e})}}});function af(e){let t=e.trim(),n=0;for(let e=0;e<t.length;e++){let r=t[e];if(r===`(`||r===`[`||r===`{`)n++;else if(r===`)`||r===`]`||r===`}`)n--;else if(r===`=`&&n===0){if(t[e+1]===`=`){e++;continue}if(e>0&&t[e-1]===`!`)continue;let n=t.slice(0,e).trim(),r=t.slice(e+1).trim();if(!n.match(/^[$_@]\\w+$/))throw Error(`{computed}: target must be $name, _name, or @name, got \"${n}\"`);return{target:n,expr:r}}}throw Error(`{computed}: expected \"target = expression\", got \"${e}\"`)}function of(e,t,n,r,i,a,o,s,c,l,u){let d;try{d=Gr(e,i,a,o,s)}catch(e){console.error(`spindle: Error in {computed ${c}}${ud()}:`,e);return}if(!Ec(l.current,d))if(l.current=d,r)try{u(t,d)}catch(e){console.error(`spindle: Error in {computed ${c}}${ud()}:`,e)}else{let e=Z.getState();n?e.setTemporary(t,d):e.setVariable(t,d)}}$({name:`computed`,merged:!0,render({rawArgs:e},t){let[n,r,i,a]=t.merged,o,s;try{({target:o,expr:s}=af(e))}catch(e){return B(rf,{macro:`computed`,error:e})}let c=o.startsWith(`@`),l=o.startsWith(`_`),u=o.slice(1),d=c?t.update:null,f=t.hooks.useRef(void 0),p=t.hooks.useRef(!1);return p.current||(p.current=!0,of(s,u,l,c,n,r,i,a,e,f,d)),t.hooks.useLayoutEffect(()=>{of(s,u,l,c,n,r,i,a,e,f,d)},[n,r,i,a]),null}});function sf(e){let t=e.trim(),n=``,r=t,i=r.match(/\\s+(?:\"([^\"]*)\"|'([^']*)')$/);i&&(n=i[1]??i[2]??``,r=r.slice(0,i.index??r.length).trim());let a=cf(r);if(a.length<2)throw Error(`meter requires two arguments: {meter currentExpr maxExpr}`);return{currentExpr:a[0],maxExpr:a.slice(1).join(` `),labelMode:n}}function cf(e){let t=[],n=``,r=0;for(let i=0;i<e.length;i++){let a=e[i];if(a===`(`||a===`[`)r++,n+=a;else if(a===`)`||a===`]`)r--,n+=a;else if(/\\s/.test(a)&&r===0&&n.length>0)for(t.push(n),n=``;i+1<e.length&&/\\s/.test(e[i+1]);)i++;else n+=a}return n.length>0&&t.push(n),t}function lf(e,t,n){return n===`none`?null:n===`%`?`${t===0?0:Math.round(e/t*100)}%`:n?`${e} ${n} / ${t} ${n}`:`${e} / ${t}`}$({name:`meter`,interpolate:!0,merged:!0,render({rawArgs:e},t){try{let{currentExpr:n,maxExpr:r,labelMode:i}=sf(e),a=Number(t.evaluate(n)),o=Number(t.evaluate(r)),s=o===0?0:Math.max(0,Math.min(100,a/o*100)),c=lf(a,o,i),l=t.cls;return B(`div`,{class:l,id:t.id,children:[B(`div`,{class:`macro-meter-fill`,style:`width: ${s}%`}),c!=null&&B(`span`,{class:`macro-meter-label`,children:c})]})}catch(e){return B(rf,{macro:`meter`,error:e})}}}),$({name:`if`,block:!0,interpolate:!0,merged:!0,render({branches:e=[]},t){function n(e){let n=t.renderNodes(e.children),r=t.resolve(e.className),i=t.resolve(e.id);return r||i?B(`span`,{id:i,class:r,children:n}):B(S,{children:n})}for(let r of e){if(r.rawArgs===``)return n(r);try{if(t.evaluate(r.rawArgs))return n(r)}catch(e){return B(rf,{macro:`if`,error:e})}}return null}});function uf(e){let t=e.indexOf(` of `);if(t===-1)throw Error(`{for} requires \"of\" keyword: {for ${e}}`);let n=e.slice(0,t).trim(),r=e.slice(t+4).trim(),i=n.split(`,`).map(e=>e.trim()),a=i[0],o=i.length>1?i[1]:null;if(!a.startsWith(`@`))throw Error(`{for} loop variable must use @ prefix: got \"${a}\"`);if(o&&!o.startsWith(`@`))throw Error(`{for} index variable must use @ prefix: got \"${o}\"`);return{itemVar:a.slice(1),indexVar:o?o.slice(1):null,listExpr:r}}function df({parentValues:e,itemVar:t,itemValue:n,indexVar:r,indexValue:i,children:a}){let[o,s]=N(()=>({})),c=F(()=>({[t]:n,...r?{[r]:i}:void 0}),[t,n,r,i]),l=F(()=>({...e,...c,...o}),[e,c,o]),u=P(l);u.current=l;let d=I(()=>u.current,[]),f=I((e,t)=>{u.current={...u.current,[e]:t},s(n=>({...n,[e]:t}))},[]),p=F(()=>({update:f,getValues:d}),[f,d]),m=L(K);return B(ks.Provider,{value:p,children:B(Os.Provider,{value:l,children:$s(a,{nobr:m,locals:l})})})}$({name:`for`,block:!0,interpolate:!0,merged:!0,render({rawArgs:e,children:t=[]},n){let r=L(Os),i;try{i=uf(e)}catch(e){return B(rf,{macro:`for`,error:e})}let{itemVar:a,indexVar:o,listExpr:s}=i,c;try{let e=n.evaluate(s);if(!Array.isArray(e))return B(`span`,{class:`error`,children:`{for error: expression did not evaluate to an array}`});c=e}catch(e){return B(rf,{macro:`for`,error:e})}let l=c.map((e,n)=>B(df,{parentValues:r,itemVar:a,itemValue:e,indexVar:o,indexValue:n,children:t},`${n}-${JSON.stringify(e)}`));return n.wrap(l)}}),$({name:`do`,block:!0,render({children:e=[]},t){let n=t.collectText(e);return t.hooks.useLayoutEffect(()=>{try{t.mutate(n)}catch(e){console.error(`spindle: Error in {do}${t.sourceLocation()}:`,e)}},[]),null}});function ff(e){return new Proxy({},{get:(t,n)=>typeof n==`string`?e()[n]:void 0,has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>{let r=Object.getOwnPropertyDescriptor(e(),n);return r?{...r,configurable:!0}:void 0}})}$({name:`button`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let r=n.resolve?.(e.replace(/^[\"']|[\"']$/g,``))??e,i=L(K),a=()=>{let e=document.createElement(`div`);me(b(K.Provider,{value:i},b(ks.Provider,{value:{update:n.update,getValues:n.getValues}},b(Os.Provider,{value:ff(n.getValues)},$s(t)))),e),me(null,e)};return n.useAction({type:`button`,key:e,authorId:n.id,label:r,perform:a}),B(`button`,{id:n.id,class:n.cls,onClick:a,children:r})}});function pf(e){let t=[],n=/([\"'])((?:\\\\[^]|(?!\\1)[^\\\\])*)\\1/g,r;for(;(r=n.exec(e))!==null;)t.push(r[2].replace(/\\\\([\"'\\\\])/g,`$1`));return t.length>=2?{display:t[0],passage:t[1]}:t.length===1?{display:t[0],passage:null}:{display:e.trim(),passage:null}}function mf(e,t,n,r){let i=document.createElement(`div`);me(b(K.Provider,{value:r},b(ks.Provider,{value:{update:n,getValues:t}},b(Os.Provider,{value:ff(t)},$s(e)))),i),me(null,i)}$({name:`link`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let{display:r,passage:i}=pf(e),a=L(K);return n.useAction({type:`link`,key:i||r,authorId:n.id,label:r,target:i??void 0,perform:()=>{mf(t,n.getValues,n.update,a),i&&Z.getState().navigate(i)}}),B(`a`,{id:n.id,class:n.cls,href:`#`,onClick:e=>{e.preventDefault(),mf(t,n.getValues,n.update,a),i&&Z.getState().navigate(i)},children:r})}}),$({name:`switch`,subMacros:[`case`,`default`],merged:!0,render({rawArgs:e,branches:t=[]},n){let r;try{r=n.evaluate(e)}catch(e){return B(rf,{macro:`switch`,error:e})}let i=null;for(let e=1;e<t.length;e++){let a=t[e];if(a.rawArgs===``){i=a;continue}try{let e=n.evaluate(a.rawArgs);if(r===e)return B(S,{children:n.renderNodes(a.children)})}catch(e){return B(rf,{macro:`case`,error:e})}}return i?B(S,{children:n.renderNodes(i.children)}):null}});function hf(e){let t=e.trim();return t.endsWith(`ms`)?parseFloat(t.slice(0,-2)):t.endsWith(`s`)?parseFloat(t.slice(0,-1))*1e3:parseFloat(t)}$({name:`timed`,subMacros:[`next`],interpolate:!0,render({branches:e=[]},t){let{useState:n,useEffect:r,useMemo:i}=t.hooks,a=i(()=>e.map(e=>({delay:e.rawArgs?hf(e.rawArgs):0,nodes:e.children,className:e.className,id:e.id})),[e]),[o,s]=n(-1);if(r(()=>{if(o>=a.length-1)return;let e=o+1,t=a[e].delay,n=setTimeout(()=>{s(e)},t);return()=>clearTimeout(n)},[o,a]),o<0)return t.wrap(null);let c=a[o],l=t.renderNodes(c.nodes),u=t.resolve(c.className),d=t.resolve(c.id),f=u||d?B(`span`,{id:d,class:u,children:l}):l;return t.wrap(f)}});var gf=he({stop:()=>{}});$({name:`repeat`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let{useState:r,useEffect:i,useCallback:a}=n.hooks,o=hf(e),[s,c]=r(0),[l,u]=r(!1),d=a(()=>u(!0),[]);if(i(()=>{if(l)return;let e=setInterval(()=>{c(e=>e+1)},o);return()=>clearInterval(e)},[o,l]),s===0&&!l)return null;let f=B(gf.Provider,{value:{stop:d},children:B(`span`,{children:n.renderNodes(t)},s)});return n.className||n.id?B(`span`,{id:n.id,class:n.cls,children:f}):f}}),$({name:`stop`,render(e,t){let{stop:n}=t.hooks.useContext(gf);return t.hooks.useLayoutEffect(()=>{n()},[n]),null}}),$({name:`type`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let{useState:r,useEffect:i,useRef:a}=n.hooks,o=hf(e),s=a(null),[c,l]=r(0),[u,d]=r(0),f=a(0);f.current=u,i(()=>{s.current&&l((s.current.textContent||``).length)},[]),i(()=>{if(c===0||f.current>=c)return;let e=setInterval(()=>{d(t=>t>=c?(clearInterval(e),t):t+1)},o);return()=>clearInterval(e)},[c,o]);let p=u>=c&&c>0,m=[`macro-type`,p?`macro-type-done`:``,n.className||``].filter(Boolean).join(` `);return B(`span`,{id:n.id,class:m,ref:s,style:{clipPath:void 0},children:[B(`span`,{class:`macro-type-inner`,style:{display:`inline`,visibility:c===0?`hidden`:`visible`,clipPath:c>0&&!p?`inset(0 ${(c-u)/c*100}% 0 0)`:void 0},children:n.renderInlineNodes(t)}),!p&&c>0&&B(`span`,{class:`macro-type-cursor`})]})}});function _f(e){let t=e.trim().split(/\\s+/);return{name:t[0].replace(/[\"']/g,``),params:t.slice(1).filter(e=>e.startsWith(`@`))}}$({name:`widget`,block:!0,render({rawArgs:e,children:t=[]},n){let{name:r,params:i}=_f(e),a=JSON.stringify(t),o=i.join(`,`);return n.hooks.useLayoutEffect(()=>{let e=nf(t);li(r,t,i,e),e&&or(r)},[r,a,o]),null}}),$({name:`story-title`,render(e,t){let n=Z(e=>e.storyData?.name||``),r=t.className?`story-title ${t.className}`:`story-title`;return B(`span`,{id:t.id,class:r,children:n})}});function vf(e,t){return t?`${e} (${t})`:e}function yf(e){$({name:e.name,render(t,n){if(e.hidden?.())return null;let[r,i]=N(!1),a=e.setup?.()??{perform:()=>{}},{disabled:o,title:s=e.title}=a,c=n.className?`menubar-button ${n.className}`:`menubar-button`,l=e.dialog?()=>i(!0):e.confirm?()=>{confirm(e.confirm)&&a.perform()}:a.perform;return n.useAction({type:e.actionType,key:e.name,authorId:n.id,label:typeof e.label==`string`?e.label:e.name,disabled:o,perform:e.dialog?()=>i(!0):a.perform}),B(S,{children:[B(`button`,{id:n.id,class:c,onClick:l,disabled:o,title:s,children:e.label}),e.dialog&&r&&B(Vu,{passageName:e.dialog.passageName,fallbackMarkup:e.dialog.fallbackMarkup,panelClass:e.dialog.panelClass,onClose:()=>i(!1),showCloseButton:e.dialog.showCloseButton})]})}})}yf({name:`back`,label:`← Back`,actionType:`back`,setup:()=>({perform:Z(e=>e.goBack),disabled:!Z(e=>e.historyIndex>0)})}),yf({name:`forward`,label:`Forward →`,actionType:`forward`,setup:()=>({perform:Z(e=>e.goForward),disabled:!Z(e=>e.historyIndex<e.history.length-1)})}),yf({name:`quicksave`,label:`QuickSave`,actionType:`save`,setup:()=>({perform:Z(e=>e.save),title:vf(`Quick Save`,Z(e=>e.quickSaveKey))})}),yf({name:`quickload`,label:`QuickLoad`,actionType:`load`,confirm:`Load saved game? Current progress will be lost.`,setup:()=>{let e=Z(e=>e.load),t=Z(e=>e.hasSave),n=Z(e=>e.quickLoadKey);return Z(e=>e.knownSaves),{perform:()=>e(),disabled:!t(),title:vf(`Quick Load`,n)}}}),yf({name:`restart`,label:`↺ Restart`,actionType:`restart`,confirm:`Restart the story? All progress will be lost.`,setup:()=>({perform:Z(e=>e.restart)})}),yf({name:`saves`,label:`Saves`,actionType:`dialog`,dialog:{passageName:`SaveLoad`,fallbackMarkup:`{save-manager}`,panelClass:`dialog-saves`}}),yf({name:`settings`,label:`Settings`,actionType:`dialog`,hidden:()=>!Qu.hasAny(),dialog:{passageName:`Settings`,fallbackMarkup:`{settings-controls}`,panelClass:`dialog-settings`}}),$({name:`dialog`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let[r,i]=n.hooks.useState(!1),a=/\\bnoclose\\s*$/.test(e),o=e.replace(/\\bnoclose\\s*$/,``).trim(),s=n.resolve?.(o.replace(/^[\"']|[\"']$/g,``))??o,c=n.collectText(t).trim().replace(/^[\"']|[\"']$/g,``);return B(S,{children:[B(`button`,{id:n.id,class:n.cls,onClick:()=>i(!0),children:s}),r&&B(Vu,{passageName:c,onClose:()=>i(!1),showCloseButton:!a})]})}});function bf(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/1e3);if(n<60)return`just now`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<30?`${a}d ago`:new Date(e).toLocaleDateString()}function xf(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function Sf(){let[e,t]=N(`load`),[n,r]=N([]),[i,a]=N(!0),[o,s]=N(null),[c,l]=N(()=>new Set),[u,d]=N(null),[f,p]=N(``),m=P(null),h=P(null),g=L(Bu),_=Z(e=>e.storyData),v=Z(e=>e.playthroughId),y=Z(e=>e.getSavePayload),b=Z(e=>e.loadFromPayload),x=_?.ifid??``,S=I(async()=>{x&&(r(await Zc(x)),a(!1))},[x]);ke(()=>{S()},[S]),ke(()=>{u&&m.current&&(m.current.focus(),m.current.select())},[u]);let C=P(),w=(e,t=`success`)=>{clearTimeout(C.current),s({text:e,type:t}),C.current=window.setTimeout(()=>s(null),3e3)};ke(()=>()=>clearTimeout(C.current),[]);let T=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},E=async()=>{if(!(!x||!v))try{await Wc(void 0,void 0,y,e=>Gc(x,v,e)),w(`Save created`),await S()}catch{w(`Failed to create save`,`error`)}},D=async e=>{try{await Wc(void 0,void 0,y,async t=>{if(!await Kc(e,t))throw Error(`Save not found`)}),w(`Save overwritten`),await S()}catch{w(`Failed to overwrite save`,`error`)}},O=async e=>{try{b(qc(e.payload)),w(`Game loaded`),g&&setTimeout(g,500)}catch{w(`Failed to load save`,`error`)}},ee=async e=>{if(confirm(`Delete this save?`))try{await Yc(e);let t=await ml(x);Z.setState(e=>{e.knownSaves=t}),w(`Save deleted`),await S()}catch{w(`Failed to delete save`,`error`)}},te=e=>{d(e.meta.id),p(e.meta.title)},ne=async()=>{if(!(!u||!f.trim()))try{await Xc(u,f.trim()),d(null),w(`Save renamed`),await S()}catch{w(`Failed to rename`,`error`)}},k=e=>{e.key===`Enter`?ne():e.key===`Escape`&&d(null)},A=async e=>{try{let t=await Sl(e);if(!t)return;let n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`save-${t.save.meta.title.replace(/[^a-z0-9]/gi,`_`)}.json`,i.click(),URL.revokeObjectURL(r),w(`Save exported`)}catch{w(`Failed to export save`,`error`)}},re=()=>{h.current?.click()},ie=async e=>{let t=e.target,n=t.files?.[0];if(n){t.value=``;try{let e=await n.text(),t=JSON.parse(e);if(!Vn(t))throw Error(`Invalid save file format`);await wl(t,x),w(`Save imported`),await S()}catch(e){w(e instanceof Error?e.message:`Failed to import save`,`error`)}}},ae=n.reduce((e,t)=>e+t.saves.length,0);return B(`div`,{class:`save-manager`,children:[B(`div`,{class:`saves-header`,children:B(`div`,{class:`saves-header-left`,children:B(`div`,{class:`saves-mode-toggle`,children:[B(`button`,{class:e===`save`?`active`:``,onClick:()=>t(`save`),children:`Save`}),B(`button`,{class:e===`load`?`active`:``,onClick:()=>t(`load`),children:`Load`})]})})}),B(`div`,{class:`saves-toolbar`,children:[B(`button`,{class:`saves-toolbar-button`,onClick:re,children:`Import`}),B(`input`,{ref:h,type:`file`,accept:`.json`,style:`display:none`,onChange:ie})]}),B(`div`,{class:`saves-body`,children:[i?B(`div`,{class:`saves-empty`,children:`Loading...`}):ae===0&&e===`load`?B(`div`,{class:`saves-empty`,children:`No saves yet`}):n.map(t=>{let n=c.has(t.playthrough.id),r=t.playthrough.id===v;return e===`save`&&!r||e===`load`&&t.saves.length===0&&!r?null:B(`div`,{class:`playthrough-group`,children:[B(`div`,{class:`playthrough-header`,onClick:()=>T(t.playthrough.id),children:[B(`span`,{class:`playthrough-chevron ${n?``:`open`}`,children:`▶`}),B(`span`,{class:`playthrough-label`,children:[t.playthrough.label,r?` (current)`:``]}),B(`span`,{class:`playthrough-date`,children:xf(t.playthrough.createdAt)})]}),!n&&B(`div`,{class:`playthrough-saves`,children:[t.saves.map(t=>B(`div`,{class:`save-slot`,children:[B(`div`,{class:`save-slot-info`,children:[u===t.meta.id?B(`input`,{ref:m,class:`save-rename-input`,value:f,onInput:e=>p(e.target.value),onKeyDown:k,onBlur:ne}):B(`div`,{class:`save-slot-title`,children:t.meta.title}),B(`div`,{class:`save-slot-meta`,children:[B(`span`,{children:t.meta.passage}),B(`span`,{children:bf(t.meta.updatedAt)})]})]}),B(`div`,{class:`save-slot-actions`,children:[e===`save`?B(`button`,{class:`save-slot-action primary`,onClick:()=>D(t.meta.id),children:`Save Here`}):B(`button`,{class:`save-slot-action primary`,onClick:()=>O(t),children:`Load`}),B(`button`,{class:`save-slot-action`,onClick:()=>te(t),children:`Rename`}),B(`button`,{class:`save-slot-action`,onClick:()=>A(t.meta.id),children:`Export`}),B(`button`,{class:`save-slot-action danger`,onClick:()=>ee(t.meta.id),children:`Delete`})]})]},t.meta.id)),e===`save`&&r&&B(`button`,{class:`save-slot-new`,onClick:E,children:`+ New Save`})]})]},t.playthrough.id)}),e===`save`&&!i&&!n.some(e=>e.playthrough.id===v)&&B(`div`,{class:`playthrough-group`,children:B(`div`,{class:`playthrough-saves`,children:B(`button`,{class:`save-slot-new`,onClick:E,children:`+ New Save`})})})]}),o&&B(`div`,{class:`saves-status ${o.type===`error`?`error`:``}`,children:o.text})]})}$({name:`save-manager`,render(){return B(Sf,{})}});function Cf({name:e,def:t}){let[n,r]=N(()=>Qu.get(e)),i=t=>{r(t),Qu.set(e,t)};switch(t.type){case`toggle`:return B(`label`,{class:`settings-row`,children:[B(`span`,{children:t.config.label}),B(`input`,{type:`checkbox`,checked:!!n,onChange:e=>i(e.target.checked)})]});case`list`:return B(`label`,{class:`settings-row`,children:[B(`span`,{children:t.config.label}),B(`select`,{value:String(n),onChange:e=>i(e.target.value),children:t.config.options.map(e=>B(`option`,{value:e,children:e},e))})]});case`range`:return B(`label`,{class:`settings-row`,children:[B(`span`,{children:[t.config.label,`: `,String(n)]}),B(`input`,{type:`range`,min:t.config.min,max:t.config.max,step:t.config.step,value:Number(n),onInput:e=>i(parseFloat(e.target.value))})]})}}function wf(){let e=Qu.getDefinitions();return B(`div`,{class:`settings-controls`,children:Array.from(e.entries()).map(([e,t])=>B(Cf,{name:e,def:t},e))})}$({name:`settings-controls`,render(){return B(wf,{})}});var Tf=`inline`;function Ef(e){let t=e.trim(),n=null,r=null,i=0,a=null;for(let e=0;e<t.length;e++){let o=t[e];if(a){o===`\\\\`?e++:o===a&&(a=null);continue}if(o===`\"`||o===`'`||o===\"`\")a=o;else if(o===`(`||o===`[`||o===`{`)i++;else if(o===`)`||o===`]`||o===`}`)i--;else if(i===0&&/\\s/.test(o)){let i=e+1;for(;i<t.length&&/\\s/.test(t[i]);)i++;r=[e,i],n??(n=r),e=i-1}}if(r&&r[1]===t.length-6&&t.endsWith(Tf)){let e=t.slice(0,r[0]);if(!/[-+*/%&|^!=<>?:,.]$/.test(e))return{nameExpr:e,inline:!0}}if(n&&n[0]===6&&t.startsWith(Tf)){let e=t.slice(n[1]);if(!/^[-+*/%&|^=<>?:,.]/.test(e))return{nameExpr:e,inline:!0}}return{nameExpr:t,inline:!1}}$({name:`include`,interpolate:!0,merged:!0,render({rawArgs:e},t){let n=Z(e=>e.storyData),{nameExpr:r,inline:i}=Ef(e),a;try{let e=t.evaluate(r);a=String(e)}catch{a=r.replace(/^[\"']|[\"']$/g,``)}let o=n?.passages.get(a),s=t.hooks.useMemo(()=>o?ur(ir(o.content)):null,[o]);if(!n)return null;if(o&&Z.getState().trackRender(a),!o||!s)return B(`span`,{class:`error`,children:`{include${t.sourceLocation()}: passage \"${a}\" not found}`});let c=o.tags.includes(`nobr`),l=i?t.renderInlineNodes(s):t.renderNodes(s,c?{nobr:!0}:void 0);return c?t.wrap(t.h(K.Provider,{value:!0},l)):t.wrap(l)}}),$({name:`nobr`,block:!0,render({children:e=[]},t){return t.wrap(t.h(K.Provider,{value:!0},t.renderNodes(e,{nobr:!0})))}}),$({name:`goto`,merged:!0,render({rawArgs:e},t){return t.hooks.useLayoutEffect(()=>{let n;try{let r=t.evaluate(e);n=String(r)}catch{n=e.replace(/^[\"']|[\"']$/g,``)}Z.getState().navigate(n)},[]),null}}),$({name:`unset`,render({rawArgs:e},t){let n=t.hooks.useRef(!1);if(!n.current){n.current=!0;let r=Z.getState(),i=e.trim();i.startsWith(`$`)?r.deleteVariable(i.slice(1)):i.startsWith(`_`)?r.deleteTemporary(i.slice(1)):i.startsWith(`%`)?r.deleteTransient(i.slice(1)):i.startsWith(`@`)?t.update(i.slice(1),void 0):console.error(`spindle: {unset} expects a variable ($name, _name, %name, or @name), got \"${i}\"`)}return null}}),$({name:`textbox`,storeVar:!0,render({rawArgs:e},t){let{placeholder:n}=t.parseVarArgs(e);return t.useAction({type:`textbox`,key:`$${t.varName}`,authorId:t.id,label:n||t.varName,variable:t.varName,value:t.value,perform:e=>t.setValue(e===void 0?``:String(e))}),B(`input`,{type:`text`,id:t.id,class:t.cls,value:t.value==null?``:String(t.value),placeholder:n,onInput:e=>t.setValue(e.target.value)})}}),$({name:`numberbox`,storeVar:!0,render({rawArgs:e},t){let{placeholder:n}=t.parseVarArgs(e);return t.useAction({type:`numberbox`,key:`$${t.varName}`,authorId:t.id,label:n||t.varName,variable:t.varName,value:t.value,perform:e=>t.setValue(e===void 0?0:Number(e))}),B(`input`,{type:`number`,id:t.id,class:t.cls,value:t.value==null?``:String(t.value),placeholder:n,onInput:e=>{let n=e.target.value;t.setValue(n===``?0:Number(n))}})}}),$({name:`textarea`,storeVar:!0,render({rawArgs:e},t){let{placeholder:n}=t.parseVarArgs(e);return t.useAction({type:`textarea`,key:`$${t.varName}`,authorId:t.id,label:n||t.varName,variable:t.varName,value:t.value,perform:e=>t.setValue(e===void 0?``:String(e))}),B(`textarea`,{id:t.id,class:t.cls,value:t.value==null?``:String(t.value),placeholder:n,onInput:e=>t.setValue(e.target.value)})}});function Df(e){return e.match(/^\\s*[\"']?\\$?[\\w.]+[\"']?\\s+[\"']?(.+?)[\"']?\\s*$/)?.[1]??``}$({name:`checkbox`,storeVar:!0,render({rawArgs:e},t){let n=Df(e);return t.useAction({type:`checkbox`,key:`$${t.varName}`,authorId:t.id,label:n||t.varName||``,variable:t.varName,value:!!t.value,perform:e=>t.setValue(e===void 0?!t.value:!!e)}),B(`label`,{id:t.id,class:t.cls,children:[B(`input`,{type:`checkbox`,checked:!!t.value,onChange:()=>t.setValue(!t.value)}),n?` ${n}`:null]})}});function Of(e){let t=e.match(/^\\s*[\"']?\\$?[\\w.]+[\"']?\\s+[\"'](.+?)[\"']\\s+[\"']?(.+?)[\"']?\\s*$/);if(!t){let t=e.trim().split(/\\s+/).slice(1);return{value:t[0]??``,label:t.slice(1).join(` `)}}return{value:t[1],label:t[2]}}$({name:`radiobutton`,storeVar:!0,render({rawArgs:e},t){let{value:n,label:r}=Of(e);return t.useAction({type:`radiobutton`,key:`$${t.varName}:${n}`,authorId:t.id,label:r||n,variable:t.varName,value:t.value,perform:()=>t.setValue(n)}),B(`label`,{id:t.id,class:t.cls,children:[B(`input`,{type:`radio`,name:`radio-${t.varName}`,checked:t.value===n,onChange:()=>t.setValue(n)}),r?` ${r}`:null]})}}),$({name:`listbox`,subMacros:[`option`],storeVar:!0,render({children:e=[]},t){let n=t.extractOptions(e);return t.useAction({type:`listbox`,key:`$${t.varName}`,authorId:t.id,label:t.varName,variable:t.varName,options:n,value:t.value,perform:e=>{e!==void 0&&t.setValue(String(e))}}),B(`select`,{id:t.id,class:t.cls,value:t.value==null?``:String(t.value),onChange:e=>t.setValue(e.target.value),children:n.map(e=>B(`option`,{value:e,children:e},e))})}}),$({name:`cycle`,block:!0,storeVar:!0,render({children:e=[]},t){let n=t.extractOptions(e),r=()=>{if(n.length===0)return;let e=t.getValue(),r=(n.indexOf(String(e))+1)%n.length;t.setValue(n[r])};return t.useAction({type:`cycle`,key:`$${t.varName}`,authorId:t.id,label:t.value==null?n[0]||``:String(t.value),variable:t.varName,options:n,value:t.value,perform:e=>{e===void 0?r():t.setValue(e)}}),B(`button`,{id:t.id,class:t.cls,onClick:r,children:t.value==null?n[0]||``:String(t.value)})}}),$({name:`span`,block:!0,render({children:e=[]},t){return t.wrap(t.renderNodes(e))}});var kf=new WeakMap;function Af(e){let t=kf.get(e);if(t&&t.content===e.content)return t.ast;let n=ur(ir(e.content));return kf.set(e,{content:e.content,ast:n}),n}function jf(e){return $s(Af(e),e.tags.includes(`nobr`)?{nobr:!0}:void 0)}var Mf=new Set([`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]);function Nf({passage:e,dataTransition:t}){let n=Z(e=>e.storyData),r=Mf.has(e.name),[i,a]=N(!1),o=F(()=>{try{return jf(e)}catch(t){return B(`div`,{class:`error`,children:[`Error parsing passage “`,e.name,`”`,ld(e),`:`,` `,t instanceof Error?t.message:String(t)]})}},[e.content,e.name]),s=r?void 0:n?.passages.get(`PassageHeader`),c=r?void 0:n?.passages.get(`PassageFooter`),l=r?void 0:n?.passages.get(`PassageDone`),u=F(()=>{if(!s)return null;try{return jf(s)}catch(e){return console.error(`spindle: Error in PassageHeader:`,e),null}},[s?.content]),d=F(()=>{if(!c)return null;try{return jf(c)}catch(e){return console.error(`spindle: Error in PassageFooter:`,e),null}},[c?.content]);ke(()=>(l&&a(!0),()=>a(!1)),[e.name]);let f=F(()=>{if(!i||!l)return null;try{return jf(l)}catch(e){return console.error(`spindle: Error in PassageDone:`,e),null}},[i,l?.content]),p=P(null);Ae(()=>{vd(e.name),p.current&&Pc(`passagerender`,e.name,p.current)},[e.name]);let m=e.tags.includes(`nobr`),h=B(`div`,{ref:p,class:`passage`,\"data-passage\":e.name,\"data-tags\":e.tags.join(` `),\"data-transition\":t,children:[u&&B(`div`,{class:`passage-header`,children:u}),o,d&&B(`div`,{class:`passage-footer`,children:d}),f&&B(`div`,{hidden:!0,children:f})]});return m?B(K.Provider,{value:!0,children:h}):h}var Pf=new Set([`none`,`fade`,`fade-through`,`crossfade`]),Ff={type:`fade-through`,duration:300,pause:50};function If(e){let t=e.find(e=>e.startsWith(`transition:`));if(!t)return null;let n=t.slice(11);if(!Pf.has(n))return console.warn(`Unknown transition type: \"${n}\"`),null;let r={type:n};for(let t of e)if(t.startsWith(`duration:`)){let e=Number(t.slice(9));Number.isNaN(e)||(r.duration=e)}else if(t.startsWith(`pause:`)){let e=Number(t.slice(6));Number.isNaN(e)||(r.pause=e)}return r}function Lf(e){return{type:e.type,duration:e.duration??Ff.duration,pause:e.pause??Ff.pause}}function Rf(e,t,n){let r=If(e);return r?Lf(r):t?Lf(t):n?Lf(n):{...Ff}}function zf(e,t){let n=e.cloneNode(!0);n.removeAttribute(`id`);let r=n.querySelectorAll(`[id]`);for(let e=0;e<r.length;e++)r[e].removeAttribute(`id`);n.style.pointerEvents=`none`,n.style.userSelect=`none`;let i=n.querySelectorAll(`audio, video`);for(let e=0;e<i.length;e++){let t=i[e];t.pause?.(),t.muted=!0}return n.classList.remove(`passage`),n.classList.add(`passage-snapshot`),n.setAttribute(`data-transition`,t),n}function Bf(e,t){e.style.setProperty(`--passage-in-duration`,`${t.duration/1e3}s`),e.style.setProperty(`--passage-out-duration`,`${t.duration/1e3}s`),e.style.setProperty(`--passage-pause`,`${t.pause/1e3}s`)}function Vf(e){if(!e)return;e.classList.remove(`passage-container--crossfading`);let t=e.querySelectorAll(`.passage-snapshot`);for(let e=0;e<t.length;e++)t[e].remove()}$({name:`passage`,interpolate:!0,render(e,t){let n=Z(e=>e.currentPassage),r=Z(e=>e.navigationId),i=Z(e=>e.storyData),a=Z(e=>e.renderDeferred),[o,s]=N({passage:n,id:r}),c=o.passage,l=e=>s({passage:e,id:r}),u=P(`fade`),d=P(0),f=P(null),p=P([]),m=I(()=>{for(let e of p.current)clearTimeout(e);p.current=[],Vf(f.current)},[]);ke(()=>{let e=Z.getState(),{history:t,historyIndex:a,transitionConfig:s}=e,h=e.consumeNextTransition(),g=d.current;d.current=t.length;let _=!c,v=t.length===1&&a===0&&g>1,y=t.length>1&&a===t.length-1&&g>1&&Math.abs(t.length-g)>1;if(r===o.id)return;m();let b=i?.passages.get(n);if(!b){u.current=`none`,l(n);return}if(_||v||y){u.current=`fade`,l(n);return}let x=Rf(b.tags,h,s);u.current=x.type;let S=f.current;if(x.type===`none`){l(n);return}if(x.type===`fade`){S&&Bf(S,x),l(n);return}if(x.type===`fade-through`){if(!S){l(n);return}Bf(S,x);let e=S.querySelector(`.passage`);if(!e){l(n);return}let t=zf(e,x.type);S.appendChild(t),l(``);let r=x.duration+x.pause,i=setTimeout(()=>{l(n)},r),a=r+x.duration;p.current=[i,setTimeout(()=>{Vf(S)},a)];return}if(x.type===`crossfade`){if(!S){l(n);return}Bf(S,x);let e=S.querySelector(`.passage`);if(!e){l(n);return}let t=zf(e,x.type);S.classList.add(`passage-container--crossfading`),S.appendChild(t),l(n),p.current=[setTimeout(()=>{Vf(S)},x.duration)];return}l(n)},[r]);let h=a?i?.passages.get(`StoryLoading`)??null:c?i?.passages.get(c):null;if(!h&&c&&!a)return B(`div`,{class:`error`,children:[`Error: Passage “`,c,`” not found.`]});let g=i?.passages.get(`PassageReady`);return B(`div`,{id:t.id??`story`,class:t.className??`story`,children:[!a&&g&&B(`div`,{hidden:!0,children:jf(g)},`ready-${r}`),B(`div`,{class:`passage-container`,ref:f,children:h&&B(Nf,{passage:h,dataTransition:a?`none`:u.current},a?`loading`:`nav-${o.id}`)})]})}}),$({name:`watch`,render(e,t){let{hooks:n}=t,r=e.rawArgs.trim(),i=r.match(/^(['\"])(.*?)\\1\\s*/);if(!i)return null;let a=i[2],o=r.slice(i[0].length),s={},c=/(\\w+)\\s+(?:\"([^\"]*?)\"|'([^']*?)'|(\\d+))|(\\w+)/g,l;for(;(l=c.exec(o))!==null;){let e=l[1]??l[5],t=l[2]??l[3]??l[4];if(e)switch(e){case`goto`:s.goto=t;break;case`dialog`:s.dialog=t;break;case`run`:s.run=t;break;case`name`:s.name=t;break;case`priority`:s.priority=t?Number(t):0;break;case`once`:s.once=!0;break}}let u=n.useRef(!1);return u.current||(u.current=!0,Kl(a,s)),null}}),$({name:`unwatch`,render(e,t){let n=e.rawArgs.trim().replace(/^['\"]|['\"]$/g,``),r=t.hooks.useRef(!1);return r.current||(r.current=!0,ql(n)),null}});var Hf=`*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{color:#e0e0e0;background-color:#1a1a2e;min-height:100vh;margin:0;padding:0;font-family:Georgia,Times New Roman,serif;line-height:1.75}tw-storydata{display:none!important}#story{max-width:42em;margin:0 auto;padding:2em 1.5em}.passage-container{position:relative}.passage-container--crossfading{display:grid}.passage-container--crossfading>*{grid-area:1/1}.passage{animation:passage-fade-in var(--passage-in-duration,.3s) ease}.passage[data-transition=none]{animation:none}.passage-snapshot{animation:passage-fade-out var(--passage-out-duration,.3s) ease forwards;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes passage-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes passage-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.passage,.passage-snapshot{animation-duration:10ms!important}}.macro-button{color:#64b5f6;font:inherit;cursor:pointer;background:#64b5f626;border:1px solid #64b5f666;border-radius:4px;padding:.25em .75em;font-size:.95em;transition:background .2s,border-color .2s}.macro-button:hover{background:#64b5f640;border-color:#90caf9}.macro-button:active{background:#64b5f659}.error{color:#ef5350;background:#ef53501a;border:1px solid #ef5350;border-radius:4px;padding:1em;font-family:monospace}.loading{text-align:center;opacity:.6;padding:2em}.story-menubar{z-index:100;background:#16213e;border-bottom:1px solid #ffffff14;align-items:center;gap:.5em;padding:.5em 1.5em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.9em;display:flex;position:sticky;top:0}.story-title{color:#e0e0e0;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.menubar-button{color:#9e9e9e;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:.35em .7em;transition:color .2s,background .2s}.menubar-button:hover{color:#e0e0e0;background:#ffffff14}.menubar-button:disabled{opacity:.4;cursor:default}.menubar-button:disabled:hover{color:#9e9e9e;background:0 0}.dialog-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog-panel{color:#e0e0e0;background:#16213e;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex;position:relative}.dialog-panel:focus{outline:none}.dialog-saves{max-width:550px}.dialog-settings{max-width:400px}.dialog-close{z-index:1;color:#9e9e9e;cursor:pointer;background:0 0;border:none;padding:.25em;font-size:1.1em;line-height:1;position:absolute;top:.75em;right:.75em}.dialog-close:hover{color:#e0e0e0}.dialog-body{flex:1;min-height:0;overflow-y:auto}.settings-controls{flex-direction:column;gap:1em;padding:1em 1.25em;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:1em;display:flex}.settings-row select,.settings-row input[type=range]{accent-color:#64b5f6}.settings-row select{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.settings-row input[type=checkbox]{accent-color:#64b5f6;width:1.1em;height:1.1em}.save-manager{flex-direction:column;flex:1;min-height:0;display:flex}.saves-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:1em 3em 1em 1.25em;font-weight:600;display:flex}.saves-header-left{align-items:center;gap:.75em;display:flex}.saves-mode-toggle{border:1px solid #ffffff26;border-radius:4px;gap:0;display:flex;overflow:hidden}.saves-mode-toggle button{color:#9e9e9e;font:inherit;cursor:pointer;background:0 0;border:none;padding:.3em .8em;font-size:.85em;font-weight:600;transition:background .2s,color .2s}.saves-mode-toggle button.active{color:#64b5f6;background:#64b5f633}.saves-mode-toggle button:hover:not(.active){color:#e0e0e0}.saves-body{flex:1;min-height:0;padding:.75em 1.25em;overflow-y:auto}.saves-empty{text-align:center;opacity:.5;padding:2em 1em;font-size:.9em}.saves-toolbar{border-bottom:1px solid #ffffff14;flex-shrink:0;gap:.5em;padding:.5em 1.25em;display:flex}.saves-toolbar-button{color:#9e9e9e;font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:.3em .7em;font-size:.8em;transition:background .2s,color .2s}.saves-toolbar-button:hover{color:#e0e0e0;background:#ffffff1a}.playthrough-group{margin-bottom:.75em}.playthrough-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#9e9e9e;align-items:center;gap:.5em;padding:.4em 0;font-size:.85em;transition:color .2s;display:flex}.playthrough-header:hover{color:#e0e0e0}.playthrough-chevron{font-size:.7em;transition:transform .2s;display:inline-block}.playthrough-chevron.open{transform:rotate(90deg)}.playthrough-label{font-weight:600}.playthrough-date{opacity:.6;font-size:.9em}.playthrough-saves{flex-direction:column;gap:.4em;padding-left:.25em;display:flex}.save-slot{background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:.75em;padding:.5em .6em;transition:background .15s;display:flex}.save-slot:hover{background:#ffffff0f}.save-slot-info{flex:1;min-width:0}.save-slot-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9em;font-weight:500;overflow:hidden}.save-slot-meta{color:#9e9e9e;gap:.75em;font-size:.75em;display:flex}.save-slot-actions{flex-shrink:0;gap:.3em;display:flex}.save-slot-action{color:#9e9e9e;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;padding:.2em .5em;font-size:.75em;transition:color .2s,background .2s}.save-slot-action:hover{color:#e0e0e0;background:#ffffff14}.save-slot-action.primary{color:#64b5f6;border-color:#64b5f64d}.save-slot-action.primary:hover{background:#64b5f626}.save-slot-action.danger:hover{color:#ef5350;background:#ef53501a}.save-slot-new{color:#9e9e9e;font:inherit;cursor:pointer;background:0 0;border:1px dashed #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:100%;margin-top:.25em;padding:.5em;font-size:.8em;transition:color .2s,border-color .2s,background .2s;display:flex}.save-slot-new:hover{color:#64b5f6;background:#64b5f60d;border-color:#64b5f64d}.saves-status{color:#81c784;text-align:center;border-top:1px solid #ffffff14;flex-shrink:0;padding:.5em 1.25em;font-size:.8em}.saves-status.error{color:#ef5350;background:0 0;border:none;border-radius:0;padding:.5em 1.25em;font-family:inherit}.save-rename-input{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #64b5f666;border-radius:3px;width:100%;padding:.15em .4em;font-size:.9em}.save-rename-input:focus{border-color:#64b5f6;outline:none}.macro-link{color:#64b5f6;cursor:pointer;border-bottom:1px solid #64b5f64d;text-decoration:none;transition:color .2s,border-color .2s}.macro-link:hover{color:#90caf9;border-bottom-color:#90caf9}.macro-link:active{color:#42a5f5}.macro-textbox,.macro-numberbox,.macro-textarea{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.macro-textbox:focus,.macro-numberbox:focus,.macro-textarea:focus{border-color:#64b5f6;outline:none}.macro-textarea{resize:vertical;min-height:3em}.macro-checkbox,.macro-radiobutton{cursor:pointer;align-items:center;gap:.3em;display:inline-flex}.macro-checkbox input,.macro-radiobutton input{accent-color:#64b5f6}.macro-listbox{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.macro-cycle{color:#64b5f6;font:inherit;cursor:pointer;background:#64b5f626;border:1px solid #64b5f666;border-radius:4px;padding:.25em .75em;transition:background .2s,border-color .2s}.macro-cycle:hover{background:#64b5f640;border-color:#90caf9}.macro-meter{background:#2a2a3e;border:1px solid #444;border-radius:.3em;width:100%;height:1.4em;position:relative;overflow:hidden}.macro-meter-fill{background:#64b5f6;height:100%;transition:width .3s}.macro-meter-label{color:#e0e0e0;text-shadow:0 1px 2px #000c;pointer-events:none;justify-content:center;align-items:center;font-size:.85em;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.md{display:contents}.passage p{margin:.6em 0}.passage p:first-child{margin-top:0}.passage p:last-child{margin-bottom:0}.passage h1,.passage h2,.passage h3,.passage h4,.passage h5,.passage h6{color:#f0f0f0;margin:1em 0 .4em;line-height:1.3}.passage h1{font-size:1.8em}.passage h2{font-size:1.5em}.passage h3{font-size:1.25em}.passage h4{font-size:1.1em}.passage h5{font-size:1em}.passage h6{opacity:.8;font-size:.9em}.passage code{background:#ffffff14;border-radius:3px;padding:.15em .35em;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.9em}.passage pre{background:#0000004d;border:1px solid #ffffff14;border-radius:6px;margin:.8em 0;padding:1em;overflow-x:auto}.passage pre code{background:0 0;border-radius:0;padding:0;font-size:.85em}.passage blockquote{color:#b0b0b0;border-left:3px solid #64b5f680;margin:.8em 0;padding:.4em 1em}.passage blockquote p{margin:.3em 0}.passage ul,.passage ol{margin:.6em 0;padding-left:1.8em}.passage li{margin:.2em 0}.passage hr{border:none;border-top:1px solid #ffffff1f;margin:1.2em 0}.passage table{border-collapse:collapse;width:100%;margin:.8em 0}.passage th,.passage td{text-align:left;border:1px solid #ffffff1f;padding:.5em .75em}.passage th{background:#ffffff0f;font-weight:600}.passage tr:nth-child(2n){background:#ffffff05}.passage del{opacity:.5}.passage strong{color:#f0f0f0}.macro-type-cursor:after{content:\"█\";color:#64b5f6;animation:.7s step-end infinite type-blink}.macro-type-done .macro-type-cursor:after{display:none}@keyframes type-blink{50%{opacity:0}}`;function Uf(e,t){e.innerHTML=``;let n=document.createElement(`div`);n.style.cssText=`font-family:monospace;padding:2rem;max-width:60rem;margin:0 auto`;let r=document.createElement(`h1`);r.style.color=`#c00`,r.textContent=`Story Validation Errors`,n.appendChild(r);let i=document.createElement(`ul`);i.style.cssText=`line-height:1.6`;for(let e of t){let t=document.createElement(`li`);t.textContent=e,i.appendChild(t)}n.appendChild(i),e.appendChild(n)}function Wf(){let e=Gu(),t=document.createElement(`style`);if(t.id=`spindle-styles`,t.textContent=Hf,document.head.appendChild(t),Fd(),e.userCSS){let t=document.createElement(`style`);t.textContent=e.userCSS,document.head.appendChild(t)}if(e.userScript)try{Function(e.userScript)()}catch(e){console.error(`spindle: Error in story JavaScript:`,e)}document.dispatchEvent(new CustomEvent(`:storystartup`));let n={},r=e.passages.get(`StoryVariables`);if(!r){let e=`Missing StoryVariables passage. Add a :: StoryVariables passage to declare your variables.`,t=document.getElementById(`root`);throw t&&Uf(t,[e]),Error(`spindle: ${e}`)}let i=Wd(r.content),a=yi().filter(e=>e.storeVar).map(e=>e.name),o=ef(e.passages,i,a),s={},c=e.passages.get(`StoryTransients`);if(c){let e=Wd(c.content,`%`);for(let t of e.keys())i.has(t)&&o.push(`StoryTransients: Variable \"${t}\" is already declared in StoryVariables. Names must be unique across scopes.`);s=tf(e)}if(o.length>0){let e=document.getElementById(`root`);throw e&&Uf(e,o),Error(`spindle: ${o.length} validation error(s):\\n${o.join(`\n`)}`)}n=tf(i),Ad(Object.keys(n),Object.keys(s)),Z.getState().init(e,n,s),Ou();let l=/\\{widget\\s+[\"']?(\\w+)[\"']?[^}]*\\}([\\s\\S]*?)\\{\\/widget\\}/g;for(let[t,n]of e.passages)if(t===`StoryInit`||n.tags.includes(`widget`)){let e;for(;(e=l.exec(n.content))!==null;){let t=e[1],n=e[2];/\\{@children\\}/.test(n)&&or(t)}l.lastIndex=0}Pl(bl(e.ifid));for(let[,t]of e.passages)if(t.tags.includes(`widget`)){let e=ur(ir(t.content));for(let t of e)if(t.type===`macro`&&t.name===`widget`&&t.rawArgs){let e=t.rawArgs.trim().split(/\\s+/),n=e[0].replace(/[\"']/g,``),r=e.slice(1).filter(e=>e.startsWith(`$`)||e.startsWith(`_`)||e.startsWith(`@`)),i=t.children,a=nf(i);li(n,i,r,a),a&&or(n)}}let u=Z.getState().navigationId;Z.subscribe(e=>{e.navigationId!==u&&(u=e.navigationId,ad())}),eu();let d=e.passages.get(`StoryInterface`);d&&!d.content.includes(`{passage}`)&&console.warn(`spindle: StoryInterface passage does not contain {passage}. The current passage will not be displayed.`);let f=document.getElementById(`root`);if(!f)throw Error(`spindle: No <div id=\"root\"> element found.`);me(B(Uu,{}),f);let p=Sd();p?p.then(()=>{document.dispatchEvent(new CustomEvent(`:storyready`))}):document.dispatchEvent(new CustomEvent(`:storyready`))}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,Wf):Wf();</script>\n </head>\n <body>\n <div id=\"root\"></div>\n {{STORY_DATA}}\n </body>\n</html>\n"})
1
+ window.storyFormat({"name":"spindle","version":"0.51.2","author":"Rohal12","description":"A Preact-based story format for Twine 2.","image":"","url":"","license":"Unlicense","proofing":false,"source":"<!doctype html>\n<html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1\"\n />\n <title>{{STORY_NAME}}</title>\n <link\n id=\"favicon\"\n rel=\"icon\"\n type=\"image/svg+xml\"\n href=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cdefs%3E%3ClinearGradient id='sg' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%23c4b5fd'/%3E%3Cstop offset='50%25' stop-color='%238b5cf6'/%3E%3Cstop offset='100%25' stop-color='%235b21b6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='16' cy='16' rx='13' ry='5' stroke='%237c3aed' stroke-width='1.8' fill='none' opacity='.85' transform='rotate(55,16,16)'/%3E%3Cellipse cx='16' cy='16' rx='13' ry='5' stroke='%238b5cf6' stroke-width='1.8' fill='none' opacity='.85' transform='rotate(-55,16,16)'/%3E%3Cpath d='M16 3Q19.5 9 20.5 16 19.5 23 16 29 12.5 23 11.5 16 12.5 9 16 3Z' fill='url(%23sg)'/%3E%3C/svg%3E\"\n />\n <script type=\"module\" crossorigin>var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel=\"modulepreload\"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var n,r,i,a,o,s,c,l,u,d,f,p,m={},h=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,_=Array.isArray;function v(e,t){for(var n in t)e[n]=t[n];return e}function y(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function b(e,t,r){var i,a,o,s={};for(o in t)o==`key`?i=t[o]:o==`ref`?a=t[o]:s[o]=t[o];if(arguments.length>2&&(s.children=arguments.length>3?n.call(arguments,2):r),typeof e==`function`&&e.defaultProps!=null)for(o in e.defaultProps)s[o]===void 0&&(s[o]=e.defaultProps[o]);return x(e,s,i,a,null)}function x(e,t,n,a,o){var s={type:e,props:t,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++i,__i:-1,__u:0};return o==null&&r.vnode!=null&&r.vnode(s),s}function S(e){return e.children}function C(e,t){this.props=e,this.context=t}function w(e,t){if(t==null)return e.__?w(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?w(e):null}function T(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,i=[],a=[],o=v({},t);o.__v=t.__v+1,r.vnode&&r.vnode(o),oe(e.__P,o,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,i,n??w(t),!!(32&t.__u),a),o.__v=t.__v,o.__.__k[o.__i]=o,ce(i,o,a),t.__e=t.__=null,o.__e!=n&&E(o)}}function E(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),E(e)}function D(e){(!e.__d&&(e.__d=!0)&&a.push(e)&&!O.__r++||o!=r.debounceRendering)&&((o=r.debounceRendering)||s)(O)}function O(){try{for(var e,t=1;a.length;)a.length>t&&a.sort(c),e=a.shift(),t=a.length,T(e)}finally{a.length=O.__r=0}}function ee(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,g,_,v,y,b=r&&r.__k||h,x=t.length;for(c=te(n,t,b,c,x),d=0;d<x;d++)(p=n.__k[d])!=null&&(f=p.__i!=-1&&b[p.__i]||m,p.__i=d,v=oe(e,p,f,i,a,o,s,c,l,u),g=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&de(f.ref,null,p),u.push(p.ref,p.__c||g,p)),_==null&&g!=null&&(_=g),(y=!!(4&p.__u))||f.__k===p.__k?c=ne(p,c,e,y):typeof p.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),p.__u&=-7);return n.__e=_,c}function te(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?o=e.__k[a]=x(null,o,null,null,null):_(o)?o=e.__k[a]=x(S,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,c=a+f,o.__=e,o.__b=e.__b+1,s=null,(l=o.__i=A(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=w(s)),fe(s,s));return r}function ne(e,t,n,r){var i,a;if(typeof e.type==`function`){for(i=e.__k,a=0;i&&a<i.length;a++)i[a]&&(i[a].__=e,t=ne(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=w(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function k(e,t){return t=t||[],e==null||typeof e==`boolean`||(_(e)?e.some(function(e){k(e,t)}):t.push(e)),t}function A(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>(u?1:0)){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function re(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||g.test(t)?n:n+`px`}function ie(e,t,n,r,i){var a,o;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||re(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||re(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(l,`$1`)),o=t.toLowerCase(),t=o in e||t==`onFocusOut`||t==`onFocusIn`?o.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r?n.u=r.u:(n.u=u,e.addEventListener(t,a?f:d,a)):e.removeEventListener(t,a?f:d,a);else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function ae(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=u++;else if(t.t<n.u)return;return n(r.event?r.event(t):t)}}}function oe(e,t,n,i,a,o,s,c,l,u){var d,f,p,m,g,b,x,w,T,E,D,O,te,ne,k,A=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(l=!!(32&n.__u),o=[c=t.__e=n.__e]),(d=r.__b)&&d(t);n:if(typeof A==`function`)try{if(w=t.props,T=A.prototype&&A.prototype.render,E=(d=A.contextType)&&i[d.__c],D=d?E?E.props.value:d.__:i,n.__c?x=(f=t.__c=n.__c).__=f.__E:(T?t.__c=f=new A(w,D):(t.__c=f=new C(w,D),f.constructor=A,f.render=pe),E&&E.sub(f),f.state||(f.state={}),f.__n=i,p=f.__d=!0,f.__h=[],f._sb=[]),T&&f.__s==null&&(f.__s=f.state),T&&A.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=v({},f.__s)),v(f.__s,A.getDerivedStateFromProps(w,f.__s))),m=f.props,g=f.state,f.__v=t,p)T&&A.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),T&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(T&&A.getDerivedStateFromProps==null&&w!==m&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(w,D),t.__v==n.__v||!f.__e&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(w,f.__s,D)){t.__v!=n.__v&&(f.props=w,f.state=f.__s,f.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),h.push.apply(f.__h,f._sb),f._sb=[],f.__h.length&&s.push(f);break n}f.componentWillUpdate!=null&&f.componentWillUpdate(w,f.__s,D),T&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(m,g,b)})}if(f.context=D,f.props=w,f.__P=e,f.__e=!1,O=r.__r,te=0,T)f.state=f.__s,f.__d=!1,O&&O(t),d=f.render(f.props,f.state,f.context),h.push.apply(f.__h,f._sb),f._sb=[];else do f.__d=!1,O&&O(t),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(f.__d&&++te<25);f.state=f.__s,f.getChildContext!=null&&(i=v(v({},i),f.getChildContext())),T&&!p&&f.getSnapshotBeforeUpdate!=null&&(b=f.getSnapshotBeforeUpdate(m,g)),ne=d!=null&&d.type===S&&d.key==null?le(d.props.children):d,c=ee(e,_(ne)?ne:[ne],t,n,i,a,o,s,c,l,u),f.base=t.__e,t.__u&=-161,f.__h.length&&s.push(f),x&&(f.__E=f.__=null)}catch(e){if(t.__v=null,l||o!=null)if(e.then){for(t.__u|=l?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;o[o.indexOf(c)]=null,t.__e=c}else{for(k=o.length;k--;)y(o[k]);se(t)}else t.__e=n.__e,t.__k=n.__k,e.then||se(t);r.__e(e,t,n)}else o==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):c=t.__e=ue(n.__e,t,n,i,a,o,s,l,u);return(d=r.diffed)&&d(t),128&t.__u?void 0:c}function se(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(se))}function ce(e,t,n){for(var i=0;i<n.length;i++)de(n[i],n[++i],n[++i]);r.__c&&r.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){r.__e(e,t.__v)}})}function le(e){return typeof e!=`object`||!e||e.__b>0?e:_(e)?e.map(le):v({},e)}function ue(e,t,i,a,o,s,c,l,u){var d,f,p,h,g,v,b,x=i.props||m,S=t.props,C=t.type;if(C==`svg`?o=`http://www.w3.org/2000/svg`:C==`math`?o=`http://www.w3.org/1998/Math/MathML`:o||(o=`http://www.w3.org/1999/xhtml`),s!=null){for(d=0;d<s.length;d++)if((g=s[d])&&`setAttribute`in g==!!C&&(C?g.localName==C:g.nodeType==3)){e=g,s[d]=null;break}}if(e==null){if(C==null)return document.createTextNode(S);e=document.createElementNS(o,C,S.is&&S),l&&(r.__m&&r.__m(t,s),l=!1),s=null}if(C==null)x===S||l&&e.data==S||(e.data=S);else{if(s=s&&n.call(e.childNodes),!l&&s!=null)for(x={},d=0;d<e.attributes.length;d++)x[(g=e.attributes[d]).name]=g.value;for(d in x)g=x[d],d==`dangerouslySetInnerHTML`?p=g:d==`children`||d in S||d==`value`&&`defaultValue`in S||d==`checked`&&`defaultChecked`in S||ie(e,d,null,g,o);for(d in S)g=S[d],d==`children`?h=g:d==`dangerouslySetInnerHTML`?f=g:d==`value`?v=g:d==`checked`?b=g:l&&typeof g!=`function`||x[d]===g||ie(e,d,g,x[d],o);if(f)l||p&&(f.__html==p.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),t.__k=[];else if(p&&(e.innerHTML=``),ee(t.type==`template`?e.content:e,_(h)?h:[h],t,i,a,C==`foreignObject`?`http://www.w3.org/1999/xhtml`:o,s,c,s?s[0]:i.__k&&w(i,0),l,u),s!=null)for(d=s.length;d--;)y(s[d]);l||(d=`value`,C==`progress`&&v==null?e.removeAttribute(`value`):v!=null&&(v!==e[d]||C==`progress`&&!v||C==`option`&&v!=x[d])&&ie(e,d,v,x[d],o),d=`checked`,b!=null&&b!=e[d]&&ie(e,d,b,x[d],o))}return e}function de(e,t,n){try{if(typeof e==`function`){var i=typeof e.__u==`function`;i&&e.__u(),i&&t==null||(e.__u=e(t))}else e.current=t}catch(e){r.__e(e,n)}}function fe(e,t,n){var i,a;if(r.unmount&&r.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||de(i,null,t)),(i=e.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){r.__e(e,t)}i.base=i.__P=null}if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&fe(i[a],t,n||typeof e.type!=`function`);n||y(e.__e),e.__c=e.__=e.__e=void 0}function pe(e,t,n){return this.constructor(e,n)}function me(e,t,i){var a,o,s,c;t==document&&(t=document.documentElement),r.__&&r.__(e,t),o=(a=typeof i==`function`)?null:i&&i.__k||t.__k,s=[],c=[],oe(t,e=(!a&&i||t).__k=b(S,null,[e]),o||m,m,t.namespaceURI,!a&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,s,!a&&i?i:o?o.__e:t.firstChild,a,c),ce(s,e,c)}function he(e){function t(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,D(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c=`__cC`+ p++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t}n=h.slice,r={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},i=0,C.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=v({},this.state);typeof e==`function`&&(e=e(v({},n),this.props)),e&&v(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),D(this))},C.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),D(this))},C.prototype.render=S,a=[],s=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,c=function(e,t){return e.__v.__b-t.__v.__b},O.__r=0,l=/(PointerCapture)$|Capture$/i,u=0,d=ae(!1),f=ae(!0),p=0;var ge,j,_e,ve,ye=0,be=[],M=r,xe=M.__b,Se=M.__r,Ce=M.diffed,we=M.__c,Te=M.unmount,Ee=M.__;function De(e,t){M.__h&&M.__h(j,e,ye||t),ye=0;var n=j.__H||(j.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function N(e){return ye=1,Oe(Le,e)}function Oe(e,t,n){var r=De(ge++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Le(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=j,!j.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return e.__c});if(i.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var o=r.__c.props!==e;return i.some(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}}),a&&a.call(this,e,t,n)||o};j.__f=!0;var a=j.shouldComponentUpdate,o=j.componentWillUpdate;j.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},j.shouldComponentUpdate=i}return r.__N||r.__}function ke(e,t){var n=De(ge++,3);!M.__s&&Ie(n.__H,t)&&(n.__=e,n.u=t,j.__H.__h.push(n))}function Ae(e,t){var n=De(ge++,4);!M.__s&&Ie(n.__H,t)&&(n.__=e,n.u=t,j.__h.push(n))}function P(e){return ye=5,F(function(){return{current:e}},[])}function F(e,t){var n=De(ge++,7);return Ie(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function I(e,t){return ye=8,F(function(){return e},t)}function L(e){var t=j.context[e.__c],n=De(ge++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(j)),t.props.value):e.__}function je(){for(var e;e=be.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Pe),t.__h.some(Fe),t.__h=[]}catch(n){t.__h=[],M.__e(n,e.__v)}}}M.__b=function(e){j=null,xe&&xe(e)},M.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Ee&&Ee(e,t)},M.__r=function(e){Se&&Se(e),ge=0;var t=(j=e.__c).__H;t&&(_e===j?(t.__h=[],j.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(Pe),t.__h.some(Fe),t.__h=[],ge=0)),_e=j},M.diffed=function(e){Ce&&Ce(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(be.push(t)!==1&&ve===M.requestAnimationFrame||((ve=M.requestAnimationFrame)||Ne)(je)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),_e=j=null},M.__c=function(e,t){t.some(function(e){try{e.__h.some(Pe),e.__h=e.__h.filter(function(e){return!e.__||Fe(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],M.__e(n,e.__v)}}),we&&we(e,t)},M.unmount=function(e){Te&&Te(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{Pe(e)}catch(e){t=e}}),n.__H=void 0,t&&M.__e(t,n.__v))};var Me=typeof requestAnimationFrame==`function`;function Ne(e){var t,n=function(){clearTimeout(r),Me&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Me&&(t=requestAnimationFrame(n))}function Pe(e){var t=j,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),j=t}function Fe(e){var t=j;e.__c=e.__(),j=t}function Ie(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function Le(e,t){return typeof t==`function`?t(e):t}function Re(e,t){for(var n in t)e[n]=t[n];return e}function ze(e,t){for(var n in e)if(n!==`__source`&&!(n in t))return!0;for(var r in t)if(r!==`__source`&&e[r]!==t[r])return!0;return!1}function Be(e,t){var n=t(),r=N({t:{__:n,u:t}}),i=r[0].t,a=r[1];return Ae(function(){i.__=n,i.u=t,Ve(i)&&a({t:i})},[e,n,t]),ke(function(){return Ve(i)&&a({t:i}),e(function(){Ve(i)&&a({t:i})})},[e]),n}function Ve(e){try{return!((t=e.__)===(n=e.u())&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}var t,n}function He(e,t){this.props=e,this.context=t}(He.prototype=new C).isPureReactComponent=!0,He.prototype.shouldComponentUpdate=function(e,t){return ze(this.props,e)||ze(this.state,t)};var Ue=r.__b;r.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ue&&Ue(e)},typeof Symbol<`u`&&Symbol.for;var We=r.__e;r.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e??(t.__e=n.__e,t.__k=n.__k),i.__c(e,t)}We(e,t,n,r)};var Ge=r.unmount;function Ke(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){typeof e.__c==`function`&&e.__c()}),e.__c.__H=null),(e=Re({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return Ke(e,t,n)})),e}function qe(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return qe(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function Je(){this.__u=0,this.o=null,this.__b=null}function Ye(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function Xe(){this.i=null,this.l=null}r.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Ge&&Ge(e)},(Je.prototype=new C).__c=function(e,t){var n=t.__c,r=this;r.o??(r.o=[]),r.o.push(n);var i=Ye(r.__v),a=!1,o=function(){a||r.__z||(a=!0,n.__R=null,i?i(c):c())};n.__R=o;var s=n.__P;n.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=qe(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=s,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},Je.prototype.componentWillUnmount=function(){this.o=[]},Je.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement(`div`),r=this.__v.__k[0].__c;this.__v.__k[0]=Ke(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&b(S,null,e.fallback);return i&&(i.__u&=-33),[b(S,null,t.__a?null:e.children),i]};var Ze=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!==`t`||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(Xe.prototype=new C).__a=function(e){var t=this,n=Ye(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),Ze(t,e,r)):i()};n?n(a):a()}},Xe.prototype.render=function(e){this.i=null,this.l=new Map;var t=k(e.children);e.revealOrder&&e.revealOrder[0]===`b`&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},Xe.prototype.componentDidUpdate=Xe.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){Ze(e,n,t)})};var Qe=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,$e=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,et=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,tt=/[A-Z0-9]/g,nt=typeof document<`u`,rt=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/:/fil|che|ra/).test(e)};C.prototype.isReactComponent=!0,[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(C.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var it=r.event;r.event=function(e){return it&&(e=it(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var at={configurable:!0,get:function(){return this.class}},ot=r.vnode;r.vnode=function(e){typeof e.type==`string`&&function(e){var t=e.props,n=e.type,r={},i=n.indexOf(`-`)==-1;for(var a in t){var o=t[a];if(!(a===`value`&&`defaultValue`in t&&o==null||nt&&a===`children`&&n===`noscript`||a===`class`||a===`className`)){var s=a.toLowerCase();a===`defaultValue`&&`value`in t&&t.value==null?a=`value`:a===`download`&&!0===o?o=``:s===`translate`&&o===`no`?o=!1:s[0]===`o`&&s[1]===`n`?s===`ondoubleclick`?a=`ondblclick`:s!==`onchange`||n!==`input`&&n!==`textarea`||rt(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:et.test(a)&&(a=s):s=a=`oninput`:i&&$e.test(a)?a=a.replace(tt,`-$&`).toLowerCase():o===null&&(o=void 0),s===`oninput`&&r[a=s]&&(a=`oninputCapture`),r[a]=o}}n==`select`&&(r.multiple&&Array.isArray(r.value)&&(r.value=k(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=k(t.children).forEach(function(e){e.props.selected=r.multiple?r.defaultValue.indexOf(e.props.value)!=-1:r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,`className`,at)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=Qe,ot&&ot(e)};var st=r.__r;r.__r=function(e){st&&st(e),e.__c};var ct=r.diffed;r.diffed=function(e){ct&&ct(e);var t=e.props,n=e.__e;n!=null&&e.type===`textarea`&&`value`in t&&t.value!==n.value&&(n.value=t.value==null?``:t.value)};var lt=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},ut=(e=>e?lt(e):lt),dt=e=>e;function ft(e){function t(t=dt){let n=I(()=>t(e.getState()),[t]);return Be(e.subscribe,n)}return Object.assign(t,e)}function pt(){return e=>ft(ut()(e))}var mt=Symbol.for(`immer-nothing`),ht=Symbol.for(`immer-draftable`),R=Symbol.for(`immer-state`);function z(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var gt=Object,_t=gt.getPrototypeOf,vt=`constructor`,yt=`prototype`,bt=`configurable`,xt=`enumerable`,St=`writable`,Ct=`value`,wt=e=>!!e&&!!e[R];function Tt(e){return e?Ot(e)||Ft(e)||!!e[ht]||!!e[vt]?.[ht]||It(e)||Lt(e):!1}var Et=gt[yt][vt].toString(),Dt=new WeakMap;function Ot(e){if(!e||!Rt(e))return!1;let t=_t(e);if(t===null||t===gt[yt])return!0;let n=gt.hasOwnProperty.call(t,vt)&&t[vt];if(n===Object)return!0;if(!zt(n))return!1;let r=Dt.get(n);return r===void 0&&(r=Function.toString.call(n),Dt.set(n,r)),r===Et}function kt(e,t,n=!0){At(e)===0?(n?Reflect.ownKeys(e):gt.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function At(e){let t=e[R];return t?t.type_:Ft(e)?1:It(e)?2:Lt(e)?3:0}var jt=(e,t,n=At(e))=>n===2?e.has(t):gt[yt].hasOwnProperty.call(e,t),Mt=(e,t,n=At(e))=>n===2?e.get(t):e[t],Nt=(e,t,n,r=At(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Pt(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Ft=Array.isArray,It=e=>e instanceof Map,Lt=e=>e instanceof Set,Rt=e=>typeof e==`object`,zt=e=>typeof e==`function`,Bt=e=>typeof e==`boolean`;function Vt(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ht=e=>Rt(e)?e?.[R]:null,Ut=e=>e.copy_||e.base_,Wt=e=>e.modified_?e.copy_:e.base_;function Gt(e,t){if(It(e))return new Map(e);if(Lt(e))return new Set(e);if(Ft(e))return Array[yt].slice.call(e);let n=Ot(e);if(t===!0||t===`class_only`&&!n){let t=gt.getOwnPropertyDescriptors(e);delete t[R];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[St]===!1&&(a[St]=!0,a[bt]=!0),(a.get||a.set)&&(t[i]={[bt]:!0,[St]:!0,[xt]:a[xt],[Ct]:e[i]})}return gt.create(_t(e),t)}else{let t=_t(e);if(t!==null&&n)return{...e};let r=gt.create(t);return gt.assign(r,e)}}function Kt(e,t=!1){return Yt(e)||wt(e)||!Tt(e)?e:(At(e)>1&&gt.defineProperties(e,{set:Jt,add:Jt,clear:Jt,delete:Jt}),gt.freeze(e),t&&kt(e,(e,t)=>{Kt(t,!0)},!1),e)}function qt(){z(2)}var Jt={[Ct]:qt};function Yt(e){return e===null||!Rt(e)?!0:gt.isFrozen(e)}var Xt=`MapSet`,Zt=`Patches`,Qt=`ArrayMethods`,$t={};function en(e){let t=$t[e];return t||z(0,e),t}var tn=e=>!!$t[e];function nn(e,t){$t[e]||($t[e]=t)}var rn,an=()=>rn,on=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:tn(Xt)?en(Xt):void 0,arrayMethodsPlugin_:tn(Qt)?en(Qt):void 0});function sn(e,t){t&&(e.patchPlugin_=en(Zt),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function cn(e){ln(e),e.drafts_.forEach(dn),e.drafts_=null}function ln(e){e===rn&&(rn=e.parent_)}var un=e=>rn=on(rn,e);function dn(e){let t=e[R];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function fn(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[R].modified_&&(cn(t),z(4)),Tt(e)&&(e=pn(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[R].base_,e,t)}else e=pn(t,n);return mn(t,e,!0),cn(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===mt?void 0:e}function pn(e,t){if(Yt(t))return t;let n=t[R];if(!n)return Sn(t,e.handledSet_,e);if(!gn(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);bn(n,e)}return n.copy_}function mn(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Kt(t,n)}function hn(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var gn=(e,t)=>e.scope_===t,_n=[];function vn(e,t,n,r){let i=Ut(e),a=e.type_;if(r!==void 0&&Mt(i,r,a)===t){Nt(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;kt(i,(e,n)=>{if(wt(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??_n;for(let e of o)Nt(i,e,n,a)}function yn(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!gn(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Wt(i);vn(e,i.draft_??i,a,n),bn(i,r)})}function bn(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}hn(e)}}function xn(e,t,n){let{scope_:r}=e;if(wt(n)){let i=n[R];gn(i,r)&&i.callbacks_.push(function(){An(e),vn(e,n,Wt(i),t)})}else Tt(n)&&e.callbacks_.push(function(){let i=Ut(e);e.type_===3?i.has(n)&&Sn(n,r.handledSet_,r):Mt(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Sn(Mt(e.copy_,t,e.type_),r.handledSet_,r)})}function Sn(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||wt(e)||t.has(e)||!Tt(e)||Yt(e)?e:(t.add(e),kt(e,(r,i)=>{if(wt(i)){let t=i[R];gn(t,n)&&(Nt(e,r,Wt(t),e.type_),hn(t))}else Tt(i)&&Sn(i,t,n)}),e)}function Cn(e,t){let n=Ft(e),r={type_:n?1:0,scope_:t?t.scope_:an(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=wn;n&&(i=[r],a=Tn);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var wn={get(e,t){if(t===R)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Ut(e);if(!jt(i,t,e.type_))return Dn(e,i,t);let a=i[t];if(e.finalized_||!Tt(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Vt(t))return a;if(a===En(e.base_,t)){An(e);let n=e.type_===1?+t:t,r=Mn(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Ut(e)},ownKeys(e){return Reflect.ownKeys(Ut(e))},set(e,t,n){let r=On(Ut(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=En(Ut(e),t),i=r?.[R];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Pt(n,r)&&(n!==void 0||jt(e.base_,t,e.type_)))return!0;An(e),kn(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),xn(e,t,n),!0)},deleteProperty(e,t){return An(e),En(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),kn(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Ut(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[St]:!0,[bt]:e.type_!==1||t!==`length`,[xt]:r[xt],[Ct]:n[t]}},defineProperty(){z(11)},getPrototypeOf(e){return _t(e.base_)},setPrototypeOf(){z(12)}},Tn={};for(let e in wn){let t=wn[e];Tn[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}Tn.deleteProperty=function(e,t){return Tn.set.call(this,e,t,void 0)},Tn.set=function(e,t,n){return wn.set.call(this,e[0],t,n,e[0])};function En(e,t){let n=e[R];return(n?Ut(n):e)[t]}function Dn(e,t,n){let r=On(t,n);return r?Ct in r?r[Ct]:r.get?.call(e.draft_):void 0}function On(e,t){if(!(t in e))return;let n=_t(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=_t(n)}}function kn(e){e.modified_||(e.modified_=!0,e.parent_&&kn(e.parent_))}function An(e){e.copy_||(e.assigned_=new Map,e.copy_=Gt(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var jn=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(zt(e)&&!zt(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}zt(t)||z(6),n!==void 0&&!zt(n)&&z(7);let r;if(Tt(e)){let i=un(this),a=Mn(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?cn(i):ln(i)}return sn(i,n),fn(r,i)}else if(!e||!Rt(e)){if(r=t(e),r===void 0&&(r=e),r===mt&&(r=void 0),this.autoFreeze_&&Kt(r,!0),n){let t=[],i=[];en(Zt).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else z(1,e)},this.produceWithPatches=(e,t)=>{if(zt(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Bt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Bt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Bt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Tt(e)||z(8),wt(e)&&(e=Nn(e));let t=un(this),n=Mn(t,e,void 0);return n[R].isManual_=!0,ln(t),n}finishDraft(e,t){let n=e&&e[R];(!n||!n.isManual_)&&z(9);let{scope_:r}=n;return sn(r,t),fn(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=en(Zt).applyPatches_;return wt(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Mn(e,t,n,r){let[i,a]=It(t)?en(Xt).proxyMap_(t,n):Lt(t)?en(Xt).proxySet_(t,n):Cn(t,n);return(n?.scope_??an()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?yn(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Nn(e){return wt(e)||z(10,e),Pn(e)}function Pn(e){if(!Tt(e)||Yt(e))return e;let t=e[R],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Gt(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Gt(e,!0);return kt(n,(e,t)=>{Nt(n,e,Pn(t))},r),t&&(t.finalized_=!1),n}function Fn(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Ht(Mt(e,n.key_)),i=Mt(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||jt(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=Mt(n,r),!Rt(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[R];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;kt(e.assigned_,(e,l)=>{let u=Mt(o,e,c),f=Mt(s,e,c),p=l?jt(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===mt?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=At(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===vt)&&z(19),zt(o)&&n===yt&&z(19),o=Mt(o,n),Rt(o)||z(18,i.join(`/`))}let s=At(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:z(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:z(17,a)}}),e}function u(e){if(!Tt(e))return e;if(Ft(e))return e.map(u);if(It(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(Lt(e))return new Set(Array.from(e).map(u));let t=Object.create(_t(e));for(let n in e)t[n]=u(e[n]);return jt(e,ht)&&(t[ht]=e[ht]),t}function d(e){return wt(e)?u(e):e}nn(Zt,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}var In=new jn,Ln=In.produce,Rn=In.produceWithPatches.bind(In),zn=In.applyPatches.bind(In),Bn=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t(typeof e==`function`?Ln(e):e,n,...r),e(r.setState,n,r));function Vn(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.version!==1||typeof t.ifid!=`string`||typeof t.save!=`object`||t.save===null)return!1;let n=t.save;if(typeof n.meta!=`object`||n.meta===null||typeof n.payload!=`object`||n.payload===null)return!1;let r=n.meta;return typeof r.id!=`string`||typeof r.passage!=`string`||typeof r.ifid!=`string`||typeof r.playthroughId!=`string`||typeof r.createdAt!=`string`||typeof r.updatedAt!=`string`||typeof r.title!=`string`?!1:Gn(n.payload)}function Hn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Un(e){return e==null?!0:Hn(e)&&typeof e.seed==`string`&&typeof e.pull==`number`&&Number.isInteger(e.pull)&&e.pull>=0}function Wn(e){return Hn(e)&&typeof e.passage==`string`&&Hn(e.variables)&&typeof e.timestamp==`number`&&Un(e.prng)}function Gn(e){if(!Hn(e)||typeof e.passage!=`string`||!Hn(e.variables))return!1;let{history:t,historyIndex:n}=e;return!Array.isArray(t)||t.length===0||!t.every(Wn)||typeof n!=`number`||!Number.isInteger(n)||n<0||n>=t.length||t[n].passage!==e.passage||e.visitCounts!==void 0&&!Hn(e.visitCounts)||e.renderCounts!==void 0&&!Hn(e.renderCounts)?!1:Un(e.prng)}function Kn(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.passage!=`string`||typeof t.variables!=`object`||t.variables===null||!Array.isArray(t.history)||t.history.length===0||typeof t.historyIndex!=`number`)}var qn=/[a-zA-Z]/,Jn=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),Yn=new Set([`do`]);function Xn(e){let t=e.indexOf(`|`);if(t!==-1)return{display:e.slice(0,t).trim(),target:e.slice(t+1).trim()};let n=e.indexOf(`->`);if(n!==-1)return{display:e.slice(0,n).trim(),target:e.slice(n+2).trim()};let r=e.indexOf(`<-`);if(r!==-1)return{target:e.slice(0,r).trim(),display:e.slice(r+2).trim()};let i=e.trim();return{display:i,target:i}}function Zn(e){let t=e.trim(),n=t.startsWith(`/`),r=n?t.slice(1):t,i=r.search(/\\s/);return i===-1?{name:r,rawArgs:``,isClose:n}:{name:r.slice(0,i),rawArgs:r.slice(i+1).trim(),isClose:n}}function Qn(e,t){let n=[],r=``,i=t;for(;i<e.length&&(e[i]===`.`||e[i]===`#`);){let t=e[i];i++;let a=``;for(;i<e.length;)if(/[a-zA-Z0-9_-]/.test(e[i]))a+=e[i],i++;else if(e[i]===`{`&&(e[i+1]===`$`||e[i+1]===`_`||e[i+1]===`@`)){let t=i;for(i+=2;i<e.length&&/[\\w.]/.test(e[i]);)i++;if(i<e.length&&e[i]===`}`)i++,a+=e.slice(t,i);else{i=t;break}}else break;a&&(t===`.`?n.push(a):r=a)}return{className:n.join(` `),id:r,endIdx:i}}function $n(e,t){let n={};for(;t<e.length;){for(;t<e.length&&/\\s/.test(e[t]);)t++;if(t>=e.length||e[t]===`>`||e[t]===`/`&&e[t+1]===`>`)break;let r=t;for(;t<e.length&&/[a-zA-Z0-9_\\-:@]/.test(e[t]);)t++;let i=e.slice(r,t);if(!i)break;if(e[t]===`=`)if(t++,e[t]===`\"`||e[t]===`'`){let r=e[t];t++;let a=t;for(;t<e.length;){if(e[t]===`{`){let n=rr(e,t+1);if(n!==-1){t=n+1;continue}}else if(e[t]===r)break;t++}n[i]=e.slice(a,t),t<e.length&&t++}else{let r=t;for(;t<e.length&&/[^\\s>]/.test(e[t]);)t++;n[i]=e.slice(r,t)}else n[i]=``}return{attributes:n,endIdx:t}}function er(e,t){let n=e[t],r=t+1;for(;r<e.length;){let t=e[r];if(t===`\\\\`)r+=2;else if(t===n)return r+1;else if(t===`\n`)return-1;else r++}return-1}function tr(e,t){let n=t+1;for(;n<e.length;){let t=e[n];if(t===`\\\\`)n+=2;else if(t===\"`\")return n+1;else if(t===`$`&&e[n+1]===`{`){let t=rr(e,n+2);if(t===-1)return-1;n=t+1}else n++}return-1}var nr=/[\\p{L}\\p{N}_\\\\]/u;function rr(e,t){let n=1;for(;t<e.length;){let r=e[t];if(r===`{`)n++;else if(r===`}`){if(--n===0)return t}else if((r===`\"`||r===`'`)&&!(t>0&&nr.test(e[t-1]))){let n=er(e,t);if(n!==-1){t=n;continue}}else if(r===\"`\"){let n=tr(e,t);if(n!==-1){t=n;continue}}t++}return-1}function ir(e){let t=[],n=0,r=0;function i(n){n>r&&t.push({type:`text`,value:e.slice(r,n),start:r,end:n})}function a(a,o){let s=a.toLowerCase();if(o||!Yn.has(s))return;let c=RegExp(`\\\\{/${s}\\\\s*\\\\}`,`gi`);c.lastIndex=n;let l=c.exec(e);if(!l)return;let u=l.index,d=u+l[0].length;i(u),t.push({type:`macro`,...Zn(e.slice(u+1,d-1)),start:u,end:d}),n=d,r=d}for(;n<e.length;){if(e[n]===`\\\\`&&(e[n+1]===`{`||e[n+1]===`}`)){i(n),t.push({type:`text`,value:e[n+1],start:n,end:n+2}),n+=2,r=n;continue}if(e[n]===`[`&&e[n+1]===`[`){i(n);let a=n;n+=2;let o,s;if(e[n]===`.`||e[n]===`#`){let t=Qn(e,n);o=t.className||void 0,s=t.id||void 0,n=t.endIdx,e[n]===` `&&n++}let c=1,l=n;for(;n<e.length&&c>0;)if(e[n]===`[`&&e[n+1]===`[`)c++,n+=2;else if(e[n]===`]`&&e[n+1]===`]`){if(c--,c===0)break;n+=2}else n++;if(c!==0){n=a+2,r=a;continue}let u=e.slice(l,n);n+=2;let{display:d,target:f}=Xn(u),p={type:`link`,display:d,target:f,start:a,end:n};o&&(p.className=o),s&&(p.id=s),t.push(p),r=n;continue}if(e[n]===`{`){let o=n,s=e[n+1],c,l;if(s===`.`||s===`#`){i(n);let s=Qn(e,n+1);c=s.className||void 0,l=s.id||void 0;let u=s.endIdx;e[u]===` `&&u++;let d=e[u];if(d===`$`){n=u+1;let i=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let a=e.slice(i,n);if(e[n]===`}`){n++;let e={type:`variable`,name:a,scope:`variable`,start:o,end:n};c&&(e.className=c),l&&(e.id=l),t.push(e),r=n;continue}let s=rr(e,i);if(s!==-1){let i=e.slice(u,s);n=s+1;let a={type:`expression`,expression:i,start:o,end:n};c&&(a.className=c),l&&(a.id=l),t.push(a),r=n;continue}n=o+1,r=o;continue}if(d===`_`){n=u+1;let i=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let a=e.slice(i,n);if(e[n]===`}`){n++;let e={type:`variable`,name:a,scope:`temporary`,start:o,end:n};c&&(e.className=c),l&&(e.id=l),t.push(e),r=n;continue}let s=rr(e,i);if(s!==-1){let i=e.slice(u,s);n=s+1;let a={type:`expression`,expression:i,start:o,end:n};c&&(a.className=c),l&&(a.id=l),t.push(a),r=n;continue}n=o+1,r=o;continue}if(d===`@`){n=u+1;let i=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let a=e.slice(i,n);if(e[n]===`}`){n++;let e={type:`variable`,name:a,scope:`local`,start:o,end:n};c&&(e.className=c),l&&(e.id=l),t.push(e),r=n;continue}let s=rr(e,i);if(s!==-1){let i=e.slice(u,s);n=s+1;let a={type:`expression`,expression:i,start:o,end:n};c&&(a.className=c),l&&(a.id=l),t.push(a),r=n;continue}n=o+1,r=o;continue}if(d===`%`){n=u+1;let i=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let a=e.slice(i,n);if(e[n]===`}`){n++;let e={type:`variable`,name:a,scope:`transient`,start:o,end:n};c&&(e.className=c),l&&(e.id=l),t.push(e),r=n;continue}let s=rr(e,i);if(s!==-1){let i=e.slice(u,s);n=s+1;let a={type:`expression`,expression:i,start:o,end:n};c&&(a.className=c),l&&(a.id=l),t.push(a),r=n;continue}n=o+1,r=o;continue}if(d!==void 0&&/[a-zA-Z]/.test(d)){let i=u,s=rr(e,i);if(s===-1){n=o+1,r=o;continue}let d=e.slice(i,s);n=s+1;let{name:f,rawArgs:p,isClose:m}=Zn(d),h={type:`macro`,name:f,rawArgs:p,isClose:m,start:o,end:n};c&&(h.className=c),l&&(h.id=l),t.push(h),r=n,a(f,m);continue}n=o+1,r=o;continue}if(s===`$`){i(n),n+=2;let a=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let s=e.slice(a,n);if(e[n]===`}`){n++,t.push({type:`variable`,name:s,scope:`variable`,start:o,end:n}),r=n;continue}let c=rr(e,a);if(c!==-1){let i=e.slice(o+1,c);n=c+1,t.push({type:`expression`,expression:i,start:o,end:n}),r=n;continue}n=o+1,r=o;continue}if(s===`_`){i(n),n+=2;let a=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let s=e.slice(a,n);if(e[n]===`}`){n++,t.push({type:`variable`,name:s,scope:`temporary`,start:o,end:n}),r=n;continue}let c=rr(e,a);if(c!==-1){let i=e.slice(o+1,c);n=c+1,t.push({type:`expression`,expression:i,start:o,end:n}),r=n;continue}n=o+1,r=o;continue}if(s===`@`){i(n),n+=2;let a=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let s=e.slice(a,n);if(e[n]===`}`){n++,t.push({type:`variable`,name:s,scope:`local`,start:o,end:n}),r=n;continue}let c=rr(e,a);if(c!==-1){let i=e.slice(o+1,c);n=c+1,t.push({type:`expression`,expression:i,start:o,end:n}),r=n;continue}n=o+1,r=o;continue}if(s===`%`){i(n),n+=2;let a=n;for(;n<e.length&&/[\\w.]/.test(e[n]);)n++;let s=e.slice(a,n);if(e[n]===`}`){n++,t.push({type:`variable`,name:s,scope:`transient`,start:o,end:n}),r=n;continue}let c=rr(e,a);if(c!==-1){let i=e.slice(o+1,c);n=c+1,t.push({type:`expression`,expression:i,start:o,end:n}),r=n;continue}n=o+1,r=o;continue}if(s!==void 0&&(s===`/`||/[a-zA-Z]/.test(s))){i(n);let s=n+1,c=rr(e,s);if(c===-1){n=o+1,r=o;continue}let l=e.slice(s,c);n=c+1;let{name:u,rawArgs:d,isClose:f}=Zn(l);t.push({type:`macro`,name:u,rawArgs:d,isClose:f,start:o,end:n}),r=n,a(u,f);continue}n++;continue}if(e[n]===`<`){let a=n,o=n+1,s=e[o]===`/`;s&&o++;let c=o;for(;o<e.length&&/[a-zA-Z0-9-]/.test(e[o]);)o++;let l=e.slice(c,o),u=l.toLowerCase();if(l&&qn.test(l[0]))if(s){for(;o<e.length&&/\\s/.test(e[o]);)o++;if(e[o]===`>`){if(o++,i(a),Jn.has(u)){r=o,n=o;continue}t.push({type:`html`,tag:l,attributes:{},isClose:!0,isSelfClose:!1,start:a,end:o}),r=o,n=o;continue}}else{let s=$n(e,o);o=s.endIdx;let c=Jn.has(u);if(e[o]===`/`&&(c=!0,o++),e[o]===`>`){o++,i(a),t.push({type:`html`,tag:l,attributes:s.attributes,isClose:!1,isSelfClose:c,start:a,end:o}),r=o,n=o;continue}}n++;continue}n++}return i(e.length),t}var ar=new Set([`if`,`for`,`do`,`button`,`link`,`listbox`,`cycle`,`switch`,`timed`,`repeat`,`type`,`widget`,`span`,`nobr`]);function or(e){ar.add(e.toLowerCase())}var sr={elseif:`if`,else:`if`,case:`switch`,default:`switch`,next:`timed`},cr=new Set([`if`,`switch`,`timed`]);function lr(e){return`\"${e.replace(/[\\\\\"]/g,`\\\\$&`)}\"`}function ur(e){let t=[],n=[];function r(){if(n.length===0)return t;let e=n[n.length-1].node;return e.type===`macro`&&e.branches&&e.branches.length>0?e.branches[e.branches.length-1].children:e.children}for(let t of e)switch(t.type){case`text`:r().push({type:`text`,value:t.value});break;case`link`:{let e={type:`macro`,name:`link`,rawArgs:`${lr(t.display)} ${lr(t.target)}`,children:[]};t.className&&(e.className=t.className),t.id&&(e.id=t.id),r().push(e);break}case`variable`:{let e={type:`variable`,name:t.name,scope:t.scope};t.className&&(e.className=t.className),t.id&&(e.id=t.id),r().push(e);break}case`expression`:{let e={type:`expression`,expression:t.expression};t.className&&(e.className=t.className),t.id&&(e.id=t.id),r().push(e);break}case`html`:{if(t.isSelfClose){r().push({type:`html`,tag:t.tag,attributes:t.attributes,children:[]});break}if(t.isClose){if(n.length===0)throw Error(`Unexpected closing </${t.tag}> (at character ${t.start})`);let e=n[n.length-1];if(e.node.type!==`html`||e.node.tag.toLowerCase()!==t.tag.toLowerCase()){let n=e.node.type===`html`?`</${e.node.tag}>`:`{/${e.node.name}}`;throw Error(`Expected ${n} but found </${t.tag}> (at character ${t.start})`)}n.pop(),r().push(e.node);break}let e={type:`html`,tag:t.tag,attributes:t.attributes,children:[]};n.push({node:e,start:t.start});break}case`macro`:{let e=t.name.toLowerCase();if(t.isClose){if(n.length===0)throw Error(`Unexpected closing {/${t.name}} (at character ${t.start})`);let i=n[n.length-1];if(i.node.type!==`macro`||i.node.name!==e){let e=i.node.type===`macro`?`{/${i.node.name}}`:`</${i.node.tag}>`;throw Error(`Expected ${e} but found {/${t.name}} (at character ${t.start})`)}n.pop(),r().push(i.node);break}if(sr[e]){let r=sr[e],i=n.length>0?n[n.length-1].node:null;if(!i||i.type!==`macro`||i.name!==r)throw Error(`{${t.name}} without matching {${r}} (at character ${t.start})`);let a={rawArgs:t.rawArgs,children:[]};t.className&&(a.className=t.className),t.id&&(a.id=t.id),i.branches.push(a);break}if(ar.has(e)){let r={type:`macro`,name:e,rawArgs:t.rawArgs,children:[]};if(cr.has(e)){let e={rawArgs:t.rawArgs,children:[]};t.className&&(e.className=t.className),t.id&&(e.id=t.id),r.branches=[e]}else t.className&&(r.className=t.className),t.id&&(r.id=t.id);n.push({node:r,start:t.start});break}{let n={type:`macro`,name:e,rawArgs:t.rawArgs,children:[]};t.className&&(n.className=t.className),t.id&&(n.id=t.id),r().push(n)}break}default:throw Error(`Unknown token type: ${t.type}`)}if(n.length>0){let e=n[n.length-1],t=e.node.type===`html`?`<${e.node.tag}>`:`{${e.node.name}} macro`;throw Error(`Unclosed ${t} (opened at character ${e.start})`)}return t}function dr(){let e=Z(e=>e.variables),t=Z(e=>e.temporary),n=Z(e=>e.transient),r=L(Os);return F(()=>[e,t,r,n],[e,t,r,n])}function fr(e){let t=e|0;return()=>{t=t+1831565813|0;let e=Math.imul(t^t>>>15,t|1);return e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function pr(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t}var mr=!1,hr=``,gr=0,_r=null;function vr(e,t=!0){let n;n=e===void 0?String(Date.now())+String(Math.random()):t?e+`|`+Date.now()+`|`+Math.random():e,hr=n,gr=0,_r=fr(pr(n)),mr=!0}function yr(e,t){hr=e,gr=0,_r=fr(pr(e)),mr=!0;for(let e=0;e<t;e++)_r();gr=t}function br(){mr=!1,hr=``,gr=0,_r=null}function xr(){return mr?{seed:hr,pull:gr}:null}function Sr(){return!mr||!_r?Math.random():(gr++,_r())}function Cr(e,t){return e>t&&([e,t]=[t,e]),Math.floor(Sr()*(t-e+1))+e}function wr(){return mr}function Tr(){return hr}function Er(){return gr}var Dr=500,Or=new Map,kr=/\\$(\\w+)/g,Ar=/(?<![.\\w])_(\\w+)/g,jr=/@(\\w+)/g,Mr=/[A-Za-z_]\\w*/y,Nr=/[\\w$@]/,Pr=/\\s/,Fr=new Set([`await`,`case`,`delete`,`do`,`else`,`in`,`instanceof`,`new`,`of`,`return`,`throw`,`typeof`,`void`,`yield`]),Ir=new Set([`for`,`if`,`while`,`with`]);function Lr(e){return e.replace(kr,`variables[\"$1\"]`).replace(Ar,`temporary[\"$1\"]`).replace(jr,`locals[\"$1\"]`)}function Rr(e){let t=``,n=``,r=0,i=!0,a=``,o=!1,s=!1,c=``,l=[];function u(){n&&(t+=Lr(n),n=``)}function d(){a&&(i=!o&&Fr.has(a),s=!o&&Ir.has(a),o=!1,c=``,a=``)}function f(){d(),i=!1,s=!1,o=!1,c=``}function p(e){if(Nr.test(e)){a+=e;return}d(),e===`\n`&&(i=!0),!Pr.test(e)&&(e===`(`&&l.push(s),i=e===`)`?l.pop()??!1:e===`.`?c===`.`:e!==`]`,o=e===`.`,s=!1,c=e)}for(;r<e.length;){let a=e.charAt(r);if(a===`\"`||a===`'`){u();let n=a,i=n;for(r++;r<e.length;){let t=e.charAt(r);if(t===`\\\\`&&r+1<e.length)i+=t+e.charAt(r+1),r+=2;else if(t===n){i+=n,r++;break}else i+=t,r++}t+=i,f();continue}if(a===\"`\"){for(u(),t+=\"`\",r++;r<e.length;){let n=e.charAt(r);if(n===`\\\\`&&r+1<e.length)t+=n+e.charAt(r+1),r+=2;else if(n===`$`&&e.charAt(r+1)===`{`){t+=\"${\",r+=2;let n=1,i=``;for(;r<e.length&&n>0;){let t=e.charAt(r);if(t===`{`)n++,i+=t;else if(t===`}`){if(n--,n===0)break;i+=t}else if(t===`\\\\`&&r+1<e.length)i+=t+e.charAt(r+1),r++;else if(t===`\"`||t===`'`){for(i+=t,r++;r<e.length;){let n=e.charAt(r);if(n===`\\\\`&&r+1<e.length)i+=n+e.charAt(r+1),r+=2;else if(n===t){i+=n,r++;break}else i+=n,r++}continue}else if(t===\"`\"){for(i+=t,r++;r<e.length;){let t=e.charAt(r);if(t===`\\\\`&&r+1<e.length)i+=t+e.charAt(r+1),r+=2;else if(t===`$`&&e.charAt(r+1)===`{`){i+=\"${\",r+=2;let t=1;for(;r<e.length&&t>0;){let n=e.charAt(r);n===`{`?t++:n===`}`&&t--,t>0&&(i+=n),r++}i+=`}`}else if(t===\"`\"){i+=t,r++;break}else i+=t,r++}continue}else i+=t;r++}t+=Rr(i),r<e.length&&e.charAt(r)===`}`&&(t+=`}`,r++)}else if(n===\"`\"){t+=\"`\",r++;break}else t+=n,r++}f();continue}if(a===`%`){d(),Mr.lastIndex=r+1;let n=i?Mr.exec(e)?.[0]:void 0;if(n){u(),t+=`transient[\"${n}\"]`,r+=1+n.length,f();continue}}p(a),n+=a,r++}return u(),t}var zr=`const {currentPassage,previousPassage,visited,hasVisited,hasVisitedAny,hasVisitedAll,rendered,hasRendered,hasRenderedAny,hasRenderedAll,random,randomInt}=__fns;`;function Br(e,t){let n=Or.get(e);if(n)return Or.delete(e),Or.set(e,n),n;let r=Function(`variables`,`temporary`,`locals`,`__fns`,`transient`,zr+t);if(Or.set(e,r),Or.size>Dr){let e=Or.keys().next().value;e!==void 0&&Or.delete(e)}return r}var Vr=null,Hr=null,Ur=null;function Wr(){let{visitCounts:e,renderCounts:t}=Z.getState();if(Vr&&Hr===e&&Ur===t)return Vr;let n=t=>e[t??Z.getState().currentPassage]??0,r=e=>n(e)>0,i=(...e)=>e.some(e=>n(e)>0),a=(...e)=>e.every(e=>n(e)>0),o=e=>t[e??Z.getState().currentPassage]??0;return Vr={currentPassage:()=>{let e=Z.getState();return e.storyData?.passages.get(e.currentPassage)},previousPassage:()=>{let e=Z.getState();if(e.historyIndex<=0)return;let t=e.history[e.historyIndex-1]?.passage;return t?e.storyData?.passages.get(t):void 0},visited:n,hasVisited:r,hasVisitedAny:i,hasVisitedAll:a,rendered:o,hasRendered:e=>o(e)>0,hasRenderedAny:(...e)=>e.some(e=>o(e)>0),hasRenderedAll:(...e)=>e.every(e=>o(e)>0),random:Sr,randomInt:Cr},Hr=e,Ur=t,Vr}function Gr(e,t,n,r={},i={}){let a=`return (${Rr(e)});`;return Br(a,a)(t,n,r,Wr(),i)}function Kr(e,t,n,r={},i={}){let a=Rr(e);Br(`exec:`+a,a)(t,n,r,Wr(),i)}var qr=/\\{[\\$_@%]\\w/;function Jr(e){return qr.test(e)}function Yr(e,t){let n=e;for(let e=1;e<t.length;e++){if(n==null)return;n=n[t[e]]}return n}function Xr(e,t,n,r,i={}){let a=Gr(e,t,n,r,i);return a==null?``:String(a)}function Zr(e,t,n,r,i){let a=e[0],o=e.slice(1).split(`.`),s=o[0],c;return c=a===`$`?t[s]:a===`_`?n[s]:a===`%`?i[s]:r[s],o.length>1&&(c=Yr(c,o)),c==null?``:String(c)}function Qr(e,t,n,r,i={}){let a=``,o=0;for(;o<e.length;){if(e[o]!==`{`){let t=e.indexOf(`{`,o);if(t===-1){a+=e.slice(o);break}a+=e.slice(o,t),o=t;continue}o++;let s=e[o];if(s!==`$`&&s!==`_`&&s!==`@`&&s!==`%`){a+=`{`;continue}let c=rr(e,o);if(c===-1){a+=`{`;continue}let l=e.slice(o,c);o=c+1,/^[\\$_@%][\\w.]+$/.test(l)?a+=Zr(l,t,n,r,i):a+=Xr(l,t,n,r,i)}return a}function $r(){let[e,t,n,r]=dr();return I(i=>i===void 0||!Jr(i)?i:Qr(i,e,t,n,r),[e,t,n,r])}var ei=0;Array.isArray;function B(e,t,n,i,a,o){t||(t={});var s,c,l=t;if(`ref`in l)for(c in l={},t)c==`ref`?s=t[c]:l[c]=t[c];var u={type:e,props:l,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--ei,__i:-1,__u:0,__source:a,__self:o};if(typeof e==`function`&&(s=e.defaultProps))for(c in s)l[c]===void 0&&(l[c]=s[c]);return r.vnode&&r.vnode(u),u}function ti({name:e,scope:t,className:n,id:r}){let i=$r();n=i(n),r=i(r);let a=L(Os),o=e.split(`.`),s=o[0],c=Z(e=>t===`variable`?e.variables[s]:t===`temporary`?e.temporary[s]:t===`transient`?e.transient[s]:void 0),l;l=t===`local`?s in a?a[s]:void 0:c;for(let e=1;e<o.length;e++){if(l==null){l=void 0;break}let t=o[e];l=l[t]}let u=l==null?``:String(l);return n||r?B(`span`,{id:r,class:n,children:u}):B(S,{children:u})}function ni({expression:e,className:t,id:n}){let r=$r();t=r(t),n=r(n);let i=L(Os),a=Z(e=>e.variables),o=Z(e=>e.temporary),s=Z(e=>e.transient),c;try{let t=Gr(e,a,o,i,s);c=t==null?``:String(t)}catch{c=`{error: ${e}}`}return t||n?B(`span`,{id:n,class:t,children:c}):B(S,{children:c})}function ri(e){let t=e[0];return!!(t===`\"`||t===`'`||t===\"`\"||t===`$`||t===`_`||t===`@`||t===`%`||/\\d/.test(t)||(t===`-`||t===`+`)&&e.length>1&&/\\d/.test(e[1])||t===`(`||t===`[`||t===`{`||/^(true|false|null|undefined)$/.test(e)||t===`!`&&e.length>1)}function ii(e){let t=[],n=``,r=0,i=null;for(let a=0;a<e.length;a++){let o=e[a];if(i){n+=o,o===i&&e[a-1]!==`\\\\`&&(i=null);continue}if(o===`\"`||o===`'`||o===\"`\"){i=o,n+=o;continue}if(o===`(`||o===`[`||o===`{`){r++,n+=o;continue}if(o===`)`||o===`]`||o===`}`){r--,n+=o;continue}if(/\\s/.test(o)&&r===0){n&&(t.push(n),n=``);continue}n+=o}if(n&&t.push(n),t.length<2)return null;for(let e of t)if(!ri(e))return null;return t}function ai(e){let t=[],n=``,r=0,i=null,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if(i){n+=s,s===i&&e[o-1]!==`\\\\`&&(i=null);continue}if(s===`\"`||s===`'`||s===\"`\"){i=s,n+=s;continue}if(s===`(`||s===`[`||s===`{`){r++,n+=s;continue}if(s===`)`||s===`]`||s===`}`){r--,n+=s;continue}if(s===`,`&&r===0){a=!0,t.push(n.trim()),n=``;continue}n+=s}let o=n.trim();if(o&&t.push(o),!a&&t.length===1){let e=ii(t[0]);if(e)return e}return t}function oi({body:e,parentValues:t,ownKeys:n}){let r=L(K),[i,a]=N({}),o=F(()=>({...t,...n,...i}),[t,n,i]),s=P(o);s.current=o;let c=I(()=>s.current,[]),l=I((e,t)=>{s.current={...s.current,[e]:t},a(n=>({...n,[e]:t}))},[]),u=F(()=>({update:l,getValues:c}),[l,c]);return B(ks.Provider,{value:u,children:B(Os.Provider,{value:o,children:$s(e,{nobr:r,locals:o})})})}function si({body:e,params:t,rawArgs:n,invocationChildren:r}){let i=L(Os),a=L(K),[o,s,c,l]=dr(),u=r?.length?r:null;if(t.length===0)return B(js.Provider,{value:u,children:$s(e,{nobr:a,locals:i})});let d=n?ai(n):[],f=[];for(let e=0;e<t.length;e++){let t=d[e],n;if(t!==void 0)try{n=Gr(t,o,s,c,l)}catch{n=void 0}f.push(n)}let p=F(()=>{let e={};for(let n=0;n<t.length;n++)e[t[n].startsWith(`@`)?t[n].slice(1):t[n]]=f[n];return e},f);return B(js.Provider,{value:u,children:B(oi,{body:e,parentValues:i,ownKeys:p})})}var ci=new Map;function li(e,t,n,r=!1){let i=n.filter(e=>e!==`@children`);ci.set(e.toLowerCase(),{body:t,params:i,isBlock:r})}function ui(e){return ci.get(e.toLowerCase())}var di=new Map;function fi(e,t){di.set(e.toLowerCase(),t)}function pi(e){return di.get(e.toLowerCase())}var mi=new Set;function hi(e){mi.add(e.toLowerCase())}function gi(e){return mi.has(e.toLowerCase())}var _i=new Map;function vi(e,t){_i.set(e.toLowerCase(),t)}function yi(){return Array.from(_i.values())}var bi=document.createElement(`i`);function xi(e){let t=`&`+e+`;`;bi.innerHTML=t;let n=bi.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`||n===t?!1:n}function Si(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function V(e,t){return e.length>0?(Si(e,e.length,0,t),e):t}var Ci={}.hasOwnProperty;function wi(e){let t={},n=-1;for(;++n<e.length;)Ti(t,e[n]);return t}function Ti(e,t){let n;for(n in t){let r=(Ci.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){Ci.call(r,a)||(r[a]=[]);let e=i[a];Ei(r[a],Array.isArray(e)?e:e?[e]:[])}}}function Ei(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);Si(e,0,0,r)}function Di(e){let t={},n=-1;for(;++n<e.length;)Oi(t,e[n]);return t}function Oi(e,t){let n;for(n in t){let r=(Ci.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i)r[a]=i[a]}}function ki(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}var Ai={'\"':`quot`,\"&\":`amp`,\"<\":`lt`,\">\":`gt`};function ji(e){return e.replace(/[\"&<>]/g,t);function t(e){return`&`+Ai[e]+`;`}}function Mi(e){return e.replace(/[\\t\\n\\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var Ni=Hi(/[A-Za-z]/),Pi=Hi(/[\\dA-Za-z]/),Fi=Hi(/[#-'*+\\--9=?A-Z^-~]/);function Ii(e){return e!==null&&(e<32||e===127)}var Li=Hi(/\\d/),Ri=Hi(/[\\dA-Fa-f]/),zi=Hi(/[!-/:-@[-`{-~]/);function H(e){return e!==null&&e<-2}function U(e){return e!==null&&(e<0||e===32)}function W(e){return e===-2||e===-1||e===32}var Bi=Hi(/\\p{P}|\\p{S}/u),Vi=Hi(/\\s/);function Hi(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Ui(e,t){let n=ji(Wi(e||``));if(!t)return n;let r=n.indexOf(`:`),i=n.indexOf(`?`),a=n.indexOf(`#`),o=n.indexOf(`/`);return r<0||o>-1&&r>o||i>-1&&r>i||a>-1&&r>a||t.test(n.slice(0,r))?n:``}function Wi(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&Pi(e.charCodeAt(n+1))&&Pi(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=``),i&&(n+=i,i=0)}return t.join(``)+e.slice(r)}var Gi={}.hasOwnProperty,Ki=/^(https?|ircs?|mailto|xmpp)$/i,qi=/^https?$/i;function Ji(e){let t=e||{},n=!0,r={},i=[[]],a=[],o=[],s=Di([{enter:{blockQuote:te,codeFenced:re,codeFencedFenceInfo:h,codeFencedFenceMeta:h,codeIndented:oe,codeText:Ne,content:Se,definition:_e,definitionDestinationString:ye,definitionLabelString:h,definitionTitleString:h,emphasis:je,htmlFlow:F,htmlText:L,image:ce,label:h,link:le,listItemMarker:E,listItemValue:T,listOrdered:C,listUnordered:w,paragraph:k,reference:h,resource:pe,resourceDestinationString:me,resourceTitleString:h,setextHeading:we,strong:Me},exit:{atxHeading:Ee,atxHeadingSequence:Ce,autolinkEmail:Ve,autolinkProtocol:Be,blockQuote:ne,characterEscapeValue:Oe,characterReferenceMarkerHexadecimal:Re,characterReferenceMarkerNumeric:Re,characterReferenceValue:ze,codeFenced:se,codeFencedFence:ae,codeFencedFenceInfo:ie,codeFencedFenceMeta:S,codeFlowValue:Ae,codeIndented:se,codeText:Pe,codeTextData:Oe,data:Oe,definition:xe,definitionDestinationString:be,definitionLabelString:ve,definitionTitleString:M,emphasis:Fe,hardBreakEscape:P,hardBreakTrailing:P,htmlFlow:I,htmlFlowData:Oe,htmlText:I,htmlTextData:Oe,image:j,label:de,labelText:ue,lineEnding:ke,link:j,listOrdered:D,listUnordered:O,paragraph:A,reference:S,referenceString:fe,resource:S,resourceDestinationString:he,resourceTitleString:ge,setextHeading:N,setextHeadingLineSequence:De,setextHeadingText:Te,strong:Ie,thematicBreak:Le}},...t.htmlExtensions||[]]),c={definitions:r,tightStack:o},l={buffer:h,encode:x,getData:m,lineEndingIfNeeded:b,options:t,raw:v,resume:g,setData:p,tag:_},u=t.defaultLineEnding;return d;function d(e){let t=-1,n=0,r=[],a=[],o=[];for(;++t<e.length;)!u&&(e[t][1].type===`lineEnding`||e[t][1].type===`lineEndingBlank`)&&(u=e[t][2].sliceSerialize(e[t][1])),(e[t][1].type===`listOrdered`||e[t][1].type===`listUnordered`)&&(e[t][0]===`enter`?r.push(t):f(e.slice(r.pop(),t))),e[t][1].type===`definition`&&(e[t][0]===`enter`?(o=V(o,e.slice(n,t)),n=t):(a=V(a,e.slice(n,t+1)),n=t+1));a=V(a,o),a=V(a,e.slice(n)),t=-1;let c=a;for(s.enter.null&&s.enter.null.call(l);++t<e.length;){let e=s[c[t][0]],n=c[t][1].type,r=e[n];Gi.call(e,n)&&r&&r.call({sliceSerialize:c[t][2].sliceSerialize,...l},c[t][1])}return s.exit.null&&s.exit.null.call(l),i[0].join(``)}function f(e){let t=e.length,n=0,r=0,i=!1,a;for(;++n<t;){let t=e[n];if(t[1]._container)a=void 0,t[0]===`enter`?r++:r--;else switch(t[1].type){case`listItemPrefix`:t[0]===`exit`&&(a=!0);break;case`linePrefix`:break;case`lineEndingBlank`:t[0]===`enter`&&!r&&(a?a=void 0:i=!0);break;default:a=void 0}}e[0][1]._loose=i}function p(e,t){c[e]=t}function m(e){return c[e]}function h(){i.push([])}function g(){return i.pop().join(``)}function _(e){n&&(p(`lastWasTag`,!0),i[i.length-1].push(e))}function v(e){p(`lastWasTag`),i[i.length-1].push(e)}function y(){v(u||`\n`)}function b(){let e=i[i.length-1],t=e[e.length-1],n=t?t.charCodeAt(t.length-1):null;n===10||n===13||n===null||y()}function x(e){return m(`ignoreEncode`)?e:ji(e)}function S(){g()}function C(e){o.push(!e._loose),b(),_(`<ol`),p(`expectFirstItem`,!0)}function w(e){o.push(!e._loose),b(),_(`<ul`),p(`expectFirstItem`,!0)}function T(e){if(m(`expectFirstItem`)){let t=Number.parseInt(this.sliceSerialize(e),10);t!==1&&_(` start=\"`+x(String(t))+`\"`)}}function E(){m(`expectFirstItem`)?_(`>`):ee(),b(),_(`<li>`),p(`expectFirstItem`),p(`lastWasTag`)}function D(){ee(),o.pop(),y(),_(`</ol>`)}function O(){ee(),o.pop(),y(),_(`</ul>`)}function ee(){m(`lastWasTag`)&&!m(`slurpAllLineEndings`)&&b(),_(`</li>`),p(`slurpAllLineEndings`)}function te(){o.push(!1),b(),_(`<blockquote>`)}function ne(){o.pop(),b(),_(`</blockquote>`),p(`slurpAllLineEndings`)}function k(){o[o.length-1]||(b(),_(`<p>`)),p(`slurpAllLineEndings`)}function A(){o[o.length-1]?p(`slurpAllLineEndings`,!0):_(`</p>`)}function re(){b(),_(`<pre><code`),p(`fencesCount`,0)}function ie(){_(` class=\"language-`+g()+`\"`)}function ae(){let e=m(`fencesCount`)||0;e||(_(`>`),p(`slurpOneLineEnding`,!0)),p(`fencesCount`,e+1)}function oe(){b(),_(`<pre><code>`)}function se(){let e=m(`fencesCount`);e!==void 0&&e<2&&c.tightStack.length>0&&!m(`lastWasTag`)&&y(),m(`flowCodeSeenData`)&&b(),_(`</code></pre>`),e!==void 0&&e<2&&b(),p(`flowCodeSeenData`),p(`fencesCount`),p(`slurpOneLineEnding`)}function ce(){a.push({image:!0}),n=void 0}function le(){a.push({})}function ue(e){a[a.length-1].labelId=this.sliceSerialize(e)}function de(){a[a.length-1].label=g()}function fe(e){a[a.length-1].referenceId=this.sliceSerialize(e)}function pe(){h(),a[a.length-1].destination=``}function me(){h(),p(`ignoreEncode`,!0)}function he(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function ge(){a[a.length-1].title=g()}function j(){let e=a.length-1,i=a[e],o=i.referenceId||i.labelId,s=i.destination===void 0?r[Mi(o)]:i;for(n=!0;e--;)if(a[e].image){n=void 0;break}i.image?(_(`<img src=\"`+Ui(s.destination,t.allowDangerousProtocol?void 0:qi)+`\" alt=\"`),v(i.label),_(`\"`)):_(`<a href=\"`+Ui(s.destination,t.allowDangerousProtocol?void 0:Ki)+`\"`),_(s.title?` title=\"`+s.title+`\"`:``),i.image?_(` />`):(_(`>`),v(i.label),_(`</a>`)),a.pop()}function _e(){h(),a.push({})}function ve(e){g(),a[a.length-1].labelId=this.sliceSerialize(e)}function ye(){h(),p(`ignoreEncode`,!0)}function be(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function M(){a[a.length-1].title=g()}function xe(){let e=a[a.length-1],t=Mi(e.labelId);g(),Gi.call(r,t)||(r[t]=a[a.length-1]),a.pop()}function Se(){p(`slurpAllLineEndings`,!0)}function Ce(e){m(`headingRank`)||(p(`headingRank`,this.sliceSerialize(e).length),b(),_(`<h`+m(`headingRank`)+`>`))}function we(){h(),p(`slurpAllLineEndings`)}function Te(){p(`slurpAllLineEndings`,!0)}function Ee(){_(`</h`+m(`headingRank`)+`>`),p(`headingRank`)}function De(e){p(`headingRank`,this.sliceSerialize(e).charCodeAt(0)===61?1:2)}function N(){let e=g();b(),_(`<h`+m(`headingRank`)+`>`),v(e),_(`</h`+m(`headingRank`)+`>`),p(`slurpAllLineEndings`),p(`headingRank`)}function Oe(e){v(x(this.sliceSerialize(e)))}function ke(e){if(!m(`slurpAllLineEndings`)){if(m(`slurpOneLineEnding`)){p(`slurpOneLineEnding`);return}if(m(`inCodeText`)){v(` `);return}v(x(this.sliceSerialize(e)))}}function Ae(e){v(x(this.sliceSerialize(e))),p(`flowCodeSeenData`,!0)}function P(){_(`<br />`)}function F(){b(),L()}function I(){p(`ignoreEncode`)}function L(){t.allowDangerousHtml&&p(`ignoreEncode`,!0)}function je(){_(`<em>`)}function Me(){_(`<strong>`)}function Ne(){p(`inCodeText`,!0),_(`<code>`)}function Pe(){p(`inCodeText`),_(`</code>`)}function Fe(){_(`</em>`)}function Ie(){_(`</strong>`)}function Le(){b(),_(`<hr />`)}function Re(e){p(`characterReferenceType`,e.type)}function ze(e){let t=this.sliceSerialize(e);v(x(m(`characterReferenceType`)?ki(t,m(`characterReferenceType`)===`characterReferenceMarkerNumeric`?10:16):xi(t))),p(`characterReferenceType`)}function Be(e){let n=this.sliceSerialize(e);_(`<a href=\"`+Ui(n,t.allowDangerousProtocol?void 0:Ki)+`\">`),v(x(n)),_(`</a>`)}function Ve(e){let t=this.sliceSerialize(e);_(`<a href=\"`+Ui(`mailto:`+t)+`\">`),v(x(t)),_(`</a>`)}}function G(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return W(r)?(e.enter(n),s(r)):t(r)}function s(r){return W(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}var Yi={tokenize:Xi};function Xi(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null){e.consume(n);return}return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),G(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null){e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);return}return H(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var Zi={tokenize:$i},Qi={tokenize:ea};function $i(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return Si(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Qi,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(Qi,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null){i&&v(),_(0),e.consume(n);return}return i=i||t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null){g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);return}return H(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;Si(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-- >r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function ea(e,t,n){return G(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function ta(e){if(e===null||U(e)||Vi(e))return 1;if(Bi(e))return 2}function na(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}var ra={name:`attention`,resolveAll:ia,tokenize:aa};function ia(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};oa(d,-c),oa(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=V(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=V(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=V(l,na(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=V(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=V(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,Si(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function aa(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=ta(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=ta(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function oa(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var sa={name:`autolink`,tokenize:ca};function ca(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return Ni(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||Pi(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||Pi(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||Ii(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):Fi(t)?(e.consume(t),l):n(t)}function u(e){return Pi(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||Pi(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var la={partial:!0,tokenize:ua};function ua(e,t,n){return r;function r(t){return W(t)?G(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||H(e)?t(e):n(e)}}var da={continuation:{tokenize:pa},exit:ma,name:`blockQuote`,tokenize:fa};function fa(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||(e.enter(`blockQuote`,{_container:!0}),n.open=!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return W(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function pa(e,t,n){let r=this;return i;function i(t){return W(t)?G(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(da,t,n)(r)}}function ma(e){e.exit(`blockQuote`)}var ha={name:`characterEscape`,tokenize:ga};function ga(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return zi(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var _a={name:`characterReference`,tokenize:va};function va(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=Pi,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=Ri,u):(e.enter(`characterReferenceValue`),a=7,o=Li,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===Pi&&!xi(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}var ya={partial:!0,tokenize:Sa},ba={concrete:!0,name:`codeFenced`,tokenize:xa};function xa(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),W(t)?G(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||H(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(ya,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||H(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):W(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),G(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||H(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||H(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&W(t)?G(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||H(t)?e.check(ya,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||H(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),W(t)?G(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),W(t)?G(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||H(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function Sa(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var Ca={name:`codeIndented`,tokenize:Ta},wa={partial:!0,tokenize:Ea};function Ta(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),G(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):H(t)?e.attempt(wa,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||H(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function Ea(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):G(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):H(e)?i(e):n(e)}}var Da={name:`codeText`,previous:ka,resolve:Oa,tokenize:Aa};function Oa(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function ka(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function Aa(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||H(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var ja=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError(\"Cannot access index `\"+e+\"` in a splice buffer of size `\"+(this.left.length+this.right.length)+\"`\");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&Ma(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),Ma(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Ma(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e<this.left.length){let t=this.left.splice(e,1/0);Ma(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);Ma(this.left,t.reverse())}}};function Ma(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Na(e){let t={},n=-1,r,i,a,o,s,c,l,u=new ja(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,Pa(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(!(o[1].type===`linePrefix`||o[1].type===`listItemIndent`))break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return Si(e,0,1/0,u.slice(0)),!l}function Pa(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}var Fa={resolve:La,tokenize:Ra},Ia={partial:!0,tokenize:za};function La(e){return Na(e),e}function Ra(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):H(t)?e.check(Ia,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function za(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),G(e,a,`linePrefix`)}function a(i){if(i===null||H(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function Ba(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||Ii(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||H(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||U(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||Ii(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function Va(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):H(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||H(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||(c=!W(t)),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function Ha(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),G(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||H(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function Ua(e,t){let n;return r;function r(i){return H(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):W(i)?G(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var Wa={name:`definition`,tokenize:Ka},Ga={partial:!0,tokenize:qa};function Ka(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return Va.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Mi(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return U(t)?Ua(e,l)(t):l(t)}function l(t){return Ba(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(Ga,d,d)(t)}function d(t){return W(t)?G(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||H(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function qa(e,t,n){return r;function r(t){return U(t)?Ua(e,i)(t):n(t)}function i(t){return Ha(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return W(t)?G(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||H(e)?t(e):n(e)}}var Ja={name:`hardBreakEscape`,tokenize:Ya};function Ya(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return H(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var Xa={name:`headingAtx`,resolve:Za,tokenize:Qa};function Za(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},Si(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function Qa(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||U(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||H(n)?(e.exit(`atxHeading`),t(n)):W(n)?G(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||U(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var $a=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),eo=[`pre`,`script`,`style`,`textarea`],to={concrete:!0,name:`htmlFlow`,resolveTo:io,tokenize:ao},no={partial:!0,tokenize:so},ro={partial:!0,tokenize:oo};function io(e){let t=e.length;for(;t--&&!(e[t][0]===`enter`&&e[t][1].type===`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function ao(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:ae):Ni(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):Ni(a)?(e.consume(a),i=4,r.interrupt?t:ae):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:ae):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:O:m):n(i)}function h(t){return Ni(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||U(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&eo.includes(l)?(i=1,r.interrupt?t(s):O(s)):$a.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):O(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||Pi(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:O):n(i)}function v(t){return W(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||Ni(t)?(e.consume(t),b):W(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||Pi(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):W(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):W(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||H(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||U(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||W(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),D):n(t)}function D(t){return t===null||H(t)?O(t):W(t)?(e.consume(t),D):n(t)}function O(t){return t===45&&i===2?(e.consume(t),k):t===60&&i===1?(e.consume(t),A):t===62&&i===4?(e.consume(t),oe):t===63&&i===3?(e.consume(t),ae):t===93&&i===5?(e.consume(t),ie):H(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(no,se,ee)(t)):t===null||H(t)?(e.exit(`htmlFlowData`),ee(t)):(e.consume(t),O)}function ee(t){return e.check(ro,te,se)(t)}function te(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),ne}function ne(t){return t===null||H(t)?ee(t):(e.enter(`htmlFlowData`),O(t))}function k(t){return t===45?(e.consume(t),ae):O(t)}function A(t){return t===47?(e.consume(t),o=``,re):O(t)}function re(t){if(t===62){let n=o.toLowerCase();return eo.includes(n)?(e.consume(t),oe):O(t)}return Ni(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),re):O(t)}function ie(t){return t===93?(e.consume(t),ae):O(t)}function ae(t){return t===62?(e.consume(t),oe):t===45&&i===2?(e.consume(t),ae):O(t)}function oe(t){return t===null||H(t)?(e.exit(`htmlFlowData`),se(t)):(e.consume(t),oe)}function se(n){return e.exit(`htmlFlow`),t(n)}}function oo(e,t,n){let r=this;return i;function i(t){return H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function so(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(la,t,n)}}var co={name:`htmlText`,tokenize:lo};function lo(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):Ni(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):Ni(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):H(t)?(o=d,A(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?k(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):H(t)?(o=h,A(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?k(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?k(t):H(t)?(o=v,A(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):H(t)?(o=y,A(t)):(e.consume(t),y)}function b(e){return e===62?k(e):y(e)}function x(t){return Ni(t)?(e.consume(t),S):n(t)}function S(t){return t===45||Pi(t)?(e.consume(t),S):C(t)}function C(t){return H(t)?(o=C,A(t)):W(t)?(e.consume(t),C):k(t)}function w(t){return t===45||Pi(t)?(e.consume(t),w):t===47||t===62||U(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),k):t===58||t===95||Ni(t)?(e.consume(t),E):H(t)?(o=T,A(t)):W(t)?(e.consume(t),T):k(t)}function E(t){return t===45||t===46||t===58||t===95||Pi(t)?(e.consume(t),E):D(t)}function D(t){return t===61?(e.consume(t),O):H(t)?(o=D,A(t)):W(t)?(e.consume(t),D):T(t)}function O(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,ee):H(t)?(o=O,A(t)):W(t)?(e.consume(t),O):(e.consume(t),te)}function ee(t){return t===i?(e.consume(t),i=void 0,ne):t===null?n(t):H(t)?(o=ee,A(t)):(e.consume(t),ee)}function te(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||U(t)?T(t):(e.consume(t),te)}function ne(e){return e===47||e===62||U(e)?T(e):n(e)}function k(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function A(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return W(t)?G(e,ie,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):ie(t)}function ie(t){return e.enter(`htmlTextData`),o(t)}}var uo={name:`labelEnd`,resolveAll:ho,resolveTo:go,tokenize:_o},fo={tokenize:vo},po={tokenize:yo},mo={tokenize:bo};function ho(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&Si(e,0,e.length,n),e}function go(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=V(s,e.slice(a+1,a+r+3)),s=V(s,[[`enter`,u,t]]),s=V(s,na(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=V(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=V(s,e.slice(o+1)),s=V(s,[[`exit`,c,t]]),Si(e,a,e.length,s),e}function _o(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(Mi(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(fo,u,o?u:d)(t):t===91?e.attempt(po,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(mo,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function vo(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return U(t)?Ua(e,a)(t):a(t)}function a(t){return t===41?u(t):Ba(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return U(t)?Ua(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?Ha(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return U(t)?Ua(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function yo(e,t,n){let r=this;return i;function i(t){return Va.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(Mi(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function bo(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}var xo={name:`labelStartImage`,resolveAll:uo.resolveAll,tokenize:So};function So(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var Co={name:`labelStartLink`,resolveAll:uo.resolveAll,tokenize:wo};function wo(e,t,n){let r=this;return i;function i(t){return e.enter(`labelLink`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelLink`),a}function a(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var To={name:`lineEnding`,tokenize:Eo};function Eo(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),G(e,t,`linePrefix`)}}var Do={name:`thematicBreak`,tokenize:Oo};function Oo(e,t,n){let r=0,i;return a;function a(t){return e.enter(`thematicBreak`),o(t)}function o(e){return i=e,s(e)}function s(a){return a===i?(e.enter(`thematicBreakSequence`),c(a)):r>=3&&(a===null||H(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),W(t)?G(e,s,`whitespace`)(t):s(t))}}var ko={continuation:{tokenize:No},exit:Fo,name:`list`,tokenize:Mo},Ao={partial:!0,tokenize:Io},jo={partial:!0,tokenize:Po};function Mo(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:Li(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(Do,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return Li(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(la,r.interrupt?n:u,e.attempt(Ao,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return W(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function No(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(la,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,G(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!W(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(jo,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,G(e,e.attempt(ko,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function Po(e,t,n){let r=this;return G(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function Fo(e){e.exit(this.containerState.type)}function Io(e,t,n){let r=this;return G(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!W(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var Lo={name:`setextUnderline`,resolveTo:Ro,tokenize:zo};function Ro(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function zo(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),W(t)?G(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||H(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var Bo={tokenize:Vo};function Vo(e){let t=this,n=e.attempt(la,r,e.attempt(this.parser.constructs.flowInitial,i,G(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Fa,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var Ho={resolveAll:Ko()},Uo=Go(`string`),Wo=Go(`text`);function Go(e){return{resolveAll:Ko(e===`text`?qo:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}function Ko(e){return t;function t(t,n){let r=-1,i;for(;++r<=t.length;)i===void 0?t[r]&&t[r][1].type===`data`&&(i=r,r++):(!t[r]||t[r][1].type!==`data`)&&(r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),r=i+2),i=void 0);return e?e(t,n):t}}function qo(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type===`lineEnding`)&&e[n-1][1].type===`data`){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,c;for(;a--;){let e=i[a];if(typeof e==`string`){for(o=e.length;e.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(e===-2)c=!0,s++;else if(e!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let i={type:n===e.length||c||s<2?`lineSuffix`:`hardBreakTrailing`,start:{_bufferIndex:a?o:r.start._bufferIndex+o,_index:r.start._index+a,line:r.end.line,column:r.end.column-s,offset:r.end.offset-s},end:{...r.end}};r.end={...i.start},r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[`enter`,i,t],[`exit`,i,t]),n+=2)}n++}return e}var Jo=t({attentionMarkers:()=>ns,contentInitial:()=>Xo,disable:()=>rs,document:()=>Yo,flow:()=>Qo,flowInitial:()=>Zo,insideSpan:()=>ts,string:()=>$o,text:()=>es}),Yo={42:ko,43:ko,45:ko,48:ko,49:ko,50:ko,51:ko,52:ko,53:ko,54:ko,55:ko,56:ko,57:ko,62:da},Xo={91:Wa},Zo={[-2]:Ca,[-1]:Ca,32:Ca},Qo={35:Xa,42:Do,45:[Lo,Do],60:to,61:Lo,95:Do,96:ba,126:ba},$o={38:_a,92:ha},es={[-5]:To,[-4]:To,[-3]:To,33:xo,38:_a,42:ra,60:[sa,co],91:Co,92:[Ja,ha],93:uo,95:ra,96:Da},ts={null:[ra,Ho]},ns={null:[42,95]},rs={null:[]};function is(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=V(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=na(a,l.events,l),l.events):[]}function f(e,t){return os(p(e),t)}function p(e){return as(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index<o.length;){let t=o[r._index];if(typeof t==`string`)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)_(t.charCodeAt(r._bufferIndex));else _(t)}}function _(e){u=u(e)}function v(e){H(e)?(r.line++,r.column=1,r.offset+=e===-3?2:1,E()):e!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),l.previous=e}function y(e,t){let n=t||{};return n.type=e,n.start=m(),l.events.push([`enter`,n,l]),s.push(n),n}function b(e){let t=s.pop();return t.end=m(),l.events.push([`exit`,t,l]),t}function x(e,t){w(e,t.from)}function S(e,t){t.restore()}function C(e,t){return n;function n(n,r,i){let a,o,s,u;return Array.isArray(n)?f(n):`tokenize`in n?f([n]):d(n);function d(e){return t;function t(t){let n=t!==null&&e[t],r=t!==null&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}function f(e){return a=e,o=0,e.length===0?i:p(e[o])}function p(e){return n;function n(n){return u=T(),s=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name)?h(n):e.tokenize.call(t?Object.assign(Object.create(l),t):l,c,m,h)(n)}}function m(t){return e(s,u),r}function h(e){return u.restore(),++o<a.length?p(a[o]):i}}}function w(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&Si(l.events,t,l.events.length-t,e.resolve(l.events.slice(t),l)),e.resolveTo&&(l.events=e.resolveTo(l.events,l))}function T(){let e=m(),t=l.previous,n=l.currentConstruct,i=l.events.length,a=Array.from(s);return{from:i,restore:o};function o(){r=e,l.previous=t,l.currentConstruct=n,l.events.length=i,s=a,E()}}function E(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function as(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function os(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a==`string`)o=a;else switch(a){case-5:o=`\\r`;break;case-4:o=`\n`;break;case-3:o=`\\r\n`;break;case-2:o=t?` `:`\t`;break;case-1:if(!t&&i)continue;o=` `;break;default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join(``)}function ss(e){let t={constructs:wi([Jo,...(e||{}).extensions||[]]),content:n(Yi),defined:[],document:n(Zi),flow:n(Bo),lazy:{},string:n(Uo),text:n(Wo)};return t;function n(e){return n;function n(n){return is(t,e,n)}}}function cs(e){for(;!Na(e););return e}var ls=/[\\0\\t\\n\\r]/g;function us(){let e=1,t=``,n=!0,r;return i;function i(i,a,o){let s=[],c,l,u,d,f;for(i=t+(typeof i==`string`?i.toString():new TextDecoder(a||void 0).decode(i)),u=0,t=``,n&&(i.charCodeAt(0)===65279&&u++,n=void 0);u<i.length;){if(ls.lastIndex=u,c=ls.exec(i),d=c&&c.index!==void 0?c.index:i.length,f=i.charCodeAt(d),!c){t=i.slice(u);break}if(f===10&&u===d&&r)s.push(-3),r=void 0;else switch(r&&(s.push(-5),r=void 0),u<d&&(s.push(i.slice(u,d)),e+=d-u),f){case 0:s.push(65533),e++;break;case 9:for(l=Math.ceil(e/4)*4,s.push(-2);e++<l;)s.push(-1);break;case 10:s.push(-4),e=1;break;default:r=!0,e=1}u=d+1}return o&&(r&&s.push(-5),t&&s.push(t),s.push(null)),s}}function ds(e,t,n){return typeof t!=`string`&&(n=t,t=void 0),Ji(n)(cs(ss(n).document().write(us()(e,t,!0))))}var fs={none:``,left:` align=\"left\"`,right:` align=\"right\"`,center:` align=\"center\"`};function ps(){return{enter:{table(e){let t=e._align;this.lineEndingIfNeeded(),this.tag(`<table>`),this.setData(`tableAlign`,t)},tableBody(){this.tag(`<tbody>`)},tableData(){let e=fs[this.getData(`tableAlign`)[this.getData(`tableColumn`)]];e===void 0?this.buffer():(this.lineEndingIfNeeded(),this.tag(`<td`+e+`>`))},tableHead(){this.lineEndingIfNeeded(),this.tag(`<thead>`)},tableHeader(){let e=fs[this.getData(`tableAlign`)[this.getData(`tableColumn`)]];this.lineEndingIfNeeded(),this.tag(`<th`+e+`>`)},tableRow(){this.setData(`tableColumn`,0),this.lineEndingIfNeeded(),this.tag(`<tr>`)}},exit:{codeTextData(e){let t=this.sliceSerialize(e);this.getData(`tableAlign`)&&(t=t.replace(/\\\\([\\\\|])/g,ms)),this.raw(this.encode(t))},table(){this.setData(`tableAlign`),this.setData(`slurpAllLineEndings`),this.lineEndingIfNeeded(),this.tag(`</table>`)},tableBody(){this.lineEndingIfNeeded(),this.tag(`</tbody>`)},tableData(){let e=this.getData(`tableAlign`),t=this.getData(`tableColumn`);t in e?(this.tag(`</td>`),this.setData(`tableColumn`,t+1)):this.resume()},tableHead(){this.lineEndingIfNeeded(),this.tag(`</thead>`)},tableHeader(){let e=this.getData(`tableColumn`);this.tag(`</th>`),this.setData(`tableColumn`,e+1)},tableRow(){let e=this.getData(`tableAlign`),t=this.getData(`tableColumn`);for(;t<e.length;)this.lineEndingIfNeeded(),this.tag(`<td`+fs[e[t]]+`></td>`),t++;this.setData(`tableColumn`,t),this.lineEndingIfNeeded(),this.tag(`</tr>`)}}}}function ms(e,t){return t===`|`?t:e}var hs=class{constructor(){this.map=[]}add(e,t,n){gs(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function gs(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function _s(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function vs(){return{flow:{null:{name:`table`,tokenize:ys,resolveAll:bs}}}}function ys(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):H(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):W(t)?G(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||U(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,W(t)?G(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return W(t)?G(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||H(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return W(t)?G(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||H(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||H(n)?(e.exit(`tableRow`),t(n)):W(n)?G(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||U(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function bs(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new hs;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(Ss(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=xs(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=xs(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=xs(f,t,o,i,n,d)):(o[0]=o[1],d=xs(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&Ss(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=_s(t.events,n))}return e}function xs(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},Cs(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=Cs(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=Cs(t.events,n[2]),a=Cs(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},Cs(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function Ss(e,t,n,r,i){let a=[],o=Cs(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function Cs(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}function ws(){return{enter:{strikethrough(){this.tag(`<del>`)}},exit:{strikethrough(){this.tag(`</del>`)}}}}function Ts(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&Si(o,o.length,0,na(s,e.slice(r+1,n),t)),Si(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),Si(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=ta(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=ta(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}function Es(e,t){let n=[`codeIndented`];return t?.inline&&n.push(`list`,`headingAtx`,`setextUnderline`,`thematicBreak`,`blockQuote`),ds(e,{allowDangerousHtml:!0,extensions:[vs(),Ts(),{disable:{null:n}}],htmlExtensions:[ps(),ws()]})}var Ds={update:e=>{throw Error(`Cannot set @${e} — local variables require a {for}, widget, {link}, or {button} scope`)},getValues:()=>({})},Os=he({}),ks=he(Ds),K=he(!1),As=he(!1),js=he(null);function Ms(e,t,n=!1){let r=document.createElement(`div`);if(r.innerHTML=e.trim(),n)for(let e of Array.from(r.querySelectorAll(`:scope > p`)))e.replaceWith(...Array.from(e.childNodes));return B(S,{children:Array.from(r.childNodes).map((e,n)=>Ns(e,n,t))})}function Ns(e,t,n){if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType===Node.ELEMENT_NODE){let r=e,i=r.localName,a=r.getAttribute(`data-tw`);if(a!=null)return n[parseInt(a,10)];let o={key:t};for(let e of Array.from(r.attributes))o[e.name]=e.value;return b(i,o,...Array.from(r.childNodes).map((e,t)=>Ns(e,t,n)))}return null}var Ps=new Set(`a.abbr.b.bdi.bdo.br.cite.code.data.dfn.em.i.kbd.label.mark.meter.output.progress.q.rp.rt.ruby.s.samp.small.span.strong.sub.sup.time.u.var.wbr`.split(`.`)),Fs=new Set([`allowfullscreen`,`async`,`autofocus`,`autoplay`,`checked`,`controls`,`default`,`defer`,`disabled`,`formnovalidate`,`hidden`,`inert`,`ismap`,`itemscope`,`loop`,`multiple`,`muted`,`nomodule`,`novalidate`,`open`,`playsinline`,`readonly`,`required`,`reversed`,`selected`]);function Is(e,t){return t===``&&Fs.has(e.toLowerCase())}function Ls({node:e}){let t=$r(),n=L(K),r=L(Os),i=L(As),a={};for(let[n,r]of Object.entries(e.attributes))a[n]=Is(n,r)?!0:t(r)??r;let o=e.tag.toLowerCase()===`svg`,s=Ps.has(e.tag.toLowerCase()),c=e.children.length>0?i||o?Ws(e.children):$s(e.children,{nobr:n,locals:r,inline:s}):void 0,l=b(e.tag,a,c);return o?B(As.Provider,{value:!0,children:l}):l}function Rs(){let e=L(js),t=L(K),n=L(Os);return!e||e.length===0?null:B(S,{children:$s(e,{nobr:t,locals:n})})}var zs=new WeakMap,Bs=0;function Vs(e){let t=zs.get(e);return t===void 0&&(t=`n${Bs++}`,zs.set(e,t)),t}function Hs(e,t){if(gi(e.name))return null;let n=ui(e.name);if(n)return B(si,{body:n.body,params:n.params,rawArgs:e.rawArgs,invocationChildren:e.children},t);let r=pi(e.name);return r?B(r,{rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},t):B(`span`,{class:`error`,children:`{unknown macro: ${e.name}}`},t)}function Us(e){if(e.type===`text`)return e.value;let t=Vs(e);switch(e.type){case`variable`:return e.scope===`local`&&e.name===`children`?B(Rs,{},t):B(ti,{name:e.name,scope:e.scope,className:e.className,id:e.id},t);case`expression`:return B(ni,{expression:e.expression,className:e.className,id:e.id},t);case`macro`:return Hs(e,t);case`html`:return B(Ls,{node:e},t);default:return e}}function Ws(e){return e.length===0?null:e.map(e=>Us(e))}function Gs(e){let t=0;for(let n=0;n<e.length;n++)e[n]===\"`\"&&t++;return t%2==1}function Ks(e,t){let n=Z.getState(),r=e.name.split(`.`),i=r[0],a;a=e.scope===`variable`?n.variables[i]:e.scope===`temporary`?n.temporary[i]:e.scope===`transient`?n.transient[i]:t[i];for(let e=1;e<r.length;e++){if(a==null)return``;a=a[r[e]]}return a==null?``:String(a)}var qs=/[*_`#|~\\[>\\\\\\-+=]|!\\[|\\d+\\.|&#?[a-zA-Z0-9]+;| {2}\\n/,Js=/\\n\\s*\\n/,Ys=/(<span data-tw=\"\\d+\"><\\/span>)/,Xs=/^<span data-tw=\"(\\d+)\"><\\/span>$/,Zs=/<span data-tw=\"\\d+\"><\\/span>/g;function Qs(e,t,n){let r=e.split(Ys),i=[];for(let e of r){let n=Xs.exec(e);n?i.push(t[parseInt(n[1],10)]):e&&i.push(e)}return n?B(S,{children:i}):b(`p`,null,...i)}function $s(e,t){if(e.length===0)return null;if(!e.some(e=>e.type===`text`&&(e.value.trim()!==``||/\\n\\s*\\n/.test(e.value))))return e.map(e=>Us(e));let n=[],r=``,i=t?.locals??{};for(let t=0;t<e.length;t++){let a=e[t];if(a.type===`text`)r+=a.value;else if(a.type===`variable`&&Gs(r))r+=Ks(a,i);else{let e=n.length;n.push(Us(a)),r+=`<span data-tw=\"${e}\"></span>`}}let a=r.replace(Zs,``);return!qs.test(a)&&!Js.test(a)?Qs(r,n,t?.nobr):Ms(Es(r,{inline:t?.inline}),n,t?.nobr)}function ec(){let e=new Map,t=new Map,n=new Map;return{type:`memory`,async putSave(t){e.set(t.meta.id,t)},async getSave(t){return e.get(t)},async deleteSave(t){e.delete(t)},async getSavesByIfid(t){return[...e.values()].filter(e=>e.meta.ifid===t)},async deleteSavesByIfid(t){for(let n of[...e.keys()]){let r=e.get(n);r&&r.meta.ifid===t&&e.delete(n)}},async deleteSavesByPlaythrough(t){let n=[];for(let r of[...e.keys()]){let i=e.get(r);i&&i.meta.playthroughId===t&&(e.delete(r),n.push(r))}return n},async putPlaythrough(e){t.set(e.id,e)},async getPlaythroughsByIfid(e){return[...t.values()].filter(t=>t.ifid===e)},async deletePlaythroughsByIfid(e){for(let n of[...t.keys()]){let r=t.get(n);r&&r.ifid===e&&t.delete(n)}},async deletePlaythroughById(e){t.delete(e)},async getMeta(e){return n.get(e)},async setMeta(e,t){n.set(e,t)},async deleteMeta(e){n.delete(e)},async deleteMetaByPrefix(e){for(let t of[...n.keys()])t.startsWith(e)&&n.delete(t)},async deleteMetaByIfid(e){for(let t of[...n.keys()])t.includes(e)&&n.delete(t)},async getAllMetaKeys(){return[...n.keys()]},async destroy(){e.clear(),t.clear(),n.clear()}}}var tc=`spindle.save.`,nc=`spindle.pt.`,rc=`spindle.meta.`,ic=`spindle.idx.saves.`,ac=`spindle.idx.pt.`,oc=`spindle.idx.saves-pt.`;function sc(e){let t=localStorage.getItem(e);if(t!==null)try{return JSON.parse(t)}catch{return}}function cc(e,t){localStorage.setItem(e,JSON.stringify(t))}function lc(e){localStorage.removeItem(e)}function uc(e){return sc(e)??[]}function dc(e,t){let n=uc(e);n.includes(t)||(n.push(t),cc(e,n))}function fc(e,t){cc(e,uc(e).filter(e=>e!==t))}function pc(){return{type:`localstorage`,async putSave(e){let t=e.meta.id;cc(`${tc}${t}`,e),dc(`${ic}${e.meta.ifid}`,t),dc(`${oc}${e.meta.playthroughId}`,t)},async getSave(e){return sc(`${tc}${e}`)},async deleteSave(e){let t=sc(`${tc}${e}`);t&&(fc(`${ic}${t.meta.ifid}`,e),fc(`${oc}${t.meta.playthroughId}`,e)),lc(`${tc}${e}`)},async getSavesByIfid(e){let t=uc(`${ic}${e}`),n=[];for(let e of t){let t=sc(`${tc}${e}`);t&&n.push(t)}return n},async deleteSavesByIfid(e){let t=uc(`${ic}${e}`);for(let e of t){let t=sc(`${tc}${e}`);t&&fc(`${oc}${t.meta.playthroughId}`,e),lc(`${tc}${e}`)}lc(`${ic}${e}`)},async deleteSavesByPlaythrough(e){let t=uc(`${oc}${e}`);for(let e of t){let t=sc(`${tc}${e}`);t&&fc(`${ic}${t.meta.ifid}`,e),lc(`${tc}${e}`)}return lc(`${oc}${e}`),t},async putPlaythrough(e){cc(`${nc}${e.id}`,e),dc(`${ac}${e.ifid}`,e.id)},async getPlaythroughsByIfid(e){let t=uc(`${ac}${e}`),n=[];for(let e of t){let t=sc(`${nc}${e}`);t&&n.push(t)}return n},async deletePlaythroughsByIfid(e){let t=uc(`${ac}${e}`);for(let e of t)lc(`${nc}${e}`);lc(`${ac}${e}`)},async deletePlaythroughById(e){let t=sc(`${nc}${e}`);t&&fc(`${ac}${t.ifid}`,e),lc(`${nc}${e}`)},async getMeta(e){return sc(`${rc}${e}`)},async setMeta(e,t){cc(`${rc}${e}`,t)},async deleteMeta(e){lc(`${rc}${e}`)},async deleteMetaByPrefix(e){let t=`${rc}${e}`;for(let e of Object.keys(localStorage))e.startsWith(t)&&localStorage.removeItem(e)},async deleteMetaByIfid(e){for(let t of Object.keys(localStorage))t.startsWith(rc)&&t.includes(e)&&localStorage.removeItem(t)},async getAllMetaKeys(){let e=[];for(let t of Object.keys(localStorage))t.startsWith(rc)&&e.push(t.slice(13));return e},async destroy(){for(let e of Object.keys(localStorage))e.startsWith(`spindle.`)&&localStorage.removeItem(e)}}}var mc=`spindle`,hc=1;function gc(){let e=null;function t(){return e||(e=new Promise((e,t)=>{let n=indexedDB.open(mc,hc);n.onupgradeneeded=()=>{let e=n.result;if(!e.objectStoreNames.contains(`saves`)){let t=e.createObjectStore(`saves`,{keyPath:`meta.id`});t.createIndex(`ifid`,`meta.ifid`,{unique:!1}),t.createIndex(`playthroughId`,`meta.playthroughId`,{unique:!1})}e.objectStoreNames.contains(`playthroughs`)||e.createObjectStore(`playthroughs`,{keyPath:`id`}).createIndex(`ifid`,`ifid`,{unique:!1}),e.objectStoreNames.contains(`meta`)||e.createObjectStore(`meta`,{keyPath:`key`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)}),e)}function n(e,n){return t().then(t=>t.transaction(e,n).objectStore(e))}function r(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}async function i(e,t,i){return await r((await n(e,`readonly`)).index(t).getAll(i))??[]}return{type:`indexeddb`,async putSave(e){await r((await n(`saves`,`readwrite`)).put(e))},async getSave(e){return await r((await n(`saves`,`readonly`)).get(e))??void 0},async deleteSave(e){await r((await n(`saves`,`readwrite`)).delete(e))},async getSavesByIfid(e){return i(`saves`,`ifid`,e)},async deleteSavesByIfid(e){let t=await i(`saves`,`ifid`,e),a=await n(`saves`,`readwrite`);for(let e of t)await r(a.delete(e.meta.id))},async deleteSavesByPlaythrough(e){let t=await i(`saves`,`playthroughId`,e),a=await n(`saves`,`readwrite`),o=[];for(let e of t)await r(a.delete(e.meta.id)),o.push(e.meta.id);return o},async putPlaythrough(e){await r((await n(`playthroughs`,`readwrite`)).put(e))},async getPlaythroughsByIfid(e){return i(`playthroughs`,`ifid`,e)},async deletePlaythroughsByIfid(e){let t=await i(`playthroughs`,`ifid`,e),a=await n(`playthroughs`,`readwrite`);for(let e of t)await r(a.delete(e.id))},async deletePlaythroughById(e){await r((await n(`playthroughs`,`readwrite`)).delete(e))},async getMeta(e){let t=await r((await n(`meta`,`readonly`)).get(e));return t?t.value:void 0},async setMeta(e,t){await r((await n(`meta`,`readwrite`)).put({key:e,value:t}))},async deleteMeta(e){await r((await n(`meta`,`readwrite`)).delete(e))},async deleteMetaByPrefix(e){let t=await r((await n(`meta`,`readwrite`)).getAll());for(let i of t)i.key.startsWith(e)&&await r((await n(`meta`,`readwrite`)).delete(i.key))},async deleteMetaByIfid(e){let t=await r((await n(`meta`,`readwrite`)).getAll());for(let i of t)i.key.includes(e)&&await r((await n(`meta`,`readwrite`)).delete(i.key))},async getAllMetaKeys(){return(await r((await n(`meta`,`readonly`)).getAll())).map(e=>e.key)},async destroy(){(await t()).close(),e=null,await new Promise((e,t)=>{let n=indexedDB.deleteDatabase(mc);n.onsuccess=()=>e(),n.onerror=()=>t(n.error)})}}}var _c=null;async function vc(){if(typeof indexedDB<`u`)try{return await new Promise((e,t)=>{let n=indexedDB.open(`__spindle_probe__`,1);n.onsuccess=()=>{n.result.close(),indexedDB.deleteDatabase(`__spindle_probe__`),e()},n.onerror=()=>t(n.error)}),gc()}catch{}if(typeof localStorage<`u`)try{let e=`__spindle_probe__`;localStorage.setItem(e,`1`);let t=localStorage.getItem(e);if(localStorage.removeItem(e),t===`1`)return pc()}catch{}return ec()}var yc=null;function q(){if(_c)return Promise.resolve(_c);if(!yc){let e=vc().then(t=>(yc===e&&(_c=t),t));yc=e}return yc}function bc(){_c=null,yc=null}function xc(){return _c?.type??`memory`}var Sc=new Map,Cc=new Map;function wc(e,t){Sc.set(e,t),Cc.set(t,e)}function Tc(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function J(e,t={}){let n=new Map;function r(e){if(typeof e!=`object`||!e)return e;let i=e;if(n.has(i))return n.get(i);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(Array.isArray(e)){let t=[];n.set(i,t);for(let n=0;n<e.length;n++)t[n]=r(e[n]);return t}if(e instanceof Map){let t=new Map;n.set(i,t);for(let[n,i]of e)t.set(r(n),r(i));return t}if(e instanceof Set){let t=new Set;n.set(i,t);for(let n of e)t.add(r(n));return t}let a=i.constructor;if(Cc.get(a)!==void 0){let e=Object.create(Object.getPrototypeOf(i));n.set(i,e);for(let t of Object.keys(i))e[t]=r(i[t]);return e}if(!Tc(e)&&t.keepUnregistered)return e;if(Tc(e)||typeof e==`object`){let e={};n.set(i,e);for(let t of Object.keys(i))e[t]=r(i[t]);return e}return e}return r(e)}function Ec(e,t,n=new Map){if(Object.is(e,t))return!0;if(e===null||t===null||typeof e!=`object`||typeof t!=`object`||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;if(n.get(e)===t)return!0;if(n.set(e,t),e instanceof Date)return Object.is(e.getTime(),t.getTime());if(e instanceof RegExp)return String(e)===String(t);if(e instanceof Map||e instanceof Set){let r=t;if(e.size!==r.size)return!1;let i=e.entries(),a=r.entries();for(let e=i.next(),t=a.next();!e.done;e=i.next(),t=a.next())if(!Ec(e.value,t.value,n))return!1;return!0}let r=e,i=t,a=Object.keys(r);if(a.length!==Object.keys(i).length)return!1;for(let e of a)if(!(e in i)||!Ec(r[e],i[e],n))return!1;return!0}var Dc=`__spindle_class__`,Oc=`__spindle_data__`;function kc(e){let t=new Set;function n(e){if(typeof e!=`object`||!e)return e;let r=e;if(t.has(r))throw Error(`spindle: Cannot serialize circular references`);if(t.add(r),e instanceof Date)return t.delete(r),{[Dc]:`__Date__`,[Oc]:{iso:e.toISOString()}};if(e instanceof RegExp)return t.delete(r),{[Dc]:`__RegExp__`,[Oc]:{source:e.source,flags:e.flags}};if(Array.isArray(e)){let i=e.map(e=>n(e));return t.delete(r),i}if(e instanceof Map){let i=[...e].map(([e,t])=>[n(e),n(t)]);return t.delete(r),{[Dc]:`__Map__`,[Oc]:{entries:i}}}if(e instanceof Set){let i=[...e].map(e=>n(e));return t.delete(r),{[Dc]:`__Set__`,[Oc]:{entries:i}}}let i=r.constructor,a=Cc.get(i);if(a!==void 0){let e={};for(let t of Object.keys(r))e[t]=n(r[t]);return t.delete(r),{[Dc]:a,[Oc]:e}}let o={};for(let e of Object.keys(r))o[e]=n(r[e]);return t.delete(r),o}return n(e)}function Ac(e){function t(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(e=>t(e));let n=e;if(Dc in n&&Oc in n){let e=n[Dc],r=n[Oc];if(e===`__Date__`)return new Date(r.iso);if(e===`__RegExp__`)return new RegExp(r.source,r.flags);if(e===`__Map__`){let e=r.entries;return new Map(e.map(([e,n])=>[t(e),t(n)]))}if(e===`__Set__`){let e=r.entries;return new Set(e.map(e=>t(e)))}let i=Sc.get(e);if(!i){console.warn(`spindle: Class \"${e}\" not registered. Falling back to plain object.`);let n={};for(let e of Object.keys(r))n[e]=t(r[e]);return n}let a=Object.create(i.prototype);for(let e of Object.keys(r))a[e]=t(r[e]);return a}if(e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set)return e;let r=n.constructor;if(Cc.has(r))return e;let i={};for(let e of Object.keys(n))i[e]=t(n[e]);return i}return t(e)}var jc=new Set([`storyinit`,`beforerestart`,`actionsChanged`,`variableChanged`,`beforesave`,`aftersave`,`beforeload`,`afterload`,`beforenavigate`,`afternavigate`,`passagerender`,`dialogrender`]),Mc=new Map;function Nc(e,t){if(!jc.has(e))throw Error(`spindle: Unknown event \"${e}\".`);let n=Mc.get(e);return n||(n=new Set,Mc.set(e,n)),n.add(t),()=>{n.delete(t)}}function Y(e,...t){let n=Mc.get(e);if(n)for(let e of[...n])e(...t)}function Pc(e,...t){let n=Mc.get(e);if(n)for(let r of[...n])try{r(...t)}catch(t){console.error(`spindle: Error in ${e} handler:`,t)}}var Fc=null,Ic=null,Lc=!1;function Rc(e){Fc=e}function zc(e){Ic=e}function Bc(e){if(Ic)try{let t=Function(`passage`,`variables`,Ic)(e.passage,e.variables);if(typeof t==`string`&&t.trim())return t.trim()}catch{}if(Fc)try{let t=Fc(e);if(typeof t==`string`&&t.trim())return t.trim()}catch{}let t=new Date().toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`});return`${e.passage} - ${t}`}async function Vc(){Lc||(Lc=!0)}async function Hc(e){let t=await q(),n=(await t.getPlaythroughsByIfid(e)).length+1,r=crypto.randomUUID(),i={id:r,ifid:e,createdAt:new Date().toISOString(),label:`Playthrough ${n}`};return await t.putPlaythrough(i),await t.setMeta(`currentPlaythroughId.${e}`,r),r}async function Uc(e){return(await q()).getMeta(`currentPlaythroughId.${e}`)}function Wc(e,t,n,r){try{return Y(`beforesave`,e,t),r(n()).then(t=>(Y(`aftersave`,e),t))}catch(e){return Promise.reject(e)}}async function Gc(e,t,n,r={}){let i=new Date().toISOString(),a={id:crypto.randomUUID(),ifid:e,playthroughId:t,createdAt:i,updatedAt:i,title:Bc(n),passage:n.passage,custom:r},o=J(n);o.variables=kc(o.variables),o.history=o.history.map(e=>({...e,variables:kc(e.variables)}));let s={meta:a,payload:o};return s.meta.estimatedBytes=JSON.stringify(o).length,await(await q()).putSave(s),s}async function Kc(e,t,n){let r=await q(),i=await r.getSave(e);if(!i)return;let a=J(t);a.variables=kc(a.variables),a.history=a.history.map(e=>({...e,variables:kc(e.variables)}));let o={meta:{...i.meta,updatedAt:new Date().toISOString(),passage:t.passage,...n==null?{}:{custom:{...i.meta.custom,...n}}},payload:a};return o.meta.estimatedBytes=JSON.stringify(a).length,await r.putSave(o),o}function qc(e){return{...e,variables:Ac(e.variables),history:e.history.map(e=>({...e,variables:Ac(e.variables)}))}}async function Jc(e){let t=await(await q()).getSave(e);if(t)return qc(t.payload)}async function Yc(e){let t=await q(),n=await t.getSave(e);if(await t.deleteSave(e),!n)return;let r=n.meta.ifid,i=[void 0,...await ll(r)];for(let n of i){let i=nl(r,n);await il(i,async()=>{await t.getMeta(i)===e&&(await t.deleteMeta(i),await cl(r,n))})}}async function Xc(e,t){let n=await q(),r=await n.getSave(e);if(!r)return;let i={...r,meta:{...r.meta,title:t,updatedAt:new Date().toISOString()}};await n.putSave(i)}async function Zc(e){let t=await q(),[n,r]=await Promise.all([t.getSavesByIfid(e),t.getPlaythroughsByIfid(e)]),i=new Map;for(let e of r)i.set(e.id,e);let a=new Map;for(let e of n){let t=e.meta.playthroughId,n=a.get(t);n?n.push(e):a.set(t,[e])}for(let e of a.values())e.sort((e,t)=>new Date(t.meta.updatedAt).getTime()-new Date(e.meta.updatedAt).getTime());let o=[],s=[...i.values()].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());for(let e of s){let t=a.get(e.id)??[];o.push({playthrough:e,saves:t})}for(let[t,n]of a)i.has(t)||o.push({playthrough:{id:t,ifid:e,createdAt:n[0]?.meta.createdAt??new Date().toISOString(),label:`Unknown Playthrough`},saves:n});return o}var Qc=`autosave.`,$c=`slot.`,el=`slotIndex.`;function tl(e){return e!=null&&e!==``}function nl(e,t){return tl(t)?`${$c}${t}.${e}`:`${Qc}${e}`}var rl=new Map;function il(e,t){let n=(rl.get(e)??Promise.resolve()).then(t),r=n.catch(()=>{});return rl.set(e,r),r.then(()=>{rl.get(e)===r&&rl.delete(e)}),n}var al=Promise.resolve();function ol(e,t){let n=al.then(async()=>{let n=await q(),r=`${el}${e}`,i=await n.getMeta(r)??[],a=t(i);a!==i&&await n.setMeta(r,a)});return al=n.catch(()=>{}),n}function sl(e,t){return tl(t)?ol(e,e=>e.includes(t)?e:[...e,t]):Promise.resolve()}function cl(e,t){return tl(t)?ol(e,e=>e.filter(e=>e!==t)):Promise.resolve()}async function ll(e){let t=`${el}${e}`;return(await(await q()).getMeta(t)??[]).filter(tl)}function ul(e,t){return{slot:tl(t)?t:``,title:e.meta.title,passage:e.meta.passage,createdAt:e.meta.createdAt,updatedAt:e.meta.updatedAt,custom:e.meta.custom??{}}}function dl(e,t,n,r,i){let a=nl(e,r);return il(a,async()=>{let o=await q(),s=await o.getMeta(a);if(s){let e=await Kc(s,n,i);if(e)return e}let c=await Gc(e,t,n,{isAutosave:!tl(r),...tl(r)?{slot:r}:{},...i});return await o.setMeta(a,c.meta.id),await sl(e,r),c})}async function fl(e,t){let n=await q(),r=nl(e,t),i=await n.getMeta(r);return i?await n.getSave(i)!==void 0:!1}async function pl(e,t){let n=nl(e,t),r=await(await q()).getMeta(n);if(r)return Jc(r)}async function ml(e){let t=Object.create(null);await fl(e)&&(t[``]=!0);for(let n of await ll(e))await fl(e,n)&&(t[n]=!0);return t}async function hl(e,t){let n=await q(),r=nl(e,t),i=await n.getMeta(r);if(!i)return null;let a=await n.getSave(i);return a?ul(a,t):null}async function gl(e){let t=[],n=await hl(e);n&&t.push(n);for(let n of await ll(e)){let r=await hl(e,n);r&&t.push(r)}return t}function _l(e,t){let n=nl(e,t);return il(n,async()=>{let r=await q(),i=await r.getMeta(n);i&&(await r.deleteSave(i),await r.deleteMeta(n),await cl(e,t))})}var vl=`spindle.session.`;function yl(e,t){try{sessionStorage.setItem(`${vl}${e}`,JSON.stringify(t))}catch{}}function bl(e){try{let t=sessionStorage.getItem(`${vl}${e}`);if(!t)return;let n=JSON.parse(t);return Kn(n)?qc(n):void 0}catch{return}}function xl(e){try{sessionStorage.removeItem(`${vl}${e}`)}catch{}}async function Sl(e){let t=await(await q()).getSave(e);if(t)return{version:1,ifid:t.meta.ifid,exportedAt:new Date().toISOString(),save:t}}async function Cl(e,t){if(e.version!==1)throw Error(`Unsupported save version: ${e.version}`);if(e.ifid!==t)throw Error(`Save is from a different story (expected IFID ${t}, got ${e.ifid})`);if(!Vn(e))throw Error(`Invalid save file format`);let n=await q(),r=J(e.save);if(r.meta.id=crypto.randomUUID(),r.meta.updatedAt=new Date().toISOString(),!(await n.getPlaythroughsByIfid(t)).some(e=>e.id===r.meta.playthroughId)){let e={id:r.meta.playthroughId,ifid:t,createdAt:r.meta.createdAt,label:`Imported`};await n.putPlaythrough(e)}return r}async function wl(e,t){let n=await Cl(e,t);return await(await q()).putSave(n),n}async function Tl(e,t){let n=await(await q()).getMeta(nl(e,t));if(n)return Sl(n)}function El(e,t,n){let r=nl(t,n);return il(r,async()=>{let i=await Cl(e,t),{slot:a,...o}=i.meta.custom??{};i.meta.custom={...o,isAutosave:!tl(n),...tl(n)?{slot:n}:{}};let s=await q(),c=await s.getMeta(r);return await s.putSave(i),await s.setMeta(r,i.meta.id),await sl(t,n),c&&await s.deleteSave(c),ul(i,n)})}async function Dl(e){let t=await q(),n=await t.getSavesByIfid(e),r=await t.getPlaythroughsByIfid(e),i=0;for(let e of n)if(e.meta.estimatedBytes!=null)i+=e.meta.estimatedBytes;else{let n=JSON.stringify(e.payload).length;e.meta.estimatedBytes=n,await t.putSave(e),i+=n}return{saveCount:n.length,playthroughCount:r.length,totalBytes:i,backend:t.type}}async function Ol(e){let t=await q();await t.deleteSavesByIfid(e),await t.deletePlaythroughsByIfid(e),await t.deleteMetaByIfid(e),xl(e)}async function kl(){if(await(await q()).destroy(),bc(),typeof sessionStorage<`u`){let e=[];for(let t=0;t<sessionStorage.length;t++){let n=sessionStorage.key(t);n?.startsWith(`spindle.session.`)&&e.push(n)}for(let t of e)sessionStorage.removeItem(t)}}async function Al(e,t){let n=await q(),r=await n.deleteSavesByPlaythrough(t);await n.deletePlaythroughById(t);let i=new Set(r),a=await n.getAllMetaKeys();for(let e of a)if(e.startsWith(`slot.`)||e.startsWith(`autosave.`)){let t=await n.getMeta(e);t&&i.has(t)&&await n.deleteMeta(e)}let o=`currentPlaythroughId.${e}`;await n.getMeta(o)===t&&await n.deleteMeta(o)}var jl=null;function Ml(){jl&&(me(null,jl),jl.remove(),jl=null)}function Nl(){Ml();let e=Z.getState();if(!e.storyData)return;let t=e.storyData.passages.get(`StoryInit`);if(t){let e=ur(ir(t.content)),n=document.createElement(`div`);n.style.display=`none`,document.body.appendChild(n),jl=n,me(b(()=>$s(e),null),n),wu()}let n=e.storyData.passages.get(`SaveTitle`);n&&zc(n.content)}function Pl(e){Nl(),e&&Z.getState().loadFromPayload(e),Y(`storyinit`),e||wu()}function Fl(e,t,n){for(let r of Object.keys(t))Ec(t[r],n[r])||(e[r]=t[r]);for(let r of Object.keys(n))r in t||delete e[r]}function Il(e,t,n){let r=Z.getState(),i=J(r.variables),a=J(r.temporary),o=J(r.transient),s=J(t,{keepUnregistered:!0});Kr(e,i,a,s,o),r.updateVariables(e=>{Fl(e.variables,i,r.variables),Fl(e.temporary,a,r.temporary),Fl(e.transient,o,r.transient)});for(let e of Object.keys(s))Ec(s[e],t[e])||n(e,s[e]);for(let e of Object.keys(t))e in s||n(e,void 0)}var Ll=0,Rl=[],zl=!1,Bl=[],Vl=null,Hl=null;function Ul(e){let t=Z.getState();try{return!!Gr(e,t.variables,t.temporary,{},t.transient)}catch{return!1}}function Wl(e,t,n){let r=Ll++,i=typeof t==`function`,a=i?void 0:t,o=i?t:void 0,s={id:r,name:a?.name,condition:e,callback:o,options:a,lastResult:Ul(e),priority:a?.priority??0,macroKey:n};return Rl.push(s),Rl.sort((e,t)=>t.priority-e.priority),()=>{Rl=Rl.filter(e=>e.id!==r)}}function Gl(e,t){return Wl(e,t)}function Kl(e,t){let n=Object.fromEntries(Object.entries(t).sort(([e],[t])=>e<t?-1:1)),r=JSON.stringify([e,n]);Rl.some(e=>e.macroKey===r)||Wl(e,t,r)}function ql(e){Rl=Rl.filter(t=>t.name!==e)}function Jl(e){let{callback:t,options:n}=e;if(t){t();return}if(n){if(n.run)try{Il(n.run,{},()=>{})}catch(t){console.error(`spindle: Error in watch run action for \"${e.condition}\":`,t)}n.dialog&&(Bl.push({passageName:n.dialog}),Vl?.()),n.goto&&Z.getState().navigate(n.goto)}}var Yl=10;function Xl(){for(let e=0;e<Yl;e++){let e=!1,t=[...Rl];for(let n of t){if(!Rl.includes(n))continue;let t=Ul(n.condition),r=!n.lastResult;n.lastResult=t,t&&r&&(e=!0,n.options?.once&&(Rl=Rl.filter(e=>e.id!==n.id)),Jl(n))}if(!e)break}}function Zl(){if(!zl){zl=!0;try{Xl()}finally{zl=!1}}}var Ql=0;function $l(){if(Ql===0)return;let e=zl;zl=!0;try{Xl()}finally{zl=e}}function eu(){let e=Z.getState();Ql++;let t=Z.subscribe(t=>{let n=e;e=t,t.navigationId===n.navigationId&&(t.variables===n.variables&&t.temporary===n.temporary&&t.transient===n.transient||Zl())}),n=!0;return()=>{n&&(n=!1,Ql--,t())}}function tu(){for(let e of Rl)e.lastResult=Ul(e.condition)}function nu(){Rl=[],Bl=[],Ll=0,Hl?.closeAll()}function ru(e){return Vl=e,Bl.length>0&&e(),()=>{Vl===e&&(Vl=null)}}function iu(){return Bl.shift()}function au(){return Bl.length}function ou(e){Hl?Hl.push(e):(Bl.push(e),Vl?.())}function su(){Bl=[]}function cu(e){return Hl=e,()=>{Hl===e&&(Hl=null)}}function lu(){Hl?.close()}function uu(){su(),Hl?.closeAll()}function du(){return Hl?.isOpen()??!1}Fn();var fu=new Set([`StoryInit`,`StoryInterface`,`StoryVariables`,`StoryTransients`,`StoryLoading`,`SaveTitle`,`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]),pu={},mu=[],hu={};function gu(e){return e.map(e=>({...e,value:e.value===void 0?void 0:J(e.value)}))}function _u(e,t){let[,n,r]=Rn(e,e=>{let n=e;for(let e of Object.keys(n))e in t||delete n[e];for(let[e,r]of Object.entries(t))n[e]=r});return{forward:gu(n),inverse:gu(r)}}function vu(e){let t=mu.length-1;t<0?pu=e:mu[t]=_u(yu(t),e)}function yu(e){let t=pu;for(let n=0;n<e;n++)t=zn(t,mu[n].forward);return t}var X=[];function bu(e){let{storyData:t,currentPassage:n,variables:r,history:i,historyIndex:a,visitCounts:o,renderCounts:s}=e();if(t){if(X.length>i.length&&(X.length=i.length),X.length<i.length)if(i.length-X.length===1){let e=i.length-1;X[e]={passage:i[e].passage,variables:kc(r),timestamp:i[e].timestamp,prng:i[e].prng}}else{let e=pu;for(let t=0;t<i.length;t++)t>0&&(e=zn(e,mu[t-1].forward)),t>=X.length&&(X[t]={passage:i[t].passage,variables:kc(e),timestamp:i[t].timestamp,prng:i[t].prng})}yl(t.ifid,{passage:n,variables:kc(r),history:X,historyIndex:a,visitCounts:o,renderCounts:s,prng:xr()})}}var xu=!1,Su=[];function Cu(e){pu=e,mu=[],hu=e,X=[]}function wu(){let{history:e,historyIndex:t,variables:n}=Z.getState();if(e.length!==1||t!==0)return;pu=n,mu=[],hu=n,X=[];let r=xr();Z.setState(e=>{e.history[0].prng=r})}var Tu=[],Eu=!1;function Du(e){Eu&&Tu.push(e)}function Ou(){Eu=!0}function ku(){for(let e of Tu)e();Tu=[],Eu=!1}function Au(e){return typeof e==`string`&&e!==``?e:null}function ju(e){let{history:t,historyIndex:n}=e;if(!Number.isInteger(n))return;let r=t[n];if(!(!r||r.passage!==e.passage)&&!(typeof r.variables!=`object`||r.variables===null))return r}function Mu(e){e?.prng?yr(e.prng.seed,e.prng.pull):e&&br()}function Nu(e){return e.catch(()=>{}),e}var Z=pt()(Bn((e,t)=>({storyData:null,currentPassage:``,navigationId:0,variables:{},variableDefaults:{},transient:{},transientDefaults:{},temporary:{},history:[],historyIndex:-1,visitCounts:{},renderCounts:{},knownSaves:{},playthroughId:``,maxHistory:40,quickSaveKey:`F6`,quickLoadKey:`F9`,saveError:null,loadError:null,transitionConfig:null,nextTransition:null,nobr:!1,renderDeferred:!1,setMaxHistory:t=>{e(e=>{e.maxHistory=Math.max(1,Math.round(t))})},setQuickSaveKey:t=>{e(e=>{e.quickSaveKey=Au(t)})},setQuickLoadKey:t=>{e(e=>{e.quickLoadKey=Au(t)})},init:(n,r={},i={})=>{let a=n.passagesById.get(n.startNode);if(!a)throw Error(`spindle: Start passage (pid=${n.startNode}) not found.`);let o=J(r);Cu(J(o)),e(e=>{e.storyData=n,e.currentPassage=a.name,e.navigationId++,e.variables=o,e.variableDefaults=r,e.transient=J(i),e.transientDefaults=i,e.temporary={},e.history=[{passage:a.name,timestamp:Date.now()}],e.historyIndex=0,e.visitCounts={[a.name]:1},e.renderCounts={[a.name]:1}}),hu=t().variables;let s=n.ifid;Vc().then(async()=>{let t=await Uc(s);if(t)e(e=>{e.playthroughId=t});else{let t=await Hc(s);e(e=>{e.playthroughId=t})}let n=await ml(s);Object.keys(n).length>0&&e(e=>{e.knownSaves=n})}).catch(e=>console.error(`spindle: failed to init save system`,e))},navigate:n=>{if(xu){Su.push(n);return}let{storyData:r}=t();if(!r)return;if(fu.has(n)){console.error(`spindle: Cannot navigate to special passage \"${n}\".`);return}if(!r.passages.has(n)){console.error(`spindle: Passage \"${n}\" not found.`);return}let i=t().currentPassage;Y(`beforenavigate`,n);let a=_u(hu,t().variables);e(e=>{e.temporary={},e.currentPassage=n,e.navigationId++,e.history=e.history.slice(0,e.historyIndex+1),mu.length=e.historyIndex,X.length>e.historyIndex+1&&(X.length=e.historyIndex+1),mu.push(a),e.history.push({passage:n,timestamp:Date.now(),prng:xr()});let t=e.history.length-e.maxHistory;if(t>0){for(let e=0;e<t;e++)pu=zn(pu,mu[e].forward);e.history=e.history.slice(t),mu=mu.slice(t),X=X.slice(t)}e.historyIndex=e.history.length-1,e.visitCounts[n]=(e.visitCounts[n]??0)+1,e.renderCounts[n]=(e.renderCounts[n]??0)+1});let o=t().variables;xu=!0;try{$l()}finally{xu=!1}let s=Su;Su=[],t().variables!==o&&vu(t().variables);let c=xr(),l=t().history[t().historyIndex].prng;(c?.seed!==l?.seed||c?.pull!==l?.pull)&&e(e=>{e.history[e.historyIndex].prng=c}),hu=t().variables,bu(t),Y(`afternavigate`,n,i);for(let e of s)t().navigate(e)},goBack:()=>{let{historyIndex:n}=t();if(n<=0)return;let r=t().currentPassage,i=t().history[n-1].passage;Y(`beforenavigate`,i);let a=J(yu(n-1));e(e=>{e.historyIndex--,e.currentPassage=e.history[e.historyIndex].passage,e.navigationId++,e.variables=a,e.temporary={}}),tu(),hu=t().variables,Mu(t().history[t().historyIndex]),bu(t),Y(`afternavigate`,i,r)},goForward:()=>{let{historyIndex:n,history:r}=t();if(n>=r.length-1)return;let i=t().currentPassage,a=r[n+1].passage;Y(`beforenavigate`,a);let o=J(yu(n+1));e(e=>{e.historyIndex++,e.currentPassage=e.history[e.historyIndex].passage,e.navigationId++,e.variables=o,e.temporary={}}),tu(),hu=t().variables,Mu(t().history[t().historyIndex]),bu(t),Y(`afternavigate`,a,i)},setVariable:(t,n)=>{e(e=>{e.variables[t]=n})},setTemporary:(t,n)=>{e(e=>{e.temporary[t]=n})},deleteVariable:t=>{e(e=>{delete e.variables[t]})},deleteTemporary:t=>{e(e=>{delete e.temporary[t]})},setTransient:(t,n)=>{e(e=>{e.transient[t]=n})},deleteTransient:t=>{e(e=>{delete e.transient[t]})},updateVariables:t=>{e(e=>{t(e)})},trackRender:t=>{e(e=>{e.renderCounts[t]=(e.renderCounts[t]??0)+1})},restart:()=>{let{storyData:n,variableDefaults:r,transientDefaults:i}=t();if(!n)return;let a=n.passagesById.get(n.startNode);if(!a)return;e(e=>{e.renderDeferred=!1}),Y(`beforerestart`);let o=t().renderDeferred;ku(),br(),nu();let s=J(r);Cu(J(s)),e(e=>{e.currentPassage=a.name,e.navigationId++,e.variables=s,e.transient=J(i),e.temporary={},e.history=[{passage:a.name,timestamp:Date.now()}],e.historyIndex=0,e.visitCounts={[a.name]:1},e.renderCounts={[a.name]:1},o||(e.renderDeferred=!1)}),hu=t().variables,Ou(),Nl(),xl(n.ifid),Y(`storyinit`),wu(),Hc(n.ifid).then(t=>{e(e=>{e.playthroughId=t})}).catch(e=>console.error(`spindle: failed to start new playthrough`,e))},save:(n,r)=>{let{storyData:i,playthroughId:a}=t();return i?Nu(Wc(n,r,()=>t().getSavePayload(),async t=>{e(e=>{e.saveError=null}),await dl(i.ifid,a,t,n,r),e(e=>{e.knownSaves={...e.knownSaves,[n??``]:!0}})}).catch(t=>{throw console.error(`spindle: failed to save`,t),e(e=>{e.saveError=t instanceof Error?t.message:`Failed to save`}),t})):Promise.resolve()},load:n=>{let{storyData:r}=t();return r?(e(e=>{e.loadError=null}),Nu(pl(r.ifid,n).then(e=>{e&&t().loadFromPayload(e,n)}).catch(t=>{throw console.error(`spindle: failed to load save`,t),e(e=>{e.loadError=t instanceof Error?t.message:`Failed to load`}),t}))):Promise.resolve()},hasSave:e=>{let{storyData:n,knownSaves:r}=t();return n?Object.prototype.hasOwnProperty.call(r,e??``):!1},getSaveInfo:async e=>{let{storyData:n}=t();return n?hl(n.ifid,e):null},listSaves:async()=>{let{storyData:e}=t();return e?gl(e.ifid):[]},deleteSave:n=>{let{storyData:r}=t();return r?Nu(_l(r.ifid,n).then(()=>{e(e=>{let t=n??``,{[t]:r,...i}=e.knownSaves;e.knownSaves=i})}).catch(e=>{throw console.error(`spindle: failed to delete save`,e),e})):Promise.resolve()},exportSave:async e=>{let{storyData:n}=t();return n?await Tl(n.ifid,e)??null:null},importSave:async(n,r)=>{let{storyData:i}=t();if(!i)throw Error(`spindle: Story is not initialized.`);if(!Vn(n))throw Error(`Invalid save file format`);let a=await El(n,i.ifid,r);return e(e=>{e.knownSaves={...e.knownSaves,[r??``]:!0}}),a},clearGameData:()=>{let{storyData:n}=t();n&&Ol(n.ifid).then(()=>{e(e=>{e.knownSaves={}}),t().restart()}).catch(e=>{console.error(`spindle: failed to clear game data`,e)})},clearAllData:()=>{let{storyData:n}=t();n&&kl().then(()=>{e(e=>{e.knownSaves={}}),t().restart()}).catch(e=>{console.error(`spindle: failed to clear all data`,e)})},deletePlaythrough:n=>{let{storyData:r}=t();r&&Al(r.ifid,n).then(async()=>{let t=await ml(r.ifid);e(e=>{e.knownSaves=t})}).catch(e=>{console.error(`spindle: failed to delete playthrough`,e)})},getSavePayload:()=>{let{currentPassage:e,variables:n,history:r,historyIndex:i,visitCounts:a,renderCounts:o}=t(),s=[],c=pu;for(let e=0;e<r.length;e++)e>0&&(c=zn(c,mu[e-1].forward)),s.push({passage:r[e].passage,variables:J(c),timestamp:r[e].timestamp,prng:r[e].prng});return{passage:e,variables:J(n),history:s,historyIndex:i,visitCounts:{...a},renderCounts:{...o},prng:xr()}},loadFromPayload:(n,r)=>{if(n.history.length===0){console.warn(`loadFromPayload: rejecting payload with empty history`);return}Y(`beforeload`,r);let i=ju(n),a=J(n.history[0]?.variables??{}),o=[],s=a;for(let e=1;e<n.history.length;e++){let t=J(n.history[e].variables);o.push(_u(s,t)),s=t}pu=J(a),mu=o,X=n.history.map(e=>({passage:e.passage,variables:kc(e.variables),timestamp:e.timestamp,prng:e.prng})),e(e=>{e.currentPassage=n.passage,e.navigationId++,e.variables=J(i?.variables??n.variables),e.history=n.history.map(e=>({passage:e.passage,timestamp:e.timestamp,prng:e.prng})),e.historyIndex=Math.max(0,Math.min(n.historyIndex,e.history.length-1)),e.visitCounts=n.visitCounts??{},e.renderCounts=n.renderCounts??{},e.temporary={},e.transient=J(t().transientDefaults)}),tu(),hu=yu(t().historyIndex);let c=i?.prng===void 0?n.prng:i.prng;c?yr(c.seed,c.pull):br(),bu(t),Y(`afterload`,r)},getHistoryVariables:e=>J(yu(e)),setTransition:t=>{e(e=>{e.transitionConfig=t})},setNextTransition:t=>{e(e=>{e.nextTransition=t})},consumeNextTransition:()=>{let n=t().nextTransition;return n!==null&&e(e=>{e.nextTransition=null}),n},deferRender:()=>{e(e=>{e.renderDeferred=!0})},clearDeferredRender:()=>{e(e=>{e.renderDeferred=!1})}}))),Pu=`<header class=\"story-menubar\">{story-title}{back}{forward}{restart}{quicksave}{quickload}{saves}{settings}</header>\n{passage}`;function Fu(){let e=Z(e=>e.storyData)?.passages.get(`StoryInterface`),t=e===void 0?Pu:e.content,n=e?.tags.includes(`nobr`)??!1,r=F(()=>{try{return B(S,{children:Ws(ur(ir(t)))})}catch(e){return B(`span`,{class:`error`,children:[`Error in StoryInterface:`,` `,e instanceof Error?e.message:String(e)]})}},[t]);return n?B(K.Provider,{value:!0,children:r}):r}var Iu=[`a[href]`,`area[href]`,`button:not([disabled])`,`input:not([disabled]):not([type=\"hidden\"])`,`select:not([disabled])`,`textarea:not([disabled])`,`iframe`,`[contenteditable=\"true\"]`,`[tabindex]:not([tabindex=\"-1\"])`].join(`,`);function Lu(e){return Array.from(e.querySelectorAll(Iu)).filter(e=>!e.hidden&&!e.closest(`[hidden], [inert]`))}var Ru=[];function zu(e,t,n,r){Ae(()=>{let n=e.current;if(!n)return;let r=document.activeElement instanceof HTMLElement?document.activeElement:null,i={panel:n};Ru.push(i);let a=n.querySelector(t)??n;return(n.querySelector(`[autofocus]`)??Lu(a)[0]??n).focus(),()=>{let e=Ru.indexOf(i);e!==-1&&Ru.splice(e,1);let t=document.activeElement;(!t||t===document.body||n.contains(t))&&r?.isConnected&&r.focus()}},[]),Ae(()=>{let t=e.current;if(!t)return;let i=e=>{if(Ru[Ru.length-1]?.panel!==t)return;if(e.key===`Escape`){if(!n)return;e.preventDefault(),e.stopPropagation(),r();return}if(e.key!==`Tab`)return;let i=Lu(t),a=i[0],o=i[i.length-1],s=document.activeElement,c=s!==t&&t.contains(s);!a||!o?(e.preventDefault(),t.focus()):e.shiftKey&&(s===a||!c)?(e.preventDefault(),o.focus()):!e.shiftKey&&(s===o||!c)&&(e.preventDefault(),a.focus())};return document.addEventListener(`keydown`,i),()=>document.removeEventListener(`keydown`,i)},[n,r])}var Bu=he(null);function Vu({passageName:e,fallbackMarkup:t,panelClass:n,onClose:r,dismissible:i=!0,showCloseButton:a=i}){let o=P(r);o.current=r;let s=I(()=>o.current(),[]),c=Z(e=>e.storyData),l=e?c?.passages.get(e):void 0,u=l?.content??t,d=l?.tags.includes(`nobr`)??!1,f=F(()=>{if(!u)return B(`div`,{class:`error`,children:`Dialog: no content available`});try{let e=$s(ur(ir(u)),d?{nobr:!0}:void 0);return d?B(K.Provider,{value:!0,children:e}):e}catch(e){return B(`div`,{class:`error`,children:[`Error in dialog: `,e instanceof Error?e.message:String(e)]})}},[u,d]),p=P(null);zu(p,`.dialog-body`,i,s),Ae(()=>{p.current&&Pc(`dialogrender`,e??``,p.current)},[]);let m=e=>{i&&e.target.classList.contains(`dialog-overlay`)&&s()},h=n?`dialog-panel ${n}`:`dialog-panel`;return B(Bu.Provider,{value:s,children:B(`div`,{class:`dialog-overlay`,onClick:m,children:B(`div`,{ref:p,class:h,role:`dialog`,\"aria-modal\":`true`,tabIndex:-1,children:[a&&B(`button`,{class:`dialog-close`,\"aria-label\":`Close`,onClick:s,children:`✕`}),B(`div`,{class:`dialog-body`,children:f})]})})})}function Hu(){let[e,t]=N([]),n=P(e);n.current=e;let r=I(e=>{t(t=>[...t,e])},[]),i=I(()=>{t(e=>e.slice(0,-1))},[]),a=I(()=>{t([])},[]);return ke(()=>cu({close:i,closeAll:a,push:r,isOpen:()=>n.current.length>0}),[i,a,r]),ke(()=>ru(()=>{let e=[];for(;au()>0;){let t=iu();t&&e.push(t)}e.length>0&&t(t=>[...t,...e])}),[]),e.length===0?null:B(S,{children:e.map((e,t)=>B(Vu,{passageName:e.passageName,panelClass:e.panelClass,onClose:i,showCloseButton:e.showCloseButton,dismissible:e.dismissible},`${e.passageName}-${t}`))})}function Uu(){let e=Z(e=>e.storyData),t=Z(e=>e.currentPassage),n=Z(e=>e.nobr);if(ke(()=>{let e=e=>{let{quickSaveKey:t,quickLoadKey:n,save:r,load:i}=Z.getState();t!==null&&e.key===t?(e.preventDefault(),r()):n!==null&&e.key===n&&(e.preventDefault(),i())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]),!e||!t)return B(`div`,{class:`loading`,children:`Loading...`});let r=B(S,{children:[B(Fu,{}),B(Hu,{})]});return n?B(K.Provider,{value:!0,children:r}):r}function Wu(e){return e.replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`\"`).replace(/&#39;/g,`'`).replace(/&amp;/g,`&`)}function Gu(){let e=document.querySelector(`tw-storydata`);if(!e)throw Error(`spindle: No <tw-storydata> element found in the document.`);let t=e.getAttribute(`name`)||`Untitled`,n=parseInt(e.getAttribute(`startnode`)||`1`,10),r=e.getAttribute(`ifid`)||``,i=e.getAttribute(`format`)||``,a=e.getAttribute(`format-version`)||``,o=e.querySelector(`[type=\"text/twine-css\"]`)?.textContent||``,s=e.querySelector(`[type=\"text/twine-javascript\"]`)?.textContent||``,c=new Map,l=new Map;for(let t of e.querySelectorAll(`tw-passagedata`)){let e=parseInt(t.getAttribute(`pid`)||`0`,10),n=t.getAttribute(`name`)||``,r=(t.getAttribute(`tags`)||``).split(/\\s+/).filter(e=>e.length>0),i=Wu(t.innerHTML),a={},o=new Set([`pid`,`name`,`tags`]);for(let e of t.attributes)o.has(e.name)||(a[e.name]=e.value);let s={pid:e,name:n,tags:r,metadata:a,content:i};c.set(n,s),l.set(e,s)}return{name:t,startNode:n,ifid:r,format:i,formatVersion:a,passages:c,passagesById:l,userCSS:o,userScript:s}}var Ku=new Map,Q={},qu=!1,Ju=null;function Yu(){return`spindle.${Z.getState().storyData?.ifid||`unknown`}.settings`}function Xu(){localStorage.setItem(Yu(),JSON.stringify(Q))}function Zu(){if(!qu){if(!Z.getState().storyData?.ifid){Ju||(Ju=Z.subscribe(e=>{e.storyData?.ifid&&(Ju?.(),Ju=null,Zu())}));return}qu=!0;try{let e=localStorage.getItem(Yu());if(e){let t=JSON.parse(e);typeof t==`object`&&t&&!Array.isArray(t)&&(Q={...Q,...t})}}catch{}}}var Qu={addToggle(e,t){Ku.set(e,{type:`toggle`,config:t}),e in Q||(Q[e]=t.default),Zu()},addList(e,t){Ku.set(e,{type:`list`,config:t}),e in Q||(Q[e]=t.default),Zu()},addRange(e,t){Ku.set(e,{type:`range`,config:t}),e in Q||(Q[e]=t.default),Zu()},get(e){return Q[e]},getToggle(e){let t=Q[e];return typeof t==`boolean`?t:!1},getList(e){let t=Q[e];return typeof t==`string`?t:``},getRange(e){let t=Q[e];return typeof t==`number`?t:0},set(e,t){Q[e]=t,Xu()},getAll(){return{...Q}},getDefinitions(){return Ku},hasAny(){return Ku.size>0}},$u=new Map,ed=new Map;function td(e,t,n){if(n)return n;let r=`${e}:${t}`,i=(ed.get(r)??0)+1;return ed.set(r,i),i===1?r:`${r}:${i}`}function nd(e){return $u.set(e.id,e),od(),()=>{$u.delete(e.id),od()}}function rd(){return Array.from($u.values())}function id(e){return $u.get(e)}function ad(){ed.clear()}function od(){Y(`actionsChanged`)}function sd(e){let t=P(``),n=P(e.perform);n.current=e.perform,t.current||(t.current=td(e.type,e.key,e.authorId));let r=t.current;return Ae(()=>{let t={id:r,type:e.type,label:e.label,perform:(...e)=>n.current(...e)};return e.target!==void 0&&(t.target=e.target),e.variable!==void 0&&(t.variable=e.variable),e.options!==void 0&&(t.options=e.options),e.value!==void 0&&(t.value=e.value),e.disabled!==void 0&&(t.disabled=e.disabled),nd(t)},[r,e.type,e.label,e.target,e.variable,e.disabled,e.value,JSON.stringify(e.options)]),r}function cd(e){return e.map(e=>e.type===`text`?e.value:``).join(``)}function ld(e){let t=e.metadata[`data-source-file`],n=e.metadata[`data-source-line`];return t?n?` (${t}:${n})`:` (${t})`:``}function ud(){let e=Z.getState();if(!e.storyData)return``;let t=e.storyData.passages.get(e.currentPassage);return t?ld(t):``}function dd(e){let t=e.match(/^\\s*([\"']?\\$[\\w.]+[\"']?)\\s*(?:[\"'](.*)[\"'])?\\s*$/);return t?{varName:t[1].replace(/[\"']/g,``),placeholder:t[2]||``}:{varName:e.trim(),placeholder:``}}function fd(e){let t=[];for(let n of e)if(n.type===`macro`&&n.name===`option`){let e=n.rawArgs.trim().replace(/^([\"'])(.+)\\1$/,`$2`);t.push(e)}return t}function pd(e,t){let n=`macro-${e}`;return t?`${n} ${t}`:n}var md={useState:N,useRef:P,useEffect:ke,useLayoutEffect:Ae,useCallback:I,useMemo:F,useContext:L};function hd(e,t){let n=e;for(let e of t){if(typeof n!=`object`||!n)return;n=n[e]}return n}function gd(e,t,n){let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];(r[n]==null||typeof r[n]!=`object`)&&(r[n]={}),r=r[n]}r[t[t.length-1]]=n}function $(e,t=`builtin`){function n(t){let n=t.className,r=t.id,i;e.interpolate&&(i=$r(),n=i(n),r=i(r));let{update:a,getValues:o}=L(ks),s=L(K),c=L(Os),l={collectText:cd,sourceLocation:ud,parseVarArgs:dd,extractOptions:fd,h:b,renderNodes:(e,t)=>$s(e,{nobr:s,locals:c,...t}),renderInlineNodes:Ws,hooks:md,useAction:sd,className:n,id:r,resolve:i,cls:pd(e.name,n),mutate:e=>Il(e,o(),a),update:a,getValues:o,wrap:e=>n||r?b(`span`,{id:r,class:n},e):b(S,null,e)};if(e.merged){l.merged=dr();let e=l.merged;l.evaluate=t=>Gr(t,e[0],e[1],e[2],e[3])}if(e.storeVar){let n=t.rawArgs.trim().split(/\\s+/)[0]?.replace(/[\"']/g,``)??``;if(n.startsWith(`%`))return b(`span`,{class:`error`},`{${e.name}}: transient variables (%${n.slice(1)}) cannot be bound to input macros`);let r=n.replace(/[\"']/g,``).replace(/^\\$/,``),i=r.split(`.`);l.varName=r,l.value=Z(e=>hd(e.variables,i)),l.getValue=()=>hd(Z.getState().variables,i),l.setValue=e=>{Z.setState(t=>{gd(t.variables,i,e)})}}return e.render(t,l)}fi(e.name,n);let r=e.block===!0||e.block!==!1&&(e.subMacros?.length??0)>0;if(vi(e.name,{name:e.name,block:r,subMacros:e.subMacros??[],storeVar:e.storeVar,interpolate:e.interpolate,merged:e.merged,description:e.description,parameters:e.parameters,source:t}),e.subMacros)for(let t of e.subMacros)hi(t);r&&or(e.name)}var _d=null;function vd(e){_d=e}function yd(){return _d}var bd=null,xd=null;function Sd(){return xd}var Cd=!1;function wd(){if(Cd)return;Cd=!0;let e={...Z.getState().variables},t={...Z.getState().transient};Z.subscribe(n=>{let r={},i=!1,a=new Set([...Object.keys(e),...Object.keys(n.variables)]);for(let t of a)n.variables[t]!==e[t]&&(r[t]={from:e[t],to:n.variables[t]},i=!0);let o=new Set([...Object.keys(t),...Object.keys(n.transient)]);for(let e of o)n.transient[e]!==t[e]&&(r[`%${e}`]={from:t[e],to:n.transient[e]},i=!0);e={...n.variables},t={...n.transient},i&&Y(`variableChanged`,r)})}function Td(e,t){let n=t.split(`.`),r=e[n[0]];for(let e=1;e<n.length;e++){if(r==null)return;r=r[n[e]]}return r}function Ed(e,t,n){let r=t.split(`.`),i=e;for(let e=0;e<r.length-1;e++){let t=i[r[e]];if(typeof t!=`object`||!t)throw TypeError(`spindle: Cannot set property \"${r[e+1]}\" on ${typeof t} (at \"${r.slice(0,e+1).join(`.`)}\")`);i=t}i[r[r.length-1]]=n}var Dd=null,Od=null,kd=new Set;function Ad(e,t=[]){Dd=new Set(e),Od=new Set(t),kd.clear()}function jd(e){return e.startsWith(`%`)?{isTransient:!0,key:e.slice(1)}:e.startsWith(`$`)?{isTransient:!1,key:e.slice(1)}:{isTransient:!1,key:e}}function Md(e,t){let n=e?Od:Dd;if(!n)return;let r=t.split(`.`)[0];if(n.has(r))return;let i=(e?`%`:`$`)+r;kd.has(i)||(kd.add(i),console.warn(`spindle: Story.set() wrote ${i}, which is not declared in ${e?`StoryTransients`:`StoryVariables`}. Passages cannot reference it; check the name or declare it.`))}function Nd(e,t,n){let{isTransient:r,key:i}=jd(t),a=r?e.transient:e.variables;i.includes(`.`)?Ed(a,i,n):a[i]=n}function Pd(){return{get(e){let{isTransient:t,key:n}=jd(e),r=t?Z.getState().transient:Z.getState().variables;return n.includes(`.`)?Td(r,n):r[n]},set(e,t){let n=typeof e==`string`?[e]:Object.keys(e);for(let e of n){let{isTransient:t,key:n}=jd(e);Md(t,n)}Z.getState().updateVariables(n=>{if(typeof e==`string`)Nd(n,e,t);else for(let[t,r]of Object.entries(e))Nd(n,t,r)})},goto(e){Z.getState().navigate(e)},back(){Z.getState().goBack()},forward(){Z.getState().goForward()},restart(){Z.getState().restart()},save(e,t){return Z.getState().save(e,t)},load(e){return Z.getState().load(e)},hasSave(e){return Z.getState().hasSave(e)},getSaveInfo(e){return Z.getState().getSaveInfo(e)},listSaves(){return Z.getState().listSaves()},deleteSave(e){return Z.getState().deleteSave(e)},exportSave(e){return Z.getState().exportSave(e)},importSave(e,t){return Z.getState().importSave(e,t)},visited(e){let t=Z.getState();return t.visitCounts[e??t.currentPassage]??0},hasVisited(e){return this.visited(e)>0},hasVisitedAny(...e){let{visitCounts:t}=Z.getState();return e.some(e=>(t[e]??0)>0)},hasVisitedAll(...e){let{visitCounts:t}=Z.getState();return e.every(e=>(t[e]??0)>0)},rendered(e){let t=Z.getState();return t.renderCounts[e??t.currentPassage]??0},hasRendered(e){return this.rendered(e)>0},hasRenderedAny(...e){let{renderCounts:t}=Z.getState();return e.some(e=>(t[e]??0)>0)},hasRenderedAll(...e){let{renderCounts:t}=Z.getState();return e.every(e=>(t[e]??0)>0)},currentPassage(){let e=Z.getState();return e.storyData?.passages.get(e.currentPassage)},previousPassage(){let e=Z.getState();if(e.historyIndex<=0)return;let t=e.history[e.historyIndex-1]?.passage;return t?e.storyData?.passages.get(t):void 0},get title(){return Z.getState().storyData?.name||``},get passage(){return Z.getState().currentPassage},settings:Qu,registerClass(e,t){wc(e,t)},defineMacro(e){$(e,`user`)},getMacroRegistry(){return yi()},saves:{setTitleGenerator(e){Rc(e)}},storage:{async getInfo(){let e=Z.getState().storyData?.ifid;return e?Dl(e):{saveCount:0,playthroughCount:0,totalBytes:0,backend:xc()}},async getQuota(){if(typeof navigator<`u`&&navigator.storage?.estimate)try{let e=await navigator.storage.estimate();return{usage:e.usage??0,quota:e.quota??0,estimateSupported:!0}}catch{}return{usage:0,quota:0,estimateSupported:!1}},async clearGameData(){let e=Z.getState().storyData?.ifid;e&&(await Ol(e),Z.setState(e=>{e.knownSaves={}}),Z.getState().restart())},async clearAllData(){await kl(),Z.setState(e=>{e.knownSaves={}}),Z.getState().restart()},async deletePlaythrough(e){let{storyData:t}=Z.getState();if(!t)return;await Al(t.ifid,e);let n=await ml(t.ifid);Z.setState(e=>{e.knownSaves=n})},get backend(){return xc()}},getActions(){return rd()},performAction(e,t){let n=id(e);if(!n)throw Error(`spindle: Action \"${e}\" not found.`);if(n.disabled)throw Error(`spindle: Action \"${e}\" is disabled.`);n.perform(t)},on(e,t){e===`variableChanged`&&wd();let n=Nc(e,t);return Du(n),n},async waitForActions(){await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))});let e=()=>yd()===Z.getState().navigationId;return yd()!==null&&!e()&&!Z.getState().renderDeferred&&await new Promise(t=>{let n=Nc(`passagerender`,()=>{e()&&(n(),t())})}),rd()},watch(e,t){return Gl(e,t)},unwatch(e){ql(e)},openDialog(e,t){ou({passageName:e,panelClass:t?.panelClass,showCloseButton:t?.showCloseButton,dismissible:t?.dismissible})},closeDialog(){lu()},closeAllDialogs(){uu()},isDialogOpen(){return du()},setNobr(e){Z.setState({nobr:e})},setCSS(e){let t=document.getElementById(`spindle-styles`);t&&(t.disabled=!e)},setTransition(e){Z.getState().setTransition(e)},setNextTransition(e){Z.getState().setNextTransition(e)},deferRender(){Z.getState().deferRender(),xd=new Promise(e=>{bd=e})},ready(){bd&&(Z.getState().clearDeferredRender(),bd(),bd=null,xd=null)},random(){return Sr()},randomInt(e,t){return Cr(e,t)},config:{get maxHistory(){return Z.getState().maxHistory},set maxHistory(e){Z.getState().setMaxHistory(e)},get quickSaveKey(){return Z.getState().quickSaveKey},set quickSaveKey(e){Z.getState().setQuickSaveKey(e)},get quickLoadKey(){return Z.getState().quickLoadKey},set quickLoadKey(e){Z.getState().setQuickLoadKey(e)}},prng:{init(e,t){vr(e,t);let{historyIndex:n}=Z.getState();Z.setState(e=>{let t=e.history[n];t&&(t.prng=xr())})},isEnabled(){return wr()},get seed(){return Tr()},get pull(){return Er()}}}}function Fd(){window.Story=Pd()}function Id(e){let t=e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`);return RegExp(`^${t}(\\\\w+)\\\\s*=\\\\s*(.+)$`)}var Ld=/\\$(\\w+(?:\\.\\w+)*)/g,Rd=/^[$_@%]\\w/,zd=/^[\"']\\$(\\w+(?:\\.\\w+)*)[\"']?$/,Bd=/\\{for\\s+@(\\w+)(?:\\s*,\\s*@(\\w+))?\\s+of\\b/g,Vd=new Set([`number`,`string`,`boolean`]),Hd={string:Object(``),number:Object(0),boolean:Object(!1)};function Ud(e){if(Array.isArray(e))return{type:`array`};if(typeof e==`object`&&e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,Ud(r));return{type:`object`,fields:t}}let t=typeof e;if(!Vd.has(t))throw Error(`Unsupported type \"${t}\" for value ${String(e)}. Expected number, string, boolean, array, or object.`);return{type:t}}function Wd(e,t=`$`){let n=new Map,r=Id(t),i=t===`%`?`StoryTransients`:`StoryVariables`;for(let a of e.split(`\n`)){let e=a.trim();if(!e)continue;let o=e.match(r);if(!o)throw Error(`${i}: Invalid declaration: \"${e}\". Expected: ${t}name = value`);let[,s,c]=o,l;try{l=Function(`return (`+c+`)`)()}catch(e){throw Error(`${i}: Failed to evaluate \"${t}${s} = ${c}\": ${e instanceof Error?e.message:e}`)}let u;try{u=Ud(l)}catch(e){throw Error(`${i}: ${e instanceof Error?e.message:e}`)}n.set(s,{...u,name:s,default:l})}return n}function Gd(e){let t=new Set,n;for(Bd.lastIndex=0;(n=Bd.exec(e))!==null;)t.add(n[1]),n[2]&&t.add(n[2]);return t}function Kd(e,t,n){let r=e.split(`.`),i=r[0];if(n.has(i))return null;let a=t.get(i);if(!a)return`Undeclared variable: $${e}`;let o=a;for(let e=1;e<r.length;e++){let t=r[e];if(o.type===`array`)return null;let n=Hd[o.type];if(n&&t in n){let e=typeof n[t];if(!Vd.has(e))return null;o={type:e};continue}if(o.type!==`object`||!o.fields)return`Cannot access field \"${t}\" on $${r.slice(0,e).join(`.`)} (type: ${o.type})`;let i=o.fields.get(t);if(!i)return null;o=i}return null}var qd=[`checkbox`,`cycle`,`listbox`,`numberbox`,`radiobutton`,`textarea`,`textbox`];function Jd(e,t){for(let n of e.matchAll(Ld))t(n[1])}function Yd(e,t){let n=e[t],r=t+1;for(;r<e.length&&e[r]!==n;)r+=e[r]===`\\\\`?2:1;return Math.min(r,e.length)}function Xd(e,t){let n=e.indexOf(`{`);for(;n!==-1;){let r=Rd.test(e.slice(n+1,n+3))?Qd(e,n+1,t,!0):n+1;n=e.indexOf(`{`,r)}}function Zd(e,t,n){let r=t,i=t;for(;r<e.length;){let t=e[r];if(t===`\\\\`)r+=2;else if(t===\"`\")return Xd(e.slice(i,r),n),r+1;else t===`$`&&e[r+1]===`{`?(Xd(e.slice(i,r),n),r=i=Qd(e,r+2,n,!0)):r++}return Xd(e.slice(i),n),e.length}function Qd(e,t,n,r=!1){let i=t,a=t,o=0;for(;i<e.length;){let t=e[i],s=e[i+1],c=t===`/`&&(s===`/`||s===`*`);if(t===`\"`||t===`'`||t===\"`\"||c){if(Jd(e.slice(a,i),n),t===\"`\")i=Zd(e,i+1,n);else if(c){let t=e.indexOf(s===`/`?`\n`:`*/`,i+2);i=t===-1?e.length:s===`/`?t:t+2}else{let t=Yd(e,i);Xd(e.slice(i+1,t),n),i=Math.min(t+1,e.length)}a=i;continue}if(r&&t===`{`)o++;else if(r&&t===`}`&&o--===0)return Jd(e.slice(a,i),n),i+1;i++}return Jd(e.slice(a),n),e.length}function $d(e,t,n){let r=ir(e);for(let i=0;i<r.length;i++){let a=r[i];if(a.type===`variable`)a.scope===`variable`&&a.name&&n(a.name);else if(a.type===`expression`)Qd(a.expression,0,n);else if(a.type===`html`)for(let e of Object.values(a.attributes))Xd(e,n);else if(a.type===`macro`&&!a.isClose){if(Qd(a.rawArgs,0,n),t.has(a.name.toLowerCase())){let e=a.rawArgs.trim().split(/\\s+/)[0]??``,t=zd.exec(e);t&&n(t[1])}if(a.name===`do`){let t=i+1;for(;t<r.length;){let e=r[t];if(e.type===`macro`&&e.isClose&&e.name===`do`)break;t++}t<r.length&&(Qd(e.slice(a.end,r[t].start),0,n),i=t)}}}}function ef(e,t,n=qd){let r=[],i=new Set(Array.from(n,e=>e.toLowerCase()));for(let[n,a]of e){if(n===`StoryVariables`||n===`StoryTransients`)continue;let e=Gd(a.content);$d(a.content,i,i=>{let a=Kd(i,t,e);a&&r.push(`Passage \"${n}\": ${a}`)})}return r}function tf(e){let t={};for(let[n,r]of e)t[n]=r.default;return t}function nf(e){for(let t of e){if(t.type===`variable`&&t.scope===`local`&&t.name===`children`||t.type===`html`&&nf(t.children))return!0;if(t.type===`macro`){if(nf(t.children))return!0;if(t.branches){for(let e of t.branches)if(nf(e.children))return!0}}}return!1}function rf({macro:e,error:t}){return B(`span`,{class:`error`,title:String(t),children:`{${e} error${ud()}: ${t instanceof Error?t.message:String(t)}}`})}$({name:`set`,render({rawArgs:e},t){let n=t.hooks.useRef(!1),r=t.hooks.useRef(null);if(!n.current){n.current=!0;try{t.mutate(e)}catch(n){r.current=n,console.error(`spindle: Error in {set ${e}}${t.sourceLocation()}:`,n)}}return r.current?B(rf,{macro:`set`,error:r.current}):null}}),$({name:`print`,interpolate:!0,merged:!0,render({rawArgs:e},t){try{let n=t.evaluate(e),r=n==null?``:String(n);return t.wrap(r)}catch(e){return B(rf,{macro:`print`,error:e})}}});function af(e){let t=e.trim(),n=0;for(let e=0;e<t.length;e++){let r=t[e];if(r===`(`||r===`[`||r===`{`)n++;else if(r===`)`||r===`]`||r===`}`)n--;else if(r===`=`&&n===0){if(t[e+1]===`=`){e++;continue}if(e>0&&t[e-1]===`!`)continue;let n=t.slice(0,e).trim(),r=t.slice(e+1).trim();if(!n.match(/^[$_@]\\w+$/))throw Error(`{computed}: target must be $name, _name, or @name, got \"${n}\"`);return{target:n,expr:r}}}throw Error(`{computed}: expected \"target = expression\", got \"${e}\"`)}function of(e,t,n,r,i,a,o,s,c,l,u){let d;try{d=Gr(e,i,a,o,s)}catch(e){console.error(`spindle: Error in {computed ${c}}${ud()}:`,e);return}if(!Ec(l.current,d))if(l.current=d,r)try{u(t,d)}catch(e){console.error(`spindle: Error in {computed ${c}}${ud()}:`,e)}else{let e=Z.getState();n?e.setTemporary(t,d):e.setVariable(t,d)}}$({name:`computed`,merged:!0,render({rawArgs:e},t){let[n,r,i,a]=t.merged,o,s;try{({target:o,expr:s}=af(e))}catch(e){return B(rf,{macro:`computed`,error:e})}let c=o.startsWith(`@`),l=o.startsWith(`_`),u=o.slice(1),d=c?t.update:null,f=t.hooks.useRef(void 0),p=t.hooks.useRef(!1);return p.current||(p.current=!0,of(s,u,l,c,n,r,i,a,e,f,d)),t.hooks.useLayoutEffect(()=>{of(s,u,l,c,n,r,i,a,e,f,d)},[n,r,i,a]),null}});function sf(e){let t=e.trim(),n=``,r=t,i=r.match(/\\s+(?:\"([^\"]*)\"|'([^']*)')$/);i&&(n=i[1]??i[2]??``,r=r.slice(0,i.index??r.length).trim());let a=cf(r);if(a.length<2)throw Error(`meter requires two arguments: {meter currentExpr maxExpr}`);return{currentExpr:a[0],maxExpr:a.slice(1).join(` `),labelMode:n}}function cf(e){let t=[],n=``,r=0;for(let i=0;i<e.length;i++){let a=e[i];if(a===`(`||a===`[`)r++,n+=a;else if(a===`)`||a===`]`)r--,n+=a;else if(/\\s/.test(a)&&r===0&&n.length>0)for(t.push(n),n=``;i+1<e.length&&/\\s/.test(e[i+1]);)i++;else n+=a}return n.length>0&&t.push(n),t}function lf(e,t,n){return n===`none`?null:n===`%`?`${t===0?0:Math.round(e/t*100)}%`:n?`${e} ${n} / ${t} ${n}`:`${e} / ${t}`}$({name:`meter`,interpolate:!0,merged:!0,render({rawArgs:e},t){try{let{currentExpr:n,maxExpr:r,labelMode:i}=sf(e),a=Number(t.evaluate(n)),o=Number(t.evaluate(r)),s=o===0?0:Math.max(0,Math.min(100,a/o*100)),c=lf(a,o,i),l=t.cls;return B(`div`,{class:l,id:t.id,children:[B(`div`,{class:`macro-meter-fill`,style:`width: ${s}%`}),c!=null&&B(`span`,{class:`macro-meter-label`,children:c})]})}catch(e){return B(rf,{macro:`meter`,error:e})}}}),$({name:`if`,block:!0,interpolate:!0,merged:!0,render({branches:e=[]},t){function n(e){let n=t.renderNodes(e.children),r=t.resolve(e.className),i=t.resolve(e.id);return r||i?B(`span`,{id:i,class:r,children:n}):B(S,{children:n})}for(let r of e){if(r.rawArgs===``)return n(r);try{if(t.evaluate(r.rawArgs))return n(r)}catch(e){return B(rf,{macro:`if`,error:e})}}return null}});function uf(e){let t=e.indexOf(` of `);if(t===-1)throw Error(`{for} requires \"of\" keyword: {for ${e}}`);let n=e.slice(0,t).trim(),r=e.slice(t+4).trim(),i=n.split(`,`).map(e=>e.trim()),a=i[0],o=i.length>1?i[1]:null;if(!a.startsWith(`@`))throw Error(`{for} loop variable must use @ prefix: got \"${a}\"`);if(o&&!o.startsWith(`@`))throw Error(`{for} index variable must use @ prefix: got \"${o}\"`);return{itemVar:a.slice(1),indexVar:o?o.slice(1):null,listExpr:r}}function df({parentValues:e,itemVar:t,itemValue:n,indexVar:r,indexValue:i,children:a}){let[o,s]=N(()=>({})),c=F(()=>({[t]:n,...r?{[r]:i}:void 0}),[t,n,r,i]),l=F(()=>({...e,...c,...o}),[e,c,o]),u=P(l);u.current=l;let d=I(()=>u.current,[]),f=I((e,t)=>{u.current={...u.current,[e]:t},s(n=>({...n,[e]:t}))},[]),p=F(()=>({update:f,getValues:d}),[f,d]),m=L(K);return B(ks.Provider,{value:p,children:B(Os.Provider,{value:l,children:$s(a,{nobr:m,locals:l})})})}$({name:`for`,block:!0,interpolate:!0,merged:!0,render({rawArgs:e,children:t=[]},n){let r=L(Os),i;try{i=uf(e)}catch(e){return B(rf,{macro:`for`,error:e})}let{itemVar:a,indexVar:o,listExpr:s}=i,c;try{let e=n.evaluate(s);if(!Array.isArray(e))return B(`span`,{class:`error`,children:`{for error: expression did not evaluate to an array}`});c=e}catch(e){return B(rf,{macro:`for`,error:e})}let l=c.map((e,n)=>B(df,{parentValues:r,itemVar:a,itemValue:e,indexVar:o,indexValue:n,children:t},`${n}-${JSON.stringify(e)}`));return n.wrap(l)}}),$({name:`do`,block:!0,render({children:e=[]},t){let n=t.collectText(e);return t.hooks.useLayoutEffect(()=>{try{t.mutate(n)}catch(e){console.error(`spindle: Error in {do}${t.sourceLocation()}:`,e)}},[]),null}});function ff(e){return new Proxy({},{get:(t,n)=>typeof n==`string`?e()[n]:void 0,has:(t,n)=>n in e(),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>{let r=Object.getOwnPropertyDescriptor(e(),n);return r?{...r,configurable:!0}:void 0}})}$({name:`button`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let r=n.resolve?.(e.replace(/^[\"']|[\"']$/g,``))??e,i=L(K),a=()=>{let e=document.createElement(`div`);me(b(K.Provider,{value:i},b(ks.Provider,{value:{update:n.update,getValues:n.getValues}},b(Os.Provider,{value:ff(n.getValues)},$s(t)))),e),me(null,e)};return n.useAction({type:`button`,key:e,authorId:n.id,label:r,perform:a}),B(`button`,{id:n.id,class:n.cls,onClick:a,children:r})}});function pf(e){let t=[],n=/([\"'])((?:\\\\[^]|(?!\\1)[^\\\\])*)\\1/g,r;for(;(r=n.exec(e))!==null;)t.push(r[2].replace(/\\\\([\"'\\\\])/g,`$1`));return t.length>=2?{display:t[0],passage:t[1]}:t.length===1?{display:t[0],passage:null}:{display:e.trim(),passage:null}}function mf(e,t,n,r){let i=document.createElement(`div`);me(b(K.Provider,{value:r},b(ks.Provider,{value:{update:n,getValues:t}},b(Os.Provider,{value:ff(t)},$s(e)))),i),me(null,i)}$({name:`link`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let{display:r,passage:i}=pf(e),a=L(K);return n.useAction({type:`link`,key:i||r,authorId:n.id,label:r,target:i??void 0,perform:()=>{mf(t,n.getValues,n.update,a),i&&Z.getState().navigate(i)}}),B(`a`,{id:n.id,class:n.cls,href:`#`,onClick:e=>{e.preventDefault(),mf(t,n.getValues,n.update,a),i&&Z.getState().navigate(i)},children:r})}}),$({name:`switch`,subMacros:[`case`,`default`],merged:!0,render({rawArgs:e,branches:t=[]},n){let r;try{r=n.evaluate(e)}catch(e){return B(rf,{macro:`switch`,error:e})}let i=null;for(let e=1;e<t.length;e++){let a=t[e];if(a.rawArgs===``){i=a;continue}try{let e=n.evaluate(a.rawArgs);if(r===e)return B(S,{children:n.renderNodes(a.children)})}catch(e){return B(rf,{macro:`case`,error:e})}}return i?B(S,{children:n.renderNodes(i.children)}):null}});function hf(e){let t=e.trim();return t.endsWith(`ms`)?parseFloat(t.slice(0,-2)):t.endsWith(`s`)?parseFloat(t.slice(0,-1))*1e3:parseFloat(t)}$({name:`timed`,subMacros:[`next`],interpolate:!0,render({branches:e=[]},t){let{useState:n,useEffect:r,useMemo:i}=t.hooks,a=i(()=>e.map(e=>({delay:e.rawArgs?hf(e.rawArgs):0,nodes:e.children,className:e.className,id:e.id})),[e]),[o,s]=n(-1);if(r(()=>{if(o>=a.length-1)return;let e=o+1,t=a[e].delay,n=setTimeout(()=>{s(e)},t);return()=>clearTimeout(n)},[o,a]),o<0)return t.wrap(null);let c=a[o],l=t.renderNodes(c.nodes),u=t.resolve(c.className),d=t.resolve(c.id),f=u||d?B(`span`,{id:d,class:u,children:l}):l;return t.wrap(f)}});var gf=he({stop:()=>{}});$({name:`repeat`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let{useState:r,useEffect:i,useCallback:a}=n.hooks,o=hf(e),[s,c]=r(0),[l,u]=r(!1),d=a(()=>u(!0),[]);if(i(()=>{if(l)return;let e=setInterval(()=>{c(e=>e+1)},o);return()=>clearInterval(e)},[o,l]),s===0&&!l)return null;let f=B(gf.Provider,{value:{stop:d},children:B(`span`,{children:n.renderNodes(t)},s)});return n.className||n.id?B(`span`,{id:n.id,class:n.cls,children:f}):f}}),$({name:`stop`,render(e,t){let{stop:n}=t.hooks.useContext(gf);return t.hooks.useLayoutEffect(()=>{n()},[n]),null}}),$({name:`type`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let{useState:r,useEffect:i,useRef:a}=n.hooks,o=hf(e),s=a(null),[c,l]=r(0),[u,d]=r(0),f=a(0);f.current=u,i(()=>{s.current&&l((s.current.textContent||``).length)},[]),i(()=>{if(c===0||f.current>=c)return;let e=setInterval(()=>{d(t=>t>=c?(clearInterval(e),t):t+1)},o);return()=>clearInterval(e)},[c,o]);let p=u>=c&&c>0,m=[`macro-type`,p?`macro-type-done`:``,n.className||``].filter(Boolean).join(` `);return B(`span`,{id:n.id,class:m,ref:s,style:{clipPath:void 0},children:[B(`span`,{class:`macro-type-inner`,style:{display:`inline`,visibility:c===0?`hidden`:`visible`,clipPath:c>0&&!p?`inset(0 ${(c-u)/c*100}% 0 0)`:void 0},children:n.renderInlineNodes(t)}),!p&&c>0&&B(`span`,{class:`macro-type-cursor`})]})}});function _f(e){let t=e.trim().split(/\\s+/);return{name:t[0].replace(/[\"']/g,``),params:t.slice(1).filter(e=>e.startsWith(`@`))}}$({name:`widget`,block:!0,render({rawArgs:e,children:t=[]},n){let{name:r,params:i}=_f(e),a=JSON.stringify(t),o=i.join(`,`);return n.hooks.useLayoutEffect(()=>{let e=nf(t);li(r,t,i,e),e&&or(r)},[r,a,o]),null}}),$({name:`story-title`,render(e,t){let n=Z(e=>e.storyData?.name||``),r=t.className?`story-title ${t.className}`:`story-title`;return B(`span`,{id:t.id,class:r,children:n})}});function vf(e,t){return t?`${e} (${t})`:e}function yf(e){$({name:e.name,render(t,n){if(e.hidden?.())return null;let[r,i]=N(!1),a=e.setup?.()??{perform:()=>{}},{disabled:o,title:s=e.title}=a,c=n.className?`menubar-button ${n.className}`:`menubar-button`,l=e.dialog?()=>i(!0):e.confirm?()=>{confirm(e.confirm)&&a.perform()}:a.perform;return n.useAction({type:e.actionType,key:e.name,authorId:n.id,label:typeof e.label==`string`?e.label:e.name,disabled:o,perform:e.dialog?()=>i(!0):a.perform}),B(S,{children:[B(`button`,{id:n.id,class:c,onClick:l,disabled:o,title:s,children:e.label}),e.dialog&&r&&B(Vu,{passageName:e.dialog.passageName,fallbackMarkup:e.dialog.fallbackMarkup,panelClass:e.dialog.panelClass,onClose:()=>i(!1),showCloseButton:e.dialog.showCloseButton})]})}})}yf({name:`back`,label:`← Back`,actionType:`back`,setup:()=>({perform:Z(e=>e.goBack),disabled:!Z(e=>e.historyIndex>0)})}),yf({name:`forward`,label:`Forward →`,actionType:`forward`,setup:()=>({perform:Z(e=>e.goForward),disabled:!Z(e=>e.historyIndex<e.history.length-1)})}),yf({name:`quicksave`,label:`QuickSave`,actionType:`save`,setup:()=>({perform:Z(e=>e.save),title:vf(`Quick Save`,Z(e=>e.quickSaveKey))})}),yf({name:`quickload`,label:`QuickLoad`,actionType:`load`,confirm:`Load saved game? Current progress will be lost.`,setup:()=>{let e=Z(e=>e.load),t=Z(e=>e.hasSave),n=Z(e=>e.quickLoadKey);return Z(e=>e.knownSaves),{perform:()=>e(),disabled:!t(),title:vf(`Quick Load`,n)}}}),yf({name:`restart`,label:`↺ Restart`,actionType:`restart`,confirm:`Restart the story? All progress will be lost.`,setup:()=>({perform:Z(e=>e.restart)})}),yf({name:`saves`,label:`Saves`,actionType:`dialog`,dialog:{passageName:`SaveLoad`,fallbackMarkup:`{save-manager}`,panelClass:`dialog-saves`}}),yf({name:`settings`,label:`Settings`,actionType:`dialog`,hidden:()=>!Qu.hasAny(),dialog:{passageName:`Settings`,fallbackMarkup:`{settings-controls}`,panelClass:`dialog-settings`}}),$({name:`dialog`,block:!0,interpolate:!0,render({rawArgs:e,children:t=[]},n){let[r,i]=n.hooks.useState(!1),a=/\\bnoclose\\s*$/.test(e),o=e.replace(/\\bnoclose\\s*$/,``).trim(),s=n.resolve?.(o.replace(/^[\"']|[\"']$/g,``))??o,c=n.collectText(t).trim().replace(/^[\"']|[\"']$/g,``);return B(S,{children:[B(`button`,{id:n.id,class:n.cls,onClick:()=>i(!0),children:s}),r&&B(Vu,{passageName:c,onClose:()=>i(!1),showCloseButton:!a})]})}});function bf(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/1e3);if(n<60)return`just now`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<30?`${a}d ago`:new Date(e).toLocaleDateString()}function xf(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function Sf(){let[e,t]=N(`load`),[n,r]=N([]),[i,a]=N(!0),[o,s]=N(null),[c,l]=N(()=>new Set),[u,d]=N(null),[f,p]=N(``),m=P(null),h=P(null),g=L(Bu),_=Z(e=>e.storyData),v=Z(e=>e.playthroughId),y=Z(e=>e.getSavePayload),b=Z(e=>e.loadFromPayload),x=_?.ifid??``,S=I(async()=>{x&&(r(await Zc(x)),a(!1))},[x]);ke(()=>{S()},[S]),ke(()=>{u&&m.current&&(m.current.focus(),m.current.select())},[u]);let C=P(),w=(e,t=`success`)=>{clearTimeout(C.current),s({text:e,type:t}),C.current=window.setTimeout(()=>s(null),3e3)};ke(()=>()=>clearTimeout(C.current),[]);let T=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},E=async()=>{if(!(!x||!v))try{await Wc(void 0,void 0,y,e=>Gc(x,v,e)),w(`Save created`),await S()}catch{w(`Failed to create save`,`error`)}},D=async e=>{try{await Wc(void 0,void 0,y,async t=>{if(!await Kc(e,t))throw Error(`Save not found`)}),w(`Save overwritten`),await S()}catch{w(`Failed to overwrite save`,`error`)}},O=async e=>{try{b(qc(e.payload)),w(`Game loaded`),g&&setTimeout(g,500)}catch{w(`Failed to load save`,`error`)}},ee=async e=>{if(confirm(`Delete this save?`))try{await Yc(e);let t=await ml(x);Z.setState(e=>{e.knownSaves=t}),w(`Save deleted`),await S()}catch{w(`Failed to delete save`,`error`)}},te=e=>{d(e.meta.id),p(e.meta.title)},ne=async()=>{if(!(!u||!f.trim()))try{await Xc(u,f.trim()),d(null),w(`Save renamed`),await S()}catch{w(`Failed to rename`,`error`)}},k=e=>{e.key===`Enter`?ne():e.key===`Escape`&&d(null)},A=async e=>{try{let t=await Sl(e);if(!t)return;let n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`save-${t.save.meta.title.replace(/[^a-z0-9]/gi,`_`)}.json`,i.click(),URL.revokeObjectURL(r),w(`Save exported`)}catch{w(`Failed to export save`,`error`)}},re=()=>{h.current?.click()},ie=async e=>{let t=e.target,n=t.files?.[0];if(n){t.value=``;try{let e=await n.text(),t=JSON.parse(e);if(!Vn(t))throw Error(`Invalid save file format`);await wl(t,x),w(`Save imported`),await S()}catch(e){w(e instanceof Error?e.message:`Failed to import save`,`error`)}}},ae=n.reduce((e,t)=>e+t.saves.length,0);return B(`div`,{class:`save-manager`,children:[B(`div`,{class:`saves-header`,children:B(`div`,{class:`saves-header-left`,children:B(`div`,{class:`saves-mode-toggle`,children:[B(`button`,{class:e===`save`?`active`:``,onClick:()=>t(`save`),children:`Save`}),B(`button`,{class:e===`load`?`active`:``,onClick:()=>t(`load`),children:`Load`})]})})}),B(`div`,{class:`saves-toolbar`,children:[B(`button`,{class:`saves-toolbar-button`,onClick:re,children:`Import`}),B(`input`,{ref:h,type:`file`,accept:`.json`,style:`display:none`,onChange:ie})]}),B(`div`,{class:`saves-body`,children:[i?B(`div`,{class:`saves-empty`,children:`Loading...`}):ae===0&&e===`load`?B(`div`,{class:`saves-empty`,children:`No saves yet`}):n.map(t=>{let n=c.has(t.playthrough.id),r=t.playthrough.id===v;return e===`save`&&!r||e===`load`&&t.saves.length===0&&!r?null:B(`div`,{class:`playthrough-group`,children:[B(`div`,{class:`playthrough-header`,onClick:()=>T(t.playthrough.id),children:[B(`span`,{class:`playthrough-chevron ${n?``:`open`}`,children:`▶`}),B(`span`,{class:`playthrough-label`,children:[t.playthrough.label,r?` (current)`:``]}),B(`span`,{class:`playthrough-date`,children:xf(t.playthrough.createdAt)})]}),!n&&B(`div`,{class:`playthrough-saves`,children:[t.saves.map(t=>B(`div`,{class:`save-slot`,children:[B(`div`,{class:`save-slot-info`,children:[u===t.meta.id?B(`input`,{ref:m,class:`save-rename-input`,value:f,onInput:e=>p(e.target.value),onKeyDown:k,onBlur:ne}):B(`div`,{class:`save-slot-title`,children:t.meta.title}),B(`div`,{class:`save-slot-meta`,children:[B(`span`,{children:t.meta.passage}),B(`span`,{children:bf(t.meta.updatedAt)})]})]}),B(`div`,{class:`save-slot-actions`,children:[e===`save`?B(`button`,{class:`save-slot-action primary`,onClick:()=>D(t.meta.id),children:`Save Here`}):B(`button`,{class:`save-slot-action primary`,onClick:()=>O(t),children:`Load`}),B(`button`,{class:`save-slot-action`,onClick:()=>te(t),children:`Rename`}),B(`button`,{class:`save-slot-action`,onClick:()=>A(t.meta.id),children:`Export`}),B(`button`,{class:`save-slot-action danger`,onClick:()=>ee(t.meta.id),children:`Delete`})]})]},t.meta.id)),e===`save`&&r&&B(`button`,{class:`save-slot-new`,onClick:E,children:`+ New Save`})]})]},t.playthrough.id)}),e===`save`&&!i&&!n.some(e=>e.playthrough.id===v)&&B(`div`,{class:`playthrough-group`,children:B(`div`,{class:`playthrough-saves`,children:B(`button`,{class:`save-slot-new`,onClick:E,children:`+ New Save`})})})]}),o&&B(`div`,{class:`saves-status ${o.type===`error`?`error`:``}`,children:o.text})]})}$({name:`save-manager`,render(){return B(Sf,{})}});function Cf({name:e,def:t}){let[n,r]=N(()=>Qu.get(e)),i=t=>{r(t),Qu.set(e,t)};switch(t.type){case`toggle`:return B(`label`,{class:`settings-row`,children:[B(`span`,{children:t.config.label}),B(`input`,{type:`checkbox`,checked:!!n,onChange:e=>i(e.target.checked)})]});case`list`:return B(`label`,{class:`settings-row`,children:[B(`span`,{children:t.config.label}),B(`select`,{value:String(n),onChange:e=>i(e.target.value),children:t.config.options.map(e=>B(`option`,{value:e,children:e},e))})]});case`range`:return B(`label`,{class:`settings-row`,children:[B(`span`,{children:[t.config.label,`: `,String(n)]}),B(`input`,{type:`range`,min:t.config.min,max:t.config.max,step:t.config.step,value:Number(n),onInput:e=>i(parseFloat(e.target.value))})]})}}function wf(){let e=Qu.getDefinitions();return B(`div`,{class:`settings-controls`,children:Array.from(e.entries()).map(([e,t])=>B(Cf,{name:e,def:t},e))})}$({name:`settings-controls`,render(){return B(wf,{})}});var Tf=`inline`;function Ef(e){let t=e.trim(),n=null,r=null,i=0,a=null;for(let e=0;e<t.length;e++){let o=t[e];if(a){o===`\\\\`?e++:o===a&&(a=null);continue}if(o===`\"`||o===`'`||o===\"`\")a=o;else if(o===`(`||o===`[`||o===`{`)i++;else if(o===`)`||o===`]`||o===`}`)i--;else if(i===0&&/\\s/.test(o)){let i=e+1;for(;i<t.length&&/\\s/.test(t[i]);)i++;r=[e,i],n??(n=r),e=i-1}}if(r&&r[1]===t.length-6&&t.endsWith(Tf)){let e=t.slice(0,r[0]);if(!/[-+*/%&|^!=<>?:,.]$/.test(e))return{nameExpr:e,inline:!0}}if(n&&n[0]===6&&t.startsWith(Tf)){let e=t.slice(n[1]);if(!/^[-+*/%&|^=<>?:,.]/.test(e))return{nameExpr:e,inline:!0}}return{nameExpr:t,inline:!1}}$({name:`include`,interpolate:!0,merged:!0,render({rawArgs:e},t){let n=Z(e=>e.storyData),{nameExpr:r,inline:i}=Ef(e),a;try{let e=t.evaluate(r);a=String(e)}catch{a=r.replace(/^[\"']|[\"']$/g,``)}let o=n?.passages.get(a),s=t.hooks.useMemo(()=>o?ur(ir(o.content)):null,[o]);if(!n)return null;if(o&&Z.getState().trackRender(a),!o||!s)return B(`span`,{class:`error`,children:`{include${t.sourceLocation()}: passage \"${a}\" not found}`});let c=o.tags.includes(`nobr`),l=i?t.renderInlineNodes(s):t.renderNodes(s,c?{nobr:!0}:void 0);return c?t.wrap(t.h(K.Provider,{value:!0},l)):t.wrap(l)}}),$({name:`nobr`,block:!0,render({children:e=[]},t){return t.wrap(t.h(K.Provider,{value:!0},t.renderNodes(e,{nobr:!0})))}}),$({name:`goto`,merged:!0,render({rawArgs:e},t){return t.hooks.useLayoutEffect(()=>{let n;try{let r=t.evaluate(e);n=String(r)}catch{n=e.replace(/^[\"']|[\"']$/g,``)}Z.getState().navigate(n)},[]),null}}),$({name:`unset`,render({rawArgs:e},t){let n=t.hooks.useRef(!1);if(!n.current){n.current=!0;let r=Z.getState(),i=e.trim();i.startsWith(`$`)?r.deleteVariable(i.slice(1)):i.startsWith(`_`)?r.deleteTemporary(i.slice(1)):i.startsWith(`%`)?r.deleteTransient(i.slice(1)):i.startsWith(`@`)?t.update(i.slice(1),void 0):console.error(`spindle: {unset} expects a variable ($name, _name, %name, or @name), got \"${i}\"`)}return null}}),$({name:`textbox`,storeVar:!0,render({rawArgs:e},t){let{placeholder:n}=t.parseVarArgs(e);return t.useAction({type:`textbox`,key:`$${t.varName}`,authorId:t.id,label:n||t.varName,variable:t.varName,value:t.value,perform:e=>t.setValue(e===void 0?``:String(e))}),B(`input`,{type:`text`,id:t.id,class:t.cls,value:t.value==null?``:String(t.value),placeholder:n,onInput:e=>t.setValue(e.target.value)})}}),$({name:`numberbox`,storeVar:!0,render({rawArgs:e},t){let{placeholder:n}=t.parseVarArgs(e);return t.useAction({type:`numberbox`,key:`$${t.varName}`,authorId:t.id,label:n||t.varName,variable:t.varName,value:t.value,perform:e=>t.setValue(e===void 0?0:Number(e))}),B(`input`,{type:`number`,id:t.id,class:t.cls,value:t.value==null?``:String(t.value),placeholder:n,onInput:e=>{let n=e.target.value;t.setValue(n===``?0:Number(n))}})}}),$({name:`textarea`,storeVar:!0,render({rawArgs:e},t){let{placeholder:n}=t.parseVarArgs(e);return t.useAction({type:`textarea`,key:`$${t.varName}`,authorId:t.id,label:n||t.varName,variable:t.varName,value:t.value,perform:e=>t.setValue(e===void 0?``:String(e))}),B(`textarea`,{id:t.id,class:t.cls,value:t.value==null?``:String(t.value),placeholder:n,onInput:e=>t.setValue(e.target.value)})}});function Df(e){return e.match(/^\\s*[\"']?\\$?[\\w.]+[\"']?\\s+[\"']?(.+?)[\"']?\\s*$/)?.[1]??``}$({name:`checkbox`,storeVar:!0,render({rawArgs:e},t){let n=Df(e);return t.useAction({type:`checkbox`,key:`$${t.varName}`,authorId:t.id,label:n||t.varName||``,variable:t.varName,value:!!t.value,perform:e=>t.setValue(e===void 0?!t.value:!!e)}),B(`label`,{id:t.id,class:t.cls,children:[B(`input`,{type:`checkbox`,checked:!!t.value,onChange:()=>t.setValue(!t.value)}),n?` ${n}`:null]})}});function Of(e){let t=e.match(/^\\s*[\"']?\\$?[\\w.]+[\"']?\\s+[\"'](.+?)[\"']\\s+[\"']?(.+?)[\"']?\\s*$/);if(!t){let t=e.trim().split(/\\s+/).slice(1);return{value:t[0]??``,label:t.slice(1).join(` `)}}return{value:t[1],label:t[2]}}$({name:`radiobutton`,storeVar:!0,render({rawArgs:e},t){let{value:n,label:r}=Of(e);return t.useAction({type:`radiobutton`,key:`$${t.varName}:${n}`,authorId:t.id,label:r||n,variable:t.varName,value:t.value,perform:()=>t.setValue(n)}),B(`label`,{id:t.id,class:t.cls,children:[B(`input`,{type:`radio`,name:`radio-${t.varName}`,checked:t.value===n,onChange:()=>t.setValue(n)}),r?` ${r}`:null]})}}),$({name:`listbox`,subMacros:[`option`],storeVar:!0,render({children:e=[]},t){let n=t.extractOptions(e);return t.useAction({type:`listbox`,key:`$${t.varName}`,authorId:t.id,label:t.varName,variable:t.varName,options:n,value:t.value,perform:e=>{e!==void 0&&t.setValue(String(e))}}),B(`select`,{id:t.id,class:t.cls,value:t.value==null?``:String(t.value),onChange:e=>t.setValue(e.target.value),children:n.map(e=>B(`option`,{value:e,children:e},e))})}}),$({name:`cycle`,block:!0,storeVar:!0,render({children:e=[]},t){let n=t.extractOptions(e),r=()=>{if(n.length===0)return;let e=t.getValue(),r=(n.indexOf(String(e))+1)%n.length;t.setValue(n[r])};return t.useAction({type:`cycle`,key:`$${t.varName}`,authorId:t.id,label:t.value==null?n[0]||``:String(t.value),variable:t.varName,options:n,value:t.value,perform:e=>{e===void 0?r():t.setValue(e)}}),B(`button`,{id:t.id,class:t.cls,onClick:r,children:t.value==null?n[0]||``:String(t.value)})}}),$({name:`span`,block:!0,render({children:e=[]},t){return t.wrap(t.renderNodes(e))}});var kf=new WeakMap;function Af(e){let t=kf.get(e);if(t&&t.content===e.content)return t.ast;let n=ur(ir(e.content));return kf.set(e,{content:e.content,ast:n}),n}function jf(e){return $s(Af(e),e.tags.includes(`nobr`)?{nobr:!0}:void 0)}var Mf=new Set([`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]);function Nf({passage:e,dataTransition:t,navigationId:n}){let r=Z(e=>e.storyData),i=Mf.has(e.name),[a,o]=N(!1),s=F(()=>{try{return jf(e)}catch(t){return B(`div`,{class:`error`,children:[`Error parsing passage “`,e.name,`”`,ld(e),`:`,` `,t instanceof Error?t.message:String(t)]})}},[e.content,e.name]),c=i?void 0:r?.passages.get(`PassageHeader`),l=i?void 0:r?.passages.get(`PassageFooter`),u=i?void 0:r?.passages.get(`PassageDone`),d=F(()=>{if(!c)return null;try{return jf(c)}catch(e){return console.error(`spindle: Error in PassageHeader:`,e),null}},[c?.content]),f=F(()=>{if(!l)return null;try{return jf(l)}catch(e){return console.error(`spindle: Error in PassageFooter:`,e),null}},[l?.content]);ke(()=>(u&&o(!0),()=>o(!1)),[e.name]);let p=F(()=>{if(!a||!u)return null;try{return jf(u)}catch(e){return console.error(`spindle: Error in PassageDone:`,e),null}},[a,u?.content]),m=P(null);Ae(()=>{n!==void 0&&vd(n),m.current&&Pc(`passagerender`,e.name,m.current)},[e.name,n]);let h=e.tags.includes(`nobr`),g=B(`div`,{ref:m,class:`passage`,\"data-passage\":e.name,\"data-tags\":e.tags.join(` `),\"data-transition\":t,children:[d&&B(`div`,{class:`passage-header`,children:d}),s,f&&B(`div`,{class:`passage-footer`,children:f}),p&&B(`div`,{hidden:!0,children:p})]});return h?B(K.Provider,{value:!0,children:g}):g}var Pf=new Set([`none`,`fade`,`fade-through`,`crossfade`]),Ff={type:`fade-through`,duration:300,pause:50};function If(e){let t=e.find(e=>e.startsWith(`transition:`));if(!t)return null;let n=t.slice(11);if(!Pf.has(n))return console.warn(`Unknown transition type: \"${n}\"`),null;let r={type:n};for(let t of e)if(t.startsWith(`duration:`)){let e=Number(t.slice(9));Number.isNaN(e)||(r.duration=e)}else if(t.startsWith(`pause:`)){let e=Number(t.slice(6));Number.isNaN(e)||(r.pause=e)}return r}function Lf(e){return{type:e.type,duration:e.duration??Ff.duration,pause:e.pause??Ff.pause}}function Rf(e,t,n){let r=If(e);return r?Lf(r):t?Lf(t):n?Lf(n):{...Ff}}function zf(e,t){let n=e.cloneNode(!0);n.removeAttribute(`id`);let r=n.querySelectorAll(`[id]`);for(let e=0;e<r.length;e++)r[e].removeAttribute(`id`);n.style.pointerEvents=`none`,n.style.userSelect=`none`;let i=n.querySelectorAll(`audio, video`);for(let e=0;e<i.length;e++){let t=i[e];t.pause?.(),t.muted=!0}return n.classList.remove(`passage`),n.classList.add(`passage-snapshot`),n.setAttribute(`data-transition`,t),n}function Bf(e,t){e.style.setProperty(`--passage-in-duration`,`${t.duration/1e3}s`),e.style.setProperty(`--passage-out-duration`,`${t.duration/1e3}s`),e.style.setProperty(`--passage-pause`,`${t.pause/1e3}s`)}function Vf(e){if(!e)return;e.classList.remove(`passage-container--crossfading`);let t=e.querySelectorAll(`.passage-snapshot`);for(let e=0;e<t.length;e++)t[e].remove()}$({name:`passage`,interpolate:!0,render(e,t){let n=Z(e=>e.currentPassage),r=Z(e=>e.navigationId),i=Z(e=>e.storyData),a=Z(e=>e.renderDeferred),[o,s]=N({passage:n,id:r}),c=o.passage,l=e=>s({passage:e,id:r}),u=P(`fade`),d=P(0),f=P(null),p=P([]),m=I(()=>{for(let e of p.current)clearTimeout(e);p.current=[],Vf(f.current)},[]);ke(()=>{let e=Z.getState(),{history:t,historyIndex:a,transitionConfig:s}=e,h=e.consumeNextTransition(),g=d.current;d.current=t.length;let _=!c,v=t.length===1&&a===0&&g>1,y=t.length>1&&a===t.length-1&&g>1&&Math.abs(t.length-g)>1;if(r===o.id)return;m();let b=i?.passages.get(n);if(!b){u.current=`none`,l(n);return}if(_||v||y){u.current=`fade`,l(n);return}let x=Rf(b.tags,h,s);u.current=x.type;let S=f.current;if(x.type===`none`){l(n);return}if(x.type===`fade`){S&&Bf(S,x),l(n);return}if(x.type===`fade-through`){if(!S){l(n);return}Bf(S,x);let e=S.querySelector(`.passage`);if(!e){l(n);return}let t=zf(e,x.type);S.appendChild(t),l(``);let r=x.duration+x.pause,i=setTimeout(()=>{l(n)},r),a=r+x.duration;p.current=[i,setTimeout(()=>{Vf(S)},a)];return}if(x.type===`crossfade`){if(!S){l(n);return}Bf(S,x);let e=S.querySelector(`.passage`);if(!e){l(n);return}let t=zf(e,x.type);S.classList.add(`passage-container--crossfading`),S.appendChild(t),l(n),p.current=[setTimeout(()=>{Vf(S)},x.duration)];return}l(n)},[r]);let h=a?i?.passages.get(`StoryLoading`)??null:c?i?.passages.get(c):null;if(!h&&c&&!a)return B(`div`,{class:`error`,children:[`Error: Passage “`,c,`” not found.`]});let g=i?.passages.get(`PassageReady`);return B(`div`,{id:t.id??`story`,class:t.className??`story`,children:[!a&&g&&B(`div`,{hidden:!0,children:jf(g)},`ready-${r}`),B(`div`,{class:`passage-container`,ref:f,children:h&&B(Nf,{passage:h,dataTransition:a?`none`:u.current,navigationId:a?void 0:o.id},a?`loading`:`nav-${o.id}`)})]})}}),$({name:`watch`,render(e,t){let{hooks:n}=t,r=e.rawArgs.trim(),i=r.match(/^(['\"])(.*?)\\1\\s*/);if(!i)return null;let a=i[2],o=r.slice(i[0].length),s={},c=/(\\w+)\\s+(?:\"([^\"]*?)\"|'([^']*?)'|(\\d+))|(\\w+)/g,l;for(;(l=c.exec(o))!==null;){let e=l[1]??l[5],t=l[2]??l[3]??l[4];if(e)switch(e){case`goto`:s.goto=t;break;case`dialog`:s.dialog=t;break;case`run`:s.run=t;break;case`name`:s.name=t;break;case`priority`:s.priority=t?Number(t):0;break;case`once`:s.once=!0;break}}let u=n.useRef(!1);return u.current||(u.current=!0,Kl(a,s)),null}}),$({name:`unwatch`,render(e,t){let n=e.rawArgs.trim().replace(/^['\"]|['\"]$/g,``),r=t.hooks.useRef(!1);return r.current||(r.current=!0,ql(n)),null}});var Hf=`*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{color:#e0e0e0;background-color:#1a1a2e;min-height:100vh;margin:0;padding:0;font-family:Georgia,Times New Roman,serif;line-height:1.75}tw-storydata{display:none!important}#story{max-width:42em;margin:0 auto;padding:2em 1.5em}.passage-container{position:relative}.passage-container--crossfading{display:grid}.passage-container--crossfading>*{grid-area:1/1}.passage{animation:passage-fade-in var(--passage-in-duration,.3s) ease}.passage[data-transition=none]{animation:none}.passage-snapshot{animation:passage-fade-out var(--passage-out-duration,.3s) ease forwards;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes passage-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes passage-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.passage,.passage-snapshot{animation-duration:10ms!important}}.macro-button{color:#64b5f6;font:inherit;cursor:pointer;background:#64b5f626;border:1px solid #64b5f666;border-radius:4px;padding:.25em .75em;font-size:.95em;transition:background .2s,border-color .2s}.macro-button:hover{background:#64b5f640;border-color:#90caf9}.macro-button:active{background:#64b5f659}.error{color:#ef5350;background:#ef53501a;border:1px solid #ef5350;border-radius:4px;padding:1em;font-family:monospace}.loading{text-align:center;opacity:.6;padding:2em}.story-menubar{z-index:100;background:#16213e;border-bottom:1px solid #ffffff14;align-items:center;gap:.5em;padding:.5em 1.5em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.9em;display:flex;position:sticky;top:0}.story-title{color:#e0e0e0;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.menubar-button{color:#9e9e9e;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:.35em .7em;transition:color .2s,background .2s}.menubar-button:hover{color:#e0e0e0;background:#ffffff14}.menubar-button:disabled{opacity:.4;cursor:default}.menubar-button:disabled:hover{color:#9e9e9e;background:0 0}.dialog-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog-panel{color:#e0e0e0;background:#16213e;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex;position:relative}.dialog-panel:focus{outline:none}.dialog-saves{max-width:550px}.dialog-settings{max-width:400px}.dialog-close{z-index:1;color:#9e9e9e;cursor:pointer;background:0 0;border:none;padding:.25em;font-size:1.1em;line-height:1;position:absolute;top:.75em;right:.75em}.dialog-close:hover{color:#e0e0e0}.dialog-body{flex:1;min-height:0;overflow-y:auto}.settings-controls{flex-direction:column;gap:1em;padding:1em 1.25em;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:1em;display:flex}.settings-row select,.settings-row input[type=range]{accent-color:#64b5f6}.settings-row select{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.settings-row input[type=checkbox]{accent-color:#64b5f6;width:1.1em;height:1.1em}.save-manager{flex-direction:column;flex:1;min-height:0;display:flex}.saves-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:1em 3em 1em 1.25em;font-weight:600;display:flex}.saves-header-left{align-items:center;gap:.75em;display:flex}.saves-mode-toggle{border:1px solid #ffffff26;border-radius:4px;gap:0;display:flex;overflow:hidden}.saves-mode-toggle button{color:#9e9e9e;font:inherit;cursor:pointer;background:0 0;border:none;padding:.3em .8em;font-size:.85em;font-weight:600;transition:background .2s,color .2s}.saves-mode-toggle button.active{color:#64b5f6;background:#64b5f633}.saves-mode-toggle button:hover:not(.active){color:#e0e0e0}.saves-body{flex:1;min-height:0;padding:.75em 1.25em;overflow-y:auto}.saves-empty{text-align:center;opacity:.5;padding:2em 1em;font-size:.9em}.saves-toolbar{border-bottom:1px solid #ffffff14;flex-shrink:0;gap:.5em;padding:.5em 1.25em;display:flex}.saves-toolbar-button{color:#9e9e9e;font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:.3em .7em;font-size:.8em;transition:background .2s,color .2s}.saves-toolbar-button:hover{color:#e0e0e0;background:#ffffff1a}.playthrough-group{margin-bottom:.75em}.playthrough-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#9e9e9e;align-items:center;gap:.5em;padding:.4em 0;font-size:.85em;transition:color .2s;display:flex}.playthrough-header:hover{color:#e0e0e0}.playthrough-chevron{font-size:.7em;transition:transform .2s;display:inline-block}.playthrough-chevron.open{transform:rotate(90deg)}.playthrough-label{font-weight:600}.playthrough-date{opacity:.6;font-size:.9em}.playthrough-saves{flex-direction:column;gap:.4em;padding-left:.25em;display:flex}.save-slot{background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:.75em;padding:.5em .6em;transition:background .15s;display:flex}.save-slot:hover{background:#ffffff0f}.save-slot-info{flex:1;min-width:0}.save-slot-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9em;font-weight:500;overflow:hidden}.save-slot-meta{color:#9e9e9e;gap:.75em;font-size:.75em;display:flex}.save-slot-actions{flex-shrink:0;gap:.3em;display:flex}.save-slot-action{color:#9e9e9e;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;padding:.2em .5em;font-size:.75em;transition:color .2s,background .2s}.save-slot-action:hover{color:#e0e0e0;background:#ffffff14}.save-slot-action.primary{color:#64b5f6;border-color:#64b5f64d}.save-slot-action.primary:hover{background:#64b5f626}.save-slot-action.danger:hover{color:#ef5350;background:#ef53501a}.save-slot-new{color:#9e9e9e;font:inherit;cursor:pointer;background:0 0;border:1px dashed #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:100%;margin-top:.25em;padding:.5em;font-size:.8em;transition:color .2s,border-color .2s,background .2s;display:flex}.save-slot-new:hover{color:#64b5f6;background:#64b5f60d;border-color:#64b5f64d}.saves-status{color:#81c784;text-align:center;border-top:1px solid #ffffff14;flex-shrink:0;padding:.5em 1.25em;font-size:.8em}.saves-status.error{color:#ef5350;background:0 0;border:none;border-radius:0;padding:.5em 1.25em;font-family:inherit}.save-rename-input{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #64b5f666;border-radius:3px;width:100%;padding:.15em .4em;font-size:.9em}.save-rename-input:focus{border-color:#64b5f6;outline:none}.macro-link{color:#64b5f6;cursor:pointer;border-bottom:1px solid #64b5f64d;text-decoration:none;transition:color .2s,border-color .2s}.macro-link:hover{color:#90caf9;border-bottom-color:#90caf9}.macro-link:active{color:#42a5f5}.macro-textbox,.macro-numberbox,.macro-textarea{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.macro-textbox:focus,.macro-numberbox:focus,.macro-textarea:focus{border-color:#64b5f6;outline:none}.macro-textarea{resize:vertical;min-height:3em}.macro-checkbox,.macro-radiobutton{cursor:pointer;align-items:center;gap:.3em;display:inline-flex}.macro-checkbox input,.macro-radiobutton input{accent-color:#64b5f6}.macro-listbox{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.macro-cycle{color:#64b5f6;font:inherit;cursor:pointer;background:#64b5f626;border:1px solid #64b5f666;border-radius:4px;padding:.25em .75em;transition:background .2s,border-color .2s}.macro-cycle:hover{background:#64b5f640;border-color:#90caf9}.macro-meter{background:#2a2a3e;border:1px solid #444;border-radius:.3em;width:100%;height:1.4em;position:relative;overflow:hidden}.macro-meter-fill{background:#64b5f6;height:100%;transition:width .3s}.macro-meter-label{color:#e0e0e0;text-shadow:0 1px 2px #000c;pointer-events:none;justify-content:center;align-items:center;font-size:.85em;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.md{display:contents}.passage p{margin:.6em 0}.passage p:first-child{margin-top:0}.passage p:last-child{margin-bottom:0}.passage h1,.passage h2,.passage h3,.passage h4,.passage h5,.passage h6{color:#f0f0f0;margin:1em 0 .4em;line-height:1.3}.passage h1{font-size:1.8em}.passage h2{font-size:1.5em}.passage h3{font-size:1.25em}.passage h4{font-size:1.1em}.passage h5{font-size:1em}.passage h6{opacity:.8;font-size:.9em}.passage code{background:#ffffff14;border-radius:3px;padding:.15em .35em;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.9em}.passage pre{background:#0000004d;border:1px solid #ffffff14;border-radius:6px;margin:.8em 0;padding:1em;overflow-x:auto}.passage pre code{background:0 0;border-radius:0;padding:0;font-size:.85em}.passage blockquote{color:#b0b0b0;border-left:3px solid #64b5f680;margin:.8em 0;padding:.4em 1em}.passage blockquote p{margin:.3em 0}.passage ul,.passage ol{margin:.6em 0;padding-left:1.8em}.passage li{margin:.2em 0}.passage hr{border:none;border-top:1px solid #ffffff1f;margin:1.2em 0}.passage table{border-collapse:collapse;width:100%;margin:.8em 0}.passage th,.passage td{text-align:left;border:1px solid #ffffff1f;padding:.5em .75em}.passage th{background:#ffffff0f;font-weight:600}.passage tr:nth-child(2n){background:#ffffff05}.passage del{opacity:.5}.passage strong{color:#f0f0f0}.macro-type-cursor:after{content:\"█\";color:#64b5f6;animation:.7s step-end infinite type-blink}.macro-type-done .macro-type-cursor:after{display:none}@keyframes type-blink{50%{opacity:0}}`;function Uf(e,t){e.innerHTML=``;let n=document.createElement(`div`);n.style.cssText=`font-family:monospace;padding:2rem;max-width:60rem;margin:0 auto`;let r=document.createElement(`h1`);r.style.color=`#c00`,r.textContent=`Story Validation Errors`,n.appendChild(r);let i=document.createElement(`ul`);i.style.cssText=`line-height:1.6`;for(let e of t){let t=document.createElement(`li`);t.textContent=e,i.appendChild(t)}n.appendChild(i),e.appendChild(n)}function Wf(){let e=Gu(),t=document.createElement(`style`);if(t.id=`spindle-styles`,t.textContent=Hf,document.head.appendChild(t),Fd(),e.userCSS){let t=document.createElement(`style`);t.textContent=e.userCSS,document.head.appendChild(t)}if(e.userScript)try{Function(e.userScript)()}catch(e){console.error(`spindle: Error in story JavaScript:`,e)}document.dispatchEvent(new CustomEvent(`:storystartup`));let n={},r=e.passages.get(`StoryVariables`);if(!r){let e=`Missing StoryVariables passage. Add a :: StoryVariables passage to declare your variables.`,t=document.getElementById(`root`);throw t&&Uf(t,[e]),Error(`spindle: ${e}`)}let i=Wd(r.content),a=yi().filter(e=>e.storeVar).map(e=>e.name),o=ef(e.passages,i,a),s={},c=e.passages.get(`StoryTransients`);if(c){let e=Wd(c.content,`%`);for(let t of e.keys())i.has(t)&&o.push(`StoryTransients: Variable \"${t}\" is already declared in StoryVariables. Names must be unique across scopes.`);s=tf(e)}if(o.length>0){let e=document.getElementById(`root`);throw e&&Uf(e,o),Error(`spindle: ${o.length} validation error(s):\\n${o.join(`\n`)}`)}n=tf(i),Ad(Object.keys(n),Object.keys(s)),Z.getState().init(e,n,s),Ou();let l=/\\{widget\\s+[\"']?(\\w+)[\"']?[^}]*\\}([\\s\\S]*?)\\{\\/widget\\}/g;for(let[t,n]of e.passages)if(t===`StoryInit`||n.tags.includes(`widget`)){let e;for(;(e=l.exec(n.content))!==null;){let t=e[1],n=e[2];/\\{@children\\}/.test(n)&&or(t)}l.lastIndex=0}Pl(bl(e.ifid));for(let[,t]of e.passages)if(t.tags.includes(`widget`)){let e=ur(ir(t.content));for(let t of e)if(t.type===`macro`&&t.name===`widget`&&t.rawArgs){let e=t.rawArgs.trim().split(/\\s+/),n=e[0].replace(/[\"']/g,``),r=e.slice(1).filter(e=>e.startsWith(`$`)||e.startsWith(`_`)||e.startsWith(`@`)),i=t.children,a=nf(i);li(n,i,r,a),a&&or(n)}}let u=Z.getState().navigationId;Z.subscribe(e=>{e.navigationId!==u&&(u=e.navigationId,ad())}),eu();let d=e.passages.get(`StoryInterface`);d&&!d.content.includes(`{passage}`)&&console.warn(`spindle: StoryInterface passage does not contain {passage}. The current passage will not be displayed.`);let f=document.getElementById(`root`);if(!f)throw Error(`spindle: No <div id=\"root\"> element found.`);me(B(Uu,{}),f);let p=Sd();p?p.then(()=>{document.dispatchEvent(new CustomEvent(`:storyready`))}):document.dispatchEvent(new CustomEvent(`:storyready`))}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,Wf):Wf();</script>\n </head>\n <body>\n <div id=\"root\"></div>\n {{STORY_DATA}}\n </body>\n</html>\n"})