@rohal12/spindle 0.59.6 → 0.59.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pkg/format.js +1 -1
- package/dist/pkg/headless.js +61 -21
- package/package.json +1 -1
- package/src/class-registry.ts +12 -0
- package/src/components/App.tsx +3 -5
- package/src/components/macros/Computed.tsx +3 -2
- package/src/components/macros/PassageDisplay.tsx +4 -3
- package/src/components/macros/SaveManager.tsx +3 -5
- package/src/execute-mutation.ts +3 -3
- package/src/index.tsx +22 -7
- package/src/saves/save-manager.ts +9 -2
- package/src/structural.ts +11 -5
package/dist/pkg/format.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.storyFormat({"name":"spindle","version":"0.59.6","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),ce(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,ue(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 ee(e){(!e.__d&&(e.__d=!0)&&a.push(e)&&!D.__r++||o!=r.debounceRendering)&&((o=r.debounceRendering)||s)(D)}function D(){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=D.__r=0}}function te(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=ne(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=ce(e,p,f,i,a,o,s,c,l,u),g=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&pe(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=re(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 ne(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=O(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)),me(s,s));return r}function re(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=re(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 ie(e,t){return t=t||[],e==null||typeof e==`boolean`||(_(e)?e.some(function(e){ie(e,t)}):t.push(e)),t}function O(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 ae(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||g.test(t)?n:n+`px`}function oe(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||ae(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||ae(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 se(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 ce(e,t,n,i,a,o,s,c,l,u){var d,f,p,m,g,b,x,w,T,E,ee,D,ne,re,ie,O=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 O==`function`)try{if(w=t.props,T=O.prototype&&O.prototype.render,E=(d=O.contextType)&&i[d.__c],ee=d?E?E.props.value:d.__:i,n.__c?x=(f=t.__c=n.__c).__=f.__E:(T?t.__c=f=new O(w,ee):(t.__c=f=new C(w,ee),f.constructor=O,f.render=he),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&&O.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=v({},f.__s)),v(f.__s,O.getDerivedStateFromProps(w,f.__s))),m=f.props,g=f.state,f.__v=t,p)T&&O.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),T&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(T&&O.getDerivedStateFromProps==null&&w!==m&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(w,ee),t.__v==n.__v||!f.__e&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(w,f.__s,ee)){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,ee),T&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(m,g,b)})}if(f.context=ee,f.props=w,f.__P=e,f.__e=!1,D=r.__r,ne=0,T)f.state=f.__s,f.__d=!1,D&&D(t),d=f.render(f.props,f.state,f.context),h.push.apply(f.__h,f._sb),f._sb=[];else do f.__d=!1,D&&D(t),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(f.__d&&++ne<25);f.state=f.__s,f.getChildContext!=null&&(i=v(v({},i),f.getChildContext())),T&&!p&&f.getSnapshotBeforeUpdate!=null&&(b=f.getSnapshotBeforeUpdate(m,g)),re=d!=null&&d.type===S&&d.key==null?de(d.props.children):d,c=te(e,_(re)?re:[re],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(ie=o.length;ie--;)y(o[ie]);le(t)}else t.__e=n.__e,t.__k=n.__k,e.then||le(t);r.__e(e,t,n)}else o==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):c=t.__e=fe(n.__e,t,n,i,a,o,s,l,u);return(d=r.diffed)&&d(t),128&t.__u?void 0:c}function le(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(le))}function ue(e,t,n){for(var i=0;i<n.length;i++)pe(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 de(e){return typeof e!=`object`||!e||e.__b>0?e:_(e)?e.map(de):v({},e)}function fe(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||oe(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||oe(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=``),te(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])&&oe(e,d,v,x[d],o),d=`checked`,b!=null&&b!=e[d]&&oe(e,d,b,x[d],o))}return e}function pe(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 me(e,t,n){var i,a;if(r.unmount&&r.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||pe(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]&&me(i[a],t,n||typeof e.type!=`function`);n||y(e.__e),e.__c=e.__=e.__e=void 0}function he(e,t,n){return this.constructor(e,n)}function ge(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=[],ce(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),ue(s,e,c)}function _e(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,ee(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),ee(this))},C.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),ee(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},D.__r=0,l=/(PointerCapture)$|Capture$/i,u=0,d=se(!1),f=se(!0),p=0;var ve,k,ye,be,xe=0,Se=[],A=r,Ce=A.__b,we=A.__r,Te=A.diffed,Ee=A.__c,De=A.unmount,Oe=A.__;function ke(e,t){A.__h&&A.__h(k,e,xe||t),xe=0;var n=k.__H||(k.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function Ae(e){return xe=1,je(Ue,e)}function je(e,t,n){var r=ke(ve++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Ue(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=k,!k.__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};k.__f=!0;var a=k.shouldComponentUpdate,o=k.componentWillUpdate;k.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)},k.shouldComponentUpdate=i}return r.__N||r.__}function Me(e,t){var n=ke(ve++,3);!A.__s&&He(n.__H,t)&&(n.__=e,n.u=t,k.__H.__h.push(n))}function Ne(e,t){var n=ke(ve++,4);!A.__s&&He(n.__H,t)&&(n.__=e,n.u=t,k.__h.push(n))}function j(e){return xe=5,Pe(function(){return{current:e}},[])}function Pe(e,t){var n=ke(ve++,7);return He(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Fe(e,t){return xe=8,Pe(function(){return e},t)}function Ie(e){var t=k.context[e.__c],n=ke(ve++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(k)),t.props.value):e.__}function Le(){for(var e;e=Se.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Be),t.__h.some(Ve),t.__h=[]}catch(n){t.__h=[],A.__e(n,e.__v)}}}A.__b=function(e){k=null,Ce&&Ce(e)},A.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Oe&&Oe(e,t)},A.__r=function(e){we&&we(e),ve=0;var t=(k=e.__c).__H;t&&(ye===k?(t.__h=[],k.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(Be),t.__h.some(Ve),t.__h=[],ve=0)),ye=k},A.diffed=function(e){Te&&Te(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Se.push(t)!==1&&be===A.requestAnimationFrame||((be=A.requestAnimationFrame)||ze)(Le)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),ye=k=null},A.__c=function(e,t){t.some(function(e){try{e.__h.some(Be),e.__h=e.__h.filter(function(e){return!e.__||Ve(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],A.__e(n,e.__v)}}),Ee&&Ee(e,t)},A.unmount=function(e){De&&De(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{Be(e)}catch(e){t=e}}),n.__H=void 0,t&&A.__e(t,n.__v))};var Re=typeof requestAnimationFrame==`function`;function ze(e){var t,n=function(){clearTimeout(r),Re&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Re&&(t=requestAnimationFrame(n))}function Be(e){var t=k,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),k=t}function Ve(e){var t=k;e.__c=e.__(),k=t}function He(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function Ue(e,t){return typeof t==`function`?t(e):t}function We(e,t){for(var n in t)e[n]=t[n];return e}function Ge(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 Ke(e,t){var n=t(),r=Ae({t:{__:n,u:t}}),i=r[0].t,a=r[1];return Ne(function(){i.__=n,i.u=t,qe(i)&&a({t:i})},[e,n,t]),Me(function(){return qe(i)&&a({t:i}),e(function(){qe(i)&&a({t:i})})},[e]),n}function qe(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 Je(e,t){this.props=e,this.context=t}(Je.prototype=new C).isPureReactComponent=!0,Je.prototype.shouldComponentUpdate=function(e,t){return Ge(this.props,e)||Ge(this.state,t)};var Ye=r.__b;r.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ye&&Ye(e)},typeof Symbol<`u`&&Symbol.for;var Xe=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)}Xe(e,t,n,r)};var Ze=r.unmount;function Qe(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=We({},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 Qe(e,t,n)})),e}function $e(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return $e(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 et(){this.__u=0,this.o=null,this.__b=null}function tt(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function nt(){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),Ze&&Ze(e)},(et.prototype=new C).__c=function(e,t){var n=t.__c,r=this;r.o??(r.o=[]),r.o.push(n);var i=tt(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]=$e(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)},et.prototype.componentWillUnmount=function(){this.o=[]},et.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]=Qe(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 rt=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]}};(nt.prototype=new C).__a=function(e){var t=this,n=tt(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),rt(t,e,r)):i()};n?n(a):a()}},nt.prototype.render=function(e){this.i=null,this.l=new Map;var t=ie(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},nt.prototype.componentDidUpdate=nt.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){rt(e,n,t)})};var it=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,at=/^(?: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]/,ot=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,st=/[A-Z0-9]/g,ct=typeof document<`u`,lt=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 ut=r.event;r.event=function(e){return ut&&(e=ut(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var dt={configurable:!0,get:function(){return this.class}},ft=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||ct&&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`||lt(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:ot.test(a)&&(a=s):s=a=`oninput`:i&&at.test(a)?a=a.replace(st,`-$&`).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=ie(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=ie(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`,dt)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=it,ft&&ft(e)};var pt=r.__r;r.__r=function(e){pt&&pt(e),e.__c};var mt=r.diffed;r.diffed=function(e){mt&&mt(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 ht=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},gt=(e=>e?ht(e):ht),_t=e=>e;function vt(e){function t(t=_t){let n=Fe(()=>t(e.getState()),[t]);return Ke(e.subscribe,n)}return Object.assign(t,e)}function yt(){return e=>vt(gt()(e))}function bt(){if(typeof crypto.randomUUID==`function`)return crypto.randomUUID();let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,e=>e.toString(16).padStart(2,`0`));return[t.slice(0,4).join(``),t.slice(4,6).join(``),t.slice(6,8).join(``),t.slice(8,10).join(``),t.slice(10).join(``)].join(`-`)}var xt=Symbol.for(`immer-nothing`),St=Symbol.for(`immer-draftable`),M=Symbol.for(`immer-state`);function Ct(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var wt=Object,Tt=wt.getPrototypeOf,Et=`constructor`,Dt=`prototype`,Ot=`configurable`,kt=`enumerable`,At=`writable`,jt=`value`,Mt=e=>!!e&&!!e[M];function Nt(e){return e?It(e)||Ut(e)||!!e[St]||!!e[Et]?.[St]||Wt(e)||Gt(e):!1}var Pt=wt[Dt][Et].toString(),Ft=new WeakMap;function It(e){if(!e||!Kt(e))return!1;let t=Tt(e);if(t===null||t===wt[Dt])return!0;let n=wt.hasOwnProperty.call(t,Et)&&t[Et];if(n===Object)return!0;if(!qt(n))return!1;let r=Ft.get(n);return r===void 0&&(r=Function.toString.call(n),Ft.set(n,r)),r===Pt}function Lt(e,t,n=!0){Rt(e)===0?(n?Reflect.ownKeys(e):wt.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Rt(e){let t=e[M];return t?t.type_:Ut(e)?1:Wt(e)?2:Gt(e)?3:0}var zt=(e,t,n=Rt(e))=>n===2?e.has(t):wt[Dt].hasOwnProperty.call(e,t),Bt=(e,t,n=Rt(e))=>n===2?e.get(t):e[t],Vt=(e,t,n,r=Rt(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Ht(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Ut=Array.isArray,Wt=e=>e instanceof Map,Gt=e=>e instanceof Set,Kt=e=>typeof e==`object`,qt=e=>typeof e==`function`,Jt=e=>typeof e==`boolean`;function Yt(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Xt=e=>Kt(e)?e?.[M]:null,Zt=e=>e.copy_||e.base_,Qt=e=>{let t=Xt(e);return t?t.copy_??t.base_:e},$t=e=>e.modified_?e.copy_:e.base_;function en(e,t){if(Wt(e))return new Map(e);if(Gt(e))return new Set(e);if(Ut(e))return Array[Dt].slice.call(e);let n=It(e);if(t===!0||t===`class_only`&&!n){let t=wt.getOwnPropertyDescriptors(e);delete t[M];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[At]===!1&&(a[At]=!0,a[Ot]=!0),(a.get||a.set)&&(t[i]={[Ot]:!0,[At]:!0,[kt]:a[kt],[jt]:e[i]})}return wt.create(Tt(e),t)}else{let t=Tt(e);if(t!==null&&n)return{...e};let r=wt.create(t);return wt.assign(r,e)}}function tn(e,t=!1){return nn(e)||Mt(e)||!Nt(e)?e:(Rt(e)>1&&wt.defineProperties(e,{set:P,add:P,clear:P,delete:P}),wt.freeze(e),t&&Lt(e,(e,t)=>{tn(t,!0)},!1),e)}function N(){Ct(2)}var P={[jt]:N};function nn(e){return e===null||!Kt(e)?!0:wt.isFrozen(e)}var rn=`MapSet`,an=`Patches`,F=`ArrayMethods`,on={};function sn(e){let t=on[e];return t||Ct(0,e),t}var cn=e=>!!on[e];function ln(e,t){on[e]||(on[e]=t)}var un,dn=()=>un,fn=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:cn(rn)?sn(rn):void 0,arrayMethodsPlugin_:cn(F)?sn(F):void 0});function pn(e,t){t&&(e.patchPlugin_=sn(an),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function mn(e){hn(e),e.drafts_.forEach(I),e.drafts_=null}function hn(e){e===un&&(un=e.parent_)}var gn=e=>un=fn(un,e);function I(e){let t=e[M];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function _n(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[M].modified_&&(mn(t),Ct(4)),Nt(e)&&(e=vn(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[M].base_,e,t)}else e=vn(t,n);return yn(t,e,!0),mn(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===xt?void 0:e}function vn(e,t){if(nn(t))return t;let n=t[M];if(!n)return Dn(t,e.handledSet_,e);if(!xn(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);Tn(n,e)}return n.copy_}function yn(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&tn(t,n)}function bn(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var xn=(e,t)=>e.scope_===t,Sn=[];function Cn(e,t,n,r){let i=Zt(e),a=e.type_;if(r!==void 0&&Bt(i,r,a)===t){Vt(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Lt(i,(e,n)=>{if(Mt(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Sn;for(let e of o)Vt(i,e,n,a)}function wn(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!xn(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=$t(i);Cn(e,i.draft_??i,a,n),Tn(i,r)})}function Tn(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)}bn(e)}}function En(e,t,n){let{scope_:r}=e;if(Mt(n)){let i=n[M];xn(i,r)&&i.callbacks_.push(function(){Fn(e),Cn(e,n,$t(i),t)})}else Nt(n)&&e.callbacks_.push(function(){let i=Zt(e);e.type_===3?i.has(n)&&Dn(n,r.handledSet_,r):Bt(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Dn(Bt(e.copy_,t,e.type_),r.handledSet_,r)})}function Dn(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Mt(e)||t.has(e)||!Nt(e)||nn(e)?e:(t.add(e),Lt(e,(r,i)=>{if(Mt(i)){let t=i[M];xn(t,n)&&(Vt(e,r,$t(t),e.type_),bn(t))}else Nt(i)&&Dn(i,t,n)}),e)}function On(e,t){let n=Ut(e),r={type_:n?1:0,scope_:t?t.scope_:dn(),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=kn;n&&(i=[r],a=An);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var kn={get(e,t){if(t===M)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=Zt(e);if(!zt(i,t,e.type_))return Mn(e,i,t);let a=i[t];if(e.finalized_||!Nt(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Yt(t))return a;if(a===jn(e.base_,t)){Fn(e);let n=e.type_===1?+t:t,r=Ln(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Zt(e)},ownKeys(e){return Reflect.ownKeys(Zt(e))},set(e,t,n){let r=Nn(Zt(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=jn(Zt(e),t),i=r?.[M];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Ht(n,r)&&(n!==void 0||zt(e.base_,t,e.type_)))return!0;Fn(e),Pn(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),En(e,t,n),!0)},deleteProperty(e,t){return Fn(e),jn(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Pn(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Zt(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[At]:!0,[Ot]:e.type_!==1||t!==`length`,[kt]:r[kt],[jt]:n[t]}},defineProperty(){Ct(11)},getPrototypeOf(e){return Tt(e.base_)},setPrototypeOf(){Ct(12)}},An={};for(let e in kn){let t=kn[e];An[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}An.deleteProperty=function(e,t){return An.set.call(this,e,t,void 0)},An.set=function(e,t,n){return kn.set.call(this,e[0],t,n,e[0])};function jn(e,t){let n=e[M];return(n?Zt(n):e)[t]}function Mn(e,t,n){let r=Nn(t,n);return r?jt in r?r[jt]:r.get?.call(e.draft_):void 0}function Nn(e,t){if(!(t in e))return;let n=Tt(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Tt(n)}}function Pn(e){e.modified_||(e.modified_=!0,e.parent_&&Pn(e.parent_))}function Fn(e){e.copy_||(e.assigned_=new Map,e.copy_=en(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var In=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(qt(e)&&!qt(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}qt(t)||Ct(6),n!==void 0&&!qt(n)&&Ct(7);let r;if(Nt(e)){let i=gn(this),a=Ln(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?mn(i):hn(i)}return pn(i,n),_n(r,i)}else if(!e||!Kt(e)){if(r=t(e),r===void 0&&(r=e),r===xt&&(r=void 0),this.autoFreeze_&&tn(r,!0),n){let t=[],i=[];sn(an).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else Ct(1,e)},this.produceWithPatches=(e,t)=>{if(qt(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]},Jt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Jt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Jt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Nt(e)||Ct(8),Mt(e)&&(e=Rn(e));let t=gn(this),n=Ln(t,e,void 0);return n[M].isManual_=!0,hn(t),n}finishDraft(e,t){let n=e&&e[M];(!n||!n.isManual_)&&Ct(9);let{scope_:r}=n;return pn(r,t),_n(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=sn(an).applyPatches_;return Mt(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Ln(e,t,n,r){let[i,a]=Wt(t)?sn(rn).proxyMap_(t,n):Gt(t)?sn(rn).proxySet_(t,n):On(t,n);return(n?.scope_??dn()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?wn(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 Rn(e){return Mt(e)||Ct(10,e),zn(e)}function zn(e){if(!Nt(e)||nn(e))return e;let t=e[M],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=en(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=en(e,!0);return Lt(n,(e,t)=>{Vt(n,e,zn(t))},r),t&&(t.finalized_=!1),n}function Bn(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Xt(Bt(e,n.key_)),i=Bt(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||zt(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=Bt(n,r),!Kt(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?.[M];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;Lt(e.assigned_,(e,l)=>{let u=Bt(o,e,c),f=Bt(s,e,c),p=l?zt(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===xt?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=Rt(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===Et)&&Ct(19),qt(o)&&n===Dt&&Ct(19),o=Bt(o,n),Kt(o)||Ct(18,i.join(`/`))}let s=Rt(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:Ct(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:Ct(17,a)}}),e}function u(e){if(!Nt(e))return e;if(Ut(e))return e.map(u);if(Wt(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(Gt(e))return new Set(Array.from(e).map(u));let t=Object.create(Tt(e));for(let n in e)t[n]=u(e[n]);return zt(e,St)&&(t[St]=e[St]),t}function d(e){return Mt(e)?u(e):e}ln(an,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}function Vn(){class e extends Map{constructor(e,t){super(),this[M]={type_:2,parent_:t,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,copy_:void 0,assigned_:void 0,base_:e,draft_:this,isManual_:!1,revoked_:!1,callbacks_:[]}}get size(){return Zt(this[M]).size}has(e){return Zt(this[M]).has(e)}set(e,t){let r=this[M];return o(r),(!Zt(r).has(e)||Zt(r).get(e)!==t)&&(n(r),Pn(r),r.assigned_.set(e,!0),r.copy_.set(e,t),r.assigned_.set(e,!0),En(r,e,t)),this}delete(e){if(!this.has(e))return!1;let t=this[M];return o(t),n(t),Pn(t),t.base_.has(e)?t.assigned_.set(e,!1):t.assigned_.delete(e),t.copy_.delete(e),!0}clear(){let e=this[M];o(e),Zt(e).size&&(n(e),Pn(e),e.assigned_=new Map,Lt(e.base_,t=>{e.assigned_.set(t,!1)}),e.copy_.clear())}forEach(e,t){let n=this[M];Zt(n).forEach((n,r,i)=>{e.call(t,this.get(r),r,this)})}get(e){let t=this[M];o(t);let r=Zt(t).get(e);if(t.finalized_||!Nt(r)||r!==t.base_.get(e))return r;let i=Ln(t.scope_,r,t,e);return n(t),t.copy_.set(e,i),i}keys(){return Zt(this[M]).keys()}values(){let e=this.keys();return{[Symbol.iterator]:()=>this.values(),next:()=>{let t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}}entries(){let e=this.keys();return{[Symbol.iterator]:()=>this.entries(),next:()=>{let t=e.next();if(t.done)return t;let n=this.get(t.value);return{done:!1,value:[t.value,n]}}}}[Symbol.iterator](){return this.entries()}}function t(t,n){let r=new e(t,n);return[r,r[M]]}function n(e){e.copy_||(e.assigned_=new Map,e.copy_=new Map(e.base_))}class r extends Set{constructor(e,t){super(),this[M]={type_:3,parent_:t,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,copy_:void 0,base_:e,draft_:this,drafts_:new Map,revoked_:!1,isManual_:!1,assigned_:void 0,callbacks_:[]}}get size(){return Zt(this[M]).size}has(e){let t=this[M];return o(t),t.copy_?!!(t.copy_.has(e)||t.drafts_.has(e)&&t.copy_.has(t.drafts_.get(e))):t.base_.has(e)}add(e){let t=this[M];return o(t),this.has(e)||(a(t),Pn(t),t.copy_.add(e),En(t,e,e)),this}delete(e){if(!this.has(e))return!1;let t=this[M];return o(t),a(t),Pn(t),t.copy_.delete(e)||(t.drafts_.has(e)?t.copy_.delete(t.drafts_.get(e)):!1)}clear(){let e=this[M];o(e),Zt(e).size&&(a(e),Pn(e),e.copy_.clear())}values(){let e=this[M];return o(e),a(e),e.copy_.values()}entries(){let e=this[M];return o(e),a(e),e.copy_.entries()}keys(){return this.values()}[Symbol.iterator](){return this.values()}forEach(e,t){let n=this.values(),r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}}function i(e,t){let n=new r(e,t);return[n,n[M]]}function a(e){e.copy_||(e.copy_=new Set,e.base_.forEach(t=>{if(Nt(t)){let n=Ln(e.scope_,t,e,t);e.drafts_.set(t,n),e.copy_.add(n)}else e.copy_.add(t)}))}function o(e){e.revoked_&&Ct(3,JSON.stringify(Zt(e)))}function s(e){if(e.type_===3&&e.copy_){let t=new Set(e.copy_);e.copy_.clear(),t.forEach(t=>{e.copy_.add(Qt(t))})}}ln(rn,{proxyMap_:t,proxySet_:i,fixSetContents:s})}var Hn=new In().produce,Un=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t(typeof e==`function`?Hn(e):e,n,...r),e(r.setState,n,r)),Wn={$:`variable`,_:`temporary`,\"@\":`local`,\"%\":`transient`},Gn=Object.fromEntries(Object.entries(Wn).map(([e,t])=>[t,e])),Kn=new Set(Object.keys(Wn));function qn(e){return e!==void 0&&Kn.has(e)}function Jn(e,t){return t.className&&(e.className=t.className),t.id&&(e.id=t.id),e}var Yn={SIGIL_SCOPES:Wn,withSelectors:Jn},Xn=`{`,Zn=`}`,{SIGIL_SCOPES:Qn,withSelectors:$n}=Yn,er=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),tr={elseif:`if`,else:`if`,case:`switch`,default:`switch`,next:`timed`},nr=new Set([`if`,`switch`,`timed`]),rr=[[`|`,!1],[`->`,!1],[`<-`,!0]],ir={};function ar(e,t){let n=(n,r)=>{let i=e.slice(n,r),a=i.trim(),o=t+n+(a?i.indexOf(a):0);return{value:a,start:o,end:o+a.length}};for(let[t,r]of rr){let i=e.indexOf(t);if(i===-1)continue;let a=n(0,i),o=n(i+t.length,e.length),[s,c]=r?[o,a]:[a,o];return{display:s.value,target:c.value,targetStart:c.start,targetEnd:c.end}}let r=n(0,e.length);return{display:r.value,target:r.value,targetStart:r.start,targetEnd:r.end}}function or(e){return`\"`+e.replace(/[\\\\\"]/g,`\\\\$&`)+`\"`}function sr(e){let t=[],n=``;for(let[r,i]of e)i&&(r===`.`?t.push(i):n=i);return $n({},{className:t.join(` `),id:n})}function cr(e){return e.lex===`html`?(e.isClose?`</`:`<`)+e.tag+`>`:Xn+(e.isClose?`/`:``)+e.name+Zn}function lr(e){return e.lex===`html`?`</`+e.tag+`>`:Xn+`/`+e.name+Zn}function ur(e){return`line `+e.start.line+`, column `+e.start.column}function dr(e,t){return e.lex===t.lex&&e.lower===t.lower}function fr(e,t,n){return n.lex=e,n.start=t.start.offset,n.end=t.end.offset,n.loc=t,n}function pr(e){switch(e.lex){case`text`:return{type:`text`,value:e.value};case`link`:return $n({type:`macro`,name:`link`,rawArgs:or(e.display)+` `+or(e.target),children:[]},e);case`variable`:return $n({type:`variable`,name:e.name,scope:e.scope},e);case`expression`:return $n({type:`expression`,expression:e.expression},e);default:return e}}function mr(e){let t={start:e.start,end:e.end};switch(e.lex){case`text`:return{type:`text`,value:e.value,...t};case`link`:return $n({type:`link`,display:e.display,target:e.target,targetStart:e.targetStart,targetEnd:e.targetEnd,...t},e);case`variable`:return $n({type:`variable`,name:e.name,scope:e.scope,...t},e);case`expression`:return $n({type:`expression`,expression:e.expression,...t},e);case`macro`:return $n({type:`macro`,name:e.name,rawArgs:e.rawArgs,isClose:e.isClose,...t},e);case`html`:return{type:`html`,tag:e.tag,attributes:e.attributes,isClose:e.isClose,isSelfClose:e.isSelfClose,...t}}}function hr(e,t){let n=[],r=null,i=e=>{if(e!=null){if(Array.isArray(e))return e.forEach(i);if(e.lex===`text`&&!e.escape&&r&&r.lex===`text`&&!r.escape&&r.end===e.start){r.value+=e.value,r.end=e.end;return}n.push(e),r=e}};return i(e),t?n.map(t):n}var gr=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\\r\\n|\\n|\\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=`\n --> `+o+`\n`+r+` |\n`+a.line+` | `+s+`\n`+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=`\n at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\\\p{C}\\\\p{Mn}\\\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\\\/g,`\\\\\\\\`).replace(/\"/g,`\\\\\"`).replace(/\\0/g,`\\\\0`).replace(/\\t/g,`\\\\t`).replace(/\\n/g,`\\\\n`).replace(/\\r/g,`\\\\r`).replace(/[\\x00-\\x0F]/g,e=>`\\\\x0`+n(e)).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,e=>`\\\\x`+n(e)))}function o(e){return i(e.replace(/\\\\/g,`\\\\\\\\`).replace(/\\]/g,`\\\\]`).replace(/\\^/g,`\\\\^`).replace(/-/g,`\\\\-`).replace(/\\0/g,`\\\\0`).replace(/\\t/g,`\\\\t`).replace(/\\n/g,`\\\\n`).replace(/\\r/g,`\\\\r`).replace(/[\\x00-\\x0F]/g,e=>`\\\\x0`+n(e)).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,e=>`\\\\x`+n(e)))}let s={literal(e){return`\"`+a(e.text)+`\"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n<t.length;n++)t[n-1]!==t[n]&&(t[e]=t[n],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+` or `+t[1];default:return t.slice(0,-1).join(`, `)+`, or `+t[t.length-1]}}function u(e){return e?`\"`+a(e)+`\"`:`end of input`}return`Expected `+l(e)+` but `+u(t)+` found.`}};function _r(e,t){t=t===void 0?{}:t;let n={},r=t.grammarSource,i={Markup:yn,Tokens:jn,SelectorsPrefix:Vn},a=yn,o=/^[^\\\\{[<]/,s=/^[{}]/,c=/^[$_@%(!\\/a-zA-Z]/,l=/^[.#]/,u=/^[a-zA-Z0-9_\\-]/,d=/^[$_@%]/,f=/^[a-zA-Z0-9_.]/,p=/^[$_@%(!]/,m=/^[a-zA-Z]/,h=/^[^ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF}]/,g=/^[\\t-\\r \\/>\\xA0\\u1680\\u2000-\\u200A\\u2028-\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,_=/^[a-zA-Z0-9\\-]/,v=/^[\\t-\\r \"'\\/<->{}\\xA0\\u1680\\u2000-\\u200A\\u2028-\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,y=/^[^\"]/,b=/^[^']/,x=/^[\"']/,S=/^[^ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF>]/,C=/^[ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,w=pn(),T=fn([`\\\\`,`{`,`[`,`<`],!0,!1,!1),E=dn(`\\\\`,!1),ee=fn([`{`,`}`],!1,!1,!1),D=dn(`{`,!1),te=fn([`$`,`_`,`@`,`%`,`(`,`!`,`/`,[`a`,`z`],[`A`,`Z`]],!1,!1,!1),ne=dn(`<`,!1),re=dn(`[`,!1),ie=dn(`[[`,!1),O=dn(`]]`,!1),ae=dn(` `,!1),oe=fn([`.`,`#`],!1,!1,!1),se=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`-`],!1,!1,!1),ce=fn([`$`,`_`,`@`,`%`],!1,!1,!1),le=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`.`],!1,!1,!1),ue=dn(`}`,!1),de=fn([`$`,`_`,`@`,`%`,`(`,`!`],!1,!1,!1),fe=dn(`/`,!1),pe=fn([[`a`,`z`],[`A`,`Z`]],!1,!1,!1),me=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``,`}`],!0,!1,!1),he=dn(`>`,!1),ge=fn([[`\t`,`\\r`],` `,`/`,`>`,`\\xA0`,` `,[` `,` `],[`\\u2028`,`\\u2029`],` `,` `,` `,``],!1,!1,!1),_e=dn(`</`,!1),ve=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`-`],!1,!1,!1),k=fn([[`\t`,`\\r`],` `,`\"`,`'`,`/`,[`<`,`>`],`{`,`}`,`\\xA0`,` `,[` `,` `],[`\\u2028`,`\\u2029`],` `,` `,` `,``],!1,!1,!1),ye=dn(`=`,!1),be=dn(`\"`,!1),xe=fn([`\"`],!0,!1,!1),Se=dn(`'`,!1),A=fn([`'`],!0,!1,!1),Ce=fn([`\"`,`'`],!1,!1,!1),we=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``,`>`],!0,!1,!1),Te=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``],!1,!1,!1);function Ee(e){return e}function De(e){Or(cr(e)+` must be directly inside {`+tr[e.lower]+Zn,e.loc)}function Oe(e){Or(cr(e)+` closes nothing: no `+(e.lex===`html`?`<`+e.tag+`>`:Xn+e.name+Zn)+` is open here`,e.loc)}function ke(e){return hr(e,pr)}function Ae(e){return e.kind===`open`}function je(e){return Er=e.lower,Cr.isRaw(Er)}function Me(e,t){return t}function Ne(e){return Cr.isBlock(e.lower)}function j(e,t){return t}function Pe(e){return null}function Fe(e,t){return jr(e,t)}function Ie(){return!Sr}function Le(e){return!e.isSelfClose}function Re(e,t){return t}function ze(e,t){let n={type:`html`,tag:e.tag,attributes:e.attributes,children:[]};return t&&(Ar(e,t),n.children=t.children),n}function Be(e,t,n){return{children:e,branches:t,end:n}}function Ve(e,t){return{tag:e,children:t}}function He(){return null}function Ue(e){return e.kind===`branch`}function We(e){return e}function Ge(e){return e.kind===`close`}function Ke(e){return e}function qe(){return!Sr}function Je(e){return e}function Ye(t){return Dr(Cr.rawBodyEnd(e,t,Er))}function Xe(e){return wr-sn()}function Ze(e,t,n){return{children:t?[{type:`text`,value:t}]:[],branches:[],end:n}}function Qe(){return{children:[],branches:[],end:null}}function $e(e){return hr(e,mr)}function et(){return!Sr}function tt(e){return e}function nt(){return!Sr}function rt(e){return er.has(e.lower)?null:e}function it(e){return Er=e.lower,e.kind===`open`&&Cr.isRaw(Er)}function at(e,t){return t}function ot(e,t){return t?[e,t]:e}function st(t){return Dr(Cr.rawBodyEnd(e,t,Er))}function ct(e){return wr-sn()}function lt(e,t,n){let r={start:{offset:e},end:{offset:e+t.length}};return[t?fr(`text`,r,{value:t}):null,n]}function ut(){return sn()}function dt(e){return fr(`text`,cn(),{value:e})}function ft(e){return e.length%2==1}function pt(e,t){return t}function mt(t,n){let r=cn(),i=e.charAt(r.end.offset);if(Sr){if(!n&&i!==Xn&&i!==Zn)return fr(`text`,r,{value:t});let e=fr(`text`,r,{value:`\\\\`.repeat(t.length>>1)+(n||``)});return e.escape=!0,e}if(!n)return fr(`text`,r,{value:t});let a=fr(`text`,r,{value:t.slice(1)});a.end=r.end.offset-2;let o=fr(`text`,r,{value:n});return o.start=r.end.offset-2,o.escape=!0,t.length>1?[a,o]:o}function ht(){return fr(`text`,cn(),{value:Xn})}function gt(){return!Sr}function _t(){return fr(`text`,cn(),{value:`<`})}function vt(){return fr(`text`,cn(),{value:`[`})}function yt(){return!Sr}function bt(e,t,n){return $n(fr(`link`,cn(),ar(n,t)),e)}function xt(){return!Sr}function St(){Or(`Unclosed link: [[ without ]]`,cn())}function M(e){return sr(e)}function Ct(){return ir}function wt(e,t){return{...e,end:t}}function Tt(e,t){return[e,t]}function Et(e,t,n){return $n(fr(`variable`,cn(),{name:n,scope:Qn[t]}),e)}function Dt(e,t){return $n(fr(`expression`,cn(),{expression:t}),e)}function Ot(){Or(`Unclosed `+Xn+e.substr(cn().end.offset,1)+`…: no } ends it`,cn())}function kt(t){return Dr(Cr.closeBrace(e,t,t))}function At(e){return wr-sn()}function jt(e,t){return t}function Mt(t,n,r,i,a){return Dr(Cr.closeBrace(e,a,n))}function Nt(e,t,n,r,i){return wr-sn()}function Pt(e,t,n,r,i,a){return a}function Ft(e,t,n,r,i,a){let o=cn(),s=r.toLowerCase(),c=fr(`macro`,o,{name:r,lower:s,rawArgs:``,isClose:!!n});return a===null&&Or(`Unclosed `+Xn+(n?`/`:``)+r+`…: no } ends the macro`,o),c.rawArgs=a.trim(),n?(e!==ir&&Or(`A closing tag takes no selectors: `+cr(c),o),c.rawArgs&&Or(`A closing tag takes no arguments: `+Xn+`/`+r+` `+c.rawArgs+Zn,o),c.kind=`close`):($n(c,e),c.kind=Object.prototype.hasOwnProperty.call(tr,s)?`branch`:`open`),c}function It(e){Or(`A closing tag starts with a letter after `+Xn+`/`,cn())}function Lt(){return!Sr}function Rt(e){return er.has(e.lower)}function zt(e){return null}function Bt(e,t,n){let r=e.toLowerCase();return fr(`html`,cn(),{tag:e,lower:r,attributes:kr(t),isClose:!1,isSelfClose:!!n||er.has(r)})}function Vt(t,n){let r=e.charAt(n);r||Or(`Unclosed tag <`+t+`: no > ends it (write < for a < that starts no tag)`,cn());let i={source:cn().source,start:{offset:n,line:0,column:0},end:{offset:n+1,line:0,column:0}};Or(`Unexpected `+JSON.stringify(r)+` in the tag <`+t+`>: expected an attribute, or > to end the tag`,i)}function Ht(e){return fr(`html`,cn(),{tag:e,lower:e.toLowerCase(),attributes:{},isClose:!0,isSelfClose:!1})}function Ut(e){return Tr=Cr.isCodeAttribute(e),!0}function Wt(e,t){return t}function Gt(e,t){return[e,t??``]}function Kt(e){return e}function qt(e){return e}function Jt(e){Or(`Unclosed attribute value: the `+e+` here has no closing `+e,cn())}function Yt(){return!Tr}function Xt(e){return e.length%2==1}function Zt(){return!Tr}function Qt(t,n){return Dr(Cr.closeBrace(e,n,t))}function $t(e,t){return wr-sn()}function en(){return!Tr}function tn(){return Tr}let N=t.peg$currPos|0,P=N,nn=[{line:1,column:1}],rn=N,an=t.peg$maxFailExpected||[],F=t.peg$silentFails|0,on;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule \"`+t.startRule+`\".`);a=i[t.startRule]}function sn(){return P}function cn(){return gn(P,N)}function ln(e,t){throw t=t===void 0?gn(P,N):t,_n(e,t)}function un(t=N){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function dn(e,t){return{type:`literal`,text:e,ignoreCase:t}}function fn(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function pn(){return{type:`any`}}function mn(){return{type:`end`}}function hn(t){let n=nn[t],r;if(n)return n;if(t>=nn.length)r=nn.length-1;else for(r=t;!nn[--r];);for(n=nn[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return nn[t]=n,n}function gn(e,t,n){let i=hn(e),a=hn(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function I(e){N<rn||(N>rn&&(rn=N,an=[]),an.push(e))}function _n(e,t){return new gr(e,null,null,t)}function vn(e,t,n){return new gr(gr.buildMessage(e,t),e,t,n)}function yn(){let e,t,r;return e=N,t=xn(),r=bn(),r===n?(N=e,e=n):(P=e,e=Ee(t)),e}function bn(){let t,r;return t=N,F++,e.length>N?(r=e.charAt(N),N++):(r=n,F===0&&I(w)),F--,r===n?t=void 0:(N=t,t=n),t===n&&(t=N,r=On(),r!==n&&(P=t,r=De(r)),t=r,t===n&&(t=N,r=kn(),r!==n&&(P=t,r=Oe(r)),t=r)),t}function xn(){let e,t,r;for(e=N,t=[],r=Sn();r!==n;)t.push(r),r=Sn();return P=e,t=ke(t),e=t,e}function Sn(){let e;return e=Fn(),e===n&&(e=In(),e===n&&(e=Rn(),e===n&&(e=wn(),e===n&&(e=Jn(),e===n&&(e=Wn(),e===n&&(e=Cn(),e===n&&(e=Ln()))))))),e}function Cn(){let e,t,r,i,a,o;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ae(t),r=r?void 0:n,r===n?(N=e,e=n):(i=N,P=N,a=je(t),a=a?void 0:n,a===n?(N=i,i=n):(o=An(),o===n?(N=i,i=n):(P=i,i=Me(t,o))),i===n&&(i=N,P=N,a=Ne(t),a=a?void 0:n,a===n?(N=i,i=n):(o=Tn(),o===n?(N=i,i=n):(P=i,i=j(t,o))),i===n&&(i=N,a=``,P=i,a=Pe(t),i=a)),i===n?(N=e,e=n):(P=e,e=Fe(t,i)))),e}function wn(){let e,t,r,i,a,o;return e=N,P=N,t=Ie(),t=t?void 0:n,t===n?(N=e,e=n):(r=Yn(),r===n?(N=e,e=n):(i=N,P=N,a=Le(r),a=a?void 0:n,a===n?(N=i,i=n):(o=Tn(),o===n?(N=i,i=n):(P=i,i=Re(r,o))),i===n&&(i=null),P=e,e=ze(r,i))),e}function Tn(){let e,t,r,i;if(e=N,t=xn(),t!==n){for(r=[],i=En();i!==n;)r.push(i),i=En();i=Dn(),i===n?(N=e,e=n):(P=e,e=Be(t,r,i))}else N=e,e=n;return e}function En(){let e,t,r;return e=N,t=On(),t===n?(N=e,e=n):(r=xn(),r===n?(N=e,e=n):(P=e,e=Ve(t,r))),e}function Dn(){let t,r,i;return t=kn(),t===n&&(t=N,r=N,F++,e.length>N?(i=e.charAt(N),N++):(i=n,F===0&&I(w)),F--,i===n?r=void 0:(N=r,r=n),r!==n&&(P=t,r=He()),t=r),t}function On(){let e,t,r;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ue(t),r=r?void 0:n,r===n?(N=e,e=n):(P=e,e=We(t))),e}function kn(){let e,t,r;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ge(t),r=r?void 0:n,r===n?(N=e,e=n):(P=e,e=Ke(t))),e===n&&(e=N,P=N,t=qe(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=e,e=Je(r)))),e}function An(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=Ye(r),i=i?void 0:n,i!==n){for(a=N,o=Xe(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(o=kn(),o===n?(N=t,t=n):(P=t,t=Ze(r,a,o)))}else N=t,t=n;return t===n&&(t=N,r=``,P=t,r=Qe(),t=r),t}function jn(){let e,t,r;for(e=N,t=[],r=Mn();r!==n;)t.push(r),r=Mn();return P=e,t=$e(t),e=t,e}function Mn(){let e,t,r,i,a;return e=Fn(),e===n&&(e=In(),e===n&&(e=Rn(),e===n&&(e=N,P=N,t=et(),t=t?void 0:n,t===n?(N=e,e=n):(r=Yn(),r===n?(N=e,e=n):(P=e,e=tt(r))),e===n&&(e=N,P=N,t=nt(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=e,e=rt(r))),e===n&&(e=Wn(),e===n&&(e=N,t=Kn(),t===n?(N=e,e=n):(r=N,P=N,i=it(t),i=i?void 0:n,i===n?(N=r,r=n):(a=Nn(),a===n?(N=r,r=n):(P=r,r=at(t,a))),r===n&&(r=null),P=e,e=ot(t,r)),e===n&&(e=Ln()))))))),e}function Nn(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=st(r),i=i?void 0:n,i!==n){for(a=N,o=ct(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(o=kn(),o===n?(N=t,t=n):(P=t,t=lt(r,a,o)))}else N=t,t=n;return t}function Pn(){let e,t;return e=N,t=``,P=e,t=ut(),e=t,e}function Fn(){let t,r,i,a;if(t=N,r=N,i=[],a=e.charAt(N),o.test(a)?N++:(a=n,F===0&&I(T)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(N),o.test(a)?N++:(a=n,F===0&&I(T));else i=n;return r=i===n?i:e.substring(r,N),r!==n&&(P=t,r=dt(r)),t=r,t}function In(){let t,r,i,a,o;if(t=N,r=N,i=[],e.charCodeAt(N)===92?(a=`\\\\`,N++):(a=n,F===0&&I(E)),a!==n)for(;a!==n;)i.push(a),e.charCodeAt(N)===92?(a=`\\\\`,N++):(a=n,F===0&&I(E));else i=n;return r=i===n?i:e.substring(r,N),r===n?(N=t,t=n):(i=N,P=N,a=ft(r),a=a?void 0:n,a===n?(N=i,i=n):(o=e.charAt(N),s.test(o)?N++:(o=n,F===0&&I(ee)),o===n?(N=i,i=n):(P=i,i=pt(r,o))),i===n&&(i=null),P=t,t=mt(r,i)),t}function Ln(){let t,r,i,a,o,s;return t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=N,F++,a=N,o=Bn(),o===n?(N=a,a=n):(s=e.charAt(N),c.test(s)?N++:(s=n,F===0&&I(te)),s===n?(N=a,a=n):(o=[o,s],a=o)),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=t,t=n):(P=t,t=ht())),t===n&&(t=N,r=N,F++,i=N,P=N,a=gt(),a=a?void 0:n,a===n?(N=i,i=n):(o=rr(),o===n?(N=i,i=n):(a=[a,o],i=a)),F--,i===n?r=void 0:(N=r,r=n),r===n?(N=t,t=n):(e.charCodeAt(N)===60?(i=`<`,N++):(i=n,F===0&&I(ne)),i===n?(N=t,t=n):(P=t,t=_t())),t===n&&(t=N,e.charCodeAt(N)===91?(r=`[`,N++):(r=n,F===0&&I(re)),r!==n&&(P=t,r=vt()),t=r)),t}function Rn(){let t,r,i,a,o,s,c;return t=N,P=N,r=yt(),r=r?void 0:n,r===n?(N=t,t=n):(e.substr(N,2)===`[[`?(i=`[[`,N+=2):(i=n,F===0&&I(ie)),i===n?(N=t,t=n):(a=Bn(),a===n?(N=t,t=n):(o=Pn(),s=N,c=zn(),s=e.substring(s,N),e.substr(N,2)===`]]`?(c=`]]`,N+=2):(c=n,F===0&&I(O)),c===n?(N=t,t=n):(P=t,t=bt(a,o,s))))),t===n&&(t=N,P=N,r=xt(),r=r?void 0:n,r===n?(N=t,t=n):(e.substr(N,2)===`[[`?(i=`[[`,N+=2):(i=n,F===0&&I(ie)),i===n?(N=t,t=n):(P=t,t=St()))),t}function zn(){let t,r,i,a;for(t=[],r=N,i=N,F++,e.substr(N,2)===`]]`?(a=`]]`,N+=2):(a=n,F===0&&I(O)),a===n&&(e.substr(N,2)===`[[`?(a=`[[`,N+=2):(a=n,F===0&&I(ie))),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=r,r=n):(e.length>N?(a=e.charAt(N),N++):(a=n,F===0&&I(w)),a===n?(N=r,r=n):(i=[i,a],r=i));r!==n;)t.push(r),r=N,i=N,F++,e.substr(N,2)===`]]`?(a=`]]`,N+=2):(a=n,F===0&&I(O)),a===n&&(e.substr(N,2)===`[[`?(a=`[[`,N+=2):(a=n,F===0&&I(ie))),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=r,r=n):(e.length>N?(a=e.charAt(N),N++):(a=n,F===0&&I(w)),a===n?(N=r,r=n):(i=[i,a],r=i));return t}function Bn(){let t,r,i;if(t=N,r=[],i=Hn(),i!==n)for(;i!==n;)r.push(i),i=Hn();else r=n;return r===n?(N=t,t=n):(e.charCodeAt(N)===32?(i=` `,N++):(i=n,F===0&&I(ae)),i===n&&(i=null),P=t,t=M(r)),t===n&&(t=N,r=``,P=t,r=Ct(),t=r),t}function Vn(){let t,r,i,a,o;if(t=N,r=Bn(),r!==n){for(i=Pn(),a=[],e.length>N?(o=e.charAt(N),N++):(o=n,F===0&&I(w));o!==n;)a.push(o),e.length>N?(o=e.charAt(N),N++):(o=n,F===0&&I(w));P=t,t=wt(r,i)}else N=t,t=n;return t}function Hn(){let t,r,i,a,o;if(t=N,r=e.charAt(N),l.test(r)?N++:(r=n,F===0&&I(oe)),r!==n){for(i=N,a=[],o=Un();o!==n;)a.push(o),o=Un();i=e.substring(i,N),P=t,t=Tt(r,i)}else N=t,t=n;return t}function Un(){let t,r,i,a,o;if(t=e.charAt(N),u.test(t)?N++:(t=n,F===0&&I(se)),t===n)if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=e.charAt(N),d.test(i)?N++:(i=n,F===0&&I(ce)),i!==n){for(a=[],o=e.charAt(N),f.test(o)?N++:(o=n,F===0&&I(le));o!==n;)a.push(o),o=e.charAt(N),f.test(o)?N++:(o=n,F===0&&I(le));e.charCodeAt(N)===125?(o=`}`,N++):(o=n,F===0&&I(ue)),o===n?(N=t,t=n):(r=[r,i,a,o],t=r)}else N=t,t=n;else N=t,t=n;return t}function Wn(){let t,r,i,a,o,s,c;if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=Bn(),i!==n)if(a=e.charAt(N),d.test(a)?N++:(a=n,F===0&&I(ce)),a!==n){for(o=N,s=[],c=e.charAt(N),f.test(c)?N++:(c=n,F===0&&I(le));c!==n;)s.push(c),c=e.charAt(N),f.test(c)?N++:(c=n,F===0&&I(le));o=e.substring(o,N),e.charCodeAt(N)===125?(s=`}`,N++):(s=n,F===0&&I(ue)),s===n?(N=t,t=n):(P=t,t=Et(i,a,o))}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),p.test(o)?N++:(o=n,F===0&&I(de)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(o=Gn(),o===n?(N=t,t=n):(e.charCodeAt(N)===125?(s=`}`,N++):(s=n,F===0&&I(ue)),s===n?(N=t,t=n):(P=t,t=Dt(i,o)))))),t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),p.test(o)?N++:(o=n,F===0&&I(de)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(P=t,t=Ot()))))),t}function Gn(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=kt(r),i=i?void 0:n,i!==n){for(a=N,o=At(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(P=t,t=jt(r,a))}else N=t,t=n;return t}function Kn(){let t,r,i,a,o,s,c,l,u,d,f,p,m,h;if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=Bn(),i!==n)if(a=Pn(),e.charCodeAt(N)===47?(o=`/`,N++):(o=n,F===0&&I(fe)),o===n&&(o=null),s=qn(),s!==n){if(c=Pn(),l=N,P=N,u=Mt(i,a,o,s,c),u=u?void 0:n,u!==n){for(d=N,f=Nt(i,a,o,s,c),p=N,m=[],m.length>=(f|0)?h=n:e.length>N?(h=e.charAt(N),N++):(h=n,F===0&&I(w));h!==n;)m.push(h),m.length>=(f|0)?h=n:e.length>N?(h=e.charAt(N),N++):(h=n,F===0&&I(w));m.length<(f|0)?(N=p,p=n):p=m,f=p,d=f===n?f:e.substring(d,N),d===n?(N=l,l=n):(e.charCodeAt(N)===125?(f=`}`,N++):(f=n,F===0&&I(ue)),f===n?(N=l,l=n):(P=l,l=Pt(i,a,o,s,c,d)))}else N=l,l=n;l===n&&(l=null),P=t,t=Ft(i,a,o,s,c,l)}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(e.charCodeAt(N)===47?(a=`/`,N++):(a=n,F===0&&I(fe)),a===n?(N=t,t=n):(P=t,t=It(i))))),t}function qn(){let t,r,i,a,o;if(t=N,r=N,i=e.charAt(N),m.test(i)?N++:(i=n,F===0&&I(pe)),i!==n){for(a=[],o=e.charAt(N),h.test(o)?N++:(o=n,F===0&&I(me));o!==n;)a.push(o),o=e.charAt(N),h.test(o)?N++:(o=n,F===0&&I(me));i=[i,a],r=i}else N=r,r=n;return t=r===n?r:e.substring(t,N),t}function Jn(){let e,t,r,i;return e=N,P=N,t=Lt(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=N,i=Rt(r),i=i?void 0:n,i===n?(N=e,e=n):(P=e,e=zt(r)))),e}function Yn(){let t,r,i,a,o,s,c;if(t=N,e.charCodeAt(N)===60?(r=`<`,N++):(r=n,F===0&&I(ne)),r!==n)if(i=or(),i!==n){for(a=[],o=_r();o!==n;)a.push(o),o=_r();o=br(),e.charCodeAt(N)===47?(s=`/`,N++):(s=n,F===0&&I(fe)),s===n&&(s=null),e.charCodeAt(N)===62?(c=`>`,N++):(c=n,F===0&&I(he)),c===n?(N=t,t=n):(P=t,t=Bt(i,a,s))}else N=t,t=n;else N=t,t=n;if(t===n)if(t=N,e.charCodeAt(N)===60?(r=`<`,N++):(r=n,F===0&&I(ne)),r!==n)if(i=or(),i!==n)if(a=N,F++,o=e.charAt(N),g.test(o)?N++:(o=n,F===0&&I(ge)),o===n&&(o=N,F++,e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),F--,s===n?o=void 0:(N=o,o=n)),F--,o===n?a=n:(N=a,a=void 0),a!==n){for(o=[],s=_r();s!==n;)o.push(s),s=_r();s=br(),c=Pn(),P=t,t=Vt(i,c)}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t}function rr(){let t,r,i,a;return t=N,e.substr(N,2)===`</`?(r=`</`,N+=2):(r=n,F===0&&I(_e)),r===n?(N=t,t=n):(i=or(),i===n?(N=t,t=n):(br(),e.charCodeAt(N)===62?(a=`>`,N++):(a=n,F===0&&I(he)),a===n?(N=t,t=n):(P=t,t=Ht(i)))),t}function or(){let t,r,i,a,o;if(t=N,r=N,i=e.charAt(N),m.test(i)?N++:(i=n,F===0&&I(pe)),i!==n){for(a=[],o=e.charAt(N),_.test(o)?N++:(o=n,F===0&&I(ve));o!==n;)a.push(o),o=e.charAt(N),_.test(o)?N++:(o=n,F===0&&I(ve));i=[i,a],r=i}else N=r,r=n;return t=r===n?r:e.substring(t,N),t}function _r(){let t,r,i,a,o,s,c;if(t=N,br(),r=N,i=[],a=N,o=N,F++,s=e.charAt(N),v.test(s)?N++:(s=n,F===0&&I(k)),F--,s===n?o=void 0:(N=o,o=n),o===n?(N=a,a=n):(e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),s===n?(N=a,a=n):(o=[o,s],a=o)),a!==n)for(;a!==n;)i.push(a),a=N,o=N,F++,s=e.charAt(N),v.test(s)?N++:(s=n,F===0&&I(k)),F--,s===n?o=void 0:(N=o,o=n),o===n?(N=a,a=n):(e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),s===n?(N=a,a=n):(o=[o,s],a=o));else i=n;return r=i===n?i:e.substring(r,N),r===n?(N=t,t=n):(P=N,i=Ut(r),i=i?void 0:n,i===n?(N=t,t=n):(a=N,o=br(),e.charCodeAt(N)===61?(s=`=`,N++):(s=n,F===0&&I(ye)),s===n?(N=a,a=n):(br(),c=vr(),c===n?(N=a,a=n):(P=a,a=Wt(r,c))),a===n&&(a=null),P=t,t=Gt(r,a))),t}function vr(){let t,r,i,a,o;if(t=N,e.charCodeAt(N)===34?(r=`\"`,N++):(r=n,F===0&&I(be)),r!==n){for(i=N,a=[],o=yr(),o===n&&(o=e.charAt(N),y.test(o)?N++:(o=n,F===0&&I(xe)));o!==n;)a.push(o),o=yr(),o===n&&(o=e.charAt(N),y.test(o)?N++:(o=n,F===0&&I(xe)));i=e.substring(i,N),e.charCodeAt(N)===34?(a=`\"`,N++):(a=n,F===0&&I(be)),a===n?(N=t,t=n):(P=t,t=Kt(i))}else N=t,t=n;if(t===n){if(t=N,e.charCodeAt(N)===39?(r=`'`,N++):(r=n,F===0&&I(Se)),r!==n){for(i=N,a=[],o=yr(),o===n&&(o=e.charAt(N),b.test(o)?N++:(o=n,F===0&&I(A)));o!==n;)a.push(o),o=yr(),o===n&&(o=e.charAt(N),b.test(o)?N++:(o=n,F===0&&I(A)));i=e.substring(i,N),e.charCodeAt(N)===39?(a=`'`,N++):(a=n,F===0&&I(Se)),a===n?(N=t,t=n):(P=t,t=qt(i))}else N=t,t=n;if(t===n&&(t=N,r=e.charAt(N),x.test(r)?N++:(r=n,F===0&&I(Ce)),r!==n&&(P=t,r=Jt(r)),t=r,t===n)){for(t=N,r=[],i=e.charAt(N),S.test(i)?N++:(i=n,F===0&&I(we));i!==n;)r.push(i),i=e.charAt(N),S.test(i)?N++:(i=n,F===0&&I(we));t=e.substring(t,N)}}return t}function yr(){let t,r,i,a,o,c,l,u,f,p,h,g,_,v;if(t=N,P=N,r=Yt(),r=r?void 0:n,r!==n){if(i=N,a=[],e.charCodeAt(N)===92?(o=`\\\\`,N++):(o=n,F===0&&I(E)),o!==n)for(;o!==n;)a.push(o),e.charCodeAt(N)===92?(o=`\\\\`,N++):(o=n,F===0&&I(E));else a=n;i=a===n?a:e.substring(i,N),i===n?(N=t,t=n):(a=N,P=N,o=Xt(i),o=o?void 0:n,o===n?(N=a,a=n):(c=e.charAt(N),s.test(c)?N++:(c=n,F===0&&I(ee)),c===n?(N=a,a=n):(o=[o,c],a=o)),a===n&&(a=null),r=[r,i,a],t=r)}else N=t,t=n;if(t===n){if(t=N,P=N,r=Zt(),r=r?void 0:n,r!==n)if(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i!==n)if(a=Bn(),a!==n)if(o=Pn(),e.charCodeAt(N)===47?(c=`/`,N++):(c=n,F===0&&I(fe)),c===n&&(c=null),l=qn(),l!==n)if(u=Pn(),P=N,f=Qt(o,u),f=f?void 0:n,f!==n){for(p=N,h=$t(o,u),g=N,_=[],_.length>=(h|0)?v=n:e.length>N?(v=e.charAt(N),N++):(v=n,F===0&&I(w));v!==n;)_.push(v),_.length>=(h|0)?v=n:e.length>N?(v=e.charAt(N),N++):(v=n,F===0&&I(w));_.length<(h|0)?(N=g,g=n):g=_,h=g,p=h===n?h:e.substring(p,N),p===n?(N=t,t=n):(e.charCodeAt(N)===125?(h=`}`,N++):(h=n,F===0&&I(ue)),h===n?(N=t,t=n):(r=[r,i,a,o,c,l,u,f,p,h],t=r))}else N=t,t=n;else N=t,t=n;else N=t,t=n;else N=t,t=n;else N=t,t=n;t===n&&(t=N,P=N,r=en(),r=r?void 0:n,r===n?(N=t,t=n):(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i===n?(N=t,t=n):(a=Bn(),a===n?(N=t,t=n):(o=N,F++,c=N,e.charCodeAt(N)===47?(l=`/`,N++):(l=n,F===0&&I(fe)),l===n&&(l=null),u=e.charAt(N),m.test(u)?N++:(u=n,F===0&&I(pe)),u===n?(N=c,c=n):(l=[l,u],c=l),F--,c===n?o=void 0:(N=o,o=n),o===n?(N=t,t=n):(c=Gn(),c===n?(N=t,t=n):(e.charCodeAt(N)===125?(l=`}`,N++):(l=n,F===0&&I(ue)),l===n?(N=t,t=n):(r=[r,i,a,o,c,l],t=r)))))),t===n&&(t=N,P=N,r=tn(),r=r?void 0:n,r===n?(N=t,t=n):(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),d.test(o)?N++:(o=n,F===0&&I(ce)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(o=Gn(),o===n?(N=t,t=n):(e.charCodeAt(N)===125?(c=`}`,N++):(c=n,F===0&&I(ue)),c===n?(N=t,t=n):(r=[r,i,a,o,c],t=r)))))))}return t}function br(){let e,t;for(e=[],t=xr();t!==n;)e.push(t),t=xr();return e}function xr(){let t;return t=e.charAt(N),C.test(t)?N++:(t=n,F===0&&I(Te)),t}let Sr=t.text===!0,Cr=t.hooks,wr=-1,Tr=!1,Er=``;function Dr(e){return wr=e,e>=0}function Or(e,t){ln(e,t)}function kr(e){let t={},n=new Set;for(let[r,i]of e){let e=r.toLowerCase();n.has(e)||(n.add(e),Object.defineProperty(t,r,{value:i,enumerable:!0,writable:!0,configurable:!0}))}return t}function Ar(e,t){for(let n of t.branches){let t=tr[n.tag.lower];(e.lex!==`macro`||e.lower!==t)&&Or(cr(n.tag)+` must be directly inside {`+t+Zn+`, not inside `+cr(e),n.tag.loc)}t.end||Or(`Unclosed `+cr(e)+`: no `+lr(e)+` closes it`,e.loc),dr(e,t.end)||Or(cr(t.end)+` found where `+lr(e)+` should close the `+cr(e)+` opened at `+ur(e.loc),t.end.loc)}function jr(e,t){let n={type:`macro`,name:e.lower,rawArgs:e.rawArgs,children:[]};if(!t)return $n(n,e);if(Ar(e,t),n.children=t.children,nr.has(e.lower)){n.branches=[$n({rawArgs:e.rawArgs,children:t.children},e)];for(let e of t.branches)n.branches.push($n({rawArgs:e.tag.rawArgs,children:e.children},e.tag));n.children=[]}else $n(n,e);return n}on=a();let Mr=on!==n&&N===e.length;function Nr(){throw on!==n&&N<e.length&&I(mn()),vn(an,rn<e.length?un(rn):null,rn<e.length?gn(rn,rn+1):gn(rn,rn))}if(t.peg$library)return{peg$result:on,peg$currPos:N,peg$FAILED:n,peg$maxFailExpected:an,peg$maxFailPos:rn,peg$success:Mr,peg$throw:Mr?void 0:Nr};if(Mr)return on;Nr()}var vr=class extends Map{get(e){return super.get(e.toLowerCase())}set(e,t){return super.set(e.toLowerCase(),t)}has(e){return super.has(e.toLowerCase())}delete(e){return super.delete(e.toLowerCase())}},yr=class{constructor(e=[]){this.names=new vr;for(let t of e)this.add(t)}add(e){this.names.set(e,!0)}has(e){return this.names.has(e)}delete(e){this.names.delete(e)}},br=new yr([`if`,`for`,`do`,`button`,`link`,`listbox`,`cycle`,`switch`,`timed`,`repeat`,`type`,`widget`,`span`,`nobr`]);function xr(e){return br.has(e)}function Sr(e){br.add(e)}var Cr=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,31,4,33,15,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,199,7,137,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,55,9,7,0,259,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,481,1,61,4,4,5,9,7,3,6,31,3,149,2,12,2,9,1,3,0,33,1,1357,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,233,0,3,0,8,1,6,0,475,6,110,6,6,9,4759,9,787719,239],wr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,13,65,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,7,25,39,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,5,18,21,18,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,18,0,182,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,24,43,22,0,239,18,16,0,2,12,2,33,125,0,80,921,103,111,6,206,13,310,2314,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,33,24,3,24,45,74,6,0,67,12,65,1,2,0,15,4,10,7386,37,33,96,114,14,913,15,50,7710,3,2,6,2,1,2,296,10,0,30,2,3,0,15,4,8,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,340,2,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,129,15,6,55,50,49,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,208,30,2,2,2,1,2,6,3,4,10,1,225,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4382,2,5773,3,7472,16,621,2467,541,1507,4938,6,8489,39815,11327],Tr=`·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄ-ؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・`,Er=`ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-Ა-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿ-ℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ--ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ`,Dr={3:`abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile`,5:`class enum extends super const export import`,6:`enum`,strict:`implements interface let package private protected public static yield`,strictBind:`eval arguments`},Or=`break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this`,kr={5:Or,\"5module\":Or+` export import`,6:Or+` const class extends export import super`},Ar=/^in(stanceof)?$/,jr=RegExp(`[`+Er+`]`),Mr=RegExp(`[`+Er+Tr+`]`);function Nr(e,t){for(var n=65536,r=0;r<t.length;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function Pr(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&jr.test(String.fromCharCode(e)):t===!1?!1:Nr(e,wr)}function Fr(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Mr.test(String.fromCharCode(e)):t===!1?!1:Nr(e,wr)||Nr(e,Cr)}var L=function(e,t){t===void 0&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function Ir(e,t){return new L(e,{beforeExpr:!0,binop:t})}var Lr={beforeExpr:!0},Rr={startsExpr:!0},zr={};function R(e,t){return t===void 0&&(t={}),t.keyword=e,zr[e]=new L(e,t)}var z={num:new L(`num`,Rr),regexp:new L(`regexp`,Rr),string:new L(`string`,Rr),name:new L(`name`,Rr),privateId:new L(`privateId`,Rr),eof:new L(`eof`),bracketL:new L(`[`,{beforeExpr:!0,startsExpr:!0}),bracketR:new L(`]`),braceL:new L(`{`,{beforeExpr:!0,startsExpr:!0}),braceR:new L(`}`),parenL:new L(`(`,{beforeExpr:!0,startsExpr:!0}),parenR:new L(`)`),comma:new L(`,`,Lr),semi:new L(`;`,Lr),colon:new L(`:`,Lr),dot:new L(`.`),question:new L(`?`,Lr),questionDot:new L(`?.`),arrow:new L(`=>`,Lr),template:new L(`template`),invalidTemplate:new L(`invalidTemplate`),ellipsis:new L(`...`,Lr),backQuote:new L(\"`\",Rr),dollarBraceL:new L(\"${\",{beforeExpr:!0,startsExpr:!0}),eq:new L(`=`,{beforeExpr:!0,isAssign:!0}),assign:new L(`_=`,{beforeExpr:!0,isAssign:!0}),incDec:new L(`++/--`,{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new L(`!/~`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Ir(`||`,1),logicalAND:Ir(`&&`,2),bitwiseOR:Ir(`|`,3),bitwiseXOR:Ir(`^`,4),bitwiseAND:Ir(`&`,5),equality:Ir(`==/!=/===/!==`,6),relational:Ir(`</>/<=/>=`,7),bitShift:Ir(`<</>>/>>>`,8),plusMin:new L(`+/-`,{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Ir(`%`,10),star:Ir(`*`,10),slash:Ir(`/`,10),starstar:new L(`**`,{beforeExpr:!0}),coalesce:Ir(`??`,1),_break:R(`break`),_case:R(`case`,Lr),_catch:R(`catch`),_continue:R(`continue`),_debugger:R(`debugger`),_default:R(`default`,Lr),_do:R(`do`,{isLoop:!0,beforeExpr:!0}),_else:R(`else`,Lr),_finally:R(`finally`),_for:R(`for`,{isLoop:!0}),_function:R(`function`,Rr),_if:R(`if`),_return:R(`return`,Lr),_switch:R(`switch`),_throw:R(`throw`,Lr),_try:R(`try`),_var:R(`var`),_const:R(`const`),_while:R(`while`,{isLoop:!0}),_with:R(`with`),_new:R(`new`,{beforeExpr:!0,startsExpr:!0}),_this:R(`this`,Rr),_super:R(`super`,Rr),_class:R(`class`,Rr),_extends:R(`extends`,Lr),_export:R(`export`),_import:R(`import`,Rr),_null:R(`null`,Rr),_true:R(`true`,Rr),_false:R(`false`,Rr),_in:R(`in`,{beforeExpr:!0,binop:7}),_instanceof:R(`instanceof`,{beforeExpr:!0,binop:7}),_typeof:R(`typeof`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:R(`void`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:R(`delete`,{beforeExpr:!0,prefix:!0,startsExpr:!0})},Br=/\\r\\n?|\\n|\\u2028|\\u2029/,Vr=new RegExp(Br.source,`g`);function Hr(e){return e===10||e===13||e===8232||e===8233}function Ur(e,t,n){n===void 0&&(n=e.length);for(var r=t;r<n;r++){var i=e.charCodeAt(r);if(Hr(i))return r<n-1&&i===13&&e.charCodeAt(r+1)===10?r+2:r+1}return-1}var Wr=/[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/,Gr=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g,Kr=Object.prototype,qr=Kr.hasOwnProperty,Jr=Kr.toString,Yr=Object.hasOwn||(function(e,t){return qr.call(e,t)}),Xr=Array.isArray||(function(e){return Jr.call(e)===`[object Array]`}),Zr=Object.create(null);function Qr(e){return Zr[e]||(Zr[e]=RegExp(`^(?:`+e.replace(/ /g,`|`)+`)$`))}function $r(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}var ei=/(?:[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/,ti=function(e,t){this.line=e,this.column=t};ti.prototype.offset=function(e){return new ti(this.line,this.column+e)};var ni=function(e,t,n){this.start=t,this.end=n,e.sourceFile!==null&&(this.source=e.sourceFile)};function ri(e,t){for(var n=1,r=0;;){var i=Ur(e,r,t);if(i<0)return new ti(n,t-r);++n,r=i}}var ii={ecmaVersion:null,sourceType:`script`,strict:!1,onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,startLocation:null,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},ai=!1;function oi(e){var t={};for(var n in ii)t[n]=e&&Yr(e,n)?e[n]:ii[n];if(t.ecmaVersion===`latest`?t.ecmaVersion=1e8:t.ecmaVersion==null?(!ai&&typeof console==`object`&&console.warn&&(ai=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved??(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),Xr(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}if(Xr(t.onComment)&&(t.onComment=si(t,t.onComment)),t.sourceType===`commonjs`&&t.allowAwaitOutsideFunction)throw Error(`Cannot use allowAwaitOutsideFunction with sourceType: commonjs`);return t}function si(e,t){return function(n,r,i,a,o,s){var c={type:n?`Block`:`Line`,value:r,start:i,end:a};e.locations&&(c.loc=new ni(this,o,s)),e.ranges&&(c.range=[i,a]),t.push(c)}}var ci=1,li=2,ui=4,di=8,fi=16,pi=32,mi=64,hi=128,gi=256,_i=512,vi=1024,yi=ci|li|gi;function bi(e,t){return li|(e?ui:0)|(t?di:0)}var xi=0,Si=1,Ci=2,wi=3,Ti=4,Ei=5,Di=function(e,t,n){this.options=e=oi(e),this.sourceFile=e.sourceFile,this.keywords=Qr(kr[e.ecmaVersion>=6?6:e.sourceType===`module`?`5module`:5]);var r=``;e.allowReserved!==!0&&(r=Dr[e.ecmaVersion>=6?6:e.ecmaVersion===5?5:3],e.sourceType===`module`&&(r+=` await`)),this.reservedWords=Qr(r);var i=(r?r+` `:``)+Dr.strict;this.reservedWordsStrict=Qr(i),this.reservedWordsStrictBind=Qr(i+` `+Dr.strictBind),this.input=String(t),this.containsEsc=!1,this.pos=n||0,this.curLine=1,e.startLocation?(this.lineStart=this.pos-e.startLocation.column,this.curLine=e.startLocation.line):n?(this.lineStart=this.input.lastIndexOf(`\n`,n-1)+1,this.options.locations&&(this.curLine=this.input.slice(0,this.lineStart).split(Br).length)):this.lineStart=0,this.type=z.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=e.sourceType===`module`,this.strict=this.inModule||e.strict===!0||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&e.allowHashBang&&this.input.slice(0,2)===`#!`&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(this.options.sourceType===`commonjs`?li:ci),this.regexpState=null,this.privateNameStack=[]},Oi={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowReturn:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},allowUsing:{configurable:!0},inClassStaticBlock:{configurable:!0}};Di.prototype.parse=function(){var e=this,t=this.options.program||this.startNode();return this.nextToken(),this.catchStackOverflow(function(){return e.parseTopLevel(t)})},Oi.inFunction.get=function(){return(this.currentVarScope().flags&li)>0},Oi.inGenerator.get=function(){return(this.currentVarScope().flags&di)>0},Oi.inAsync.get=function(){return(this.currentVarScope().flags&ui)>0},Oi.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e].flags;if(t&(gi|_i))return!1;if(t&li)return(t&ui)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},Oi.allowReturn.get=function(){return!!(this.inFunction||this.options.allowReturnOutsideFunction&&this.currentVarScope().flags&ci)},Oi.allowSuper.get=function(){return(this.currentThisScope().flags&mi)>0||this.options.allowSuperOutsideMethod},Oi.allowDirectSuper.get=function(){return(this.currentThisScope().flags&hi)>0},Oi.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Oi.allowNewDotTarget.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e].flags;if(t&(gi|_i)||t&li&&!(t&fi))return!0}return!1},Oi.allowUsing.get=function(){var e=this.currentScope().flags;return!(e&vi||!this.inModule&&e&ci)},Oi.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&gi)>0},Di.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n=this,r=0;r<e.length;r++)n=e[r](n);return n},Di.parse=function(e,t){return new this(t,e).parse()},Di.parseExpressionAt=function(e,t,n){var r=new this(n,e,t);return r.nextToken(),r.parseExpression()},Di.tokenizer=function(e,t){return new this(t,e)},Object.defineProperties(Di.prototype,Oi);var ki=Di.prototype,Ai=/^(?:'((?:\\\\[^]|[^'\\\\])*?)'|\"((?:\\\\[^]|[^\"\\\\])*?)\")/;ki.strictDirective=function(e){if(this.options.ecmaVersion<5)return!1;for(;;){Gr.lastIndex=e,e+=Gr.exec(this.input)[0].length;var t=Ai.exec(this.input.slice(e));if(!t)return!1;if((t[1]||t[2])===`use strict`){Gr.lastIndex=e+t[0].length;var n=Gr.exec(this.input),r=n.index+n[0].length,i=this.input.charAt(r);return i===`;`||i===`}`||Br.test(n[0])&&!(/[(`.[+\\-/*%<>=,?^&]/.test(i)||i===`!`&&this.input.charAt(r+1)===`=`||i===`i`&&ji(this,r))}e+=t[0].length,Gr.lastIndex=e,e+=Gr.exec(this.input)[0].length,this.input[e]===`;`&&e++}};function ji(e,t){for(var n=t+1,r=Math.min(e.input.length,t+11);n<r;){var i=e.fullCharCodeAt(n);if(!Fr(i,!0))break;n+=i<=65535?1:2}return n===t+2&&e.input.slice(t,n)===`in`||n===t+10&&e.input.slice(t,n)===`instanceof`}ki.eat=function(e){return this.type===e?(this.next(),!0):!1},ki.isContextual=function(e){return this.type===z.name&&this.value===e&&!this.containsEsc},ki.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},ki.catchStackOverflow=function(e){try{return e()}catch(e){if(e instanceof Error&&(/\\bstack\\b.*\\b(exceeded|overflow)\\b/i.test(e.message)||/\\btoo much recursion\\b/i.test(e.message)))this.raise(this.start,`Not enough stack space to parse input`);else throw e}},ki.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},ki.canInsertSemicolon=function(){return this.type===z.eof||this.type===z.braceR||Br.test(this.input.slice(this.lastTokEnd,this.start))},ki.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ki.semicolon=function(){!this.eat(z.semi)&&!this.insertSemicolon()&&this.unexpected()},ki.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},ki.expect=function(e){this.eat(e)||this.unexpected()},ki.unexpected=function(e){this.raise(e??this.start,`Unexpected token`)};var Mi=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};ki.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,`Comma is not permitted after the rest element`);var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,t?`Assigning to rvalue`:`Parenthesized pattern`)}},ki.checkExpressionErrors=function(e,t){if(!e)return!1;var n=e.shorthandAssign,r=e.doubleProto;if(!t)return n>=0||r>=0;n>=0&&this.raise(n,`Shorthand property assignments are valid only in destructuring patterns`),r>=0&&this.raiseRecoverable(r,`Redefinition of __proto__ property`)},ki.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,`Yield expression cannot be a default value`),this.awaitPos&&this.raise(this.awaitPos,`Await expression cannot be a default value`)},ki.isSimpleAssignTarget=function(e){return e.type===`ParenthesizedExpression`?this.isSimpleAssignTarget(e.expression):e.type===`Identifier`||e.type===`MemberExpression`};var B=Di.prototype;B.parseTopLevel=function(e){var t=Object.create(null);for(e.body||(e.body=[]);this.type!==z.eof;){var n=this.parseStatement(null,!0,t);e.body.push(n)}if(this.inModule)for(var r=0,i=Object.keys(this.undefinedExports);r<i.length;r+=1){var a=i[r];this.raiseRecoverable(this.undefinedExports[a].start,`Export '`+a+`' is not defined`)}return this.adaptDirectivePrologue(e.body),this.next(),e.sourceType=this.options.sourceType===`commonjs`?`script`:this.options.sourceType,this.finishNode(e,`Program`)};var Ni={kind:`loop`},Pi={kind:`switch`};B.isLet=function(e){if(this.options.ecmaVersion<6||!this.isContextual(`let`))return!1;Gr.lastIndex=this.pos;var t=Gr.exec(this.input),n=this.pos+t[0].length,r=this.fullCharCodeAt(n);if(r===91||r===92)return!0;if(e)return!1;if(r===123)return!0;if(Pr(r)){var i=n;do n+=r<=65535?1:2;while(Fr(r=this.fullCharCodeAt(n)));if(r===92)return!0;var a=this.input.slice(i,n);if(!Ar.test(a))return!0}return!1},B.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual(`async`))return!1;Gr.lastIndex=this.pos;var e=Gr.exec(this.input),t=this.pos+e[0].length,n;return!Br.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)===`function`&&(t+8===this.input.length||!(Fr(n=this.fullCharCodeAt(t+8))||n===92))},B.isUsingKeyword=function(e,t){if(this.options.ecmaVersion<17||!this.isContextual(e?`await`:`using`))return!1;Gr.lastIndex=this.pos;var n=Gr.exec(this.input),r=this.pos+n[0].length;if(Br.test(this.input.slice(this.pos,r)))return!1;if(e){var i=r+5,a;if(this.input.slice(r,i)!==`using`||i===this.input.length||Fr(a=this.fullCharCodeAt(i))||a===92)return!1;Gr.lastIndex=i;var o=Gr.exec(this.input);if(r=i+o[0].length,o&&Br.test(this.input.slice(i,r)))return!1}var s=this.fullCharCodeAt(r);if(!Pr(s)&&s!==92)return!1;var c=r;do r+=s<=65535?1:2;while(Fr(s=this.fullCharCodeAt(r)));if(s===92)return!0;var l=this.input.slice(c,r);if(Ar.test(l))return!1;if(t&&!e&&l===`of`){Gr.lastIndex=r;var u=Gr.exec(this.input);if(r+=u[0].length,this.input.charCodeAt(r)!==61||(s=this.input.charCodeAt(r+1))===61||s===62)return!1}return!0},B.isAwaitUsing=function(e){return this.isUsingKeyword(!0,e)},B.isUsing=function(e){return this.isUsingKeyword(!1,e)},B.parseStatement=function(e,t,n){var r=this.type,i=this.startNode(),a;switch(this.isLet(e)&&(r=z._var,a=`let`),r){case z._break:case z._continue:return this.parseBreakContinueStatement(i,r.keyword);case z._debugger:return this.parseDebuggerStatement(i);case z._do:return this.parseDoStatement(i);case z._for:return this.parseForStatement(i);case z._function:return e&&(this.strict||e!==`if`&&e!==`label`)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!e);case z._class:return e&&this.unexpected(),this.parseClass(i,!0);case z._if:return this.parseIfStatement(i);case z._return:return this.parseReturnStatement(i);case z._switch:return this.parseSwitchStatement(i);case z._throw:return this.parseThrowStatement(i);case z._try:return this.parseTryStatement(i);case z._const:case z._var:return a=a||this.value,e&&a!==`var`&&this.unexpected(),this.parseVarStatement(i,a);case z._while:return this.parseWhileStatement(i);case z._with:return this.parseWithStatement(i);case z.braceL:return this.parseBlock(!0,i);case z.semi:return this.parseEmptyStatement(i);case z._export:case z._import:if(this.options.ecmaVersion>10&&r===z._import){Gr.lastIndex=this.pos;var o=Gr.exec(this.input),s=this.pos+o[0].length,c=this.input.charCodeAt(s);if(c===40||c===46)return this.parseExpressionStatement(i,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,`'import' and 'export' may only appear at the top level`),this.inModule||this.raise(this.start,`'import' and 'export' may appear only with 'sourceType: module'`)),r===z._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!e);var l=this.isAwaitUsing(!1)?`await using`:this.isUsing(!1)?`using`:null;if(l)return this.allowUsing||this.raise(this.start,\"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement\"),e&&this.raise(this.start,`Using declaration is not allowed in single-statement positions`),l===`await using`&&(this.canAwait||this.raise(this.start,`Await using cannot appear outside of async function`),this.next()),this.next(),this.parseVar(i,!1,l),this.semicolon(),this.finishNode(i,`VariableDeclaration`);var u=this.value,d=this.parseExpression();return r===z.name&&d.type===`Identifier`&&this.eat(z.colon)?this.parseLabeledStatement(i,u,d,e):this.parseExpressionStatement(i,d)}},B.parseBreakContinueStatement=function(e,t){var n=t===`break`;this.next(),this.eat(z.semi)||this.insertSemicolon()?e.label=null:this.type===z.name?(e.label=this.parseIdent(),this.semicolon()):this.unexpected();for(var r=0;r<this.labels.length;++r){var i=this.labels[r];if((e.label==null||i.name===e.label.name)&&(i.kind!=null&&(n||i.kind===`loop`)||e.label&&n))break}return r===this.labels.length&&this.raise(e.start,`Unsyntactic `+t),this.finishNode(e,n?`BreakStatement`:`ContinueStatement`)},B.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,`DebuggerStatement`)},B.parseDoStatement=function(e){return this.next(),this.labels.push(Ni),e.body=this.parseStatement(`do`),this.labels.pop(),this.expect(z._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(z.semi):this.semicolon(),this.finishNode(e,`DoWhileStatement`)},B.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual(`await`)?this.lastTokStart:-1;if(this.labels.push(Ni),this.enterScope(0),this.expect(z.parenL),this.type===z.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var n=this.isLet();if(this.type===z._var||this.type===z._const||n){var r=this.startNode(),i=n?`let`:this.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,`VariableDeclaration`),this.parseForAfterInit(e,r,t)}var a=this.isContextual(`let`),o=!1,s=this.isUsing(!0)?`using`:this.isAwaitUsing(!0)?`await using`:null;if(s){var c=this.startNode();return this.next(),s===`await using`&&(this.canAwait||this.raise(this.start,`Await using cannot appear outside of async function`),this.next()),this.parseVar(c,!0,s),this.finishNode(c,`VariableDeclaration`),this.parseForAfterInit(e,c,t)}var l=this.containsEsc,u=new Mi,d=this.start,f=t>-1?this.parseExprSubscripts(u,`await`):this.parseExpression(!0,u);return this.type===z._in||(o=this.options.ecmaVersion>=6&&this.isContextual(`of`))?(t>-1?(this.type===z._in&&this.unexpected(t),e.await=!0):o&&this.options.ecmaVersion>=8&&(f.start===d&&!l&&f.type===`Identifier`&&f.name===`async`?this.unexpected():this.options.ecmaVersion>=9&&(e.await=!1)),a&&o&&this.raise(f.start,`The left-hand side of a for-of loop may not start with 'let'.`),this.toAssignable(f,!1,u),this.checkLValPattern(f),this.parseForIn(e,f)):(this.checkExpressionErrors(u,!0),t>-1&&this.unexpected(t),this.parseFor(e,f))},B.parseForAfterInit=function(e,t,n){return(this.type===z._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))&&t.declarations.length===1?(this.type===z._in?((t.kind===`using`||t.kind===`await using`)&&!t.declarations[0].init&&this.raise(this.start,`Using declaration is not allowed in for-in loops`),this.options.ecmaVersion>=9&&n>-1&&this.unexpected(n)):this.options.ecmaVersion>=9&&(e.await=n>-1),this.parseForIn(e,t)):(n>-1&&this.unexpected(n),this.parseFor(e,t))},B.parseFunctionStatement=function(e,t,n){return this.next(),this.parseFunction(e,Ii|(n?0:Li),!1,t)},B.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(`if`),e.alternate=this.eat(z._else)?this.parseStatement(`if`):null,this.finishNode(e,`IfStatement`)},B.parseReturnStatement=function(e){return this.allowReturn||this.raise(this.start,`'return' outside of function`),this.next(),this.eat(z.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,`ReturnStatement`)},B.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(z.braceL),this.labels.push(Pi),this.enterScope(vi);for(var t,n=!1;this.type!==z.braceR;)if(this.type===z._case||this.type===z._default){var r=this.type===z._case;t&&this.finishNode(t,`SwitchCase`),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,`Multiple default clauses`),n=!0,t.test=null),this.expect(z.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,`SwitchCase`),this.next(),this.labels.pop(),this.finishNode(e,`SwitchStatement`)},B.parseThrowStatement=function(e){return this.next(),Br.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,`Illegal newline after throw`),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,`ThrowStatement`)};var Fi=[];B.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type===`Identifier`;return this.enterScope(t?pi:0),this.checkLValPattern(e,t?Ti:Ci),this.expect(z.parenR),e},B.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===z._catch){var t=this.startNode();this.next(),this.eat(z.parenL)?t.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0)),t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,`CatchClause`)}return e.finalizer=this.eat(z._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,`Missing catch or finally clause`),this.finishNode(e,`TryStatement`)},B.parseVarStatement=function(e,t,n){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,`VariableDeclaration`)},B.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Ni),e.body=this.parseStatement(`while`),this.labels.pop(),this.finishNode(e,`WhileStatement`)},B.parseWithStatement=function(e){return this.strict&&this.raise(this.start,`'with' in strict mode`),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(`with`),this.finishNode(e,`WithStatement`)},B.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,`EmptyStatement`)},B.parseLabeledStatement=function(e,t,n,r){for(var i=0,a=this.labels;i<a.length;i+=1)a[i].name===t&&this.raise(n.start,`Label '`+t+`' is already declared`);for(var o=this.type.isLoop?`loop`:this.type===z._switch?`switch`:null,s=this.labels.length-1;s>=0;s--){var c=this.labels[s];if(c.statementStart===e.start)c.statementStart=this.start,c.kind=o;else break}return this.labels.push({name:t,kind:o,statementStart:this.start}),e.body=this.parseStatement(r?r.indexOf(`label`)===-1?r+`label`:r:`label`),this.labels.pop(),e.label=n,this.finishNode(e,`LabeledStatement`)},B.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,`ExpressionStatement`)},B.parseBlock=function(e,t,n){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(z.braceL),e&&this.enterScope(0);this.type!==z.braceR;){var r=this.parseStatement(null);t.body.push(r)}return n&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,`BlockStatement`)},B.parseFor=function(e,t){return e.init=t,this.expect(z.semi),e.test=this.type===z.semi?null:this.parseExpression(),this.expect(z.semi),e.update=this.type===z.parenR?null:this.parseExpression(),this.expect(z.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,`ForStatement`)},B.parseForIn=function(e,t){var n=this.type===z._in;return this.next(),t.type===`VariableDeclaration`&&t.declarations[0].init!=null&&(!n||this.options.ecmaVersion<8||this.strict||t.kind!==`var`||t.declarations[0].id.type!==`Identifier`)&&this.raise(t.start,(n?`for-in`:`for-of`)+` loop variable declaration may not have an initializer`),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssign(),this.expect(z.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,n?`ForInStatement`:`ForOfStatement`)},B.parseVar=function(e,t,n,r){for(e.declarations=[],e.kind=n;;){var i=this.startNode();if(this.parseVarId(i,n),this.eat(z.eq)?i.init=this.parseMaybeAssign(t):!r&&n===`const`&&!(this.type===z._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))?this.unexpected():!r&&(n===`using`||n===`await using`)&&this.options.ecmaVersion>=17&&this.type!==z._in&&!this.isContextual(`of`)?this.raise(this.lastTokEnd,`Missing initializer in `+n+` declaration`):!r&&i.id.type!==`Identifier`&&!(t&&(this.type===z._in||this.isContextual(`of`)))?this.raise(this.lastTokEnd,`Complex binding patterns require an initialization value`):i.init=null,e.declarations.push(this.finishNode(i,`VariableDeclarator`)),!this.eat(z.comma))break}return e},B.parseVarId=function(e,t){e.id=t===`using`||t===`await using`?this.parseIdent():this.parseBindingAtom(),this.checkLValPattern(e.id,t===`var`?Si:Ci,!1)};var Ii=1,Li=2,Ri=4;B.parseFunction=function(e,t,n,r,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r)&&(this.type===z.star&&t&Li&&this.unexpected(),e.generator=this.eat(z.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&Ii&&(e.id=t&Ri&&this.type!==z.name?null:this.parseIdent(),e.id&&!(t&Li)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Si:Ci:wi));var a=this.yieldPos,o=this.awaitPos,s=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(bi(e.async,e.generator)),t&Ii||(e.id=this.type===z.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n,!1,i),this.yieldPos=a,this.awaitPos=o,this.awaitIdentPos=s,this.finishNode(e,t&Ii?`FunctionDeclaration`:`FunctionExpression`)},B.parseFunctionParams=function(e){this.expect(z.parenL),e.params=this.parseBindingList(z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},B.parseClass=function(e,t){this.next();var n=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var r=this.enterClassBody(),i=this.startNode(),a=!1;for(i.body=[],this.expect(z.braceL);this.type!==z.braceR;){var o=this.parseClassElement(e.superClass!==null);o&&(i.body.push(o),o.type===`MethodDefinition`&&o.kind===`constructor`?(a&&this.raiseRecoverable(o.start,`Duplicate constructor in the same class`),a=!0):o.key&&o.key.type===`PrivateIdentifier`&&zi(r,o)&&this.raiseRecoverable(o.key.start,`Identifier '#`+o.key.name+`' has already been declared`))}return this.strict=n,this.next(),e.body=this.finishNode(i,`ClassBody`),this.exitClassBody(),this.finishNode(e,t?`ClassDeclaration`:`ClassExpression`)},B.parseClassElement=function(e){if(this.eat(z.semi))return null;var t=this.options.ecmaVersion,n=this.startNode(),r=``,i=!1,a=!1,o=`method`,s=!1;if(this.eatContextual(`static`)){if(t>=13&&this.eat(z.braceL))return this.parseClassStaticBlock(n),n;this.isClassElementNameStart()||this.type===z.star?s=!0:r=`static`}if(n.static=s,!r&&t>=8&&this.eatContextual(`async`)&&((this.isClassElementNameStart()||this.type===z.star)&&!this.canInsertSemicolon()?a=!0:r=`async`),!r&&(t>=9||!a)&&this.eat(z.star)&&(i=!0),!r&&!a&&!i){var c=this.value;(this.eatContextual(`get`)||this.eatContextual(`set`))&&(this.isClassElementNameStart()?o=c:r=c)}if(r?(n.computed=!1,n.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),n.key.name=r,this.finishNode(n.key,`Identifier`)):this.parseClassElementName(n),t<13||this.type===z.parenL||o!==`method`||i||a){var l=!n.static&&Bi(n,`constructor`),u=l&&e;l&&o!==`method`&&this.raise(n.key.start,`Constructor can't have get/set modifier`),n.kind=l?`constructor`:o,this.parseClassMethod(n,i,a,u)}else this.parseClassField(n);return n},B.isClassElementNameStart=function(){return this.type===z.name||this.type===z.privateId||this.type===z.num||this.type===z.string||this.type===z.bracketL||this.type.keyword},B.parseClassElementName=function(e){this.type===z.privateId?(this.value===`constructor`&&this.raise(this.start,`Classes can't have an element named '#constructor'`),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},B.parseClassMethod=function(e,t,n,r){var i=e.key;e.kind===`constructor`?(t&&this.raise(i.start,`Constructor can't be a generator`),n&&this.raise(i.start,`Constructor can't be an async method`)):e.static&&Bi(e,`prototype`)&&this.raise(i.start,`Classes may not have a static property named prototype`);var a=e.value=this.parseMethod(t,n,r);return e.kind===`get`&&a.params.length!==0&&this.raiseRecoverable(a.start,`getter should have no params`),e.kind===`set`&&a.params.length!==1&&this.raiseRecoverable(a.start,`setter should have exactly one param`),e.kind===`set`&&a.params[0].type===`RestElement`&&this.raiseRecoverable(a.params[0].start,`Setter cannot use rest params`),this.finishNode(e,`MethodDefinition`)},B.parseClassField=function(e){return Bi(e,`constructor`)?this.raise(e.key.start,`Classes can't have a field named 'constructor'`):e.static&&Bi(e,`prototype`)&&this.raise(e.key.start,`Classes can't have a static field named 'prototype'`),this.eat(z.eq)?(this.enterScope(_i|mi),e.value=this.parseMaybeAssign(),this.exitScope()):e.value=null,this.semicolon(),this.finishNode(e,`PropertyDefinition`)},B.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(gi|mi);this.type!==z.braceR;){var n=this.parseStatement(null);e.body.push(n)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,`StaticBlock`)},B.parseClassId=function(e,t){this.type===z.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Ci,!1)):(t===!0&&this.unexpected(),e.id=null)},B.parseClassSuper=function(e){e.superClass=this.eat(z._extends)?this.parseExprSubscripts(null,!1):null},B.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},B.exitClassBody=function(){var e=this.privateNameStack.pop(),t=e.declared,n=e.used;if(this.options.checkPrivateFields)for(var r=this.privateNameStack.length,i=r===0?null:this.privateNameStack[r-1],a=0;a<n.length;++a){var o=n[a];Yr(t,o.name)||(i?i.used.push(o):this.raiseRecoverable(o.start,`Private field '#`+o.name+`' must be declared in an enclosing class`))}};function zi(e,t){var n=t.key.name,r=e[n],i=`true`;return t.type===`MethodDefinition`&&(t.kind===`get`||t.kind===`set`)&&(i=(t.static?`s`:`i`)+t.kind),r===`iget`&&i===`iset`||r===`iset`&&i===`iget`||r===`sget`&&i===`sset`||r===`sset`&&i===`sget`?(e[n]=`true`,!1):r?!0:(e[n]=i,!1)}function Bi(e,t){var n=e.computed,r=e.key;return!n&&(r.type===`Identifier`&&r.name===t||r.type===`Literal`&&r.value===t)}B.parseExportAllDeclaration=function(e,t){return this.options.ecmaVersion>=11&&(this.eatContextual(`as`)?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual(`from`),this.type!==z.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,`ExportAllDeclaration`)},B.parseExport=function(e,t){if(this.next(),this.eat(z.star))return this.parseExportAllDeclaration(e,t);if(this.eat(z._default))return this.checkExport(t,`default`,this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,`ExportDefaultDeclaration`);if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type===`VariableDeclaration`?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null,this.options.ecmaVersion>=16&&(e.attributes=[]);else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual(`from`))this.type!==z.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause());else{for(var n=0,r=e.specifiers;n<r.length;n+=1){var i=r[n];this.checkUnreserved(i.local),this.checkLocalExport(i.local),i.local.type===`Literal`&&this.raise(i.local.start,\"A string literal cannot be used as an exported binding without `from`.\")}e.source=null,this.options.ecmaVersion>=16&&(e.attributes=[])}this.semicolon()}return this.finishNode(e,`ExportNamedDeclaration`)},B.parseExportDeclaration=function(e){return this.parseStatement(null)},B.parseExportDefaultDeclaration=function(){var e;if(this.type===z._function||(e=this.isAsyncFunction())){var t=this.startNode();return this.next(),e&&this.next(),this.parseFunction(t,Ii|Ri,!1,e)}else if(this.type===z._class){var n=this.startNode();return this.parseClass(n,`nullableID`)}else{var r=this.parseMaybeAssign();return this.semicolon(),r}},B.checkExport=function(e,t,n){e&&(typeof t!=`string`&&(t=t.type===`Identifier`?t.name:t.value),Yr(e,t)&&this.raiseRecoverable(n,`Duplicate export '`+t+`'`),e[t]=!0)},B.checkPatternExport=function(e,t){var n=t.type;if(n===`Identifier`)this.checkExport(e,t,t.start);else if(n===`ObjectPattern`)for(var r=0,i=t.properties;r<i.length;r+=1){var a=i[r];this.checkPatternExport(e,a)}else if(n===`ArrayPattern`)for(var o=0,s=t.elements;o<s.length;o+=1){var c=s[o];c&&this.checkPatternExport(e,c)}else n===`Property`?this.checkPatternExport(e,t.value):n===`AssignmentPattern`?this.checkPatternExport(e,t.left):n===`RestElement`&&this.checkPatternExport(e,t.argument)},B.checkVariableExport=function(e,t){if(e)for(var n=0,r=t;n<r.length;n+=1){var i=r[n];this.checkPatternExport(e,i.id)}},B.shouldParseExportStatement=function(){return this.type.keyword===`var`||this.type.keyword===`const`||this.type.keyword===`class`||this.type.keyword===`function`||this.isLet()||this.isAsyncFunction()},B.parseExportSpecifier=function(e){var t=this.startNode();return t.local=this.parseModuleExportName(),t.exported=this.eatContextual(`as`)?this.parseModuleExportName():t.local,this.checkExport(e,t.exported,t.exported.start),this.finishNode(t,`ExportSpecifier`)},B.parseExportSpecifiers=function(e){var t=[],n=!0;for(this.expect(z.braceL);!this.eat(z.braceR);){if(n)n=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;t.push(this.parseExportSpecifier(e))}return t},B.parseImport=function(e){return this.next(),this.type===z.string?(e.specifiers=Fi,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual(`from`),e.source=this.type===z.string?this.parseExprAtom():this.unexpected()),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,`ImportDeclaration`)},B.parseImportSpecifier=function(){var e=this.startNode();return e.imported=this.parseModuleExportName(),this.eatContextual(`as`)?e.local=this.parseIdent():(this.checkUnreserved(e.imported),e.local=e.imported),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportSpecifier`)},B.parseImportDefaultSpecifier=function(){var e=this.startNode();return e.local=this.parseIdent(),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportDefaultSpecifier`)},B.parseImportNamespaceSpecifier=function(){var e=this.startNode();return this.next(),this.expectContextual(`as`),e.local=this.parseIdent(),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportNamespaceSpecifier`)},B.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===z.name&&(e.push(this.parseImportDefaultSpecifier()),!this.eat(z.comma)))return e;if(this.type===z.star)return e.push(this.parseImportNamespaceSpecifier()),e;for(this.expect(z.braceL);!this.eat(z.braceR);){if(t)t=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;e.push(this.parseImportSpecifier())}return e},B.parseWithClause=function(){var e=[];if(!this.eat(z._with))return e;this.expect(z.braceL);for(var t={},n=!0;!this.eat(z.braceR);){if(n)n=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;var r=this.parseImportAttribute(),i=r.key.type===`Identifier`?r.key.name:r.key.value;Yr(t,i)&&this.raiseRecoverable(r.key.start,`Duplicate attribute key '`+i+`'`),t[i]=!0,e.push(r)}return e},B.parseImportAttribute=function(){var e=this.startNode();return e.key=this.type===z.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`),this.expect(z.colon),this.type!==z.string&&this.unexpected(),e.value=this.parseExprAtom(),this.finishNode(e,`ImportAttribute`)},B.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===z.string){var e=this.parseLiteral(this.value);return ei.test(e.value)&&this.raise(e.start,`An export name cannot include a lone surrogate.`),e}return this.parseIdent(!0)},B.adaptDirectivePrologue=function(e){for(var t=0;t<e.length&&this.isDirectiveCandidate(e[t]);++t)e[t].directive=e[t].expression.raw.slice(1,-1)},B.isDirectiveCandidate=function(e){return this.options.ecmaVersion>=5&&e.type===`ExpressionStatement`&&e.expression.type===`Literal`&&typeof e.expression.value==`string`&&(this.input[e.start]===`\"`||this.input[e.start]===`'`)};var Vi=Di.prototype;Vi.toAssignable=function(e,t,n){if(this.options.ecmaVersion>=6&&e)switch(e.type){case`Identifier`:this.inAsync&&e.name===`await`&&this.raise(e.start,`Cannot use 'await' as identifier inside an async function`);break;case`ObjectPattern`:case`ArrayPattern`:case`AssignmentPattern`:case`RestElement`:break;case`ObjectExpression`:e.type=`ObjectPattern`,n&&this.checkPatternErrors(n,!0);for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.toAssignable(a,t),a.type===`RestElement`&&(a.argument.type===`ArrayPattern`||a.argument.type===`ObjectPattern`)&&this.raise(a.argument.start,`Unexpected token`)}break;case`Property`:e.kind!==`init`&&this.raise(e.key.start,`Object pattern can't contain getter or setter`),this.toAssignable(e.value,t);break;case`ArrayExpression`:e.type=`ArrayPattern`,n&&this.checkPatternErrors(n,!0),this.toAssignableList(e.elements,t);break;case`SpreadElement`:e.type=`RestElement`,this.toAssignable(e.argument,t),e.argument.type===`AssignmentPattern`&&this.raise(e.argument.start,`Rest elements cannot have a default value`);break;case`AssignmentExpression`:e.operator!==`=`&&this.raise(e.left.end,`Only '=' operator can be used for specifying default value.`),e.type=`AssignmentPattern`,delete e.operator,this.toAssignable(e.left,t);break;case`ParenthesizedExpression`:this.toAssignable(e.expression,t,n);break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:if(!t)break;default:this.raise(e.start,`Assigning to rvalue`)}else n&&this.checkPatternErrors(n,!0);return e},Vi.toAssignableList=function(e,t){for(var n=e.length,r=0;r<n;r++){var i=e[r];i&&this.toAssignable(i,t)}if(n){var a=e[n-1];this.options.ecmaVersion===6&&t&&a&&a.type===`RestElement`&&a.argument.type!==`Identifier`&&this.unexpected(a.argument.start)}return e},Vi.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,`SpreadElement`)},Vi.parseRestBinding=function(){var e=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==z.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,`RestElement`)},Vi.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case z.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(z.bracketR,!0,!0),this.finishNode(e,`ArrayPattern`);case z.braceL:return this.parseObj(!0)}return this.parseIdent()},Vi.parseBindingList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);)if(a?a=!1:this.expect(z.comma),t&&this.type===z.comma)i.push(null);else if(n&&this.afterTrailingComma(e))break;else if(this.type===z.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),i.push(o),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`),this.expect(e);break}else i.push(this.parseAssignableListItem(r));return i},Vi.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},Vi.parseBindingListItem=function(e){return e},Vi.parseMaybeDefault=function(e,t,n){if(n=n||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(z.eq))return n;var r=this.startNodeAt(e,t);return r.left=n,r.right=this.parseMaybeAssign(),this.finishNode(r,`AssignmentPattern`)},Vi.checkLValSimple=function(e,t,n){t===void 0&&(t=xi);var r=t!==xi;switch(e.type){case`Identifier`:this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(r?`Binding `:`Assigning to `)+e.name+` in strict mode`),r&&(t===Ci&&e.name===`let`&&this.raiseRecoverable(e.start,`let is disallowed as a lexically bound name`),n&&(Yr(n,e.name)&&this.raiseRecoverable(e.start,`Argument name clash`),n[e.name]=!0),t!==Ei&&this.declareName(e.name,t,e.start));break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:r&&this.raiseRecoverable(e.start,`Binding member expression`);break;case`ParenthesizedExpression`:return r&&this.raiseRecoverable(e.start,`Binding parenthesized expression`),this.checkLValSimple(e.expression,t,n);default:this.raise(e.start,(r?`Binding`:`Assigning to`)+` rvalue`)}},Vi.checkLValPattern=function(e,t,n){switch(t===void 0&&(t=xi),e.type){case`ObjectPattern`:for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.checkLValInnerPattern(a,t,n)}break;case`ArrayPattern`:for(var o=0,s=e.elements;o<s.length;o+=1){var c=s[o];c&&this.checkLValInnerPattern(c,t,n)}break;default:this.checkLValSimple(e,t,n)}},Vi.checkLValInnerPattern=function(e,t,n){switch(t===void 0&&(t=xi),e.type){case`Property`:this.checkLValInnerPattern(e.value,t,n);break;case`AssignmentPattern`:this.checkLValPattern(e.left,t,n);break;case`RestElement`:this.checkLValPattern(e.argument,t,n);break;default:this.checkLValPattern(e,t,n)}};var Hi=function(e,t,n,r,i){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r,this.generator=!!i},V={b_stat:new Hi(`{`,!1),b_expr:new Hi(`{`,!0),b_tmpl:new Hi(\"${\",!1),p_stat:new Hi(`(`,!1),p_expr:new Hi(`(`,!0),q_tmpl:new Hi(\"`\",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new Hi(`function`,!1),f_expr:new Hi(`function`,!0),f_expr_gen:new Hi(`function`,!0,!1,null,!0),f_gen:new Hi(`function`,!1,!1,null,!0)},Ui=Di.prototype;Ui.initialContext=function(){return[V.b_stat]},Ui.curContext=function(){return this.context[this.context.length-1]},Ui.braceIsBlock=function(e){var t=this.curContext();return t===V.f_expr||t===V.f_stat?!0:e===z.colon&&(t===V.b_stat||t===V.b_expr)?!t.isExpr:e===z._return||e===z.name&&this.exprAllowed?Br.test(this.input.slice(this.lastTokEnd,this.start)):e===z._else||e===z.semi||e===z.eof||e===z.parenR||e===z.arrow?!0:e===z.braceL?t===V.b_stat:e===z._var||e===z._const||e===z.name?!1:!this.exprAllowed},Ui.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token===`function`)return t.generator}return!1},Ui.updateContext=function(e){var t,n=this.type;n.keyword&&e===z.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},Ui.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},z.parenR.updateContext=z.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===V.b_stat&&this.curContext().token===`function`&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},z.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?V.b_stat:V.b_expr),this.exprAllowed=!0},z.dollarBraceL.updateContext=function(){this.context.push(V.b_tmpl),this.exprAllowed=!0},z.parenL.updateContext=function(e){var t=e===z._if||e===z._for||e===z._with||e===z._while;this.context.push(t?V.p_stat:V.p_expr),this.exprAllowed=!0},z.incDec.updateContext=function(){},z._function.updateContext=z._class.updateContext=function(e){e.beforeExpr&&e!==z._else&&!(e===z.semi&&this.curContext()!==V.p_stat)&&!(e===z._return&&Br.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===z.colon||e===z.braceL)&&this.curContext()===V.b_stat)?this.context.push(V.f_expr):this.context.push(V.f_stat),this.exprAllowed=!1},z.colon.updateContext=function(){this.curContext().token===`function`&&this.context.pop(),this.exprAllowed=!0},z.backQuote.updateContext=function(){this.curContext()===V.q_tmpl?this.context.pop():this.context.push(V.q_tmpl),this.exprAllowed=!1},z.star.updateContext=function(e){if(e===z._function){var t=this.context.length-1;this.context[t]===V.f_expr?this.context[t]=V.f_expr_gen:this.context[t]=V.f_gen}this.exprAllowed=!0},z.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==z.dot&&(this.value===`of`&&!this.exprAllowed||this.value===`yield`&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var H=Di.prototype;H.checkPropClash=function(e,t,n){if(!(this.options.ecmaVersion>=9&&e.type===`SpreadElement`)&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var r=e.key,i;switch(r.type){case`Identifier`:i=r.name;break;case`Literal`:i=String(r.value);break;default:return}var a=e.kind;if(this.options.ecmaVersion>=6){i===`__proto__`&&a===`init`&&(t.proto&&(n?n.doubleProto<0&&(n.doubleProto=r.start):this.raiseRecoverable(r.start,`Redefinition of __proto__ property`)),t.proto=!0);return}i=`$`+i;var o=t[i];o?(a===`init`?this.strict&&o.init||o.get||o.set:o.init||o[a])&&this.raiseRecoverable(r.start,`Redefinition of property`):o=t[i]={init:!1,get:!1,set:!1},o[a]=!0}},H.parseExpression=function(e,t){var n=this;return this.catchStackOverflow(function(){var r=n.start,i=n.startLoc,a=n.parseMaybeAssign(e,t);if(n.type===z.comma){var o=n.startNodeAt(r,i);for(o.expressions=[a];n.eat(z.comma);)o.expressions.push(n.parseMaybeAssign(e,t));return n.finishNode(o,`SequenceExpression`)}return a})},H.parseMaybeAssign=function(e,t,n){if(this.isContextual(`yield`)){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var r=!1,i=-1,a=-1,o=-1;t?(i=t.parenthesizedAssign,a=t.trailingComma,o=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new Mi,r=!0);var s=this.start,c=this.startLoc;(this.type===z.parenL||this.type===z.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e===`await`);var l=this.parseMaybeConditional(e,t);if(n&&(l=n.call(this,l,s,c)),this.type.isAssign){var u=this.startNodeAt(s,c);return u.operator=this.value,this.type===z.eq&&(l=this.toAssignable(l,!1,t)),r||(t.parenthesizedAssign=t.trailingComma=-1,t.shorthandAssign>=l.start&&(t.shorthandAssign=-1),t.doubleProto>=l.start&&(t.doubleProto=-1)),this.type===z.eq?this.checkLValPattern(l):this.checkLValSimple(l),u.left=l,this.next(),u.right=this.parseMaybeAssign(e),o>-1&&(t.doubleProto=o),this.finishNode(u,`AssignmentExpression`)}else r&&this.checkExpressionErrors(t,!0);return i>-1&&(t.parenthesizedAssign=i),a>-1&&(t.trailingComma=a),l},H.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(!(i.type===`ArrowFunctionExpression`&&i.start===n)&&this.eat(z.question)){var a=this.startNodeAt(n,r);return a.test=i,a.consequent=this.parseMaybeAssign(),this.expect(z.colon),a.alternate=this.parseMaybeAssign(e),this.finishNode(a,`ConditionalExpression`)}return i},H.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||i.start===n&&i.type===`ArrowFunctionExpression`?i:this.parseExprOp(i,n,r,-1,e)},H.parseExprOp=function(e,t,n,r,i){var a=this.type.binop;if(a!=null&&(!i||this.type!==z._in)&&a>r){var o=this.type===z.logicalOR||this.type===z.logicalAND,s=this.type===z.coalesce;s&&(a=z.logicalAND.binop);var c=this.value;this.next();var l=this.start,u=this.startLoc,d=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,i),l,u,a,i),f=this.buildBinary(t,n,e,d,c,o||s);return(o&&this.type===z.coalesce||s&&(this.type===z.logicalOR||this.type===z.logicalAND))&&this.raiseRecoverable(this.start,`Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses`),this.parseExprOp(f,t,n,r,i)}return e},H.buildBinary=function(e,t,n,r,i,a){r.type===`PrivateIdentifier`&&this.raise(r.start,`Private identifier can only be left side of binary expression`);var o=this.startNodeAt(e,t);return o.left=n,o.operator=i,o.right=r,this.finishNode(o,a?`LogicalExpression`:`BinaryExpression`)},H.parseMaybeUnary=function(e,t,n,r){var i=this.start,a=this.startLoc,o;if(this.isContextual(`await`)&&this.canAwait)o=this.parseAwait(r),t=!0;else if(this.type.prefix){var s=this.startNode(),c=this.type===z.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0,c,r),this.checkExpressionErrors(e,!0),c?this.checkLValSimple(s.argument):this.strict&&s.operator===`delete`&&Wi(s.argument)?this.raiseRecoverable(s.start,`Deleting local variable in strict mode`):s.operator===`delete`&&Gi(s.argument)?this.raiseRecoverable(s.start,`Private fields can not be deleted`):t=!0,o=this.finishNode(s,c?`UpdateExpression`:`UnaryExpression`)}else if(!t&&this.type===z.privateId)(r||this.privateNameStack.length===0)&&this.options.checkPrivateFields&&this.unexpected(),o=this.parsePrivateIdent(),this.type!==z._in&&this.unexpected();else{if(o=this.parseExprSubscripts(e,r),this.checkExpressionErrors(e))return o;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(i,a);l.operator=this.value,l.prefix=!1,l.argument=o,this.checkLValSimple(o),this.next(),o=this.finishNode(l,`UpdateExpression`)}}if(!n&&!(o.type===`ArrowFunctionExpression`&&o.start===i)&&this.eat(z.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(i,a,o,this.parseMaybeUnary(null,!1,!1,r),`**`,!1);else return o};function Wi(e){return e.type===`Identifier`||e.type===`ParenthesizedExpression`&&Wi(e.expression)}function Gi(e){return e.type===`MemberExpression`&&e.property.type===`PrivateIdentifier`||e.type===`ChainExpression`&&Gi(e.expression)||e.type===`ParenthesizedExpression`&&Gi(e.expression)}H.parseExprSubscripts=function(e,t){var n=this.start,r=this.startLoc,i=-1,a=-1;e&&(i=e.doubleProto,a=e.shorthandAssign,e.doubleProto=e.shorthandAssign=-1);var o=this.parseExprAtom(e,t);if(o.type===`ArrowFunctionExpression`&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==`)`)return o;var s=this.parseSubscripts(o,n,r,!1,t);return e&&(s.end>o.end&&(this.checkExpressionErrors(e,!0),e.parenthesizedAssign>=s.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=s.start&&(e.parenthesizedBind=-1),e.trailingComma>=s.start&&(e.trailingComma=-1)),i>-1&&(e.doubleProto=i),a>-1&&(e.shorthandAssign=a)),s},H.parseSubscripts=function(e,t,n,r,i){for(var a=this.options.ecmaVersion>=8&&e.type===`Identifier`&&e.name===`async`&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,o=!1;;){var s=this.parseSubscript(e,t,n,r,a,o,i);if(s.optional&&(o=!0),s.end===e.end||s.type===`ArrowFunctionExpression`){if(o){var c=this.startNodeAt(t,n);c.expression=s,s=this.finishNode(c,`ChainExpression`)}return s}e=s,a=!1}},H.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(z.arrow)},H.parseSubscriptAsyncArrow=function(e,t,n,r){return this.parseArrowExpression(this.startNodeAt(e,t),n,!0,r)},H.parseSubscript=function(e,t,n,r,i,a,o){var s=this.options.ecmaVersion>=11,c=s&&this.eat(z.questionDot);r&&c&&this.raise(this.lastTokStart,`Optional chaining cannot appear in the callee of new expressions`);var l=this.eat(z.bracketL);if(l||c&&this.type!==z.parenL&&this.type!==z.backQuote||this.eat(z.dot)){var u=this.startNodeAt(t,n);u.object=e,l?(u.property=this.parseExpression(),this.expect(z.bracketR)):this.type===z.privateId&&e.type!==`Super`?u.property=this.parsePrivateIdent():u.property=this.parseIdent(this.options.allowReserved!==`never`),u.computed=!!l,s&&(u.optional=c),e=this.finishNode(u,`MemberExpression`)}else if(!r&&this.eat(z.parenL)){var d=new Mi,f=this.yieldPos,p=this.awaitPos,m=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var h=this.parseExprList(z.parenR,this.options.ecmaVersion>=8,!1,d);if(i&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(d,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,`Cannot use 'await' as identifier inside an async function`),this.yieldPos=f,this.awaitPos=p,this.awaitIdentPos=m,this.parseSubscriptAsyncArrow(t,n,h,o);this.checkExpressionErrors(d,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=p||this.awaitPos,this.awaitIdentPos=m||this.awaitIdentPos;var g=this.startNodeAt(t,n);g.callee=e,g.arguments=h,s&&(g.optional=c),e=this.finishNode(g,`CallExpression`)}else if(this.type===z.backQuote){(c||a)&&this.raise(this.start,`Optional chaining cannot appear in the tag of tagged template expressions`);var _=this.startNodeAt(t,n);_.tag=e,_.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(_,`TaggedTemplateExpression`)}return e},H.parseExprAtom=function(e,t,n){this.type===z.slash&&this.readRegexp();var r,i=this.potentialArrowAt===this.start;switch(this.type){case z._super:return this.allowSuper||this.raise(this.start,`'super' keyword outside a method`),r=this.startNode(),this.next(),this.type===z.parenL&&!this.allowDirectSuper&&this.raise(r.start,`super() call outside constructor of a subclass`),this.type!==z.dot&&this.type!==z.bracketL&&this.type!==z.parenL&&this.unexpected(),this.finishNode(r,`Super`);case z._this:return r=this.startNode(),this.next(),this.finishNode(r,`ThisExpression`);case z.name:var a=this.start,o=this.startLoc,s=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!s&&c.name===`async`&&!this.canInsertSemicolon()&&this.eat(z._function))return this.overrideContext(V.f_expr),this.parseFunction(this.startNodeAt(a,o),0,!1,!0,t);if(i&&!this.canInsertSemicolon()){if(this.eat(z.arrow))return this.parseArrowExpression(this.startNodeAt(a,o),[c],!1,t);if(this.options.ecmaVersion>=8&&c.name===`async`&&this.type===z.name&&!s&&(!this.potentialArrowInForAwait||this.value!==`of`||this.containsEsc))return c=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(z.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(a,o),[c],!0,t)}return c;case z.regexp:var l=this.value;return r=this.parseLiteral(l.value),r.regex={pattern:l.pattern,flags:l.flags},r;case z.num:case z.string:return this.parseLiteral(this.value);case z._null:case z._true:case z._false:return r=this.startNode(),r.value=this.type===z._null?null:this.type===z._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,`Literal`);case z.parenL:var u=this.start,d=this.parseParenAndDistinguishExpression(i,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(d)&&(e.parenthesizedAssign=u),e.parenthesizedBind<0&&(e.parenthesizedBind=u)),d;case z.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(z.bracketR,!0,!0,e),this.finishNode(r,`ArrayExpression`);case z.braceL:return this.overrideContext(V.b_expr),this.parseObj(!1,e);case z._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case z._class:return this.parseClass(this.startNode(),!1);case z._new:return this.parseNew();case z.backQuote:return this.parseTemplate();case z._import:return this.options.ecmaVersion>=11?this.parseExprImport(n):this.unexpected();default:return this.parseExprAtomDefault()}},H.parseExprAtomDefault=function(){this.unexpected()},H.parseExprImport=function(e){var t=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword import`),this.next(),this.type===z.parenL&&!e)return this.parseDynamicImport(t);if(this.type===z.dot){var n=this.startNodeAt(t.start,t.loc&&t.loc.start);return n.name=`import`,t.meta=this.finishNode(n,`Identifier`),this.parseImportMeta(t)}else this.unexpected()},H.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(z.parenR)?e.options=null:(this.expect(z.comma),this.afterTrailingComma(z.parenR)?e.options=null:(e.options=this.parseMaybeAssign(),this.eat(z.parenR)||(this.expect(z.comma),this.afterTrailingComma(z.parenR)||this.unexpected())));else if(!this.eat(z.parenR)){var t=this.start;this.eat(z.comma)&&this.eat(z.parenR)?this.raiseRecoverable(t,`Trailing comma is not allowed in import()`):this.unexpected(t)}return this.finishNode(e,`ImportExpression`)},H.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`meta`&&this.raiseRecoverable(e.property.start,`The only valid meta property for import is 'import.meta'`),t&&this.raiseRecoverable(e.start,`'import.meta' must not contain escaped characters`),this.options.sourceType!==`module`&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,`Cannot use 'import.meta' outside a module`),this.finishNode(e,`MetaProperty`)},H.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.value==null?t.raw.slice(0,-1).replace(/_/g,``):t.value.toString()),this.next(),this.finishNode(t,`Literal`)},H.parseParenExpression=function(){this.expect(z.parenL);var e=this.parseExpression();return this.expect(z.parenR),e},H.shouldParseArrow=function(e){return!this.canInsertSemicolon()},H.parseParenAndDistinguishExpression=function(e,t){var n=this.start,r=this.startLoc,i,a=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o=this.start,s=this.startLoc,c=[],l=!0,u=!1,d=new Mi,f=this.yieldPos,p=this.awaitPos,m;for(this.yieldPos=0,this.awaitPos=0;this.type!==z.parenR;)if(l?l=!1:this.expect(z.comma),a&&this.afterTrailingComma(z.parenR,!0)){u=!0;break}else if(this.type===z.ellipsis){m=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`);break}else c.push(this.parseMaybeAssign(!1,d,this.parseParenItem));var h=this.lastTokEnd,g=this.lastTokEndLoc;if(this.expect(z.parenR),e&&this.shouldParseArrow(c)&&this.eat(z.arrow))return this.checkPatternErrors(d,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=f,this.awaitPos=p,this.parseParenArrowList(n,r,c,t);(!c.length||u)&&this.unexpected(this.lastTokStart),m&&this.unexpected(m),this.checkExpressionErrors(d,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=p||this.awaitPos,c.length>1?(i=this.startNodeAt(o,s),i.expressions=c,this.finishNodeAt(i,`SequenceExpression`,h,g)):i=c[0]}else i=this.parseParenExpression();if(this.options.preserveParens){var _=this.startNodeAt(n,r);return _.expression=i,this.finishNode(_,`ParenthesizedExpression`)}else return i},H.parseParenItem=function(e){return e},H.parseParenArrowList=function(e,t,n,r){return this.parseArrowExpression(this.startNodeAt(e,t),n,!1,r)};var Ki=[];H.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword new`);var e=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===z.dot){var t=this.startNodeAt(e.start,e.loc&&e.loc.start);t.name=`new`,e.meta=this.finishNode(t,`Identifier`),this.next();var n=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`target`&&this.raiseRecoverable(e.property.start,`The only valid meta property for new is 'new.target'`),n&&this.raiseRecoverable(e.start,`'new.target' must not contain escaped characters`),this.allowNewDotTarget||this.raiseRecoverable(e.start,`'new.target' can only be used in functions and class static block`),this.finishNode(e,`MetaProperty`)}var r=this.start,i=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),r,i,!0,!1),e.callee.type===`Super`&&this.raiseRecoverable(r,`Invalid use of 'super'`),this.eat(z.parenL)?e.arguments=this.parseExprList(z.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ki,this.finishNode(e,`NewExpression`)},H.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===z.invalidTemplate?(t||this.raiseRecoverable(this.start,`Bad escape sequence in untagged template literal`),n.value={raw:this.value.replace(/\\r\\n?/g,`\n`),cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\\r\\n?/g,`\n`),cooked:this.value},this.next(),n.tail=this.type===z.backQuote,this.finishNode(n,`TemplateElement`)},H.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(n.quasis=[r];!r.tail;)this.type===z.eof&&this.raise(this.pos,`Unterminated template literal`),this.expect(z.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(z.braceR),n.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,`TemplateLiteral`)},H.isAsyncProp=function(e){return!e.computed&&e.key.type===`Identifier`&&e.key.name===`async`&&(this.type===z.name||this.type===z.num||this.type===z.string||this.type===z.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===z.star)&&!Br.test(this.input.slice(this.lastTokEnd,this.start))},H.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(z.braceR);){if(r)r=!1;else if(this.expect(z.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(z.braceR))break;var a=this.parseProperty(e,t);e||this.checkPropClash(a,i,t),n.properties.push(a)}return this.finishNode(n,e?`ObjectPattern`:`ObjectExpression`)},H.parseProperty=function(e,t){var n=this.startNode(),r,i,a,o;if(this.options.ecmaVersion>=9&&this.eat(z.ellipsis))return e?(n.argument=this.parseIdent(!1),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`),this.finishNode(n,`RestElement`)):(n.argument=this.parseMaybeAssign(!1,t),this.type===z.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(n,`SpreadElement`));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(e||t)&&(a=this.start,o=this.startLoc),e||(r=this.eat(z.star)));var s=this.containsEsc;return this.parsePropertyName(n),!e&&!s&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(n)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(z.star),this.parsePropertyName(n)):i=!1,this.parsePropertyValue(n,e,r,i,a,o,t,s),this.finishNode(n,`Property`)},H.parseGetterSetter=function(e){var t=e.key.name;this.parsePropertyName(e),e.value=this.parseMethod(!1),e.kind=t;var n=e.kind===`get`?0:1;if(e.value.params.length!==n){var r=e.value.start;e.kind===`get`?this.raiseRecoverable(r,`getter should have no params`):this.raiseRecoverable(r,`setter should have exactly one param`)}else e.kind===`set`&&e.value.params[0].type===`RestElement`&&this.raiseRecoverable(e.value.params[0].start,`Setter cannot use rest params`)},H.parsePropertyValue=function(e,t,n,r,i,a,o,s){(n||r)&&this.type===z.colon&&this.unexpected(),this.eat(z.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),e.kind=`init`):this.options.ecmaVersion>=6&&this.type===z.parenL?(t&&this.unexpected(),e.method=!0,e.value=this.parseMethod(n,r),e.kind=`init`):!t&&!s&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type===`Identifier`&&(e.key.name===`get`||e.key.name===`set`)&&this.type!==z.comma&&this.type!==z.braceR&&this.type!==z.eq?((n||r)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type===`Identifier`?((n||r)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=i),t?e.value=this.parseMaybeDefault(i,a,this.copyNode(e.key)):this.type===z.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,a,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.kind=`init`,e.shorthand=!0):this.unexpected()},H.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(z.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(z.bracketR),e.key;e.computed=!1}return e.key=this.type===z.num||this.type===z.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`)},H.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},H.parseMethod=function(e,t,n){var r=this.startNode(),i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(r),this.options.ecmaVersion>=6&&(r.generator=e),this.options.ecmaVersion>=8&&(r.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(bi(t,r.generator)|mi|(n?hi:0)),this.expect(z.parenL),r.params=this.parseBindingList(z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0,!1),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(r,`FunctionExpression`)},H.parseArrowExpression=function(e,t,n,r){var i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(bi(n,!1)|fi),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,r),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(e,`ArrowFunctionExpression`)},H.parseFunctionBody=function(e,t,n,r){var i=t&&this.type!==z.braceL,a=this.strict,o=!1;if(i)e.body=this.parseMaybeAssign(r),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!a||s)&&(o=this.strictDirective(this.end),o&&s&&this.raiseRecoverable(e.start,`Illegal 'use strict' directive in function with non-simple parameter list`));var c=this.labels;this.labels=[],o&&(this.strict=!0),this.checkParams(e,!a&&!o&&!t&&!n&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Ei),e.body=this.parseBlock(!1,void 0,o&&!a),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=c}this.exitScope()},H.isSimpleParamList=function(e){for(var t=0,n=e;t<n.length;t+=1)if(n[t].type!==`Identifier`)return!1;return!0},H.checkParams=function(e,t){for(var n=Object.create(null),r=0,i=e.params;r<i.length;r+=1){var a=i[r];this.checkLValInnerPattern(a,Si,t?null:n)}},H.parseExprList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);){if(a)a=!1;else if(this.expect(z.comma),t&&this.afterTrailingComma(e))break;var o=void 0;n&&this.type===z.comma?o=null:this.type===z.ellipsis?(o=this.parseSpread(r),r&&this.type===z.comma&&r.trailingComma<0&&(r.trailingComma=this.start)):o=this.parseMaybeAssign(!1,r),i.push(o)}return i},H.checkUnreserved=function(e){var t=e.start,n=e.end,r=e.name;this.inGenerator&&r===`yield`&&this.raiseRecoverable(t,`Cannot use 'yield' as identifier inside a generator`),this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use 'await' as identifier inside an async function`),!(this.currentThisScope().flags&yi)&&r===`arguments`&&this.raiseRecoverable(t,`Cannot use 'arguments' in class field initializer`),this.inClassStaticBlock&&(r===`arguments`||r===`await`)&&this.raise(t,`Cannot use `+r+` in class static initialization block`),this.keywords.test(r)&&this.raise(t,`Unexpected keyword '`+r+`'`),!(this.options.ecmaVersion<6&&this.input.slice(t,n).indexOf(`\\\\`)!==-1)&&(this.strict?this.reservedWordsStrict:this.reservedWords).test(r)&&(!this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use keyword 'await' outside an async function`),this.raiseRecoverable(t,`The keyword '`+r+`' is reserved`))},H.parseIdent=function(e){var t=this.parseIdentNode();return this.next(!!e),this.finishNode(t,`Identifier`),e||(this.checkUnreserved(t),t.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=t.start)),t},H.parseIdentNode=function(){var e=this.startNode();return this.type===z.name?e.name=this.value:this.type.keyword?(e.name=this.type.keyword,(e.name===`class`||e.name===`function`)&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop(),this.type=z.name):this.unexpected(),e},H.parsePrivateIdent=function(){var e=this.startNode();return this.type===z.privateId?e.name=this.value:this.unexpected(),this.next(),this.finishNode(e,`PrivateIdentifier`),this.options.checkPrivateFields&&(this.privateNameStack.length===0?this.raise(e.start,`Private field '#`+e.name+`' must be declared in an enclosing class`):this.privateNameStack[this.privateNameStack.length-1].used.push(e)),e},H.parseYield=function(e){this.yieldPos||(this.yieldPos=this.start);var t=this.startNode();return this.next(),this.type===z.semi||this.canInsertSemicolon()||this.type!==z.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(z.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,`YieldExpression`)},H.parseAwait=function(e){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!0,!1,e),this.finishNode(t,`AwaitExpression`)};var qi=Di.prototype;qi.raise=function(e,t){var n=ri(this.input,e);t+=` (`+n.line+`:`+n.column+`)`,this.sourceFile&&(t+=` in `+this.sourceFile);var r=SyntaxError(t);throw r.pos=e,r.loc=n,r.raisedAt=this.pos,r},qi.raiseRecoverable=qi.raise,qi.curPosition=function(){if(this.options.locations)return new ti(this.curLine,this.pos-this.lineStart)};var Ji=Di.prototype,Yi=function(e){this.flags=e,this.var=[],this.lexical=[],this.functions=[]};Ji.enterScope=function(e){this.scopeStack.push(new Yi(e))},Ji.exitScope=function(){this.scopeStack.pop()},Ji.treatFunctionsAsVarInScope=function(e){return e.flags&li||!this.inModule&&e.flags&ci},Ji.declareName=function(e,t,n){var r=!1;if(t===Ci){var i=this.currentScope();r=i.lexical.indexOf(e)>-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1,i.lexical.push(e),this.inModule&&i.flags&ci&&delete this.undefinedExports[e]}else if(t===Ti)this.currentScope().lexical.push(e);else if(t===wi){var a=this.currentScope();r=this.treatFunctionsAsVar?a.lexical.indexOf(e)>-1:a.lexical.indexOf(e)>-1||a.var.indexOf(e)>-1,a.functions.push(e)}else for(var o=this.scopeStack.length-1;o>=0;--o){var s=this.scopeStack[o];if(s.lexical.indexOf(e)>-1&&!(s.flags&pi&&s.lexical[0]===e)||!this.treatFunctionsAsVarInScope(s)&&s.functions.indexOf(e)>-1){r=!0;break}if(s.var.push(e),this.inModule&&s.flags&ci&&delete this.undefinedExports[e],s.flags&yi)break}r&&this.raiseRecoverable(n,`Identifier '`+e+`' has already been declared`)},Ji.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},Ji.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ji.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&(yi|_i|gi))return t}},Ji.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&(yi|_i|gi)&&!(t.flags&fi))return t}};var Xi=function(e,t,n){this.type=``,this.start=t,this.end=0,e.options.locations&&(this.loc=new ni(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Zi=Di.prototype;Zi.startNode=function(){return new Xi(this,this.start,this.startLoc)},Zi.startNodeAt=function(e,t){return new Xi(this,e,t)};function Qi(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}Zi.finishNode=function(e,t){return Qi.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Zi.finishNodeAt=function(e,t,n,r){return Qi.call(this,e,t,n,r)},Zi.copyNode=function(e){var t=new Xi(this,e.start,this.startLoc);for(var n in e)t[n]=e[n];return t};var $i=`Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz`,ea=`ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS`,ta=ea+` Extended_Pictographic`,na=ta,ra=na+` EBase EComp EMod EPres ExtPict`,ia=ra,aa=ia,oa={9:ea,10:ta,11:na,12:ra,13:ia,14:aa},sa=`Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji`,ca={9:``,10:``,11:``,12:``,13:``,14:sa},la=`Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu`,ua=`Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb`,da=ua+` Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd`,fa=da+` Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho`,pa=fa+` Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi`,ma=pa+` Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith`,ha=ma+` `+$i,ga={9:ua,10:da,11:fa,12:pa,13:ma,14:ha},_a={};function va(e){var t=_a[e]={binary:Qr(oa[e]+` `+la),binaryOfStrings:Qr(ca[e]),nonBinary:{General_Category:Qr(la),Script:Qr(ga[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var ya=0,ba=[9,10,11,12,13,14];ya<ba.length;ya+=1){var xa=ba[ya];va(xa)}var U=Di.prototype,Sa=function(e,t){this.parent=e,this.base=t||this};Sa.prototype.separatedFrom=function(e){for(var t=this;t;t=t.parent)for(var n=e;n;n=n.parent)if(t.base===n.base&&t!==n)return!0;return!1},Sa.prototype.sibling=function(){return new Sa(this.parent,this.base)};var Ca=function(e){this.parser=e,this.validFlags=`gim`+(e.options.ecmaVersion>=6?`uy`:``)+(e.options.ecmaVersion>=9?`s`:``)+(e.options.ecmaVersion>=13?`d`:``)+(e.options.ecmaVersion>=15?`v`:``),this.unicodeProperties=_a[e.options.ecmaVersion>=14?14:e.options.ecmaVersion],this.source=``,this.flags=``,this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue=``,this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};Ca.prototype.reset=function(e,t,n){var r=n.indexOf(`v`)!==-1,i=n.indexOf(`u`)!==-1;this.start=e|0,this.source=t+``,this.flags=n,r&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=i&&this.parser.options.ecmaVersion>=9)},Ca.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,`Invalid regular expression: /`+this.source+`/: `+e)},Ca.prototype.at=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return-1;var i=n.charCodeAt(e);if(!(t||this.switchU)||i<=55295||i>=57344||e+1>=r)return i;var a=n.charCodeAt(e+1);return a>=56320&&a<=57343?(i<<10)+a-56613888:i},Ca.prototype.nextIndex=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return r;var i=n.charCodeAt(e),a;return!(t||this.switchU)||i<=55295||i>=57344||e+1>=r||(a=n.charCodeAt(e+1))<56320||a>57343?e+1:e+2},Ca.prototype.current=function(e){return e===void 0&&(e=!1),this.at(this.pos,e)},Ca.prototype.lookahead=function(e){return e===void 0&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Ca.prototype.advance=function(e){e===void 0&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Ca.prototype.eat=function(e,t){return t===void 0&&(t=!1),this.current(t)===e?(this.advance(t),!0):!1},Ca.prototype.eatChars=function(e,t){t===void 0&&(t=!1);for(var n=this.pos,r=0,i=e;r<i.length;r+=1){var a=i[r],o=this.at(n,t);if(o===-1||o!==a)return!1;n=this.nextIndex(n,t)}return this.pos=n,!0},U.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,r=!1,i=!1,a=0;a<n.length;a++){var o=n.charAt(a);t.indexOf(o)===-1&&this.raise(e.start,`Invalid regular expression flag`),n.indexOf(o,a+1)>-1&&this.raise(e.start,`Duplicate regular expression flag`),o===`u`&&(r=!0),o===`v`&&(i=!0)}this.options.ecmaVersion>=15&&r&&i&&this.raise(e.start,`Invalid regular expression flag`)};function wa(e){for(var t in e)return!0;return!1}U.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&wa(e.groupNames)&&(e.switchN=!0,this.regexp_pattern(e))},U.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue=``,e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames=Object.create(null),e.backReferenceNames.length=0,e.branchID=null,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise(`Unmatched ')'`),(e.eat(93)||e.eat(125))&&e.raise(`Lone quantifier brackets`)),e.maxBackReference>e.numCapturingParens&&e.raise(`Invalid escape`);for(var t=0,n=e.backReferenceNames;t<n.length;t+=1){var r=n[t];e.groupNames[r]||e.raise(`Invalid named capture referenced`)}},U.regexp_disjunction=function(e){var t=this.options.ecmaVersion>=16;for(t&&(e.branchID=new Sa(e.branchID,null)),this.regexp_alternative(e);e.eat(124);)t&&(e.branchID=e.branchID.sibling()),this.regexp_alternative(e);t&&(e.branchID=e.branchID.parent),this.regexp_eatQuantifier(e,!0)&&e.raise(`Nothing to repeat`),e.eat(123)&&e.raise(`Lone quantifier brackets`)},U.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},U.regexp_eatTerm=function(e){return this.regexp_eatAssertion(e)?(e.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(e)&&e.switchU&&e.raise(`Invalid quantifier`),!0):(e.switchU?this.regexp_eatAtom(e):this.regexp_eatExtendedAtom(e))?(this.regexp_eatQuantifier(e),!0):!1},U.regexp_eatAssertion=function(e){var t=e.pos;if(e.lastAssertionIsQuantifiable=!1,e.eat(94)||e.eat(36))return!0;if(e.eat(92)){if(e.eat(66)||e.eat(98))return!0;e.pos=t}if(e.eat(40)&&e.eat(63)){var n=!1;if(this.options.ecmaVersion>=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise(`Unterminated group`),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},U.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},U.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},U.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var r=0,i=-1;if(this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue),e.eat(125)))return i!==-1&&i<r&&!t&&e.raise(`numbers out of order in {} quantifier`),!0;e.switchU&&!t&&e.raise(`Incomplete quantifier`),e.pos=n}return!1},U.regexp_eatAtom=function(e){return this.regexp_eatPatternCharacters(e)||e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)},U.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},U.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)){if(this.options.ecmaVersion>=16){var n=this.regexp_eatModifiers(e),r=e.eat(45);if(n||r){for(var i=0;i<n.length;i++){var a=n.charAt(i);n.indexOf(a,i+1)>-1&&e.raise(`Duplicate regular expression modifiers`)}if(r){var o=this.regexp_eatModifiers(e);!n&&!o&&e.current()===58&&e.raise(`Invalid regular expression modifiers`);for(var s=0;s<o.length;s++){var c=o.charAt(s);(o.indexOf(c,s+1)>-1||n.indexOf(c)>-1)&&e.raise(`Duplicate regular expression modifiers`)}}}}if(e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise(`Unterminated group`)}}e.pos=t}return!1},U.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise(`Invalid group`),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise(`Unterminated group`)}return!1},U.regexp_eatModifiers=function(e){for(var t=``,n=0;(n=e.current())!==-1&&Ta(n);)t+=$r(n),e.advance();return t};function Ta(e){return e===105||e===109||e===115}U.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},U.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise(`Nothing to repeat`),!1},U.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Ea(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Ea(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}U.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;(n=e.current())!==-1&&!Ea(n);)e.advance();return e.pos!==t},U.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},U.regexp_groupSpecifier=function(e){if(e.eat(63)){this.regexp_eatGroupName(e)||e.raise(`Invalid group`);var t=this.options.ecmaVersion>=16,n=e.groupNames[e.lastStringValue];if(n)if(t)for(var r=0,i=n;r<i.length;r+=1)i[r].separatedFrom(e.branchID)||e.raise(`Duplicate capture group name`);else e.raise(`Duplicate capture group name`);t?(n||(e.groupNames[e.lastStringValue]=[])).push(e.branchID):e.groupNames[e.lastStringValue]=!0}},U.regexp_eatGroupName=function(e){if(e.lastStringValue=``,e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise(`Invalid capture group name`)}return!1},U.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue=``,this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=$r(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=$r(e.lastIntValue);return!0}return!1},U.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Da(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Da(e){return Pr(e,!0)||e===36||e===95}U.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Oa(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Oa(e){return Fr(e,!0)||e===36||e===95||e===8204||e===8205}U.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise(`Invalid unicode escape`),e.raise(`Invalid escape`)),!1)},U.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},U.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise(`Invalid named reference`)}return!1},U.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},U.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},U.regexp_eatZero=function(e){return e.current()===48&&!Ba(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},U.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},U.regexp_eatControlLetter=function(e){var t=e.current();return ka(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function ka(e){return e>=65&&e<=90||e>=97&&e<=122}U.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var n=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(r&&i>=55296&&i<=56319){var a=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var o=e.lastIntValue;if(o>=56320&&o<=57343)return e.lastIntValue=(i-55296)*1024+(o-56320)+65536,!0}e.pos=a,e.lastIntValue=i}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Aa(e.lastIntValue))return!0;r&&e.raise(`Invalid unicode escape`),e.pos=n}return!1};function Aa(e){return e>=0&&e<=1114111}U.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},U.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};var ja=0,Ma=1,Na=2;U.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Pa(t))return e.lastIntValue=-1,e.advance(),Ma;var n=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((n=t===80)||t===112)){e.lastIntValue=-1,e.advance();var r;if(e.eat(123)&&(r=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return n&&r===Na&&e.raise(`Invalid property name`),r;e.raise(`Invalid property name`)}return ja};function Pa(e){return e===100||e===68||e===115||e===83||e===119||e===87}U.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,r),Ma}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,i)}return ja},U.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){Yr(e.unicodeProperties.nonBinary,t)||e.raise(`Invalid property name`),e.unicodeProperties.nonBinary[t].test(n)||e.raise(`Invalid property value`)},U.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return Ma;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return Na;e.raise(`Invalid property name`)},U.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue=``;Fa(t=e.current());)e.lastStringValue+=$r(t),e.advance();return e.lastStringValue!==``};function Fa(e){return ka(e)||e===95}U.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue=``;Ia(t=e.current());)e.lastStringValue+=$r(t),e.advance();return e.lastStringValue!==``};function Ia(e){return Fa(e)||Ba(e)}U.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},U.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),n=this.regexp_classContents(e);return e.eat(93)||e.raise(`Unterminated character class`),t&&n===Na&&e.raise(`Negated character class may contain strings`),!0}return!1},U.regexp_classContents=function(e){return e.current()===93?Ma:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),Ma)},U.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;e.switchU&&(t===-1||n===-1)&&e.raise(`Invalid character class`),t!==-1&&n!==-1&&t>n&&e.raise(`Range out of order in character class`)}}},U.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(n===99||Ua(n))&&e.raise(`Invalid class escape`),e.raise(`Invalid escape`)}e.pos=t}var r=e.current();return r===93?!1:(e.lastIntValue=r,e.advance(),!0)},U.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},U.regexp_classSetExpression=function(e){var t=Ma,n;if(!this.regexp_eatClassSetRange(e))if(n=this.regexp_eatClassSetOperand(e)){n===Na&&(t=Na);for(var r=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(n=this.regexp_eatClassSetOperand(e))){n!==Na&&(t=Ma);continue}e.raise(`Invalid character in character class`)}if(r!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise(`Invalid character in character class`);if(r!==e.pos)return t}else e.raise(`Invalid character in character class`);for(;;)if(!this.regexp_eatClassSetRange(e)){if(n=this.regexp_eatClassSetOperand(e),!n)return t;n===Na&&(t=Na)}},U.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var n=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var r=e.lastIntValue;return n!==-1&&r!==-1&&n>r&&e.raise(`Range out of order in character class`),!0}e.pos=t}return!1},U.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?Ma:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},U.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var n=e.eat(94),r=this.regexp_classContents(e);if(e.eat(93))return n&&r===Na&&e.raise(`Negated character class may contain strings`),r;e.pos=t}if(e.eat(92)){var i=this.regexp_eatCharacterClassEscape(e);if(i)return i;e.pos=t}return null},U.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var n=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return n}else e.raise(`Invalid escape`);e.pos=t}return null},U.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===Na&&(t=Na);return t},U.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?Ma:Na},U.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var n=e.current();return n<0||n===e.lookahead()&&La(n)||Ra(n)?!1:(e.advance(),e.lastIntValue=n,!0)};function La(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function Ra(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}U.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return za(t)?(e.lastIntValue=t,e.advance(),!0):!1};function za(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}U.regexp_eatClassControlLetter=function(e){var t=e.current();return Ba(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},U.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise(`Invalid escape`),e.pos=t}return!1},U.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Ba(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t};function Ba(e){return e>=48&&e<=57}U.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Va(n=e.current());)e.lastIntValue=16*e.lastIntValue+Ha(n),e.advance();return e.pos!==t};function Va(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Ha(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}U.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+n*8+e.lastIntValue:e.lastIntValue=t*8+n}else e.lastIntValue=t;return!0}return!1},U.regexp_eatOctalDigit=function(e){var t=e.current();return Ua(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function Ua(e){return e>=48&&e<=55}U.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var r=0;r<t;++r){var i=e.current();if(!Va(i))return e.pos=n,!1;e.lastIntValue=16*e.lastIntValue+Ha(i),e.advance()}return!0};var Wa=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new ni(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},W=Di.prototype;W.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword `+this.type.keyword),this.options.onToken&&this.options.onToken(new Wa(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},W.getToken=function(){return this.next(),new Wa(this)},typeof Symbol<`u`&&(W[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===z.eof,value:t}}}}),W.nextToken=function(){var e=this.curContext();if((!e||!e.preserveSpace)&&this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length)return this.finishToken(z.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},W.readToken=function(e){return Pr(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},W.fullCharCodeAt=function(e){var t=this.input.charCodeAt(e);if(t<=55295||t>=56320)return t;var n=this.input.charCodeAt(e+1);return n<=56319||n>=57344?t:(t<<10)+n-56613888},W.fullCharCodeAtPos=function(){return this.fullCharCodeAt(this.pos)},W.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf(`*/`,this.pos+=2);if(n===-1&&this.raise(this.pos-2,`Unterminated comment`),this.pos=n+2,this.options.locations)for(var r=void 0,i=t;(r=Ur(this.input,i,this.pos))>-1;)++this.curLine,i=this.lineStart=r;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,n),t,this.pos,e,this.curPosition())},W.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!Hr(r);)r=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,n,this.curPosition())},W.skipSpace=function(){loop:for(;this.pos<this.input.length;){var e=this.input.charCodeAt(this.pos);switch(e){case 32:case 160:++this.pos;break;case 13:this.input.charCodeAt(this.pos+1)===10&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break loop}break;default:if(e>8&&e<14||e>=5760&&Wr.test(String.fromCharCode(e)))++this.pos;else break loop}}},W.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},W.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(z.ellipsis)):(++this.pos,this.finishToken(z.dot))},W.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(z.assign,2):this.finishOp(z.slash,1)},W.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=e===42?z.star:z.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++n,r=z.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(z.assign,n+1):this.finishOp(r,n)},W.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.options.ecmaVersion>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(z.assign,3):this.finishOp(e===124?z.logicalOR:z.logicalAND,2):t===61?this.finishOp(z.assign,2):this.finishOp(e===124?z.bitwiseOR:z.bitwiseAND,1)},W.readToken_caret=function(){return this.input.charCodeAt(this.pos+1)===61?this.finishOp(z.assign,2):this.finishOp(z.bitwiseXOR,1)},W.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||Br.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(z.incDec,2):t===61?this.finishOp(z.assign,2):this.finishOp(z.plusMin,1)},W.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+n)===61?this.finishOp(z.assign,n+1):this.finishOp(z.bitShift,n)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(n=2),this.finishOp(z.relational,n))},W.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(z.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(z.arrow)):this.finishOp(e===61?z.eq:z.prefix,1)},W.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57)return this.finishOp(z.questionDot,2)}if(t===63)return e>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(z.assign,3):this.finishOp(z.coalesce,2)}return this.finishOp(z.question,1)},W.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),Pr(t,!0)||t===92))return this.finishToken(z.privateId,this.readWord1());this.raise(this.pos,`Unexpected character '`+$r(t)+`'`)},W.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(z.parenL);case 41:return++this.pos,this.finishToken(z.parenR);case 59:return++this.pos,this.finishToken(z.semi);case 44:return++this.pos,this.finishToken(z.comma);case 91:return++this.pos,this.finishToken(z.bracketL);case 93:return++this.pos,this.finishToken(z.bracketR);case 123:return++this.pos,this.finishToken(z.braceL);case 125:return++this.pos,this.finishToken(z.braceR);case 58:return++this.pos,this.finishToken(z.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(z.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(z.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,`Unexpected character '`+$r(e)+`'`)},W.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},W.readRegexp=function(){for(var e,t,n=this.pos;;){this.pos>=this.input.length&&this.raise(n,`Unterminated regular expression`);var r=this.input.charAt(this.pos);if(Br.test(r)&&this.raise(n,`Unterminated regular expression`),e)e=!1;else{if(r===`[`)t=!0;else if(r===`]`&&t)t=!1;else if(r===`/`&&!t)break;e=r===`\\\\`}++this.pos}var i=this.input.slice(n,this.pos);++this.pos;var a=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(a);var s=this.regexpState||(this.regexpState=new Ca(this));s.reset(n,i,o),this.validateRegExpFlags(s),this.validateRegExpPattern(s);var c=null;try{c=new RegExp(i,o)}catch{}return this.finishToken(z.regexp,{pattern:i,flags:o,value:c})},W.readInt=function(e,t,n){for(var r=this.options.ecmaVersion>=12&&t===void 0,i=n&&this.input.charCodeAt(this.pos)===48,a=this.pos,o=0,s=0,c=0,l=t??1/0;c<l;++c,++this.pos){var u=this.input.charCodeAt(this.pos),d=void 0;if(r&&u===95){i&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed in legacy octal numeric literals`),s===95&&this.raiseRecoverable(this.pos,`Numeric separator must be exactly one underscore`),c===0&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed at the first of digits`),s=u;continue}if(d=u>=97?u-97+10:u>=65?u-65+10:u>=48&&u<=57?u-48:1/0,d>=e)break;s=u,o=o*e+d}return r&&s===95&&this.raiseRecoverable(this.pos-1,`Numeric separator is not allowed at the last of digits`),this.pos===a||t!=null&&this.pos-a!==t?null:o};function Ga(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,``))}function Ka(e){return typeof BigInt==`function`?BigInt(e.replace(/_/g,``)):null}W.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);return n??this.raise(this.start+2,`Expected number in radix `+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(n=Ka(this.input.slice(t,this.pos)),++this.pos):Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(z.num,n)},W.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,`Invalid number`);var n=this.pos-t>=2&&this.input.charCodeAt(t)===48;n&&this.strict&&this.raise(t,`Invalid number`);var r=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&r===110){var i=Ka(this.input.slice(t,this.pos));return++this.pos,Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(z.num,i)}n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1),r===46&&!n&&(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),(r===69||r===101)&&!n&&(r=this.input.charCodeAt(++this.pos),(r===43||r===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,`Invalid number`)),Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`);var a=Ga(this.input.slice(t,this.pos),n);return this.finishToken(z.num,a)},W.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var n=++this.pos;t=this.readHexChar(this.input.indexOf(`}`,this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(n,`Code point out of bounds`)}else t=this.readHexChar(4);return t},W.readString=function(e){for(var t=``,n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated string constant`);var r=this.input.charCodeAt(this.pos);if(r===e)break;r===92?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):r===8232||r===8233?(this.options.ecmaVersion<10&&this.raise(this.start,`Unterminated string constant`),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(Hr(r)&&this.raise(this.start,`Unterminated string constant`),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(z.string,t)};var qa={};W.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===qa)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},W.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw qa;this.raise(e,t)},W.readTmplToken=function(){for(var e=``,t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated template`);var n=this.input.charCodeAt(this.pos);if(n===96||n===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===z.template||this.type===z.invalidTemplate)?n===36?(this.pos+=2,this.finishToken(z.dollarBraceL)):(++this.pos,this.finishToken(z.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(z.template,e));if(n===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Hr(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`\n`;break;default:e+=String.fromCharCode(n);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else ++this.pos}},W.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case`\\\\`:++this.pos;break;case`$`:if(this.input[this.pos+1]!==`{`)break;case\"`\":return this.finishToken(z.invalidTemplate,this.input.slice(this.start,this.pos));case`\\r`:this.input[this.pos+1]===`\n`&&++this.pos;case`\n`:case`\\u2028`:case`\\u2029`:++this.curLine,this.lineStart=this.pos+1;break}this.raise(this.start,`Unterminated template`)},W.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return`\n`;case 114:return`\\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return $r(this.readCodePoint());case 116:return`\t`;case 98:return`\\b`;case 118:return`\\v`;case 102:return`\\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),e){var n=this.pos-1;this.invalidStringToken(n,`Invalid escape sequence in template string`)}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),(r!==`0`||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-r.length,e?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(i)}return Hr(t)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(t)}},W.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return n===null&&this.invalidStringToken(t,`Bad character escape sequence`),n},W.readWord1=function(){this.containsEsc=!1;for(var e=``,t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(Fr(i,r))this.pos+=i<=65535?1:2;else if(i===92){this.containsEsc=!0,e+=this.input.slice(n,this.pos);var a=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\\\uXXXX`),++this.pos;var o=this.readCodePoint();(t?Pr:Fr)(o,r)||this.invalidStringToken(a,`Invalid Unicode escape`),e+=$r(o),n=this.pos}else break;t=!1}return e+this.input.slice(n,this.pos)},W.readWord=function(){var e=this.readWord1(),t=z.name;return this.keywords.test(e)&&(t=zr[e]),this.finishToken(t,e)},Di.acorn={Parser:Di,version:`8.19.0`,defaultOptions:ii,Position:ti,SourceLocation:ni,getLineInfo:ri,Node:Xi,TokenType:L,tokTypes:z,keywordTypes:zr,TokContext:Hi,tokContexts:V,isIdentifierChar:Fr,isIdentifierStart:Pr,Token:Wa,isNewLine:Hr,lineBreak:Br,lineBreakG:Vr,nonASCIIwhitespace:Wr};var Ja={ecmaVersion:`latest`,sourceType:`script`,allowReturnOutsideFunction:!0},Ya=/\\w+(?![\\p{ID_Continue}$\\u200c\\u200d])/uy,Xa=/[A-Za-z_]\\w*(?![\\p{ID_Continue}$\\u200c\\u200d])/uy,Za=/^[$_]\\w+$/,Qa=/[\\n\\r\\u2028\\u2029]/,$a=/\\s*(?:[;},:)]|=(?![=>]))/y;function eo(e,t){return $a.lastIndex=t,$a.test(e)}var to=new Set([z.name,z.num,z.string,z.regexp,z.backQuote,z.bracketR,z.braceR,z.parenR,z.incDec,z._this,z._null,z._true,z._false]),no=class extends Di{constructor(...e){super(...e),this.operandBeforeLast=!0,this.operandHere=!0,this.breakBeforeLast=!1,this.breakHere=!1,this.ternaries=[],this.colonEndsTernary=!1,this.closedBlock=!1,this.lookahead=!0}readToken(e){let t=this;if(t.lastTokEnd=t.end,this.operandBeforeLast=this.operandHere,this.operandHere=t.exprAllowed,this.breakBeforeLast=this.breakHere,this.breakHere=Qa.test(t.input.slice(t.end,t.pos)),e===64||e===37){let n=t.pos,r=e===64?Ya:Xa;r.lastIndex=n+1;let i=r.exec(t.input)?.[0];if(i){let r=n+1+i.length,a=t.type===z.incDec&&(this.operandBeforeLast||this.breakBeforeLast),o=e===37?this.percentAt?.get(n):void 0;if(e===64||(o??(t.exprAllowed||a||this.lookahead&&ro(t,r)))){e===37&&this.transientsRead?.add(n),t.pos=r,t.finishToken(z.name,t.input.charAt(n)+i);return}}}super.readToken(e)}finishToken(e,t){let{context:n}=this,r=n.length;if(e===z.braceR){let e=n[r-1];this.closedBlock=e.token===`{`&&!e.isExpr}else if(e===z.question)this.ternaries[r]=(this.ternaries[r]??0)+1;else if(e===z.colon){let e=this.ternaries[r]??0;this.colonEndsTernary=e>0,e>0&&(this.ternaries[r]=e-1)}let i=this,a=i.type;this.prevValue=i.value;let o=e.keyword!==void 0&&(a===z.dot||a===z.questionDot)||(e===z._function||e===z._class)&&eo(i.input,i.pos);super.finishToken(o?z.name:e,t),e===z.name&&t===`of`&&(a===z._const||a===z._var||this.prevValue===`let`)&&(i.exprAllowed=!1)}braceIsBlock(e){if(e===z.colon&&this.colonEndsTernary)return!1;if(e===z.braceR&&this.closedBlock||e===z.name&&this.prevValue===`static`)return!0;if(this.breakHere&&to.has(e)){let{context:e}=this,t=e[e.length-1];if(t.token===`{`&&!t.isExpr)return!0}return super.braceIsBlock(e)}};function ro(e,t){if(!Qa.test(e.input.slice(e.end,e.pos)))return!1;let n=oo(e.input,t,`statements`,{afterOperand:!0});n.lookahead=!1;let r=0;try{for(;;){n.nextToken();let e=n.type;if(e===z.eof)return!1;if(r>0)io.has(e)?r++:ao.has(e)&&r--;else if(e===z.bracketL)r=1;else if(e===z.dot){if(n.nextToken(),n.type!==z.name&&!n.type.keyword)return!1}else return e===z.eq||e===z.assign}}catch{return!1}}var io=new Set([z.parenL,z.bracketL,z.braceL,z.dollarBraceL]),ao=new Set([z.parenR,z.bracketR,z.braceR]);function oo(e,t,n,{onComment:r,afterOperand:i=!1}={}){let a=new no(r?{...Ja,onComment:r}:Ja,e,t);return n===`expression`&&(a.type=z.parenL),i&&(a.exprAllowed=!1),a}var so=class extends SyntaxError{constructor(e,t,n,r){super(`${e} ${uo(t,n)}`+co(r,e=>lo(t,e))),this.reason=e,this.source=t,this.pos=n,this.bracket=r,this.name=`SyntaxError`}reasonIn(e,t){return this.reason+co(this.bracket,n=>{let{line:r,column:i}=ri(e,t+n);return`at line ${r}, column ${i+1}`})}};function co(e,t){return e?` (missing \"${e.closer}\" for the \"${e.open}\" ${t(e.pos)})`:``}function lo(e,t){let{line:n,column:r}=ri(e,t);return Qa.test(e)?`at line ${n}, column ${r+1}`:`at column ${r+1}`}function uo(e,t){let{column:n}=ri(e,t),r=t-n,i=e.slice(r).search(Qa),a=i<0?e.length:r+i,o=Math.max(r,t-30),s=Math.min(a,t+30),c=(o>r?`…`:``)+e.slice(o,t)+`▶`+e.slice(t,s)+(s<a?`…`:``);return`${lo(e,t)}: ${c.trim()}`}var fo=e=>e[e.length-1],po={\"(\":`)`,\"[\":`]`,\"{\":`}`,\"${\":`}`};function mo(e,t){if(!(t instanceof SyntaxError)||!(`pos`in t))throw t;let n=t.pos,r=t.message.replace(/ \\(\\d+:\\d+\\)$/,``),{open:i,token:a}=ho(e,n),o=n>=e.length||a===``,s=!1;r===`Unexpected token`?(r=o?`Unexpected end of code`:`Unexpected \"${a}\"`,s=!!i&&po[i.text]!==a&&(o||[`)`,`]`,`}`,`;`,`{`].includes(a))):r.startsWith(`Unterminated template`)&&(s=i?.text===\"${\");let c=s&&i?{open:i.text,closer:po[i.text],pos:i.pos}:void 0;return new so(r,e,n,c)}function ho(e,t){let n=[];for(let r of ko(e,0,`statements`)){if(`error`in r)break;if(r.start>=t||r.type===z.eof)return{open:fo(n),token:e.slice(r.start,r.end)};let i=e.slice(r.start,r.end);i in po?n.push({text:i,pos:r.start}):n.length&&po[fo(n).text]===i&&n.pop()}return{open:fo(n),token:e.charAt(t)}}function go(e,t=`expression`){let n=new Map;for(;;){let r=new Set;try{let i=_o(e,t,n,r),a={refs:[],strings:[]};return So(i,e,a,!1,!1),a.refs.sort((e,t)=>e.start-t.start),a}catch(t){let i=t.pos??-1;if(!(t instanceof SyntaxError)||n.has(i)||(Xa.lastIndex=i+1,e.charAt(i)!==`%`||!Xa.test(e)))throw t;n.set(i,!r.has(i))}}}function _o(e,t,n,r){try{let i=oo(e,0,t);if(i.percentAt=n,i.transientsRead=r,t===`statements`)return i.parse();i.nextToken();let a=i.parseExpression();if(i.type!==z.eof)throw Object.assign(SyntaxError(`Unexpected token`),{pos:i.start});return a}catch(t){throw mo(e,t)}}var vo=e=>typeof e==`object`&&!!e&&typeof e.type==`string`,yo={$:`story`,_:`temporary`,\"@\":`local`,\"%\":`transient`};function bo(e,t){let n=e.name,r=t.charAt(e.start);return r===n.charAt(0)&&(r===`@`||r===`%`||(r===`$`||r===`_`)&&Za.test(n))?[r,n.slice(1)]:null}function xo(e,t){if(!vo(e)||e.type!==`Identifier`)return;let n=t.charAt(e.start);if(n===`@`||n===`%`)throw new so(`\"${e.name}\" can't be a property name`,t,e.start)}function So(e,t,n,r,i){if(Array.isArray(e)){for(let i of e)So(i,t,n,r,!1);return}if(!vo(e))return;let a=(e,r=!1,i=!1)=>So(e,t,n,r,i);switch(e.type){case`Identifier`:{let a=bo(e,t);if(!a)return;if(r)throw new so(`\"${e.name}\" is a ${yo[a[0]]} variable and can't be declared`,t,e.start);n.refs.push({sigil:a[0],name:a[1],start:e.start,end:e.end,shorthand:i});return}case`Literal`:typeof e.value==`string`&&n.strings.push(t.slice(e.start+1,e.end-1));return;case`TemplateElement`:n.strings.push(e.value.raw);return;case`MemberExpression`:a(e.object),e.computed?a(e.property):xo(e.property,t);return;case`Property`:if(e.computed?a(e.key):e.shorthand||xo(e.key,t),e.shorthand){let t=e.value;t.type===`AssignmentPattern`?(a(t.left,r,!0),a(t.right)):a(t,r,!0)}else a(e.value,r);return;case`MethodDefinition`:case`PropertyDefinition`:e.computed?a(e.key):xo(e.key,t),a(e.value);return;case`LabeledStatement`:a(e.body);return;case`BreakStatement`:case`ContinueStatement`:case`MetaProperty`:case`PrivateIdentifier`:return;case`VariableDeclarator`:a(e.id,!0),a(e.init);return;case`FunctionDeclaration`:case`FunctionExpression`:case`ArrowFunctionExpression`:a(e.id,!0);for(let t of e.params)a(t,!0);a(e.body);return;case`ClassDeclaration`:case`ClassExpression`:a(e.id,!0),a(e.superClass),a(e.body);return;case`CatchClause`:a(e.param,!0),a(e.body);return;case`AssignmentPattern`:a(e.left,r),a(e.right);return;case`ObjectPattern`:case`ArrayPattern`:case`RestElement`:for(let t of[`properties`,`elements`,`argument`])a(e[t],r);return;default:for(let t in e){if(t===`type`||t===`start`||t===`end`)continue;let n=e[t];typeof n==`object`&&n&&a(n)}}}var Co=/[\\p{ID_Continue}$.]*/uy,wo=/[\\p{ID_Continue}$]*/uy,To=new Set([`of`,`get`,`set`,`static`,`async`]);function Eo(e,t,{goal:n=`expression`,stop:r}={}){let i=Oo(e,t,n,r);return i<0&&!r?Do(e,t,n):i}function Do(e,t,n){let r=oo(e,t,n);try{if(n===`statements`)r.parse();else if(r.nextToken(),r.parseExpression(),r.type===z.braceR)return r.start}catch(t){let n=t.pos??-1;if(e.charAt(n)===`}`)return n}return-1}function Oo(e,t,n,r){let i=[],a=-1,o=!1,s=t,c=!1,l=!1;for(;;){let t=-1;for(let u of ko(e,s,n,{afterOperand:c})){if(`error`in u){let{message:n}=u.error,a=i.includes(\"${\");if(!/^Unterminated/.test(n)&&!a){if(t=Math.max(u.pos,s)+1,c=!1,t>=e.length)return-1;break}let o=i.lastIndexOf(\"${\");if(!/^Unterminated template/.test(n)||o<0||l||r)return-1;l=!0,i.length=o,t=u.pos,c=!0;break}if(u.restarted&&i.includes(\"${\"))return-1;let n=u.type;if(n===z.eof||n===z.string&&o&&u.start===a)return-1;if(o=n===z.name&&!To.has(u.value)||n===z.num,a=u.end,n===z.braceL){if(r?.(u.start))return u.start;i.push(`{`)}else if(n===z.dollarBraceL)i.push(\"${\");else if(n===z.parenL)i.push(`(`);else if(n===z.bracketL)i.push(`[`);else if(n===z.parenR||n===z.bracketR)fo(i)===(n===z.parenR?`(`:`[`)&&i.pop();else if(n===z.braceR){let e=Math.max(i.lastIndexOf(`{`),i.lastIndexOf(\"${\"));if(e>=0)i.length=e;else if(!r)return u.start}}s=t,o=!1}}function*ko(e,t,n,r={}){let i=oo(e,t,n,r);for(;;){try{i.nextToken()}catch(t){let n=Math.min(t.pos??i.pos,e.length),a=t.message,o=(t,n,a)=>(i=oo(e,a,`statements`,{onComment:r.onComment,afterOperand:!0}),{type:t,start:n,end:a,value:void 0,restarted:!0}),s=e.charAt(i.start),c=/^Unterminated/.test(a);if(/^Unterminated string/.test(a)){let{end:t,closed:r}=Io(e,n);if(r){yield o(z.string,n,t);continue}}else if(!c&&i.start<=n&&(s===`\"`||s===`'`)){let{end:t,closed:n}=Io(e,i.start);if(n){yield o(z.string,i.start,t);continue}}else if(!c&&i.start<=n&&s===`/`){let t=Po(e,i.start);if(t>0){yield o(z.regexp,i.start,t);continue}}else if(!c&&i.start<=n&&/[\\d.]/.test(s)&&/\\d/.test(e.slice(i.start,i.start+2))){Co.lastIndex=i.start,Co.test(e),yield o(z.num,i.start,Co.lastIndex);continue}yield{error:t,pos:n};return}if(yield{type:i.type,start:i.start,end:i.end,value:i.value},i.type===z.eof)return}}function Ao(e,t,n=`expression`){return jo(e,0,t,0,n,!1)}function jo(e,t,n,r,i,a){let o=[],s=(e,t,n,r)=>{o.push([n,r])},c=(t,i)=>{for(let a=t;a<i;a++)n.code?.(e.charAt(a),a,r)},l=(t,i)=>{i>t&&n.literal?.(e.slice(t,i),t,r)},u=(e,t)=>{for(let[n,r]of o)r<=e||n>=t||(c(e,n),l(n,r),e=r);o.length=0,c(e,t)},d=[],f=0,p=ko(e,t,i,{onComment:s}),m=t,h;for(;;){let t=p.next().value;if(`error`in t){let n=Math.max(m,t.pos);if(u(m,n),n>=e.length)return e.length;if(/^Unterminated/.test(t.error.message))return l(n,e.length),e.length;c(n,n+1),m=n+1,p=ko(e,m,i,{onComment:s}),h=void 0;continue}let o=t.type;if(o===z.eof)return u(m,e.length),e.length;if(u(m,t.start),o===z.name){let i=Mo(e,t.start,t.value),a=h===z.dot||h===z.questionDot||(i===`$`||i===`_`)&&No(e,t.end,h);i&&!a?n.variable?.(i,e.slice(t.start+1,t.end),t.start,r):c(t.start,t.end)}else if(o===z.string||o===z.regexp||o===z.template||o===z.invalidTemplate)l(t.start,t.end);else if(o===z.backQuote)if(l(t.start,t.end),h===z.template||h===z.invalidTemplate){if(f--,a&&f===0)return t.end}else f++;else o===z.dollarBraceL?(l(t.start,t.end),d.push(\"${\"),r++):o===z.braceR&&fo(d)===\"${\"?(d.pop(),r--,l(t.start,t.end)):(o===z.braceL||o===z.parenL||o===z.bracketL?d.push(e.charAt(t.start)):(o===z.braceR||o===z.parenR||o===z.bracketR)&&d.length&&fo(d)!==\"${\"&&d.pop(),c(t.start,t.end));h=o,m=t.end}}function Mo(e,t,n){let r=e.charAt(t);return(r===`@`||r===`%`)&&n.charAt(0)===r||(r===`$`||r===`_`)&&Za.test(n)?r:null}function No(e,t,n){if(n!==z.braceL&&n!==z.comma)return!1;let r=/\\S/g;r.lastIndex=t;let i=r.exec(e)?.[0];return i===`:`||i===`(`}function Po(e,t){let n=!1;for(let r=t+1;r<e.length;r++){let t=e.charAt(r);if(Qa.test(t))return-1;if(t===`\\\\`)r++;else if(t===`[`)n=!0;else if(t===`]`)n=!1;else if(t===`/`&&!n)return wo.lastIndex=r+1,wo.test(e),wo.lastIndex}return-1}function Fo(e){if(e[0]!==`\"`&&e[0]!==`'`)return null;try{let t=oo(e,0,`expression`);return t.nextToken(),t.type===z.string&&t.end===e.length?t.value:null}catch{return null}}function Io(e,t){let n=e.charAt(t),r=t+1;for(;r<e.length;){let t=e.charAt(r);if(t===`\\\\`)r+=2;else if(t===n)return{end:r+1,closed:!0};else r++}return{end:e.length,closed:!1}}var Lo=/[\\p{L}\\p{N}_\\\\]/u;function Ro(e,t){let n=e[t],r=n===\"`\";for(let i=t+1;i<e.length;){let t=e[i];if(t===`\\\\`)i+=2;else if(t===n)return i+1;else if(!r&&t===`\n`)return-1;else if(r&&t===`$`&&e[i+1]===`{`){let t=zo(e,i+2);if(t===-1)return-1;i=t+1}else i++}return-1}function zo(e,t){Bo!==e&&(Bo=e,Vo.clear());let n=Vo.get(t);return n===void 0&&(n=Ho(e,t),Vo.set(t,n)),n}var Bo=``,Vo=new Map;function Ho(e,t){let n=0;for(;t<e.length;){let r=e[t];if(r===`{`)n++,t++;else if(r===`}`){if(n===0)return t;n--,t++}else if(r===\"`\"||(r===`\"`||r===`'`)&&!(t>0&&Lo.test(e[t-1]))){let n=Ro(e,t);t=n===-1?t+1:n}else t++}return-1}var Uo={closeBrace(e,t,n){let r=Eo(e,t);return r===-1?zo(e,n):r},rawBodyEnd(e,t,n){let r=`\\\\{/${n}\\\\s*\\\\}`,i=new RegExp(r,`gi`);i.lastIndex=t;let a=i.exec(e)?.index??-1;if(a===-1)return-1;let o=new RegExp(r,`iy`),s=Eo(e,t,{goal:`statements`,stop:t=>(o.lastIndex=t,o.test(e))});return s===-1?a:s}};function Wo(e){let t=e.toLowerCase();return t.startsWith(`on`)||t===`pattern`||t===`srcdoc`}function Go(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`{`,r);if(i===-1){n+=e.slice(r);break}n+=e.slice(r,i),r=i+1;let a=qn(e[r])?Uo.closeBrace(e,r,r):-1;if(a===-1){n+=`{`;continue}n&&t.push({text:n}),n=``;let o=e.slice(r,a);t.push(/^.\\w/.test(o)?{expr:o}:{verbatim:`{${o}}`}),r=a+1}return n&&t.push({text:n}),t}var Ko=new Set([`do`]),qo={...Uo,isBlock:xr,isRaw:e=>Ko.has(e),isCodeAttribute:Wo},Jo=class extends Error{constructor(e,t,n,r){super(`${e} (line ${n}, column ${r})`),this.reason=e,this.offset=t,this.line=n,this.column=r,this.name=`MarkupError`}};function Yo(e,t){let n=1,r=0;for(let i=e.indexOf(`\n`);i!==-1&&i<t;)n++,r=i+1,i=e.indexOf(`\n`,r);return{line:n,column:t-r+1}}function Xo(e,t,n){let r=n.hooks?{...qo,...n.hooks}:qo;try{return _r(e,{startRule:t,text:n.text===!0,hooks:r})}catch(t){let n=t.location;if(t instanceof Error&&t.name===`SyntaxError`&&n){let{offset:r}=n.start,{line:i,column:a}=Yo(e,r);throw new Jo(t.message,r,i,a)}throw t}}function Zo(e,t={}){return Xo(e,`Markup`,t)}function Qo(e,t={}){return Xo(e,`Tokens`,t)}var $o=e=>Symbol.iterator in e,es=e=>`entries`in e,ts=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},ns=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function rs(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:$o(e)&&$o(t)?es(e)&&es(t)?ts(e,t):ns(e,t):ts({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function is(...e){let t=j();return Q(n=>{let r={};for(let t of e)r[t]=n[t];return rs(t.current,r)?t.current:t.current=r})}function as(){let{variables:e,temporary:t,transient:n}=is(`variables`,`temporary`,`transient`),r=Ie(Pf);return Pe(()=>[e,t,r,n],[e,t,r,n])}var os=1831565813;function ss(e){let t=e|0;return()=>{t=t+os|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 cs(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t}var ls=!1,us=``,ds=0,fs=null,ps=0;function ms(e,t=!0){let n;n=e===void 0?String(Date.now())+String(Math.random()):t?e+`|`+Date.now()+`|`+Math.random():e,us=n,ds=0,fs=ss(cs(n)),ls=!0,ps++}function hs(e,t){ps++,gs(e,t)}function gs(e,t){us=e;let n=Math.imul(t%4294967296,os);fs=ss(cs(e)+n|0),ls=!0,ds=t}function _s(){ps++,ls=!1,us=``,ds=0,fs=null}function vs(e){let t={generation:ps,seed:us,pull:ds};try{return e()}finally{ls&&ps===t.generation&&ds!==t.pull&&gs(t.seed,t.pull)}}function ys(){return ls?{seed:us,pull:ds}:null}function bs(){return!ls||!fs?Math.random():(ds++,fs())}function xs(e,t){return e>t&&([e,t]=[t,e]),Math.floor(bs()*(t-e+1))+e}function Ss(){return ls}function Cs(){return us}function ws(){return ds}var Ts=`__proto__`;function Es(e,t=e){return e===`__proto__`?`\"${t}\" cannot be used as a variable name (${Ts} is reserved)`:void 0}function Ds(e,t=e){let n=Es(e,t);if(n)throw TypeError(`spindle: ${n}`)}var G=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Os=(e,t)=>e&&G(e,t)?e[t]:void 0;function ks(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0}):e[t]=n}function As(e,t=()=>!0){let n=Object.create(null);for(let r of e)if(r)for(let e of Object.keys(r)){let i=r[e];t(i)&&(n[e]=i)}return n}var K=(...e)=>As(e),js=e=>Object.getPrototypeOf(e)===null,Ms=e=>js(e)?e:K(e);function Ns(e,t,n){let r=K(e);return r[t]=n,r}var Ps=Object.freeze(K());function Fs(e,t){return[...new Set([...Object.keys(e),...Object.keys(t)])].filter(n=>Os(e,n)!==Os(t,n))}var Is=e=>typeof e==`number`&&Number.isInteger(e)&&e>=0;function Ls(e,t){let n=Os(e,t);return Is(n)?n:0}function Rs(e,t){let n=As([e],Is);return t!==void 0&&(n[t]=Ls(e,t)+1),n}var zs=500,Bs={$:`variables`,_:`temporary`,\"@\":`locals`,\"%\":`transient`},Vs=/[\\p{ID_Continue}$\\u200c\\u200d]$/u;function Hs(e,t=`expression`){let n=t===`statements`?`s`+e:`e`+e,r=Us.get(n);if(r!==void 0)return r;let{refs:i}=go(e,t),a=``,o=0;for(let t of i){let n=Es(t.name,t.sigil+t.name);if(n)throw SyntaxError(`spindle: ${n}`);a+=e.slice(o,t.start),t.shorthand?a+=`${t.name}: `:Vs.test(a.slice(-2))&&(a+=` `),a+=`${Bs[t.sigil]}[\"${t.name}\"]`,o=t.end}return a+=e.slice(o),Us.size>=zs&&Us.delete(Us.keys().next().value),Us.set(n,a),a}var Us=new Map,Ws=500,Gs=new Map,Ks=`const {currentPassage,previousPassage,visited,hasVisited,hasVisitedAny,hasVisitedAll,rendered,hasRendered,hasRenderedAny,hasRenderedAll,random,randomInt}=__fns;`;function qs(e,t){let n=Gs.get(e);if(n)return Gs.delete(e),Gs.set(e,n),n;let r=Function(`variables`,`temporary`,`locals`,`__fns`,`transient`,Ks+t);if(Gs.set(e,r),Gs.size>Ws){let e=Gs.keys().next().value;e!==void 0&&Gs.delete(e)}return r}function Js(){let e=Q.getState();return e.storyData?.passages.get(e.currentPassage)}function Ys(){let e=Q.getState();if(e.historyIndex<=0)return;let t=e.history[e.historyIndex-1]?.passage;return t?e.storyData?.passages.get(t):void 0}function Xs(e){let t=t=>Ls(e(),t??Q.getState().currentPassage);return{count:t,has:e=>t(e)>0,any:(...e)=>e.some(e=>t(e)>0),all:(...e)=>e.every(e=>t(e)>0)}}function Zs(e,t){let n=Xs(e),r=Xs(t);return{currentPassage:Js,previousPassage:Ys,visited:n.count,hasVisited:n.has,hasVisitedAny:n.any,hasVisitedAll:n.all,rendered:r.count,hasRendered:r.has,hasRenderedAny:r.any,hasRenderedAll:r.all}}var Qs=null,$s=null,ec=null;function tc(){let{visitCounts:e,renderCounts:t}=Q.getState();return Qs&&$s===e&&ec===t?Qs:(Qs={...Zs(()=>e,()=>t),random:bs,randomInt:xs},$s=e,ec=t,Qs)}function nc(e){return js(e)?e:Object.isExtensible(e)?(Object.setPrototypeOf(e,null),e):Ms(e)}function rc(e,...[t,n,r=Ps,i=Ps]){return e(nc(t),nc(n),nc(r),tc(),nc(i))}function ic(e,...t){let n=`return (${Hs(e)}\\n);`;return rc(qs(n,n),...t)}function ac(e,...t){let n=Hs(e,`statements`);rc(qs(`exec:`+n,n),...t)}var oc=new vr;function sc(e,t){oc.set(e,t)}function cc(e){return oc.get(e)}var lc=new vr;function uc(e,t){t?lc.set(e,t):lc.delete(e)}function dc(e){return lc.get(e)}var fc=new yr;function pc(e){fc.add(e)}function mc(e){return fc.has(e)}var hc=[`expression`,`statements`,`passage`,`variable`,`string`,`text`,`names`,`delay`,`number`,`flag`,`separator`,`options`],gc=[`markup`,`text`,`passage`,`expression`,`statements`];function _c(e,t){let n=`Give a \\`string\\` or \\`text\\` parameter one of ${gc.join(`, `)} to hold (see docs/custom-macros.md#what-a-string-holds).`;for(let r of t){let t=r.type;if(!hc.includes(t))throw vc(e,r,t===void 0?`has no type`:`has the unknown type ${JSON.stringify(t)}`,`Give it one of the types ${hc.join(`, `)} (see docs/custom-macros.md#parameter-types), or declare no parameters and read props.rawArgs.`);let i=r.holds;if(i!==void 0&&t!==`string`&&t!==`text`)throw vc(e,r,`is of the type ${t}, which holds what it is`,n);if(i!==void 0&&!gc.includes(i))throw vc(e,r,`holds the unknown ${JSON.stringify(i)}`,n);r.parameters&&_c(e,r.parameters)}}function vc(e,t,n,r){return Error(`spindle: The parameter \"${t.name}\" of the macro {${e}} ${n}. ${r}`)}var yc=new vr;function bc(e,t){yc.set(e,t)}function xc(e){return yc.get(e)?.parameters}function Sc(){return Array.from(yc.values())}var Cc=new vr;function wc(e,t,n,r=!1){let i=n.filter(e=>e!==`@children`);for(let e of i)e.startsWith(`@`)&&Ds(e.slice(1),e);Cc.set(e,{body:t,params:i,isBlock:r})}function Tc(e){return Cc.get(e)}function Ec(e){return/\\s/.test(e)}function Dc(e){return e===`(`||e===`[`||e===`{`}function Oc(e){return e===`)`||e===`]`||e===`}`}function kc(e){return e.replace(/\\\\([\"'\\\\])/g,`$1`)}function Ac(e,t){let n=e[t];if(n!==`\"`&&n!==`'`)return null;let{end:r,closed:i}=Io(e,t);return i?{value:kc(e.slice(t+1,r-1)),end:r}:null}function jc(e){let t=Ac(e,0);return t&&t.end===e.length?t.value:null}function Mc(e){return/^[\"']?(.+?)[\"']?$/s.exec(e)?.[1]??e}var Nc=/(?:[-+*/%&|^!~=<>?:,.]|(?:^|[^\\w$@.])(?:typeof|void|new|delete|in|instanceof|await|yield))$/;function Pc(e){let t=-1;if(Ao(e,{code(e,n,r){r===0&&!Ec(e)&&(t=n+1)},literal(e,n,r){let i=e.startsWith(`//`)||e.startsWith(`/*`);r===0&&!i&&(t=-1)},variable(e,n,r,i){i===0&&(t=-1)}}),t<0)return!1;let n=e.slice(0,t);return/(?:\\+\\+|--)$/.test(n)?!1:Nc.test(n)}function Fc(e,t){let n=[],r=0;return Ao(e,{code(e,i,a){a>0||(Dc(e)?r++:Oc(e)?r--:r===0&&t(e)&&n.push(i))}}),n}function Ic(e,t){let n=[],r=0;for(let i of Fc(e,t))n.push(e.slice(r,i)),r=i+1;return n.push(e.slice(r)),n}function Lc(e){return Rc(e)&&!Pc(e)}function Rc(e){let t=e[0];return!!(t===`\"`||t===`'`||t===\"`\"||/^[$_@]\\w|^%[A-Za-z_]/.test(e)||/\\d/.test(t)||(t===`-`||t===`+`)&&e.length>1&&/\\d/.test(e[1])||t===`(`||t===`[`||t===`{`||/^(?:true|false|null|undefined)(?![\\w$])/.test(e)||t===`!`&&e.length>1&&e[1]!==`=`)}function zc(e){let t=Ic(e,Ec).filter(Boolean);if(t.length<2)return null;for(let e of t)if(!Lc(e))return null;return t}function Bc(e){let t=Ic(e,e=>e===`,`).map(e=>e.trim()),n=t.length>1;if(t[t.length-1]===``&&t.pop(),!n&&t.length===1){let e=zc(t[0]);if(e)return e}return t}function Vc(e){return e==null?``:String(e)}function Hc(e,t,n){return e||t?b(`span`,{id:t,class:e},n):b(S,null,n)}function Uc(e){return e.includes(`{`)||e.includes(`}`)}var Wc=new Map,Gc=2e3;function Kc(e){let t=Wc.get(e);if(t===void 0){try{t={nodes:Zo(e,{text:!0})}}catch(e){t={error:e}}Wc.size>=Gc&&Wc.clear(),Wc.set(e,t)}return t}function qc(e,t){return e.map(e=>{switch(e.type){case`text`:return{type:`text`,value:t(e.value)};case`html`:return{...e,children:qc(e.children,t)};case`macro`:{let n={...e,children:qc(e.children,t)};return e.branches&&(n.branches=e.branches.map(e=>({...e,children:qc(e.children,t)}))),n}default:return e}})}var Jc=100;function Yc(e,t,n){let r=n.split(`.`),i=r[0];Ds(i,Gn[t]+i);let a=Os(t===`variable`?e.variables:t===`temporary`?e.temporary:t===`transient`?e.transient:e.locals,i);for(let e=1;e<r.length;e++){if(a==null)return;a=a[r[e]]}return a}function Xc(e,t){return ic(e,t.variables,t.temporary,t.locals,t.transient)}var Zc=class{constructor(){this.errors=[]}nodes(e,t,n){let r=``;for(let i of e)r+=this.node(i,t,n);return r}node(e,t,n){switch(e.type){case`text`:return e.value;case`variable`:if(e.scope===`local`&&e.name===`children`){let e=t.widgetChildren;return e?this.nested(`children`,e,t,n,{widgetChildren:null}):``}return this.variable(e.scope,e.name,t);case`expression`:try{return Vc(Xc(e.expression,t))}catch(e){return this.errors.push({macro:`expression`,error:e}),``}case`html`:return this.nodes(e.children,t,n);case`macro`:return this.macro(e,t,n);default:return e}}variable(e,t,n){try{return Vc(Yc(n,e,t))}catch(n){return this.errors.push({macro:Gn[e]+t,error:n}),``}}nested(e,t,n,r,i={}){return r>=Jc?(this.errors.push({macro:e,error:Error(`markup nested too deeply (a widget using itself?)`)}),``):this.nodes(t,{...n,...i},r+1)}macro(e,t,n){if(mc(e.name))return``;let r=Tc(e.name);if(r){let i=t.locals;if(r.params.length>0){let n=e.rawArgs?Bc(e.rawArgs):[];i=K(t.locals),r.params.forEach((e,r)=>{let a,o=n[r];if(o!==void 0)try{a=Xc(o,t)}catch{a=void 0}i[e.startsWith(`@`)?e.slice(1):e]=a})}return this.nested(e.name,r.body,t,n,{locals:i,widgetChildren:e.children.length>0?e.children:null})}let i=dc(e.name);if(!i){let t=cc(e.name)?`{${e.name}} has no text form, so it can't be used in an attribute value or label`:`unknown macro {${e.name}}`;return this.errors.push({macro:e.name,error:Error(t)}),``}let a={evaluate:e=>Xc(e,t),renderText:(r,i)=>this.nested(e.name,r,t,n,i?{locals:Qc(t.locals,i)}:{})};try{return i({rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},a)}catch(t){return this.errors.push({macro:e.name,error:t}),``}}};function Qc(e,t){for(let e of Object.keys(t))Ds(e,`@${e}`);return K(e,t)}function $c(e,t){let n=new Zc;return{text:n.nodes(e,t,0),errors:n.errors}}function el(e,t){if(!Uc(e))return{text:e,errors:[]};let n=Kc(e);return`error`in n?{text:e,errors:[{macro:`markup`,error:n.error}]}:$c(n.nodes,t)}function tl(e,t,n){let r=[],i=``;for(let a of Go(e))if(`text`in a)i+=n?n(a.text):a.text;else if(`verbatim`in a)i+=a.verbatim;else if(/^[$_@%][\\w.]+$/.test(a.expr)){let e=Wn[a.expr[0]];try{i+=Vc(Yc(t,e,a.expr.slice(1)))}catch(e){r.push({macro:a.expr,error:e})}}else try{i+=Vc(Xc(a.expr,t))}catch(e){r.push({macro:`expression`,error:e})}return{text:i,errors:r}}function nl(e,t){return e instanceof Error?e.message||t||String(e):typeof e==`string`&&e!==``?e:t??String(e)}function rl(){let[e,t,n,r]=as(),i=Ie(Hf);return Pe(()=>({variables:e,temporary:t,locals:n,transient:r,widgetChildren:i}),[e,t,n,r,i])}function il(){let e=rl();return Fe(t=>{if(t===void 0||!Uc(t))return t;let{text:n,errors:r}=el(t,e);for(let{macro:e,error:n}of r)console.error(`spindle: {${e}} error in \"${t}\": ${nl(n)}`);return n},[e])}var al=0;Array.isArray;function q(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:--al,__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}var ol={variable:`variables`,temporary:`temporary`,transient:`transient`};function sl({node:e}){let{name:t,scope:n}=e,r=il(),i=r(e.className),a=r(e.id),o=Ie(Pf),s=t.split(`.`),c=s[0],l=Q(e=>n===`local`?void 0:Os(e[ol[n]],c)),u=Gn[n],d=Es(c,u+c);if(d)return q(`span`,{class:`error`,children:`{${u}${t} error: ${d}}`});let f;f=n===`local`?Os(o,c):l;for(let e=1;e<s.length;e++){if(f==null){f=void 0;break}let t=s[e];f=f[t]}return Hc(i,a,Vc(f))}function cl({node:e}){let{expression:t}=e,n=il(),r=n(e.className),i=n(e.id),[a,o,s,c]=as(),l;try{l=Vc(ic(t,a,o,s,c))}catch{l=`{error: ${t}}`}return Hc(r,i,l)}function ll(){return{nobr:Ie(If),inline:Ie(Lf),raw:Ie(Rf),locals:Ie(Pf)}}function ul({body:e,parentValues:t,ownKeys:n}){let r=ll(),[i,a]=Ae({}),o=Pe(()=>K(t,n,i),[t,n,i]),s=j(o);s.current=o;let c=Fe(()=>s.current,[]),l=Fe((e,t)=>{Ds(e,`@${e}`),s.current=Ns(s.current,e,t),a(n=>({...n,[e]:t}))},[]),u=Pe(()=>({update:l,getValues:c}),[l,c]);return q(Ff.Provider,{value:u,children:q(Pf.Provider,{value:o,children:jp(e,{...r,locals:o})})})}function dl({body:e,params:t,rawArgs:n,invocationChildren:r}){let i=ll(),a=i.locals,[o,s,c,l]=as(),u=r?.length?r:null;if(t.length===0)return q(Hf.Provider,{value:u,children:jp(e,i)});let d=n?Bc(n):[],f=[];for(let e=0;e<t.length;e++){let t=d[e],n;if(t!==void 0)try{n=ic(t,o,s,c,l)}catch{n=void 0}f.push(n)}let p=Pe(()=>{let e=K();for(let n=0;n<t.length;n++)e[t[n].startsWith(`@`)?t[n].slice(1):t[n]]=f[n];return e},f);return q(Hf.Provider,{value:u,children:q(ul,{body:e,parentValues:a,ownKeys:p})})}var fl=document.createElement(`i`);function pl(e){let t=`&`+e+`;`;fl.innerHTML=t;let n=fl.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`||n===t?!1:n}function ml(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 hl(e,t){return e.length>0?(ml(e,e.length,0,t),e):t}var gl={}.hasOwnProperty;function _l(e){let t={},n=-1;for(;++n<e.length;)vl(t,e[n]);return t}function vl(e,t){let n;for(n in t){let r=(gl.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){gl.call(r,a)||(r[a]=[]);let e=i[a];yl(r[a],Array.isArray(e)?e:e?[e]:[])}}}function yl(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);ml(e,0,0,r)}function bl(e){let t={},n=-1;for(;++n<e.length;)xl(t,e[n]);return t}function xl(e,t){let n;for(n in t){let r=(gl.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i)r[a]=i[a]}}function Sl(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 Cl={'\"':`quot`,\"&\":`amp`,\"<\":`lt`,\">\":`gt`};function wl(e){return e.replace(/[\"&<>]/g,t);function t(e){return`&`+Cl[e]+`;`}}function Tl(e){return e.replace(/[\\t\\n\\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var El=Il(/[A-Za-z]/),Dl=Il(/[\\dA-Za-z]/),Ol=Il(/[#-'*+\\--9=?A-Z^-~]/);function kl(e){return e!==null&&(e<32||e===127)}var Al=Il(/\\d/),jl=Il(/[\\dA-Fa-f]/),Ml=Il(/[!-/:-@[-`{-~]/);function J(e){return e!==null&&e<-2}function Nl(e){return e!==null&&(e<0||e===32)}function Y(e){return e===-2||e===-1||e===32}var Pl=Il(/\\p{P}|\\p{S}/u),Fl=Il(/\\s/);function Il(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Ll(e,t){let n=wl(Rl(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 Rl(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&Dl(e.charCodeAt(n+1))&&Dl(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 zl={}.hasOwnProperty,Bl=/^(https?|ircs?|mailto|xmpp)$/i,Vl=/^https?$/i;function Hl(e){let t=e||{},n=!0,r={},i=[[]],a=[],o=[],s=bl([{enter:{blockQuote:ne,codeFenced:ae,codeFencedFenceInfo:h,codeFencedFenceMeta:h,codeIndented:ce,codeText:ze,content:we,definition:ye,definitionDestinationString:xe,definitionLabelString:h,definitionTitleString:h,emphasis:Le,htmlFlow:Pe,htmlText:Ie,image:ue,label:h,link:de,listItemMarker:E,listItemValue:T,listOrdered:C,listUnordered:w,paragraph:ie,reference:h,resource:he,resourceDestinationString:ge,resourceTitleString:h,setextHeading:Ee,strong:Re},exit:{atxHeading:Oe,atxHeadingSequence:Te,autolinkEmail:qe,autolinkProtocol:Ke,blockQuote:re,characterEscapeValue:je,characterReferenceMarkerHexadecimal:We,characterReferenceMarkerNumeric:We,characterReferenceValue:Ge,codeFenced:le,codeFencedFence:se,codeFencedFenceInfo:oe,codeFencedFenceMeta:S,codeFlowValue:Ne,codeIndented:le,codeText:Be,codeTextData:je,data:je,definition:Ce,definitionDestinationString:Se,definitionLabelString:be,definitionTitleString:A,emphasis:Ve,hardBreakEscape:j,hardBreakTrailing:j,htmlFlow:Fe,htmlFlowData:je,htmlText:Fe,htmlTextData:je,image:k,label:pe,labelText:fe,lineEnding:Me,link:k,listOrdered:ee,listUnordered:D,paragraph:O,reference:S,referenceString:me,resource:S,resourceDestinationString:_e,resourceTitleString:ve,setextHeading:Ae,setextHeadingLineSequence:ke,setextHeadingText:De,strong:He,thematicBreak:Ue}},...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=hl(o,e.slice(n,t)),n=t):(a=hl(a,e.slice(n,t+1)),n=t+1));a=hl(a,o),a=hl(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];zl.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:wl(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`)?_(`>`):te(),b(),_(`<li>`),p(`expectFirstItem`),p(`lastWasTag`)}function ee(){te(),o.pop(),y(),_(`</ol>`)}function D(){te(),o.pop(),y(),_(`</ul>`)}function te(){m(`lastWasTag`)&&!m(`slurpAllLineEndings`)&&b(),_(`</li>`),p(`slurpAllLineEndings`)}function ne(){o.push(!1),b(),_(`<blockquote>`)}function re(){o.pop(),b(),_(`</blockquote>`),p(`slurpAllLineEndings`)}function ie(){o[o.length-1]||(b(),_(`<p>`)),p(`slurpAllLineEndings`)}function O(){o[o.length-1]?p(`slurpAllLineEndings`,!0):_(`</p>`)}function ae(){b(),_(`<pre><code`),p(`fencesCount`,0)}function oe(){_(` class=\"language-`+g()+`\"`)}function se(){let e=m(`fencesCount`)||0;e||(_(`>`),p(`slurpOneLineEnding`,!0)),p(`fencesCount`,e+1)}function ce(){b(),_(`<pre><code>`)}function le(){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 ue(){a.push({image:!0}),n=void 0}function de(){a.push({})}function fe(e){a[a.length-1].labelId=this.sliceSerialize(e)}function pe(){a[a.length-1].label=g()}function me(e){a[a.length-1].referenceId=this.sliceSerialize(e)}function he(){h(),a[a.length-1].destination=``}function ge(){h(),p(`ignoreEncode`,!0)}function _e(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function ve(){a[a.length-1].title=g()}function k(){let e=a.length-1,i=a[e],o=i.referenceId||i.labelId,s=i.destination===void 0?r[Tl(o)]:i;for(n=!0;e--;)if(a[e].image){n=void 0;break}i.image?(_(`<img src=\"`+Ll(s.destination,t.allowDangerousProtocol?void 0:Vl)+`\" alt=\"`),v(i.label),_(`\"`)):_(`<a href=\"`+Ll(s.destination,t.allowDangerousProtocol?void 0:Bl)+`\"`),_(s.title?` title=\"`+s.title+`\"`:``),i.image?_(` />`):(_(`>`),v(i.label),_(`</a>`)),a.pop()}function ye(){h(),a.push({})}function be(e){g(),a[a.length-1].labelId=this.sliceSerialize(e)}function xe(){h(),p(`ignoreEncode`,!0)}function Se(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function A(){a[a.length-1].title=g()}function Ce(){let e=a[a.length-1],t=Tl(e.labelId);g(),zl.call(r,t)||(r[t]=a[a.length-1]),a.pop()}function we(){p(`slurpAllLineEndings`,!0)}function Te(e){m(`headingRank`)||(p(`headingRank`,this.sliceSerialize(e).length),b(),_(`<h`+m(`headingRank`)+`>`))}function Ee(){h(),p(`slurpAllLineEndings`)}function De(){p(`slurpAllLineEndings`,!0)}function Oe(){_(`</h`+m(`headingRank`)+`>`),p(`headingRank`)}function ke(e){p(`headingRank`,this.sliceSerialize(e).charCodeAt(0)===61?1:2)}function Ae(){let e=g();b(),_(`<h`+m(`headingRank`)+`>`),v(e),_(`</h`+m(`headingRank`)+`>`),p(`slurpAllLineEndings`),p(`headingRank`)}function je(e){v(x(this.sliceSerialize(e)))}function Me(e){if(!m(`slurpAllLineEndings`)){if(m(`slurpOneLineEnding`)){p(`slurpOneLineEnding`);return}if(m(`inCodeText`)){v(` `);return}v(x(this.sliceSerialize(e)))}}function Ne(e){v(x(this.sliceSerialize(e))),p(`flowCodeSeenData`,!0)}function j(){_(`<br />`)}function Pe(){b(),Ie()}function Fe(){p(`ignoreEncode`)}function Ie(){t.allowDangerousHtml&&p(`ignoreEncode`,!0)}function Le(){_(`<em>`)}function Re(){_(`<strong>`)}function ze(){p(`inCodeText`,!0),_(`<code>`)}function Be(){p(`inCodeText`),_(`</code>`)}function Ve(){_(`</em>`)}function He(){_(`</strong>`)}function Ue(){b(),_(`<hr />`)}function We(e){p(`characterReferenceType`,e.type)}function Ge(e){let t=this.sliceSerialize(e);v(x(m(`characterReferenceType`)?Sl(t,m(`characterReferenceType`)===`characterReferenceMarkerNumeric`?10:16):pl(t))),p(`characterReferenceType`)}function Ke(e){let n=this.sliceSerialize(e);_(`<a href=\"`+Ll(n,t.allowDangerousProtocol?void 0:Bl)+`\">`),v(x(n)),_(`</a>`)}function qe(e){let t=this.sliceSerialize(e);_(`<a href=\"`+Ll(`mailto:`+t)+`\">`),v(x(t)),_(`</a>`)}}function X(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return Y(r)?(e.enter(n),s(r)):t(r)}function s(r){return Y(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}var Ul={tokenize:Wl};function Wl(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`),X(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 J(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var Gl={tokenize:ql},Kl={tokenize:Jl};function ql(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 ml(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(Kl,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(Kl,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 J(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++;ml(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 Jl(e,t,n){return X(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function Yl(e){if(e===null||Nl(e)||Fl(e))return 1;if(Pl(e))return 2}function Xl(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 Zl={name:`attention`,resolveAll:Ql,tokenize:$l};function Ql(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};eu(d,-c),eu(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=hl(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=hl(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=hl(l,Xl(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=hl(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=hl(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,ml(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 $l(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Yl(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=Yl(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 eu(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var tu={name:`autolink`,tokenize:nu};function nu(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 El(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||Dl(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||Dl(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||kl(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):Ol(t)?(e.consume(t),l):n(t)}function u(e){return Dl(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||Dl(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var ru={partial:!0,tokenize:iu};function iu(e,t,n){return r;function r(t){return Y(t)?X(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||J(e)?t(e):n(e)}}var au={continuation:{tokenize:su},exit:cu,name:`blockQuote`,tokenize:ou};function ou(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 Y(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function su(e,t,n){let r=this;return i;function i(t){return Y(t)?X(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(au,t,n)(r)}}function cu(e){e.exit(`blockQuote`)}var lu={name:`characterEscape`,tokenize:uu};function uu(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 Ml(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var du={name:`characterReference`,tokenize:fu};function fu(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=Dl,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=jl,u):(e.enter(`characterReferenceValue`),a=7,o=Al,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===Dl&&!pl(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 pu={partial:!0,tokenize:gu},mu={concrete:!0,name:`codeFenced`,tokenize:hu};function hu(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`),Y(t)?X(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||J(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(pu,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||J(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):Y(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),X(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||J(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||J(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&&Y(t)?X(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||J(t)?e.check(pu,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||J(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`),Y(t)?X(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`),Y(t)?X(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||J(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function gu(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 _u={name:`codeIndented`,tokenize:yu},vu={partial:!0,tokenize:bu};function yu(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),X(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):J(t)?e.attempt(vu,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||J(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function bu(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):X(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):J(e)?i(e):n(e)}}var xu={name:`codeText`,previous:Cu,resolve:Su,tokenize:wu};function Su(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 Cu(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function wu(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)):J(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||J(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 Tu=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&&Eu(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),Eu(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Eu(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);Eu(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);Eu(this.left,t.reverse())}}};function Eu(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 Du(e){let t={},n=-1,r,i,a,o,s,c,l,u=new Tu(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,Ou(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 ml(e,0,1/0,u.slice(0)),!l}function Ou(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 ku={resolve:ju,tokenize:Mu},Au={partial:!0,tokenize:Nu};function ju(e){return Du(e),e}function Mu(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):J(t)?e.check(Au,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 Nu(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,a,`linePrefix`)}function a(i){if(i===null||J(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 Pu(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||kl(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||J(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||Nl(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||kl(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 Fu(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):J(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||J(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||(c=!Y(t)),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function Iu(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):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||J(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 Lu(e,t){let n;return r;function r(i){return J(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):Y(i)?X(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var Ru={name:`definition`,tokenize:Bu},zu={partial:!0,tokenize:Vu};function Bu(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return Fu.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Tl(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 Nl(t)?Lu(e,l)(t):l(t)}function l(t){return Pu(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(zu,d,d)(t)}function d(t){return Y(t)?X(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||J(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function Vu(e,t,n){return r;function r(t){return Nl(t)?Lu(e,i)(t):n(t)}function i(t){return Iu(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return Y(t)?X(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||J(e)?t(e):n(e)}}var Hu={name:`hardBreakEscape`,tokenize:Uu};function Uu(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return J(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var Wu={name:`headingAtx`,resolve:Gu,tokenize:Ku};function Gu(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`},ml(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function Ku(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||Nl(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||J(n)?(e.exit(`atxHeading`),t(n)):Y(n)?X(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||Nl(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var qu=`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(`.`),Ju=[`pre`,`script`,`style`,`textarea`],Yu={concrete:!0,name:`htmlFlow`,resolveTo:Qu,tokenize:$u},Xu={partial:!0,tokenize:td},Zu={partial:!0,tokenize:ed};function Qu(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 $u(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:se):El(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):El(a)?(e.consume(a),i=4,r.interrupt?t:se):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:se):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:D:m):n(i)}function h(t){return El(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||Nl(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&Ju.includes(l)?(i=1,r.interrupt?t(s):D(s)):qu.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):D(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||Dl(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:D):n(i)}function v(t){return Y(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||El(t)?(e.consume(t),b):Y(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||Dl(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):Y(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):Y(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||J(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||Nl(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||Y(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),ee):n(t)}function ee(t){return t===null||J(t)?D(t):Y(t)?(e.consume(t),ee):n(t)}function D(t){return t===45&&i===2?(e.consume(t),ie):t===60&&i===1?(e.consume(t),O):t===62&&i===4?(e.consume(t),ce):t===63&&i===3?(e.consume(t),se):t===93&&i===5?(e.consume(t),oe):J(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(Xu,le,te)(t)):t===null||J(t)?(e.exit(`htmlFlowData`),te(t)):(e.consume(t),D)}function te(t){return e.check(Zu,ne,le)(t)}function ne(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return t===null||J(t)?te(t):(e.enter(`htmlFlowData`),D(t))}function ie(t){return t===45?(e.consume(t),se):D(t)}function O(t){return t===47?(e.consume(t),o=``,ae):D(t)}function ae(t){if(t===62){let n=o.toLowerCase();return Ju.includes(n)?(e.consume(t),ce):D(t)}return El(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),ae):D(t)}function oe(t){return t===93?(e.consume(t),se):D(t)}function se(t){return t===62?(e.consume(t),ce):t===45&&i===2?(e.consume(t),se):D(t)}function ce(t){return t===null||J(t)?(e.exit(`htmlFlowData`),le(t)):(e.consume(t),ce)}function le(n){return e.exit(`htmlFlow`),t(n)}}function ed(e,t,n){let r=this;return i;function i(t){return J(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 td(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(ru,t,n)}}var nd={name:`htmlText`,tokenize:rd};function rd(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):El(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):El(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):J(t)?(o=d,O(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?ie(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):J(t)?(o=h,O(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?ie(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?ie(t):J(t)?(o=v,O(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):J(t)?(o=y,O(t)):(e.consume(t),y)}function b(e){return e===62?ie(e):y(e)}function x(t){return El(t)?(e.consume(t),S):n(t)}function S(t){return t===45||Dl(t)?(e.consume(t),S):C(t)}function C(t){return J(t)?(o=C,O(t)):Y(t)?(e.consume(t),C):ie(t)}function w(t){return t===45||Dl(t)?(e.consume(t),w):t===47||t===62||Nl(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),ie):t===58||t===95||El(t)?(e.consume(t),E):J(t)?(o=T,O(t)):Y(t)?(e.consume(t),T):ie(t)}function E(t){return t===45||t===46||t===58||t===95||Dl(t)?(e.consume(t),E):ee(t)}function ee(t){return t===61?(e.consume(t),D):J(t)?(o=ee,O(t)):Y(t)?(e.consume(t),ee):T(t)}function D(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,te):J(t)?(o=D,O(t)):Y(t)?(e.consume(t),D):(e.consume(t),ne)}function te(t){return t===i?(e.consume(t),i=void 0,re):t===null?n(t):J(t)?(o=te,O(t)):(e.consume(t),te)}function ne(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||Nl(t)?T(t):(e.consume(t),ne)}function re(e){return e===47||e===62||Nl(e)?T(e):n(e)}function ie(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function O(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),ae}function ae(t){return Y(t)?X(e,oe,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):oe(t)}function oe(t){return e.enter(`htmlTextData`),o(t)}}var id={name:`labelEnd`,resolveAll:cd,resolveTo:ld,tokenize:ud},ad={tokenize:dd},od={tokenize:fd},sd={tokenize:pd};function cd(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&&ml(e,0,e.length,n),e}function ld(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=hl(s,e.slice(a+1,a+r+3)),s=hl(s,[[`enter`,u,t]]),s=hl(s,Xl(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=hl(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=hl(s,e.slice(o+1)),s=hl(s,[[`exit`,c,t]]),ml(e,a,e.length,s),e}function ud(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(Tl(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(ad,u,o?u:d)(t):t===91?e.attempt(od,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(sd,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function dd(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 Nl(t)?Lu(e,a)(t):a(t)}function a(t){return t===41?u(t):Pu(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return Nl(t)?Lu(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?Iu(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return Nl(t)?Lu(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 fd(e,t,n){let r=this;return i;function i(t){return Fu.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(Tl(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function pd(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 md={name:`labelStartImage`,resolveAll:id.resolveAll,tokenize:hd};function hd(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 gd={name:`labelStartLink`,resolveAll:id.resolveAll,tokenize:_d};function _d(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 vd={name:`lineEnding`,tokenize:yd};function yd(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),X(e,t,`linePrefix`)}}var bd={name:`thematicBreak`,tokenize:xd};function xd(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||J(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),Y(t)?X(e,s,`whitespace`)(t):s(t))}}var Sd={continuation:{tokenize:Ed},exit:Od,name:`list`,tokenize:Td},Cd={partial:!0,tokenize:kd},wd={partial:!0,tokenize:Dd};function Td(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:Al(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(bd,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 Al(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(ru,r.interrupt?n:u,e.attempt(Cd,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return Y(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 Ed(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(ru,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,X(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!Y(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(wd,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,X(e,e.attempt(Sd,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function Dd(e,t,n){let r=this;return X(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 Od(e){e.exit(this.containerState.type)}function kd(e,t,n){let r=this;return X(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!Y(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var Ad={name:`setextUnderline`,resolveTo:jd,tokenize:Md};function jd(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 Md(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`),Y(t)?X(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||J(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var Nd={tokenize:Pd};function Pd(e){let t=this,n=e.attempt(ru,r,e.attempt(this.parser.constructs.flowInitial,i,X(e,e.attempt(this.parser.constructs.flow,i,e.attempt(ku,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 Fd={resolveAll:zd()},Id=Rd(`string`),Ld=Rd(`text`);function Rd(e){return{resolveAll:zd(e===`text`?Bd: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 zd(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 Bd(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 Vd=t({attentionMarkers:()=>Yd,contentInitial:()=>Ud,disable:()=>Xd,document:()=>Hd,flow:()=>Gd,flowInitial:()=>Wd,insideSpan:()=>Jd,string:()=>Kd,text:()=>qd}),Hd={42:Sd,43:Sd,45:Sd,48:Sd,49:Sd,50:Sd,51:Sd,52:Sd,53:Sd,54:Sd,55:Sd,56:Sd,57:Sd,62:au},Ud={91:Ru},Wd={[-2]:_u,[-1]:_u,32:_u},Gd={35:Wu,42:bd,45:[Ad,bd],60:Yu,61:Ad,95:bd,96:mu,126:mu},Kd={38:du,92:lu},qd={[-5]:vd,[-4]:vd,[-3]:vd,33:md,38:du,42:Zl,60:[tu,nd],91:gd,92:[Hu,lu],93:id,95:Zl,96:xu},Jd={null:[Zl,Fd]},Yd={null:[42,95]},Xd={null:[]};function Zd(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=hl(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=Xl(a,l.events,l),l.events):[]}function f(e,t){return $d(p(e),t)}function p(e){return Qd(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){J(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&&ml(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 Qd(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 $d(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 ef(e){let t={constructs:_l([Vd,...(e||{}).extensions||[]]),content:n(Ul),defined:[],document:n(Gl),flow:n(Nd),lazy:{},string:n(Id),text:n(Ld)};return t;function n(e){return n;function n(n){return Zd(t,e,n)}}}function tf(e){for(;!Du(e););return e}var nf=/[\\0\\t\\n\\r]/g;function rf(){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(nf.lastIndex=u,c=nf.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 af(e,t,n){return typeof t!=`string`&&(n=t,t=void 0),Hl(n)(tf(ef(n).document().write(rf()(e,t,!0))))}var of={none:``,left:` align=\"left\"`,right:` align=\"right\"`,center:` align=\"center\"`};function sf(){return{enter:{table(e){let t=e._align;this.lineEndingIfNeeded(),this.tag(`<table>`),this.setData(`tableAlign`,t)},tableBody(){this.tag(`<tbody>`)},tableData(){let e=of[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=of[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,cf)),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`+of[e[t]]+`></td>`),t++;this.setData(`tableColumn`,t),this.lineEndingIfNeeded(),this.tag(`</tr>`)}}}}function cf(e,t){return t===`|`?t:e}var lf=class{constructor(){this.map=[]}add(e,t,n){uf(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 uf(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 df(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 ff(){return{flow:{null:{name:`table`,tokenize:pf,resolveAll:mf}}}}function pf(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):J(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):Y(t)?X(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||Nl(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,Y(t)?X(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 Y(t)?X(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||J(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 Y(t)?X(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||J(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||J(n)?(e.exit(`tableRow`),t(n)):Y(n)?X(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||Nl(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 mf(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 lf;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(gf(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=hf(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=hf(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=hf(f,t,o,i,n,d)):(o[0]=o[1],d=hf(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&gf(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=df(t.events,n))}return e}function hf(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},_f(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=_f(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=_f(t.events,n[2]),a=_f(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({},_f(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function gf(e,t,n,r,i){let a=[],o=_f(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 _f(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}function vf(){return{enter:{strikethrough(){this.tag(`<del>`)}},exit:{strikethrough(){this.tag(`</del>`)}}}}function yf(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&&ml(o,o.length,0,Xl(s,e.slice(r+1,n),t)),ml(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),ml(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=Yl(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=Yl(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}function bf(e){let t=[`codeIndented`];return e?.inline&&t.push(`list`,`headingAtx`,`setextUnderline`,`thematicBreak`,`blockQuote`,`codeFenced`,`table`),{allowDangerousHtml:!0,extensions:[ff(),yf(),{disable:{null:t}}],htmlExtensions:[sf(),vf()]}}function xf(e,t){let n=bf(t);return af(e,{...n,extensions:[...n.extensions??[],Df(e),Cf]})}var Sf=e=>{let t=e.length-2,n=e[t-1];return n&&n[0]===`exit`&&n[1].type===`data`&&(n[1].end=e[t][1].end,e.length=t),e},Cf={text:{null:{name:`textData`,tokenize(e,t){let n=this,r=this.parser.constructs.text;function i(e){if(e===null)return!0;let t=r[e]??[];return(Array.isArray(t)?t:[t]).some(e=>!e.previous||e.previous.call(n,n.previous))}function a(n){return i(n)?(e.exit(`data`),t(n)):(e.consume(n),a)}return t=>(e.enter(`data`),e.consume(t),a)},resolveTo:Sf}}},wf=/[#-'*+\\--9=?A-Z^-~]/,Tf=/[0-9A-Za-z]/,Ef=/[A-Za-z]/;function Df(e){let t=e.charCodeAt(0)===65279?1:0,n=e.lastIndexOf(`-->`),r=e.lastIndexOf(`?>`),i=e.lastIndexOf(`]]>`),a=e.lastIndexOf(`>`);function o(t){return e[t]===`<`?e.startsWith(`\\x3C!--`,t)?n<t+2:e.startsWith(`<![CDATA[`,t)?i<t+9:e[t+1]===`!`&&Ef.test(e[t+2]??``)?a<t+3:e[t+1]===`?`?r<t+2&&!s(t):!1:!1}function s(t){let n=t+1;for(;wf.test(e[n]??``);)n++;if(e[n]!==`@`)return!1;n++;let r=0,i=`atSignOrDot`;for(;;){let t=e[n]??``;if(i===`atSignOrDot`){if(!Tf.test(t))return!1;i=`label`}else if(i===`label`){if(t===`>`)return!0;t===`.`?(n++,r=0,i=`atSignOrDot`):i=`value`}else{if(!((t===`-`||Tf.test(t))&&r++<63))return!1;n++,i=t===`-`?`value`:`label`}}}let c={name:`unclosedHtml`,resolveTo:Sf,tokenize(e,n,r){let i=this.now().offset+t;return t=>t!==60||!o(i)?r(t):(e.enter(`data`),e.consume(t),e.exit(`data`),n)}};return{text:{60:c}}}function Of(e){let t=e.metadata[`data-source-file`],n=e.metadata[`data-source-line`];return t?n?` (${t}:${n})`:` (${t})`:``}function kf(){let e=Q.getState();if(!e.storyData)return``;let t=e.storyData.passages.get(e.currentPassage);return t?Of(t):``}function Af({macro:e,error:t}){return q(`span`,{class:`error`,title:String(t),children:`{${e} error${kf()}: ${nl(t)}}`})}function jf(e,t,n=kf()){console.error(`spindle: Error in {${e}}${n}:`,t)}function Mf(e,t,n){let r=j();if(r.current===void 0){r.current=null;let i=kf();try{n()}catch(n){r.current={error:n},jf(`${e} ${t}`,n,i)}}return r.current?q(Af,{macro:e,error:r.current.error}):null}var Nf={update:e=>{throw Error(`Cannot set @${e} — local variables require a {for}, widget, {link}, or {button} scope`)},getValues:()=>Ps},Pf=_e(Ps),Ff=_e(Nf),If=_e(!1),Lf=_e(!1),Rf=_e(!1),zf=_e(!1),Bf=`http://www.w3.org/2000/svg`,Vf=new Set([`pre`,`textarea`]),Hf=_e(null);function Uf(e,t){return`<span data-tw=${e}:${t}></span>`}var Wf=/(?:(?<=\\\\)\\uE000)?<span data-tw=([0-9a-z]+):(\\d+)><\\/span>/g,Gf=``;function Kf(e,t){if(!e.includes(`<span data-tw=`))return[e];let n=[],r=0;for(let i of e.matchAll(Wf))i[1]===t.nonce&&(i.index>r&&n.push(e.slice(r,i.index)),n.push(parseInt(i[2],10)),r=i.index+i[0].length);return r<e.length&&n.push(e.slice(r)),n}function qf(e,t){return Kf(e,t).map(e=>typeof e==`number`?t.components[e]:e)}function Jf({tag:e,attributes:t,placeholders:n,svg:r,children:i}){let a=rl(),o=[],{props:s,direct:c}=sp(t.map(([e,t,r])=>{let i=n[e];if(!i)return[e,t,r];let s=$c(i,a);for(let t of s.errors)o.push([e,t]);return[e,s.text,r]}),r),l=cp(c);return Xf(o,b(e,l?{...s,ref:l}:s,...i))}function Yf({tag:e,props:t,direct:n,children:r}){let i=cp(n);return b(e,{...t,ref:i},...r)}function Xf(e,t){return e.length===0?t:q(S,{children:[e.map(([e,{macro:t,error:n}],r)=>q(Af,{macro:t,error:Error(`in attribute \"${e}\": ${nl(n)}`)},r)),t]})}function Zf(e,t){if(e==null||e.nodeType!==Node.ELEMENT_NODE)return-1;let n=e.getAttribute(`data-tw`),r=`${t.nonce}:`;return n==null||!n.startsWith(r)?-1:parseInt(n.slice(r.length),10)}function Qf(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}function $f(e,t,n=!1){let r=Qf(e.trim());if(n)for(let e of Array.from(r.childNodes))e.nodeType===Node.ELEMENT_NODE&&e.nodeName===`P`&&e.replaceWith(...Array.from(e.childNodes));return q(S,{children:Array.from(r.childNodes).map((e,n)=>ep(e,n,t))})}function ep(e,t,n){if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;t.endsWith(`\\\\${Gf}`)&&Zf(e.nextSibling,n)!==-1&&(t=t.slice(0,-1));let r=qf(t,n);return r.length===1?r[0]:r}if(e.nodeType===Node.ELEMENT_NODE){let r=e,i=r.localName,a=Zf(r,n);if(a!==-1)return n.components[a];let o=r.namespaceURI===Bf,s=[],c;for(let{name:e,value:t}of Array.from(r.attributes)){s.push([e,t,t]);let r=Kf(t,n);r.every(e=>typeof e==`string`)||(c??(c={}),c[e]=r.map(e=>typeof e==`string`?{type:`text`,value:e}:n.nodes[e]))}let l=Array.from(r.childNodes).map((e,t)=>ep(e,t,n));if(c)return q(Jf,{tag:i,attributes:s,placeholders:c,svg:o,children:l},t);let{props:u,direct:d}=sp(s,o);return d.length>0?q(Yf,{tag:i,props:u,direct:d,children:l},t):b(i,{...u,key:t},...l)}return null}var tp=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(`.`)),np=new Set([`value`,`checked`,`selected`,`muted`]),rp=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`]),ip=new Set([...new Set([`key`,`ref`,`children`,`dangerouslySetInnerHTML`]),`class`,`className`]),ap=/^[A-Za-z_:][\\w:.-]*$/;function op(e,t,n){if(ap.test(t)){e.setAttribute(t,n);return}let r=Qf(`<i ${t}=\"\"></i>`).firstChild.attributes[0];if(!r)return;let i=r.cloneNode();i.value=n,e.setAttributeNode(i)}function sp(e,t){let n={},r=[];for(let[i,a,o]of e){let e=i.toLowerCase();rp.has(e)&&o!==``&&a===``||(!t&&np.has(e)?n[e]=e!==`value`&&o===``?!0:a:!ap.test(i)||e.startsWith(`on`)||e===`translate`||t&&(ip.has(i)||i===`__proto__`)?r.push([i,a]):n[t?i:i.toUpperCase()]=a)}return{props:n,direct:r}}function cp(e){let t=j(null);return Ne(()=>{let n=t.current;if(!(!n||e.length===0)){for(let[t,r]of e)op(n,t,r);return()=>{for(let[t]of e)n.removeAttribute(t)}}},[JSON.stringify(e)]),e.length>0?t:void 0}var lp=new Map;function up(e){if(!e.includes(`&`))return e;let t=lp.get(e);return t===void 0&&(t=Qf(`<i title=\"${e.replace(/\"/g,`"`)}\"></i>`).firstChild.getAttribute(`title`)??e,lp.set(e,t)),t}var dp=/\\{[$_@%]\\w/,fp=new Map,pp=2e3;function mp(e){let t=fp.get(e);return t===void 0&&(t=Kc(e),`nodes`in t&&e.includes(`&`)&&(t={nodes:qc(t.nodes,up)}),fp.size>=pp&&fp.clear(),fp.set(e,t)),t}function hp(e,t,n,r){if(Wo(e)){if(!t.includes(`&`)&&!dp.test(t))return t;let i=tl(t,n,up);for(let t of i.errors)r.push([e,t]);return i.text}if(!Uc(t))return up(t);let i=mp(t);if(`error`in i)return r.push([e,{macro:`markup`,error:i.error}]),up(t);let a=$c(i.nodes,n);for(let t of a.errors)r.push([e,t]);return a.text}function gp({node:e}){let t=rl(),{nobr:n,locals:r,raw:i,inline:a}=ll(),o=Ie(zf),s=e.tag.toLowerCase(),c=s===`svg`,l=!i&&(c||Vf.has(s)),u=[],{props:d,direct:f}=sp(Object.entries(e.attributes).map(([e,n])=>[e,hp(e,n,t,u),n]),o||c),p=cp(f);p&&(d.ref=p);let m=tp.has(s),h;e.children.length>0&&(i||l?h=Cp(e.children):(h=jp(e.children,{nobr:n,locals:r,inline:m}),m!==a&&(h=q(Lf.Provider,{value:m,children:h}))));let g=b(e.tag,d,h);return c&&!o&&(g=q(zf.Provider,{value:!0,children:g})),Xf(u,l?q(Rf.Provider,{value:!0,children:g}):g)}function _p(){let e=Ie(Hf),t=ll();return!e||e.length===0?null:q(S,{children:jp(e,t)})}var vp=new WeakMap,yp=0;function bp(e){let t=vp.get(e);return t===void 0&&(t=`n${yp++}`,vp.set(e,t)),t}function xp(e,t){if(mc(e.name))return null;let n=Tc(e.name);if(n)return q(dl,{body:n.body,params:n.params,rawArgs:e.rawArgs,invocationChildren:e.children},t);let r=cc(e.name);return r?q(r,{rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},t):q(`span`,{class:`error`,children:`{unknown macro: ${e.name}}`},t)}function Sp(e){if(e.type===`text`)return e.value;let t=bp(e);switch(e.type){case`variable`:return e.scope===`local`&&e.name===`children`?q(_p,{},t):q(sl,{node:e},t);case`expression`:return q(cl,{node:e},t);case`macro`:return xp(e,t);case`html`:return q(gp,{node:e},t);default:return e}}function Cp(e){return e.length===0?null:e.map(e=>Sp(e))}var wp=/[*_`#|~\\[>\\\\\\-+=\\r]|!\\[|\\d+[.)]|&#?[a-zA-Z0-9]+;| {2}\\n|<[!?]/,Tp=/(?:\\r\\n|\\r(?!\\n)|\\n)\\s*[\\r\\n]/,Ep=/<span data-tw=[0-9a-z]+:\\d+><\\/span>/g,Dp=` \t\\r\n`;function Op(e,t,n,r){let i=t;if(n===1)for(;i<e.length&&r.includes(e[i]);)i++;else for(;i>0&&r.includes(e[i-1]);)i--;return i}function kp(e){return e.includes(`\n`)?e.split(`\n`).map((e,t,n)=>{let r=t===0?0:Op(e,0,1,` \t`),i=t===n.length-1?e.length:Op(e,e.length,-1,` \t`);return e.slice(r,Math.max(r,i))}).join(`\n`):e}function Ap(e,t,n){let r=qf(kp(e),t).filter(e=>e!==``);return n?q(S,{children:r}):b(`p`,null,...r)}function jp(e,t){if(e.length===0)return null;if(t?.raw)return Cp(e);if(!e.some(e=>e.type===`text`&&(e.value.trim()!==``||Tp.test(e.value))))return e.map(e=>Sp(e));let n=[],r={nonce:Math.random().toString(36).slice(2,10)||`0`,components:n,nodes:[]},i=``;for(let t=0;t<e.length;t++){let a=e[t];if(a.type===`text`){i+=a.value;continue}let o=n.length;n.push(Sp(a)),r.nodes.push(a),i.endsWith(`\\\\`)&&(i+=Gf),i+=Uf(r.nonce,o)}let a=!!(t?.nobr||t?.inline),o=i.slice(0,Op(i,0,1,Dp)),s=o.length===i.length?``:i.slice(Op(i,i.length,-1,Dp)),c=i.slice(o.length,i.length-s.length),l=e=>a&&(o||s)?q(S,{children:[o,e,s]}):e,u=i.replace(Ep,``);return!wp.test(u)&&!Tp.test(u)?l(Ap(c,r,a)):l($f(xf(i,{inline:t?.inline}),r,a))}var Mp=2**32-1,Np=Mp-1,Pp=class extends Error{constructor(e,t,n,r){super(e),this.name=`DevalueError`,this.path=t.join(``),this.value=n,this.root=r}},Fp=Symbol();function Ip(e,t){let n=[];for(let r=0;r<e.length;r+=1){let i=e[r];i===Fp?n.push(`.get(${t(e[++r])})`):typeof i==`number`?n.push(`[${i}]`):n.push(Yp(i))}return n}var Lp=Object.getOwnPropertyNames(Object.prototype).sort().join(`\\0`);function Rp(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\\0`)===Lp}function zp(e){return Object.prototype.toString.call(e).slice(8,-1)}function Bp(e){return typeof Buffer<`u`&&Buffer.isBuffer(e)}function Vp(e){switch(e){case`\"`:return`\\\\\"`;case`<`:return`\\\\u003C`;case`\\\\`:return`\\\\\\\\`;case`\n`:return`\\\\n`;case`\\r`:return`\\\\r`;case`\t`:return`\\\\t`;case`\\b`:return`\\\\b`;case`\\f`:return`\\\\f`;case`\\u2028`:return`\\\\u2028`;case`\\u2029`:return`\\\\u2029`;default:return e<` `?`\\\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`:``}}var Hp=/[\"<\\\\\\u0000-\\u001f\\u2028\\u2029]/;function Up(e){if(!Hp.test(e)&&e.isWellFormed())return`\"${e}\"`;let t=``,n=0,r=e.length;for(let i=0;i<r;i+=1){let a=e.charCodeAt(i);if(a>=55296&&a<=57343){if(a<=56319&&i+1<r&&(e.charCodeAt(i+1)&64512)==56320){i+=1;continue}t+=e.slice(n,i)+`\\\\u${a.toString(16)}`,n=i+1;continue}let o=Vp(e[i]);o&&(t+=e.slice(n,i)+o,n=i+1)}return`\"${n===0?e:t+e.slice(n)}\"`}var Wp=64,Gp=new Map;function Kp(e){if(e.length>Wp)return Up(e);let t=Gp.get(e);return t===void 0&&(Gp.size>=1024&&Gp.clear(),t=Up(e),Gp.set(e,t)),t}function qp(e){let t=Object.getOwnPropertySymbols(e);return t.length===0?t:t.filter(t=>Object.getOwnPropertyDescriptor(e,t)?.enumerable)}var Jp=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Yp(e){return Jp.test(e)?`.`+e:`[`+JSON.stringify(e)+`]`}function Xp(e){return!(!Number.isInteger(e)||e<0||e>Np)}function Zp(e){return!(!Number.isInteger(e)||e<0||e>Mp)}function Qp(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return Xp(+e)}function $p(e){for(var t=e.length-1;t>=0&&!Qp(e[t]);t--);return t+1}function em(e){let t=Object.keys(e);return t.length=$p(t),t}function tm(e){return new Uint8Array(e).toBase64()}function nm(e){return Uint8Array.fromBase64(e).buffer}function rm(e){return Buffer.from(e).toString(`base64`)}function im(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function am(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r){let i=t.subarray(e,e+r);n+=String.fromCharCode.apply(null,i)}return btoa(n)}function om(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var sm=typeof Uint8Array.fromBase64==`function`,cm=typeof process==`object`&&process.versions?.node!==void 0,lm=sm?tm:cm?rm:am,um=sm?nm:cm?im:om;function dm(e,t){if(!t)return e;let n={};for(let r of Object.keys(e))n[r]=t[r]??e[r];return n}var fm=Object.freeze({kind:`not-plain`}),pm=Object.freeze({kind:`symbol-keys`}),mm=Object.freeze({identify:e=>e,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>zp(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>(Bp(e)&&(e=new Uint8Array(e)),{buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>em(e),shapeOf:e=>Rp(e)?qp(e).length>0?pm:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:fm,get:(e,t)=>e[t]}),hm=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,`byteLength`)?.get,gm=typeof SharedArrayBuffer>`u`?void 0:Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,`byteLength`)?.get,_m=Object.freeze({fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e===`URL`?new URL(t):e===`URLSearchParams`?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,n,r)=>{try{hm.call(t)}catch(e){if(!gm)throw e;gm.call(t)}let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[Np]=void 0,delete t[Np],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});function vm(){throw Error(`Invalid input`)}function ym(e,t,n){return bm(JSON.parse(e),t,n)}function bm(e,t,n){let r=dm(_m,n?.operations);if(typeof e==`number`)return c(e,!0);(!Array.isArray(e)||e.length===0)&&vm();let i=e,a=Array(i.length),o=null;function s(e){return(!Xp(e)||e>=i.length)&&vm(),i[e]}function c(e,n=!1){if(e===-1)return r.fromPrimitive(void 0);if(e===-3)return r.fromPrimitive(NaN);if(e===-4)return r.fromPrimitive(1/0);if(e===-5)return r.fromPrimitive(-1/0);if(e===-6)return r.fromPrimitive(-0);if((n||typeof e!=`number`)&&vm(),e in a)return a[e];e>=i.length&&vm();let l=i[e];if(!l||typeof l!=`object`)a[e]=r.fromPrimitive(l);else if(Array.isArray(l))if(typeof l[0]==`string`){let n=l[0],u=t&&Object.hasOwn(t,n)?t[n]:void 0;if(u){let t=l[1];if(typeof t!=`number`&&(t=i.push(l[1])-1),Object.hasOwn(a,t))return a[e]=u(a[t]);if(o??(o=new Set),o.has(t))throw Error(`Invalid circular reference`);return o.add(t),a[e]=u(c(t)),o.delete(t),a[e]}switch(n){case`Date`:a[e]=r.fromISOString(l[1]);break;case`Set`:let t=r.createSet();a[e]=t;for(let e=1;e<l.length;e+=1)r.addValue(t,c(l[e]));break;case`Map`:let i=r.createMap();a[e]=i;for(let e=1;e<l.length;e+=2)r.addEntry(i,c(l[e]),c(l[e+1]));break;case`RegExp`:a[e]=r.fromRegExpInfo(l[1],l[2]);break;case`Object`:{let t=l[1];if(!(t===-3||t===-4||t===-5||t===-6)){let e=s(t),n=Array.isArray(e)&&e[0]===`BigInt`;(e===void 0||typeof e==`object`)&&!n&&vm()}a[e]=r.box(c(t));break}case`BigInt`:a[e]=r.fromPrimitive(BigInt(l[1]));break;case`null`:let o=r.createNullPrototypeObject();a[e]=o;for(let e=1;e<l.length;e+=2){let t=l[e];if(typeof t!=`string`)throw Error(`Cannot parse an object with a non-string key`);if(t===`__proto__`)throw Error(\"Cannot parse an object with a `__proto__` property\");r.set(o,t,c(l[e+1]))}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{let t=l[1],i=s(t);(!Array.isArray(i)||i[0]!==`ArrayBuffer`)&&vm();let o=c(t);a[e]=r.fromViewInfo(n,o,l[2],l[3]);break}case`ArrayBuffer`:{let t=l[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);a[e]=r.fromArrayBuffer(um(t));break}case`URL`:case`URLSearchParams`:case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:a[e]=r.fromStringValue(n,l[1]);break;default:throw Error(`Unknown type ${n}`)}}else if(l[0]===-7){let t=l[1];Zp(t)||vm();let n=r.createSparseArray(t);a[e]=n;for(let e=2;e<l.length;e+=2){let i=l[e];(!Xp(i)||i>=t)&&vm(),r.set(n,i,c(l[e+1]))}}else{let t=r.createArray(l.length);a[e]=t;for(let e=0;e<l.length;e+=1){let n=l[e];n!==-2&&r.set(t,e,c(n))}}else{let t=r.createObject();a[e]=t;for(let e of Object.keys(l)){if(e===`__proto__`)throw Error(\"Cannot parse an object with a `__proto__` property\");r.set(t,e,c(l[e]))}}return a[e]}return c(0)}function xm(e,t,n){let r=Sm(!1,e,t,n);return typeof r==`string`?r:`[${r.join(`,`)}]`}function Sm(e,t,n,r){let i=dm(mm,r?.operations),a=[],o=new Map,s=[];if(n)for(let e of Object.getOwnPropertyNames(n))s.push({key:e,fn:n[e]});let c=[],l=0;function u(e,n){throw new Pp(e,Ip(c,e=>{let t=i.typeOf(e);return t!==`object`&&t!==`function`&&t!==`symbol`?Cm(i.toPrimitive(e)):`...`}),n,t)}function d(t,n){let r=i.typeOf(t);if(r===`undefined`)return-1;let f;if(r===`number`){if(f=i.toPrimitive(t),Number.isNaN(f))return-3;if(f===1/0)return-4;if(f===-1/0)return-5;if(f===0&&1/f<0)return-6}let p=i.identify(t);if(o.has(p))return o.get(p);n??(n=l++),o.set(p,n);for(let{key:e,fn:r}of s){let i=r(t);if(i)return a[n]=`[\"${e}\",${d(i)}]`,n}r===`function`?u(`Cannot stringify a function`,t):r===`symbol`&&u(`Cannot stringify a Symbol primitive`,t);let m=``;if(r!==`object`)m=Cm(r===`number`?f:i.toPrimitive(t));else if(i.isThenable(t)){e||u(`Cannot stringify a Promise or thenable — use stringifyAsync instead`,t);let r=c.slice();m=i.toPromise(t).then(e=>{c=r;let t=d(e,n);t<0&&(a[n]=t)}),m.catch(()=>{})}else{let e=i.tagOf(t);switch(e){case`Number`:case`String`:case`Boolean`:case`BigInt`:m=`[\"Object\",${d(i.unbox(t))}]`;break;case`Date`:m=`[\"Date\",\"${i.toISOString(t)}\"]`;break;case`URL`:m=`[\"URL\",${Up(i.toStringValue(t))}]`;break;case`URLSearchParams`:m=`[\"URLSearchParams\",${Up(i.toStringValue(t))}]`;break;case`RegExp`:let{source:n,flags:r}=i.regExpInfo(t);m=r?`[\"RegExp\",${Up(n)},\"${r}\"]`:`[\"RegExp\",${Up(n)}]`;break;case`Array`:{let e=!1,n=i.lengthOf(t);m=`[`;for(let r=0;r<n;r+=1)if(r>0&&(m+=`,`),i.hasOwn(t,r))c.push(r),m+=d(i.get(t,r)),c.pop();else if(e)m+=-2;else{let r=i.indicesOf(t),a=r.length,o=String(n).length;if((n-a)*3>4+o+a*(o+1)){m=`[-7,`+n;for(let e=0;e<r.length;e++){let n=r[e];c.push(+n),m+=`,`+n+`,`+d(i.get(t,n)),c.pop()}break}else e=!0,m+=-2}m+=`]`;break}case`Set`:m=`[\"Set\"`;for(let e of i.valuesOf(t))m+=`,${d(e)}`;m+=`]`;break;case`Map`:m=`[\"Map\"`;for(let[e,n]of i.entriesOf(t))c.push(Fp,e),m+=`,${d(e)},${d(n)}`,c.pop(),c.pop();m+=`]`;break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:{let n=i.viewInfo(t);m=`[\"`+e+`\",`+d(n.buffer),n.byteLength!==n.bufferByteLength&&(m+=`,${n.byteOffset},${n.length}`),m+=`]`;break}case`DataView`:{let n=i.viewInfo(t);m=`[\"`+e+`\",`+d(n.buffer),n.byteLength!==n.bufferByteLength&&(m+=`,${n.byteOffset},${n.byteLength}`),m+=`]`;break}case`ArrayBuffer`:m=`[\"ArrayBuffer\",\"${lm(i.toArrayBuffer(t))}\"]`;break;case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:m=`[\"${e}\",${Up(i.toStringValue(t))}]`;break;default:{let e=i.shapeOf(t);if(e.kind===`not-plain`&&u(`Cannot stringify arbitrary non-POJOs`,t),e.kind===`symbol-keys`&&u(`Cannot stringify POJOs with symbolic keys`,t),e.kind===`null-proto`){m=`[\"null\"`;for(let n of e.keys)n===`__proto__`&&u(`Cannot stringify objects with __proto__ keys`,t),c.push(n),m+=`,${Kp(n)},${d(i.get(t,n))}`,c.pop();m+=`]`}else{m=`{`;let n=!1;for(let r of e.keys)r===`__proto__`&&u(`Cannot stringify objects with __proto__ keys`,t),n&&(m+=`,`),n=!0,c.push(r),m+=`${Kp(r)}:${d(i.get(t,r))}`,c.pop();m+=`}`}}}}return a[n]=m,n}let f=d(t);return f<0?`${f}`:a}function Cm(e){let t=typeof e;return t===`string`?Up(e):e===void 0?`-1`:e===0&&1/e<0?`-6`:t===`bigint`?`[\"BigInt\",\"${e}\"]`:String(e)}var wm=new Map,Tm=new Map;function Em(e,t){wm.set(e,t),Tm.set(t,e)}function Dm(e){let t=Object.getPrototypeOf(e);return t===null?void 0:Tm.get(t.constructor)}var Om=`c:`,km=`E:`,Am=`S`,jm=`K`,Mm=new Map([Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.AggregateError].map(e=>[e.prototype,e.name])),Nm=new Map([...Mm].map(([e,t])=>[t,e.constructor])),Pm=[`message`,`cause`,`errors`],Fm=e=>typeof e==`object`&&!!e,Im=(e,t,n)=>{Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0})};function Lm(e){let t={};if(e instanceof Error)for(let n of Pm)G(e,n)&&Im(t,n,e[n]);for(let n of Object.keys(e))Im(t,n,e[n]);return t}function Rm(e){for(let t of Pm)G(e,t)&&Object.defineProperty(e,t,{enumerable:!1})}var zm=e=>e.length===1&&JSON.stringify(e).length>3;function Bm(){let e={};for(let[t,n]of wm)e[Om+t]=e=>Fm(e)&&Object.getPrototypeOf(e)===n.prototype&&Lm(e);for(let[t,n]of Mm)e[km+n]=e=>Fm(e)&&Object.getPrototypeOf(e)===t&&Lm(e);return e[Am]=e=>{if(typeof e!=`symbol`)return!1;let t=Symbol.keyFor(e);return t!==void 0&&[t]},e[jm]=e=>{if(!Fm(e)||Object.getPrototypeOf(e)!==Object.prototype)return!1;let t=Object.keys(e);if(!t.some(zm))return!1;if(t.includes(`__proto__`))throw TypeError(`spindle: Cannot save a property named \"__proto__\"`);return t.flatMap(t=>[t,e[t]])},e}function Vm(e){return t=>{if(!Fm(t)||Object.getPrototypeOf(t)!==Object.prototype){if(Fm(t)&&Dm(t)===e)return t;throw TypeError(`spindle: Malformed data for class \"${e}\"`)}let n=wm.get(e);if(!n)throw TypeError(`spindle: The save holds an instance of class \"${e}\", which is not registered`);return Object.setPrototypeOf(t,n.prototype),t instanceof Error&&Rm(t),t}}function Hm(e){let t=Nm.get(e);if(t)return n=>{if(Object.getPrototypeOf(n)===t.prototype)return n;if(!Fm(n)||Object.getPrototypeOf(n)!==Object.prototype)throw TypeError(`spindle: Malformed data for \"${e}\"`);return Object.setPrototypeOf(n,t.prototype),Rm(n),n}}var Um=new WeakMap;function Wm(e){if(!Array.isArray(e)||e.length%2!=0)throw TypeError(`spindle: Malformed object entries`);let t=Um.get(e);t||Um.set(e,t={});for(let n=0;n<e.length&&G(e,n);n+=2){let r=e[n];if(typeof r!=`string`||r===`__proto__`)throw TypeError(`spindle: Malformed object entries`);Im(t,r,G(e,n+1)?e[n+1]:void 0)}return t}var Gm=new Proxy({},{getOwnPropertyDescriptor(e,t){let n=Km(t);return n&&{value:n,enumerable:!0,configurable:!0}},get:(e,t)=>Km(t)});function Km(e){if(typeof e==`string`){if(e===Am)return e=>{if(!Array.isArray(e)||typeof e[0]!=`string`)throw TypeError(`spindle: Malformed symbol`);return Symbol.for(e[0])};if(e===jm)return Wm;if(e.startsWith(Om))return Vm(e.slice(2));if(e.startsWith(km))return Hm(e.slice(2))}}function qm(e,t){if(!(e instanceof Error)||e.name!==`DevalueError`)return e instanceof Error?e:Error(String(e));let{path:n,value:r}=e,i=n?` (at ${n})`:``,a=e.message;return typeof r==`function`?a=`Cannot save a function`:Fm(r)&&/non-POJO/.test(e.message)?a=`Cannot save an instance of class \"${Object.getPrototypeOf(r)?.constructor?.name??`?`}\", which is not registered (see Story.registerClass)`:typeof r==`symbol`?a=`Cannot save a unique symbol (only Symbol.for() symbols)`:/symbolic keys/.test(e.message)?a=`Cannot save an object with symbol keys`:/__proto__/.test(e.message)&&(a=`Cannot save a property named \"__proto__\"`),TypeError(`spindle: ${a}${i}`)}function Jm(e){try{return xm(e,Bm())}catch(t){throw qm(t,e)}}function Ym(e){return ym(e,Gm)}var Xm=class extends Error{constructor(){super(`This save was made by an incompatible version of Spindle`),this.name=`IncompatibleSaveError`}},Zm={};function Qm(e){if(typeof e!=`number`||!Number.isInteger(e)||e<1||e>1)throw new Xm}function $m(e,t){Qm(e);let n=t;for(let t=e;t<1;t++){let e=Zm[t];if(!e)throw new Xm;n=e(n)}return n}var eh=e=>e&&new Map(Object.entries(e));function th(e){if(!(e instanceof TypeError))return e;let t=e.message.replace(/\\(at \\.variables(?=[.[]|\\))/,`(at $`).replace(/\\(at \\.history\\[(\\d+)\\]\\.variables(.*)\\)$/,(e,t,n)=>`(at $${n} in history moment ${t})`).replace(/\\(at \\$\\.?/,`(at $`);return t===e.message?e:TypeError(t)}function nh(e){try{return{formatVersion:1,data:Jm({...e,visitCounts:eh(e.visitCounts),renderCounts:eh(e.renderCounts)})}}catch(e){throw th(e)}}var rh=()=>Error(`Invalid save data`);function ih(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ah(e){return e==null?!0:ih(e)&&typeof e.seed==`string`&&typeof e.pull==`number`&&Number.isInteger(e.pull)&&e.pull>=0}var oh=e=>ih(e)&&typeof e.passage==`string`&&ih(e.variables)&&typeof e.timestamp==`number`&&ah(e.prng),sh=e=>e===void 0||e instanceof Map&&[...e.keys()].every(e=>typeof e==`string`);function ch(e){if(!ih(e)||typeof e.passage!=`string`||!ih(e.variables))return!1;let{history:t,historyIndex:n}=e;return!Array.isArray(t)||t.length===0||!Array.from(t).every(oh)||typeof n!=`number`||!Number.isInteger(n)||n<0||n>=t.length||t[n].passage!==e.passage?!1:sh(e.visitCounts)&&sh(e.renderCounts)&&ah(e.prng)}var lh=e=>e instanceof Map?Rs(Object.fromEntries(e)):void 0;function uh(e){if(typeof e!=`object`||!e)throw rh();let{formatVersion:t,data:n}=e;if(Qm(t),typeof n!=`string`)throw rh();let r=Ym($m(t,n));if(!ch(r))throw rh();let i={...r,visitCounts:lh(r.visitCounts),renderCounts:lh(r.renderCounts)};return i.visitCounts===void 0&&delete i.visitCounts,i.renderCounts===void 0&&delete i.renderCounts,i}var dh=`Invalid save file format`;function fh(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ph=[`id`,`passage`,`ifid`,`playthroughId`,`createdAt`,`updatedAt`,`title`];function mh(e){let t=console.warn;console.warn=()=>{};try{uh(e)}finally{console.warn=t}}function hh(e){if(!fh(e))throw Error(dh);if(!G(e,`formatVersion`))throw e.version===1?new Xm:Error(dh);if(Qm(e.formatVersion),typeof e.ifid!=`string`)throw Error(dh);let t=e.save;if(!fh(t)||!fh(t.meta))throw Error(dh);let n=t.meta;if(ph.some(e=>typeof n[e]!=`string`))throw Error(dh);try{mh(t.payload)}catch(e){throw e instanceof Xm?e:Error(dh)}}function gh(e){try{return hh(e),!0}catch{return!1}}function _h(e){return JSON.stringify(e).length}function vh(e){return{saves:e(`saves`,{ifid:e=>e.meta.ifid,playthroughId:e=>e.meta.playthroughId}),playthroughs:e(`playthroughs`,{ifid:e=>e.ifid}),meta:e(`meta`,{})}}var yh={autosave:`autosave.`,slot:`slot.`,slotIndex:`slotIndex.`,playthroughCount:`playthroughCount.`,currentPlaythrough:`currentPlaythroughId.`};function bh(e,t){let{slot:n,...r}=yh;return Object.values(r).some(n=>e===n+t)||e.startsWith(n)&&e.endsWith(`.${t}`)}function xh(e,{saves:t,playthroughs:n,meta:r},i){async function a(e,t,n,r){let i=(await e.find(n,r)).map(t);for(let t of i)await e.delete(t);return i}async function o(e){for(let t of await r.keys())e(t)&&await r.delete(t)}let s=e=>e.meta.id,c=e=>e.id;return{type:e,putSave:e=>t.put(e.meta.id,e),getSave:e=>t.get(e),deleteSave:e=>t.delete(e),getSavesByIfid:e=>t.find(`ifid`,e),deleteSavesByIfid:async e=>{await a(t,s,`ifid`,e)},deleteSavesByPlaythrough:e=>a(t,s,`playthroughId`,e),putPlaythrough:e=>n.put(e.id,e),getPlaythroughsByIfid:e=>n.find(`ifid`,e),deletePlaythroughsByIfid:async e=>{await a(n,c,`ifid`,e)},deletePlaythroughById:e=>n.delete(e),getMeta:e=>r.get(e),setMeta:(e,t)=>r.put(e,t),deleteMeta:e=>r.delete(e),deleteMetaByPrefix:e=>o(t=>t.startsWith(e)),deleteMetaByIfid:e=>o(t=>bh(t,e)),getAllMetaKeys:()=>r.keys(),destroy:i}}function Sh(){let e=e=>structuredClone(e),t=[];function n(n,r){let i=new Map;return t.push(i),{get:async t=>e(i.get(t)),put:async(t,n)=>{i.set(t,e(n))},delete:async e=>{i.delete(e)},find:async(t,n)=>[...i.values()].filter(e=>r[t](e)===n).map(e),keys:async()=>[...i.keys()]}}return xh(`memory`,vh(n),async()=>{for(let e of t)e.clear()})}var Ch={saves:`spindle.save.`,playthroughs:`spindle.pt.`,meta:`spindle.meta.`},wh={\"saves.ifid\":`spindle.idx.saves.`,\"saves.playthroughId\":`spindle.idx.saves-pt.`,\"playthroughs.ifid\":`spindle.idx.pt.`};function Th(e){let t=localStorage.getItem(e);if(t!==null)try{return JSON.parse(t)}catch{return}}function Eh(e,t){localStorage.setItem(e,JSON.stringify(t))}function Dh(e){localStorage.removeItem(e)}function Oh(e){return Th(e)??[]}function kh(e,t){let n=Oh(e);n.includes(t)||(n.push(t),Eh(e,n))}function Ah(e,t){let n=Oh(e).filter(e=>e!==t);n.length>0?Eh(e,n):Dh(e)}var jh=e=>Object.keys(localStorage).filter(t=>t.startsWith(e));function Mh(){function e(e,t){let n=Ch[e],r=Object.entries(t).map(([t,n])=>({field:t,read:n,prefix:wh[`${e}.${t}`]})),i=e=>r.map(t=>`${t.prefix}${t.read(e)}`);return{get:async e=>Th(`${n}${e}`),async put(e,t){let r=Th(`${n}${e}`),a=i(t);if(r!==void 0)for(let t of i(r))a.includes(t)||Ah(t,e);Eh(`${n}${e}`,t);for(let t of a)kh(t,e)},async delete(e){let t=Th(`${n}${e}`);if(t!==void 0)for(let n of i(t))Ah(n,e);Dh(`${n}${e}`)},async find(e,t){let i=r.find(t=>t.field===e),a=[];for(let e of Oh(`${i.prefix}${t}`)){let t=Th(`${n}${e}`);t!==void 0&&a.push(t)}return a},keys:async()=>jh(n).map(e=>e.slice(n.length))}}return xh(`localstorage`,vh(e),async()=>{for(let e of jh(`spindle.`))Dh(e)})}var Nh=`spindle`,Ph=1,Fh={saves:{keyPath:`meta.id`,indexes:{ifid:`meta.ifid`,playthroughId:`meta.playthroughId`}},playthroughs:{keyPath:`id`,indexes:{ifid:`ifid`}},meta:{keyPath:`key`,indexes:{}}};function Ih(){let e=null;function t(){return e||(e=new Promise((t,n)=>{let r=indexedDB.open(Nh,Ph);r.onupgradeneeded=()=>{let e=r.result;for(let[t,{keyPath:n,indexes:r}]of Object.entries(Fh)){if(e.objectStoreNames.contains(t))continue;let i=e.createObjectStore(t,{keyPath:n});for(let[e,t]of Object.entries(r))i.createIndex(e,t,{unique:!1})}},r.onsuccess=()=>{let n=r.result;n.onversionchange=()=>{n.close(),e=null},t(n)},r.onerror=()=>n(r.error)}),e)}function n(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function r(e){let r=e===`meta`,i=async(r,i)=>{let a=(await t()).transaction(e,r),o=n(i(a.objectStore(e)));if(r===`readonly`)return o;let s=new Promise((e,t)=>{a.oncomplete=()=>e(),a.onabort=()=>t(a.error??new DOMException(`Transaction aborted`,`AbortError`))}),[c]=await Promise.all([o,s]);return c};return{async get(e){let t=await i(`readonly`,t=>t.get(e));return r?t?.value:t},async put(e,t){await i(`readwrite`,n=>n.put(r?{key:e,value:t}:t))},async delete(e){await i(`readwrite`,t=>t.delete(e))},async find(e,t){return await i(`readonly`,n=>n.index(e).getAll(t))??[]},keys:async()=>await i(`readonly`,e=>e.getAllKeys())}}return xh(`indexeddb`,vh(r),async()=>{(await t()).close(),e=null,await new Promise((e,t)=>{let n=indexedDB.deleteDatabase(Nh);n.onsuccess=()=>e(),n.onerror=()=>t(n.error),n.onblocked=()=>t(Error(`Cannot clear the saved data: another tab or window of this site still has it open. Close the other tabs and try again.`))})})}var Lh=null;async function Rh(){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)}),Ih()}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 Mh()}catch{}return Sh()}var zh=null;function Z(){if(Lh)return Promise.resolve(Lh);if(!zh){let e=Rh().then(t=>(zh===e&&(Lh=t),t));zh=e}return zh}function Bh(){Lh=null,zh=null}function Vh(){return Lh?.type??`memory`}var Hh=e=>Object.prototype.toString.call(e).slice(8,-1),Uh=e=>Hh(e).startsWith(`Temporal.`),Wh=e=>e instanceof Number||e instanceof String||e instanceof Boolean||Hh(e)===`BigInt`;function Gh(e){return e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof URL||e instanceof URLSearchParams||e instanceof Error||Wh(e)||Uh(e)}function Kh(e){if(!Gh(e))return;let t=e instanceof Error?`Error`:Hh(e);return`${/^[AEIOU]/.test(t)?`an`:`a`} ${t}`}function qh(e,t){let n=e;for(let e of t){if(n==null||e in Object.prototype&&!G(Object(n),e))return;n=n[e]}return n}var Jh=e=>e===`length`||/^(0|[1-9]\\d*)$/.test(e),Yh=Kh;function Xh(e){let t=Array.isArray(e)?Array(e.length):Object.create(Object.getPrototypeOf(e));for(let n of Object.keys(e))Object.defineProperty(t,n,{value:e[n],enumerable:!0,writable:!0,configurable:!0});return t}function Zh(e,t,n,r={}){let i=tg(e,t,r.createMissing??!1);i[t[t.length-1]]=n}function Qh(e,t){let n=t[t.length-1];$h(t);let r=e;for(let e of t.slice(0,-1)){if(typeof r!=`object`||!r||!G(r,e))return;r=r[e]}if(typeof r!=`object`||!r||!G(r,n))return;let i=tg(e,t,!1);if(Array.isArray(i)&&Mt(i)&&t.length>1){let r=Rn(i).slice();delete r[Number(n)];let a=tg(e,t.slice(0,-1),!1);a[t[t.length-2]]=r;return}delete i[n]}function $h(e){if(e.includes(`__proto__`))throw TypeError(`spindle: Cannot use \"__proto__\" in a variable path (\"${e.join(`.`)}\")`)}function eg(e,t,n,r){let i=Yh(e)??(Array.isArray(e)&&!Jh(t)?`an array`:``);if(i)throw TypeError(`spindle: Cannot set property \"${t}\" on ${i} (at \"${n.slice(0,r).join(`.`)}\")`)}function tg(e,t,n){$h(t);let r=Mt(e),i=e;for(let e=0;e<t.length-1;e++){let a=t[e];eg(i,a,t,e);let o=G(i,a)?i[a]:void 0;if(typeof o!=`object`||!o){if(!n)throw TypeError(`spindle: Cannot set property \"${t[e+1]}\" on ${o===null?`null`:typeof o} (at \"${t.slice(0,e+1).join(`.`)}\")`);o={},i[a]=o}else r&&!Mt(o)&&!Yh(o)&&(o=Xh(o),i[a]=o);i=o}return eg(i,t[t.length-1],t,t.length-1),i}function ng(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}var rg=[`message`,`cause`,`errors`];function ig(e,t={}){let n=t.seen??new Map,r=(e,t)=>(n.set(e,t),t);function i(e,t){for(let n of Object.keys(e))ks(t,n,s(e[n]));for(let n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=s(e[n]));return t}function a(e){if(e instanceof Date)return r(e,new Date(e.getTime()));if(e instanceof RegExp)return r(e,new RegExp(e.source,e.flags));if(e instanceof ArrayBuffer)return r(e,e.slice(0));if(ArrayBuffer.isView(e)){let t=s(e.buffer);if(e instanceof DataView)return r(e,new DataView(t,e.byteOffset,e.byteLength));let n=e.constructor,i=e.length;return r(e,new n(t,e.byteOffset,i))}if(e instanceof URL)return r(e,new URL(e.href));if(e instanceof URLSearchParams)return r(e,new URLSearchParams(e));if(Wh(e))return r(e,Object(e.valueOf()));if(Uh(e))return e;if(e instanceof Error){let t=r(e,Object.create(Object.getPrototypeOf(e)));for(let n of[...rg,`stack`])if(G(e,n)){let r=e[n];Object.defineProperty(t,n,{value:o(s(r),r),writable:!0,configurable:!0})}return i(e,t)}}function o(e,n){let r=t.settle;return r&&lg(e)&&lg(n)?r(e,n):e}function s(e){if(typeof e!=`object`||!e)return e;let c=e;if(n.has(c))return n.get(c);if(Array.isArray(e)){let t=r(c,Array(e.length));for(let n=0;n<e.length;n++)n in e&&(t[n]=s(e[n]));return t}if(e instanceof Map){let t=r(c,new Map);for(let[n,r]of e)t.set(o(s(n),n),s(r));return t}if(e instanceof Set){let t=r(c,new Set);for(let n of e)t.add(o(s(n),n));return t}let l=a(c);if(l!==void 0)return l;let u=Dm(c)!==void 0||ng(e);return!u&&t.keepUnregistered?e:i(c,r(c,u?Object.create(Object.getPrototypeOf(c)):{}))}return s(e)}function ag(e,t){return pg(e,t,og())}function og(){let e=new Map;return(t,n)=>{let r=e.get(t);if(r?.has(n))return!0;r?r.add(n):e.set(t,new Set([n]))}}function sg(e=new Map,t=new Map){let n=[],r=((r,i)=>{let a=e.get(r);if(a!==void 0)return a===i;if(t.has(i))return!1;e.set(r,i),t.set(i,r),n.push([r,i])});return r.strict=!0,r.added=n,r}function cg(e,t){if(!lg(e)||!lg(t))return t;let n=new Map,r=new Map,i=e=>lg(e)?ig(e,{keepUnregistered:!0,seen:n}):e;function a(e,t){let i=sg(r,n);if(pg(e,t,i))return!0;for(let[e,t]of i.added)r.delete(e),n.delete(t);return!1}function o(e,t){if(!lg(t))return t;let r=n.get(t);if(r!==void 0)return r;if(!lg(e))return i(t);if(a(e,t))return e;if(t instanceof Map&&e instanceof Map){let r=new Map;n.set(t,r);for(let[n,a]of t)r.set(i(n),o(e.get(n),a));return r}if(Array.isArray(t)&&Array.isArray(e)){let r=Array(t.length);n.set(t,r);for(let n=0;n<t.length;n++)n in t&&(r[n]=o(e[n],t[n]));return r}if(hg(e,t,!1)){let r=Object.create(Object.getPrototypeOf(t));n.set(t,r);let i=t;for(let t of Object.keys(i))ks(r,t,o(G(e,t)?e[t]:void 0,i[t]));return r}return i(t)}return o(e,t)}var lg=e=>typeof e==`object`&&!!e;function ug(e,t){let n=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),r=ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t);if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==r[e])return!1;return!0}function dg(e,t,n){if(e instanceof Date)return Object.is(e.getTime(),t.getTime());if(e instanceof RegExp)return String(e)===String(t);if(ArrayBuffer.isView(e)){let r=t;return e.byteOffset===r.byteOffset&&e.byteLength===r.byteLength&&pg(e.buffer,r.buffer,n)}if(e instanceof ArrayBuffer)return ug(e,t);if(e instanceof URL||e instanceof URLSearchParams)return String(e)===String(t);if(Wh(e))return Object.is(e.valueOf(),t.valueOf());if(Uh(e))return String(e)===String(t);if(e instanceof Error)return rg.every(r=>G(e,r)===G(t,r)&&pg(e[r],t[r],n))&&fg(e,t,n)}function fg(e,t,n){let r=e,i=t,a=Object.keys(r);if(a.length!==Object.keys(i).length)return!1;for(let e of a)if(!G(i,e)||!pg(r[e],i[e],n))return!1;return!0}function pg(e,t,n){if(Object.is(e,t)&&!(n.strict&&lg(e)))return!0;if(e===null||t===null||typeof e!=`object`||typeof t!=`object`||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let r=n(e,t);if(r!==void 0)return r;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(!pg(e.value,t.value,n))return!1;return!0}let i=dg(e,t,n);if(i!==void 0)return i;if(Array.isArray(e)){let r=t;if(e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(t in e!=t in r||!pg(e[t],r[t],n))return!1;return!0}return fg(e,t,n)}function mg(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!Gh(e)}function hg(e,t,n){return n&&(Array.isArray(e)||Array.isArray(t))?Array.isArray(e)&&Array.isArray(t):mg(e)&&mg(t)&&Object.getPrototypeOf(e)===Object.getPrototypeOf(t)}function gg(e,t,n){let r=[],i=(e,t,i)=>{Object.is(t,i)||(hg(t,i,n)?r.push({key:e,kind:`nested`,before:t,after:i}):ag(t,i)||r.push({key:e,kind:`changed`,after:i}))};if(Array.isArray(t)){let n=e,a=t;for(let e=0;e<Math.min(n.length,a.length);e++){let t=String(e);e in n&&e in a?i(t,n[e],a[e]):e in n?r.push({key:t,kind:`deleted`,hole:!0}):e in a&&r.push({key:t,kind:`added`,after:a[e]})}let o=n.length;for(let e=n.length;e<a.length;e++){if(!(e in a))continue;let t=e-o;r.push({key:String(e),kind:`added`,after:a[e],...t?{gap:t}:{}}),o=e+1}for(let e=a.length;e<n.length;e++)r.push({key:String(e),kind:`deleted`});return a.length>o&&r.push({key:`length`,kind:`holes`,after:a.length-o}),r}for(let n of Object.keys(t))G(e,n)?i(n,e[n],t[n]):r.push({key:n,kind:`added`,after:t[n]});for(let n of Object.keys(e))G(t,n)||r.push({key:n,kind:`deleted`});return r}function _g(e,t,n=!1){let r=[],i=new Set,a=new WeakMap,o=0;return(function e(t,s,c){if(i.has(s)){o++;return}if(a.get(s)?.has(t))return;i.add(s);let l=r.length,u=o;for(let i of gg(t,s,n)){let n=[...c,i.key];i.kind===`nested`?e(i.before,i.after,n):r.push(i.kind===`deleted`?{path:n,deleted:!0,...i.hole?{hole:!0}:{}}:{path:n,deleted:!1,value:i.after,...i.kind===`added`&&Array.isArray(s)&&Number(i.key)>=t.length?{appended:!0,...i.gap?{gap:i.gap}:{}}:{}})}if(r.length===l&&o===u){let e=a.get(s)??new Set;e.add(t),a.set(s,e)}i.delete(s)})(e,t,[]),r}var vg=e=>JSON.stringify(e);function yg(e,t){for(let n=1;n<=e.length;n++)if(t.has(vg(e.slice(0,n))))return!0;return!1}var bg=(e,t)=>`\\0${e}${t}`,xg=e=>e.startsWith(`\\0`);function Sg(e){let t=[];if(e instanceof Map){let n=0;for(let[r,i]of e)t.push([bg(`k`,n),r],[bg(`v`,n),i]),n++}else if(e instanceof Set){let n=0;for(let r of e)t.push([bg(`s`,n++),r])}else if(e instanceof Error)for(let n of[`cause`,`errors`])G(e,n)&&t.push([bg(n===`cause`?`c`:`e`,0),e[n]]);else return;return t}function Cg(e,t){let n=e,r=0;for(let e=0;e<t.length;e++)if(xg(t[e])){if(n=qh(n,t.slice(r,e)),!lg(n))return;n=Sg(n)?.find(([n])=>n===t[e])?.[1],r=e+1}return r===t.length?n:qh(n,t.slice(r))}function wg(e,t,n){let r=Cg(e,t.slice(0,-1)),i=/^\\0v(\\d+)$/.exec(t[t.length-1]);if(!(r instanceof Map)||!i)return!1;let a=[...r.keys()][Number(i[1])];return r.set(a,n),!0}function Tg(e,t=new Set,n=!1){let r=new Map,i=[];function a(e,t){let a=r.get(e);if(a){a.push(t);return}r.set(e,[t]),mg(e)||Array.isArray(e)?o(e,t):n&&Sg(e)&&i.push([e,t])}function o(e,n){for(let r of Object.keys(e)){let i=e[r];if(!lg(i))continue;let o=[...n,r];t.has(vg(o))||a(i,o)}}o(e,[]);for(let[e,t]of i)for(let[n,r]of Sg(e))lg(r)&&a(r,[...t,n]);return r}function Eg(e,t,n){return new Map([...Tg(e,t,n)].map(([e,t])=>[e,t[0]]))}function Dg(e){return[...Tg(e,void 0,!0).values()].filter(e=>e.length>1)}function Og(e,t,n,r,i){let a=[],o=Sg(e),s=Sg(t);if(o&&s){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)||(e instanceof Map||e instanceof Set)&&e.size!==t.size)return!1;let n=new Map(s);for(let[e,t]of o)n.has(e)&&a.push([e,t,n.get(e)])}else if((mg(e)||Array.isArray(e))&&hg(e,t,!0))for(let n of Object.keys(t))G(e,n)&&a.push([n,e[n],t[n]]);return a.some(([e,t,a])=>{if(!lg(t)||!lg(a))return!1;let o=[...n,e],s=i.get(a);return vg(r.get(t))!==vg(s)||vg(s)===vg(o)&&Og(t,a,o,r,i)})}function kg(e,t){let n=Eg(e,void 0,!0),r=Eg(t,void 0,!0),i=[];return(function e(t,a,o){for(let s of Object.keys(a)){if(!G(t,s))continue;let c=t[s],l=a[s];if(!lg(c)||!lg(l))continue;let u=[...o,s],d=n.get(c),f=r.get(l),p=vg(u);vg(d)===vg(f)?vg(f)===p&&Sg(c)&&Og(c,l,u,n,r)&&i.push({path:u,deleted:!1,value:l,alias:!0}):i.push({path:u,deleted:!1,value:l,alias:!0}),(mg(c)||Array.isArray(c))&&hg(c,l,!0)&&vg(f)===p&&vg(d)===p&&e(c,l,u)}})(e,t,[]),i}function Ag(e,t,n=!1){let r=_g(e,t,n),i=new Set(r.map(e=>vg(e.path))),a=[];for(let n of kg(e,t))yg(n.path,i)||(i.add(vg(n.path)),a.push(n));return[...a,...r]}function jg(e,t){return Eg(e,new Set(t.map(e=>vg(e.path))),!0)}function Mg(e,t){return new class extends Map{has(n){if(super.has(n))return!0;let r=e.get(n);if(!r)return!1;let i=Cg(t,r);return lg(i)&&(Array.isArray(i)?Array.isArray(n):Object.getPrototypeOf(i)===Object.getPrototypeOf(n))?(super.set(n,i),!0):!1}}}function Ng(e,t){let n=qh(e,t.path.slice(0,-1));if(typeof n!=`object`||!n)return t.deleted;let r=t.path[t.path.length-1];return G(n,r)?!t.deleted&&ag(n[r],t.value):t.deleted}function Pg(e,t,n){t.some(xg)?wg(e,t,n):Zh(e,t,n)}function Fg(e,t){let n=e;t.deleted?Qh(n,t.path):Zh(n,t.path,t.value)}var Ig=new Set([`storyinit`,`beforerestart`,`actionsChanged`,`variableChanged`,`beforesave`,`aftersave`,`beforeload`,`afterload`,`beforenavigate`,`afternavigate`,`passagerender`,`dialogrender`]),Lg=new Map;function Rg(e,t){if(!Ig.has(e))throw Error(`spindle: Unknown event \"${e}\".`);let n=Lg.get(e);return n||(n=new Set,Lg.set(e,n)),n.add(t),()=>{n.delete(t)}}function zg(e,t){let n=Lg.get(e);if(n)for(let e of[...n])t(e)}function Bg(e,...t){zg(e,e=>e(...t))}function Vg(e,...t){zg(e,n=>{try{n(...t)}catch(t){console.error(`spindle: Error in ${e} handler:`,t)}})}var Hg=null,Ug=null;function Wg(e){Hg=e}function Gg(e){Ug=e}function Kg(e){if(Ug)try{let t=Function(`passage`,`variables`,Ug)(e.passage,e.variables);if(typeof t==`string`&&t.trim())return t.trim()}catch{}if(Hg)try{let t=Hg(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}`}var qg=Promise.resolve();function Jg(e){let t=qg.then(e);return qg=t.catch(()=>{}),t}function Yg(e){return(...t)=>Jg(()=>e(...t))}var Xg=e=>Yg(async t=>e(await(await Z()).getSave(t))),Zg=e=>Yg(async(t,n)=>e(await O_(t,n))),Qg=Yg($g);async function $g(e,t=bt()){let n=await Z(),r=await n_(e),i={id:t,ifid:e,createdAt:new Date().toISOString(),label:`Playthrough ${r}`};return await n.putPlaythrough(i),await n.setMeta(t_(e),r),await n.setMeta(r_(e),t),t}var e_=/^Playthrough (\\d+)$/;function t_(e){return`${yh.playthroughCount}${e}`}async function n_(e){let t=await Z(),n=await t.getMeta(t_(e))??0;for(let r of await t.getPlaythroughsByIfid(e)){let e=e_.exec(r.label);e&&(n=Math.max(n,Number(e[1])))}return n+1}function r_(e){return`${yh.currentPlaythrough}${e}`}var i_=Yg(a_);async function a_(e,t){let n=await Z();await o_(e,t,new Date().toISOString());let r=r_(e);await n.getMeta(r)!==t&&await n.setMeta(r,t)}async function o_(e,t,n){let r=await Z();(await r.getPlaythroughsByIfid(e)).some(e=>e.id===t)||await r.putPlaythrough({id:t,ifid:e,createdAt:n,label:`Imported`})}function s_(e){return Jg(async()=>({id:await(await Z()).getMeta(r_(e))??await $g(e),knownSaves:await R_(e)}))}function c_(e,t,n,r){try{let i=n();return vs(()=>Bg(`beforesave`,e,t)),r(i()).then(t=>(vs(()=>Bg(`aftersave`,e)),t))}catch(e){return Promise.reject(e)}}function l_(e,t){let n=nh(t);return{meta:{...e,estimatedBytes:_h(n)},payload:n}}var u_=Yg(d_);async function d_(e,t,n,r={}){let i=new Date().toISOString(),a=l_({id:bt(),ifid:e,playthroughId:t,createdAt:i,updatedAt:i,title:Kg(n),passage:n.passage,custom:r},n);return await(await Z()).putSave(a),a}var f_=Yg(p_);async function p_(e,t,n,r){let i=await Z(),a=await i.getSave(e);if(!a)return;let o=l_({...a.meta,...r?{playthroughId:r}:{},updatedAt:new Date().toISOString(),title:a.meta.userTitle===!0?a.meta.title:Kg(t),passage:t.passage,...n==null?{}:{custom:{...a.meta.custom,...n}}},t);return await i.putSave(o),o}var m_=e=>e&&uh(e.payload),h_=e=>uh(e);Xg(m_);function g_(e){return Jg(async()=>{let t=await Z(),n=await t.getSave(e);await t.deleteSave(e),n&&await j_(n.meta.ifid,t=>t===e)})}function __(e,t){return Jg(async()=>{let n=await Z(),r=await n.getSave(e);if(!r)return;let i={...r,meta:{...r.meta,title:t,userTitle:!0,updatedAt:new Date().toISOString()}};await n.putSave(i)})}var v_=Yg(async function(e){let t=await Z(),[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}),y_=yh.autosave,b_=yh.slot,x_=yh.slotIndex;function S_(e){return e!=null&&e!==``}function C_(e,t){return S_(t)?`${b_}${t}.${e}`:`${y_}${e}`}var w_=e=>`${x_}${e}`;async function T_(e,t){let n=await Z(),r=await n.getMeta(w_(e))??[],i=t(r);i!==r&&await n.setMeta(w_(e),i)}async function E_(e){return[void 0,...(await(await Z()).getMeta(w_(e))??[]).filter(S_)]}async function D_(e,t){return(await Z()).getMeta(C_(e,t))}async function O_(e,t){let n=await D_(e,t);return n?(await Z()).getSave(n):void 0}async function k_(e,t,n){await(await Z()).setMeta(C_(e,t),n),S_(t)&&await T_(e,e=>e.includes(t)?e:[...e,t])}async function A_(e,t){await(await Z()).deleteMeta(C_(e,t)),S_(t)&&await T_(e,e=>e.filter(e=>e!==t))}async function j_(e,t){for(let n of await E_(e)){let r=await D_(e,n);r&&t(r)&&await A_(e,n)}}var M_=e=>({isAutosave:!S_(e),...S_(e)?{slot:e}:{}});function N_(e,t){return{slot:S_(t)?t:``,title:e.meta.title,passage:e.meta.passage,createdAt:e.meta.createdAt,updatedAt:e.meta.updatedAt,custom:e.meta.custom??{}}}function P_(e,t,n,r,i){return Jg(async()=>{let a=await t,o=await D_(e,r);if(o){let e=await p_(o,n,i,a);if(e)return e}let s=await d_(e,a,n,{...M_(r),...i});return await k_(e,r,s.meta.id),s})}async function F_(e,t){return await O_(e,t)!==void 0}Zg(m_);function I_(e,t){return Jg(async()=>{let n=await O_(e,t);if(!n)return;let r=uh(n.payload),{playthroughId:i}=n.meta;return i&&await a_(e,i),{payload:r,playthroughId:i}})}var L_=Yg(R_);async function R_(e){let t=Object.create(null);for(let n of await E_(e))await F_(e,n)&&(t[n??``]=!0);return t}var z_=Yg(B_);async function B_(e,t){let n=await O_(e,t);return n?N_(n,t):null}var V_=Yg(async e=>{let t=[];for(let n of await E_(e)){let r=await B_(e,n);r&&t.push(r)}return t}),H_=Yg(async(e,t)=>{let n=await D_(e,t);n&&(await(await Z()).deleteSave(n),await A_(e,t))}),U_=`spindle.session.`;function W_(e,t){let n=JSON.stringify(nh(t));try{sessionStorage.setItem(`${U_}${e}`,n)}catch{}}function G_(e){try{let t=sessionStorage.getItem(`${U_}${e}`);return t?uh(JSON.parse(t)):void 0}catch(t){t instanceof Xm&&(console.warn(`spindle: ${t.message}; the session was not restored.`),K_(e));return}}function K_(e){try{sessionStorage.removeItem(`${U_}${e}`)}catch{}}function q_(e){if(e)return{formatVersion:1,ifid:e.meta.ifid,exportedAt:new Date().toISOString(),save:e}}var J_=Xg(q_);async function Y_(e,t){if(hh(e),e.ifid!==t)throw Error(`Save is from a different story (expected IFID ${t}, got ${e.ifid})`);let n=ig(e.save);return n.meta.id=bt(),n.meta.updatedAt=new Date().toISOString(),n.meta.ifid=t,await o_(t,n.meta.playthroughId,n.meta.createdAt),n}function X_(e,t){return Jg(async()=>{let n=await Y_(e,t);return await(await Z()).putSave(n),n})}var Z_=Zg(q_);function Q_(e,t,n){return Jg(async()=>{let r=await Y_(e,t),{slot:i,...a}=r.meta.custom??{};r.meta.custom={...a,...M_(n)};let o=await Z(),s=await D_(t,n);return await o.putSave(r),await k_(t,n,r.meta.id),s&&await o.deleteSave(s),N_(r,n)})}var $_=Yg(async function(e){let t=await Z(),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=_h(e.payload);e.meta.estimatedBytes=n,await t.putSave(e),i+=n}return{saveCount:n.length,playthroughCount:r.length,totalBytes:i,backend:t.type}});function ev(e){return Jg(async()=>{let t=await Z();await t.deleteSavesByIfid(e),await t.deletePlaythroughsByIfid(e),await t.deleteMetaByIfid(e),K_(e)})}var tv=Yg(nv);async function nv(){if(await(await Z()).destroy(),Bh(),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)}}function rv(e,t,n){return Jg(async()=>{let r=await Z(),i=await r.deleteSavesByPlaythrough(t);await r.deletePlaythroughById(t);let a=new Set(i);if(await j_(e,e=>a.has(e)),n&&await n.current===t)return await $g(e,n.id),!0;let o=r_(e);return await r.getMeta(o)===t&&await r.deleteMeta(o),!1})}var iv=null;function av(){iv&&(ge(null,iv),iv.remove(),iv=null)}function ov(){av();let e=Q.getState();if(!e.storyData)return;let t=e.storyData.passages.get(`StoryInit`);if(t){let e=Zo(t.content),n=document.createElement(`div`);n.style.display=`none`,document.body.appendChild(n),iv=n,ge(b(()=>jp(e),null),n),Ky()}let n=e.storyData.passages.get(`SaveTitle`);n&&Gg(n.content)}function sv(e){ov(),e&&Q.getState().loadFromPayload(e),Bg(`storyinit`),e||Ky()}var cv=[`variables`,`temporary`,`transient`],lv=[];function uv(){return lv[lv.length-1]?.work}function dv(){let e=Q.getState(),t=uv();return t?{...e,...t}:e}var fv=e=>ig(e,{keepUnregistered:!0});function pv(e,t){let n=t?Mg(t,e):new Map,r=(r,i)=>{let a=t?.get(i);if(!a||!Mt(r))return r;let o=Rn(r);return a.some(xg)||Zh(e,a,o),n.set(i,o),o};return e=>ig(e,{keepUnregistered:!0,seen:n,settle:r})}var mv=e=>{let t=new Map;return n=>{let r=t.get(n);return r||(r=pv(n,e?.(n)),t.set(n,r)),r}};function hv(e){return tn(fv(e),!0)}function gv(e,t,n=lv,r=_v){let[i,a]=t.path;for(let o of n)for(let n of[o.work,o.base])try{Fg(n,t.deleted?t:{...t,value:r(n)(t.value)})}catch{let t=e[i][a];G(e[i],a)?n[i][a]=fv(Mt(t)?Rn(t):t):delete n[i][a]}}var _v=e=>pv(e),vv=new Set(cv),yv=new In({autoFreeze:!1}),bv=!1;function xv(e,t){let n=[],r=e;for(let e of t){if(!mg(r))break;let t=String(e);n.push(t),r=G(r,t)?r[t]:void 0}return n}function Sv(e,t){let n=qh(e,t.slice(0,-1)),r=t[t.length-1];return mg(n)&&G(n,r)?{path:t,deleted:!1,value:n[r]}:{path:t,deleted:!0}}function Cv(e,t,n){if(n.some(e=>e.path.length===1))return[...new Set([...Object.keys(e),...Object.keys(t)])].filter(n=>!G(e,n)||e[n]!==t[n]).map(e=>Sv(t,[e]));let r=new Set,i=[];for(let e of n){let n=xv(t,e.path.slice(1)),a=JSON.stringify(n);r.has(a)||(r.add(a),i.push(Sv(t,n)))}return i}function wv(e){if(bv){bv=!1;return}if(lv.length===0)return;Ov(Av());let t=lv[lv.length-1],n={...Q.getState(),variables:t.work.variables,temporary:t.work.temporary,transient:t.work.transient},[r,i]=yv.produceWithPatches(n,e),a=cv.flatMap(e=>{let t=i.filter(t=>t.path[0]===e);return t.length?Cv(n[e],r[e],t).map(t=>({...t,path:[e,...t.path]})):[]}),o=jg(Dv(t.work),a),s=mv(()=>o),c=(e,t)=>e.deleted?e:{...e,value:s(t)(e.value)};for(let e of a)Fg(t.work,c(e,t.work));return e=>{let i=e;for(let e of Object.keys(r)){let t=r[e];!vv.has(e)&&t!==n[e]&&(i[e]=t)}let o=e;for(let e of a){let[n,r]=e.path;try{Fg(o,c(e,o))}catch{G(t.work[n],r)?o[n][r]=fv(t.work[n][r]):delete o[n][r]}gv(o,e,lv,s)}}}function Tv(e,t,n){let r=n.map(e=>vg(e.path).slice(0,-1));for(let[n,...i]of Dg(t)){let t=[n,...i].map(e=>vg(e).slice(0,-1));if(r.some(e=>t.some(t=>e.startsWith(t))))try{let t=Cg(e,n);if(typeof t!=`object`||!t)continue;for(let n of i)Pg(e,n,t)}catch{}}}function Ev(e){let t=new Map;return{variables:ig(e.variables,{seen:t}),temporary:ig(e.temporary,{seen:t}),transient:ig(e.transient,{seen:t})}}var Dv=e=>({variables:e.variables,temporary:e.temporary,transient:e.transient});function Ov(e){let t=e.map(({scope:e,keepRunning:t})=>({scope:e,keepRunning:t,changes:kv(e.base,e.work)})),n=t.filter(({changes:e})=>e.length>0);if(n.length===0)return;for(let{scope:e,keepRunning:t}of n)t&&(e.base=Ev(e.work));bv=!0;try{Q.getState().updateVariables(r)}finally{bv=!1}function r(e){t.forEach(({scope:n,changes:r},i)=>{let a=jg(n.work,r),o=pv(e,a),s=t.slice(0,i).map(e=>e.scope),c=mv(()=>a),l=new Set;for(let t of r){let[r,i]=t.path,a=vg([r,i]);if(!l.has(a))try{if(t.deleted){Ng(e,t)||Fg(e,t);continue}let n=t.alias?o(t.value):void 0;if(t.alias?Object.is(qh(e,t.path),n):Ng(e,t))continue;Fg(e,{...t,value:t.alias?n:o(t.value)})}catch{e[r][i]=o(n.work[r][i]),l.add(a)}}Tv(e,n.work,r);for(let t of r)gv(e,t,s,c)})}}var kv=(e,t)=>Ag(e,t),Av=()=>lv.map(e=>({scope:e,keepRunning:!0}));function jv(e){let t=Q.getState(),n=Dv(t),r=Ag(e.base,n),i=pv(e.work,jg(n,r));for(let t of r)try{Fg(e.work,t.deleted?t:{...t,value:i(t.value)})}catch{let[r,a]=t.path;G(n[r],a)?e.work[r][a]=i(n[r][a]):delete e.work[r][a]}e.base=Ev(t)}function Mv(e){if(lv.length===0)return e();Ov(Av());let t=lv.splice(0);try{return e()}finally{lv.push(...t);for(let e of t)jv(e)}}function Nv(e){Ov(Av());let t=jg(Dv(uv()??Q.getState()),[]),n=Pv(),r=pv(n.work,t);try{e(n.work,r)}finally{lv.pop()}Ov([...Av(),{scope:n,keepRunning:!1}])}function Pv(){let e=uv()??Q.getState(),t={work:Ev(e),base:Ev(e)};return lv.push(t),t}function Fv(e,t,n){let r=Ms(ig(t,{keepUnregistered:!0})),i=Pv();try{ac(e,i.work.variables,i.work.temporary,r,i.work.transient)}finally{lv.pop()}Ov([...Av(),{scope:i,keepRunning:!1}]);let a=new Set(Ag(t,r,!0).map(e=>e.path[0]));for(let e of Dg(r))if(e.some(e=>a.has(e[0])))for(let n of e)r[n[0]]!==t[n[0]]&&a.add(n[0]);for(let e of Object.keys(r))a.has(e)&&n(e,r[e]);for(let e of Object.keys(t))G(r,e)||n(e,void 0)}var Iv=[],Lv=!1,Rv=[],zv=null,Bv=null;function Vv(e){let t=dv();try{return!!ic(e,t.variables,t.temporary,{},t.transient)}catch{return!1}}function Hv(e,t,n){let r=typeof t==`function`,i=r?void 0:t,a=r?t:void 0,o={name:i?.name,condition:e,callback:a,options:i,lastResult:Vv(e),priority:i?.priority??0,macroKey:n};return Iv.push(o),Iv.sort((e,t)=>t.priority-e.priority),()=>{Iv=Iv.filter(e=>e!==o)}}function Uv(e,t){return Hv(e,t)}function Wv(e,t){let n=Object.fromEntries(Object.entries(t).sort(([e],[t])=>e<t?-1:1)),r=JSON.stringify([e,n]);Iv.some(e=>e.macroKey===r)||Hv(e,t,r)}function Gv(e){Iv=Iv.filter(t=>t.name!==e)}function Kv(e){let{callback:t,options:n}=e;if(t){t();return}if(n){if(n.run)try{Fv(n.run,{},()=>{})}catch(t){console.error(`spindle: Error in watch run action for \"${e.condition}\":`,t)}n.dialog&&(Rv.push({passageName:n.dialog}),zv?.()),n.goto&&Q.getState().navigate(n.goto)}}var qv=10;function Jv(){for(let e=0;e<qv;e++){let e=!1,t=[...Iv];for(let n of t){if(!Iv.includes(n))continue;let t=Vv(n.condition),r=!n.lastResult;n.lastResult=t,t&&r&&(e=!0,n.options?.once&&(Iv=Iv.filter(e=>e!==n)),Kv(n))}if(!e)break}}function Yv(){if(!Lv){Lv=!0;try{Jv()}finally{Lv=!1}}}var Xv=0;function Zv(){if(Xv===0)return;let e=Lv;Lv=!0;try{Jv()}finally{Lv=e}}function Qv(){let e=Q.getState();Xv++;let t=Q.subscribe(t=>{let n=e;e=t,t.navigationId===n.navigationId&&(t.variables===n.variables&&t.temporary===n.temporary&&t.transient===n.transient||Yv())}),n=!0;return()=>{n&&(n=!1,Xv--,t())}}function $v(){for(let e of Iv)e.lastResult=Vv(e.condition)}function ey(){Iv=[],Rv=[],Bv?.closeAll()}function ty(e){return zv=e,Rv.length>0&&e(),()=>{zv===e&&(zv=null)}}function ny(){return Rv.shift()}function ry(){return Rv.length}function iy(e){Bv?Bv.push(e):(Rv.push(e),zv?.())}function ay(){Rv=[]}function oy(e){return Bv=e,()=>{Bv===e&&(Bv=null)}}var sy=[];function cy(e){return sy.push(e),()=>{let t=sy.lastIndexOf(e);t>=0&&sy.splice(t,1)}}function ly(){let e=sy[sy.length-1];e?e():Bv?.close()}function uy(){ay();for(let e of[...sy].reverse())e();Bv?.closeAll()}function dy(){return sy.length>0||(Bv?.isOpen()??!1)}var fy=[],py=1,my=new Set;function hy(e){fy=e;for(let e of my)e()}function gy(e,t){let n=nl(t).replace(/^spindle: /,``),r=fy.find(t=>t.context===e&&t.message===n);hy(r?fy.map(e=>e===r?{...e,count:e.count+1}:e):[...fy,{id:py++,context:e,message:n,count:1}])}function _y(e,t){return Error(`No passage named ${JSON.stringify(e)} (in passage ${JSON.stringify(t)})`)}function vy(e){hy(fy.filter(t=>t.id!==e))}function yy(){return fy}function by(e){return my.add(e),()=>{my.delete(e)}}Bn(),Vn();var xy=new Set([`StoryInit`,`StoryInterface`,`StoryVariables`,`StoryTransients`,`StoryLoading`,`SaveTitle`,`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]),Sy=K(),Cy=[],wy=K();function Ty(e,t){let n=[];for(let r of Object.keys(e))G(t,r)||n.push({key:r,deleted:!0});let r=new Map,i=e=>n.push({key:e,deleted:!1,value:ig(t[e],{keepUnregistered:!0,seen:r})}),a=[];for(let n of Object.keys(t))!G(e,n)||!Object.is(e[n],t[n])?i(n):typeof t[n]==`object`&&t[n]!==null&&a.push(n);for(let e=r.size>0;e;){e=!1;for(let n of a){let o=new Map;if(ig(t[n],{keepUnregistered:!0,seen:o}),[...o.keys()].some(e=>r.has(e))){i(n),a.splice(a.indexOf(n),1),e=!0;break}}}return{forward:n}}function Ey(e,t){let n=Object.create(Object.getPrototypeOf(e));for(let t of Object.keys(e))ks(n,t,e[t]);for(let e of t)e.deleted?delete n[e.key]:ks(n,e.key,e.value);return n}function Dy(e){let t=Cy.length-1;t<0?Sy=e:Cy[t]=Ty(Ay(t),e)}function Oy(e,t){let n=Sy;for(let r=0;r<e;r++)r>0&&(n=Ey(n,Cy[r-1].forward)),t(n,r)}function ky(e,t){return{passage:e.passage,variables:t,timestamp:e.timestamp,prng:e.prng}}function Ay(e){let t=Sy;for(let n=0;n<e;n++)t=Ey(t,Cy[n].forward);return t}var jy=[];function My(e){let{storyData:t,currentPassage:n,variables:r,history:i,historyIndex:a,visitCounts:o,renderCounts:s}=e();if(t){if(jy.length>i.length&&(jy.length=i.length),jy.length<i.length)if(i.length-jy.length===1){let e=i.length-1;jy[e]=ky(i[e],r)}else Oy(i.length,(e,t)=>{t>=jy.length&&(jy[t]=ky(i[t],e))});W_(t.ifid,{passage:n,variables:r,history:jy,historyIndex:a,visitCounts:o,renderCounts:s,prng:ys()})}}var Ny=`The game could not be saved for a page reload; a reload goes back to the last passage it could save:`,Py=`The story could not go to another passage:`;function Fy(e,t){let n;try{My(e)}catch(e){n={error:e},gy(Ny,e)}try{t?.()}finally{if(n)throw n.error}}function Iy(e){let t=e.history.length-e.maxHistory;if(t<=0)return!1;let n=Math.min(e.historyIndex,t),r=n+e.maxHistory;for(let e=0;e<n;e++)Sy=Ey(Sy,Cy[e].forward);return e.history=e.history.slice(n,r),Cy=Cy.slice(n,r-1),jy=jy.slice(n,r),e.historyIndex-=n,!0}var Ly=!1,Ry=[],zy=null;function By(e,t){let n=zy;if(zy=null,!n||e().navigationId!==n.navigationId)return;e().variables!==n.variables&&Dy(e().variables),wy=e().variables;let r=ys(),i=e().history[e().historyIndex].prng;(r?.seed!==i?.seed||r?.pull!==i?.pull)&&t(e=>{e.history[e.historyIndex].prng=r})}var Vy=e=>({...e});function Hy(e){Sy=e,Cy=[],wy=e,jy=[]}function Uy(e){let t=K(ig(e));return Hy(ig(t)),t}function Wy(e,t,n,r){e.currentPassage=t,e.navigationId++,e.variables=n,e.transient=K(ig(r)),e.temporary=K(),e.history=[{passage:t,timestamp:Date.now()}],e.historyIndex=0}function Gy(e,t,n){let{historyIndex:r,history:i}=e(),a=r+n;if(a<0||a>=i.length)return;By(e,t);let o=e().currentPassage,s=i[a].passage;Bg(`beforenavigate`,s);let c=ig(Ay(a));t(e=>{e.historyIndex+=n,e.currentPassage=e.history[e.historyIndex].passage,e.navigationId++,e.variables=c,e.temporary=K()}),$v(),wy=e().variables,vb(e().history[e().historyIndex]),Fy(e,()=>Bg(`afternavigate`,s,o))}function Ky(){let{history:e,historyIndex:t,variables:n}=Q.getState();if(e.length!==1||t!==0)return;Hy(n);let r=ys();Q.setState(e=>{e.history[0].prng=r})}var qy=Promise.resolve(``),Jy=0,Yy=!1;function Xy(){return Yy?``:Q.getState().playthroughId}function Zy(){let e=Xy();return qy.then(t=>e||t)}function Qy(e){Q.getState().playthroughId!==e&&Q.setState(t=>{t.playthroughId=e})}function $y(e){let t=++Jy;return Yy=!0,qy=e.then(e=>(t===Jy&&(Yy=!1,Qy(e)),e)),qy}function eb(e,t){++Jy,Yy=!1,qy=t.then(()=>e,()=>e),Qy(e)}function tb(e){let t=bt();eb(t,Qg(e,t).catch(e=>{console.error(`spindle: failed to start new playthrough`,e)}))}function nb(e,t){Xy()!==t&&eb(t,i_(e,t).catch(e=>{console.error(`spindle: failed to switch to the loaded playthrough`,e)}))}var rb=0,ib=0,ab=null;function ob(){ib=++rb}var sb=[],cb=!1;function lb(e){cb&&sb.push(e)}function ub(){cb=!0}function db(){for(let e of sb)e();sb=[],cb=!1}function fb(e){return typeof e==`string`&&e!==``?e:null}function pb(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 mb(e,t,n){let r=e.history[e.historyIndex];if(!r)return;let i=Ag(t,n,!0);if(i.length===0)return;let a=ig(r.variables),o=Mg(jg(n,i),a),s=e=>ig(e,{seen:o});for(let e of i)hb(a,n,e,s);r.variables=cg(r.variables,a)}function hb(e,t,n,r){let{path:i}=n,a=e,o=0;for(;o<i.length-1;o++){let e=i[o],n=G(a,e)?a[e]:void 0,s=qh(t,i.slice(0,o+1));if(!hg(n,s,!0)){gb(a,e,r(s));return}a=n}let s=i[o];n.deleted?gb(a,s,void 0,n):gb(a,s,r(n.value),n)}function gb(e,t,n,r){let i=r?.deleted??!1;if(Array.isArray(e)){let a=Number(t);i?r&&`hole`in r?delete e[a]:e.length=Math.min(e.length,a):r&&`appended`in r?(e.length+=r.gap??0,e.push(n)):t===`length`&&r?e.length+=n:a<e.length&&(e[a]=n)}else i?delete e[t]:ks(e,t,n)}function _b(e){e?hs(e.seed,e.pull):_s()}function vb(e){e&&_b(e.prng)}var yb=[`variables`,`temporary`,`transient`];function bb(e){for(let t of yb){let n=e[t];js(n)||(e[t]=K(Mt(n)?Rn(n):n))}}var xb=[`navigate`,`goBack`,`goForward`,`restart`,`save`,`load`,`getSavePayload`,`loadFromPayload`];function Sb(e){return(t,n,r)=>{let i=((e,n)=>{if(n){t(e,!0);return}let r=typeof e==`function`?e:t=>{Object.assign(t,e)},i=wv(r);t(e=>{(i??r)(e),bb(e)})});r.setState=i;let a=e(i,n,r);for(let e of xb){let t=a[e];a[e]=(...e)=>Mv(()=>t(...e))}return a}}var Cb=e=>Un(Sb(e));function wb(e){return e.catch(()=>{}),e}function Tb(e,t,n){return wb(e.catch(e=>{throw console.error(t,e),n?.(e),e}))}function Eb(e,t,n){e(e=>{let r=t??``;if(n)e.knownSaves={...e.knownSaves,[r]:!0};else{let{[r]:t,...n}=e.knownSaves;e.knownSaves=n}})}function Db(e,t,n,r){let i=n.then(()=>{t(e=>{e.knownSaves={}})});return e().restart(),Tb(i,r)}var Q=yt()(Cb((e,t)=>({storyData:null,currentPassage:``,navigationId:0,variables:K(),variableDefaults:{},transient:K(),transientDefaults:{},temporary:K(),history:[],historyIndex:-1,visitCounts:Rs(),renderCounts:Rs(),knownSaves:{},playthroughId:``,maxHistory:40,quickSaveKey:`F6`,quickLoadKey:`F9`,saveError:null,loadError:null,transitionConfig:null,nextTransition:null,nobr:!1,renderDeferred:!1,setMaxHistory:n=>{let r=!1;e(e=>{e.maxHistory=Math.max(1,Math.round(n)),r=Iy(e)}),r&&Fy(t)},setQuickSaveKey:t=>{e(e=>{e.quickSaveKey=fb(t)})},setQuickLoadKey:t=>{e(e=>{e.quickLoadKey=fb(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=Uy(r);e(e=>{e.storyData=n,e.playthroughId=``,e.variableDefaults=r,e.transientDefaults=i,Wy(e,a.name,o,i),e.visitCounts=Rs(null,a.name),e.renderCounts=Rs(null,a.name)}),wy=t().variables,ob(),$y(s_(n.ifid).then(({id:t,knownSaves:n})=>(e(e=>{e.knownSaves=n}),t)).catch(e=>(console.error(`spindle: failed to init save system`,e),``)))},navigate:n=>{if(Ly){Ry.push(n);return}let{storyData:r}=t();if(!r)return;if(xy.has(n)){console.error(`spindle: Cannot navigate to special passage \"${n}\".`);return}if(!r.passages.has(n)){let e=_y(n,t().currentPassage);console.error(`spindle: ${e.message}`),gy(Py,e);return}let i=t().currentPassage;Bg(`beforenavigate`,n);let a=Ty(wy,t().variables);e(e=>{e.temporary=K(),e.currentPassage=n,e.navigationId++,e.history=e.history.slice(0,e.historyIndex+1),Cy.length=e.historyIndex,jy.length>e.historyIndex+1&&(jy.length=e.historyIndex+1),Cy.push(a),e.history.push({passage:n,timestamp:Date.now(),prng:ys()}),e.historyIndex=e.history.length-1,Iy(e),e.visitCounts=Rs(e.visitCounts,n),e.renderCounts=Rs(e.renderCounts,n)}),zy={navigationId:t().navigationId,variables:t().variables},Ly=!0;try{Zv()}finally{Ly=!1}let o=Ry;Ry=[],By(t,e),Fy(t,()=>{Bg(`afternavigate`,n,i);for(let e of o)t().navigate(e)})},goBack:()=>Gy(t,e,-1),goForward:()=>Gy(t,e,1),setVariable:(t,n)=>{e(e=>{Ds(t,`$${t}`),e.variables[t]=n})},setTemporary:(t,n)=>{e(e=>{Ds(t,`_${t}`),e.temporary[t]=n})},deleteVariable:t=>{e(e=>{Ds(t,`$${t}`),delete e.variables[t]})},deleteTemporary:t=>{e(e=>{Ds(t,`_${t}`),delete e.temporary[t]})},setTransient:(t,n)=>{e(e=>{Ds(t,`%${t}`),e.transient[t]=n})},deleteTransient:t=>{e(e=>{Ds(t,`%${t}`),delete e.transient[t]})},updateVariables:t=>{e(e=>{t(e)})},trackRender:t=>{e(e=>{e.renderCounts=Rs(e.renderCounts,t)})},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}),Bg(`beforerestart`),tb(n.ifid),ob();let o=t().renderDeferred;db(),_s(),ey();let s=Uy(r);e(e=>{Wy(e,a.name,s,i),e.visitCounts=Rs(null,a.name),e.renderCounts=Rs(null,a.name),o||(e.renderDeferred=!1)}),wy=t().variables,ub(),ov(),K_(n.ifid),Bg(`storyinit`),Ky()},save:(n,r)=>{let{storyData:i}=t();if(!i)return Promise.resolve();let a=Zy();return Tb(c_(n,r,t().beginSave,async t=>{e(e=>{e.saveError=null}),await P_(i.ifid,a,t,n,r),Eb(e,n,!0)}),`spindle: failed to save`,t=>e(e=>{e.saveError=nl(t,`Failed to save`)}))},load:n=>{let{storyData:r}=t();if(!r)return Promise.resolve();e(e=>{e.loadError=null});let i=Zy(),a=I_(r.ifid,n),o=$y(Promise.all([i,a.catch(()=>void 0)]).then(([e,t])=>t?.playthroughId||e)),s=++rb;return Tb(a.then(async e=>{await o,e&&(ib>s||(ab=s,t().loadFromPayload(e.payload,n)))}),`spindle: failed to load save`,t=>e(e=>{e.loadError=nl(t,`Failed to load`)}))},hasSave:e=>{let{storyData:n,knownSaves:r}=t();return n?G(r,e??``):!1},getSaveInfo:async e=>{let{storyData:n}=t();return n?z_(n.ifid,e):null},listSaves:async()=>{let{storyData:e}=t();return e?V_(e.ifid):[]},deleteSave:n=>{let{storyData:r}=t();return r?Tb(H_(r.ifid,n).then(()=>Eb(e,n,!1)),`spindle: failed to delete save`):Promise.resolve()},exportSave:async e=>{let{storyData:n}=t();return n?await Z_(n.ifid,e)??null:null},importSave:async(n,r)=>{let{storyData:i}=t();if(!i)throw Error(`spindle: Story is not initialized.`);let a=await Q_(n,i.ifid,r);return Eb(e,r,!0),a},clearGameData:()=>{let{storyData:n}=t();return n?Db(t,e,ev(n.ifid),`spindle: failed to clear game data`):Promise.resolve()},clearAllData:()=>Db(t,e,tv(),`spindle: failed to clear all data`),deletePlaythrough:n=>{let{storyData:r}=t();if(!r)return Promise.resolve();let i=r.ifid,a=Xy(),o=qy,s=bt(),c=rv(i,n,{current:a||o,id:s});return n!==``&&n===a?eb(s,c):a===``&&$y(c.then(e=>e?s:o,()=>o)),Tb(c.then(async()=>{let t=await L_(r.ifid);e(e=>{e.knownSaves=t})}),`spindle: failed to delete playthrough`)},getSavePayload:()=>{let{currentPassage:e,variables:n,history:r,historyIndex:i,visitCounts:a,renderCounts:o}=t(),s=[];return Oy(r.length,(e,t)=>{let n=Vy(e);s.push(ky(r[t],t===0?n:cg(s[t-1].variables,n)))}),{passage:e,variables:cg(s[i]?.variables,Vy(n)),history:s,historyIndex:i,visitCounts:{...a},renderCounts:{...o},prng:ys()}},beginSave:()=>{let e=t().variables;return()=>{let n=t().getSavePayload();return mb(n,e,t().variables),n}},loadFromPayload:(n,r,i)=>{let a=ab??++rb;if(ab=null,n.history.length===0){console.warn(`loadFromPayload: rejecting payload with empty history`);return}ib=a,Bg(`beforeload`,r);let o=t().storyData?.ifid;i&&o&&nb(o,i);let s=pb(n),c=ig(n.history.map(e=>e.variables)).map(e=>K(e));Sy=ig(c[0]),Cy=c.slice(1).map((e,t)=>Ty(c[t],e)),jy=n.history.map((e,t)=>ky(e,c[t])),e(e=>{e.currentPassage=n.passage,e.navigationId++,e.variables=K(ig(s?.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)),Iy(e),e.visitCounts=Rs(n.visitCounts),e.renderCounts=Rs(n.renderCounts),e.temporary=K(),e.transient=K(ig(t().transientDefaults))}),$v(),wy=Ay(t().historyIndex),_b(s?.prng===void 0?n.prng:s.prng),Fy(t,()=>vs(()=>Bg(`afterload`,r)))},getHistoryVariables:e=>ig(Ay(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})}}))),Ob=`<header class=\"story-menubar\">{story-title}{back}{forward}{restart}{quicksave}{quickload}{saves}{settings}</header>\n{passage}`;function kb(){let{storyData:e}=is(`storyData`),t=e?.passages.get(`StoryInterface`),n=t===void 0?Ob:t.content,r=t?.tags.includes(`nobr`)??!1,i=Pe(()=>{try{return q(S,{children:Cp(Zo(n))})}catch(e){return q(`span`,{class:`error`,children:[`Error in StoryInterface: `,nl(e)]})}},[n]);return r?q(If.Provider,{value:!0,children:i}):i}var Ab=[`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 jb(e){return Array.from(e.querySelectorAll(Ab)).filter(e=>!e.hidden&&!e.closest(`[hidden], [inert]`))}var Mb=[];function Nb(e,t,n,r){Ne(()=>{let n=e.current;if(!n)return;let r=document.activeElement instanceof HTMLElement?document.activeElement:null,i={panel:n};Mb.push(i);let a=n.querySelector(t)??n;return(n.querySelector(`[autofocus]`)??jb(a)[0]??n).focus(),()=>{let e=Mb.indexOf(i);e!==-1&&Mb.splice(e,1);let t=document.activeElement;(!t||t===document.body||n.contains(t))&&r?.isConnected&&r.focus()}},[]),Ne(()=>{let t=e.current;if(!t)return;let i=e=>{if(Mb[Mb.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=jb(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 Pb=_e(null);function Fb({passageName:e,fallbackMarkup:t,panelClass:n,onClose:r,dismissible:i=!0,showCloseButton:a=i}){let o=j(r);o.current=r;let s=Fe(()=>o.current(),[]),{storyData:c}=is(`storyData`),l=e?c?.passages.get(e):void 0,u=l?.content??t,d=l?.tags.includes(`nobr`)??!1,f=Pe(()=>{if(!u)return q(`div`,{class:`error`,children:`Dialog: no content available`});try{let e=jp(Zo(u),d?{nobr:!0}:void 0);return d?q(If.Provider,{value:!0,children:e}):e}catch(e){return q(`div`,{class:`error`,children:[`Error in dialog: `,nl(e)]})}},[u,d]),p=j(null);Nb(p,`.dialog-body`,i,s),Ne(()=>cy(s),[s]),Ne(()=>{p.current&&Vg(`dialogrender`,e??``,p.current)},[]);let m=e=>{i&&e.target.classList.contains(`dialog-overlay`)&&s()},h=n?`dialog-panel ${n}`:`dialog-panel`;return q(Pb.Provider,{value:s,children:q(`div`,{class:`dialog-overlay`,onClick:m,children:q(`div`,{ref:p,class:h,role:`dialog`,\"aria-modal\":`true`,tabIndex:-1,children:[a&&q(`button`,{class:`dialog-close`,\"aria-label\":`Close`,onClick:s,children:`✕`}),q(`div`,{class:`dialog-body`,children:f})]})})})}function Ib(){let[e,t]=Ae([]),n=j(e);n.current=e;let r=Fe(e=>{t(t=>[...t,e])},[]),i=Fe(()=>{t(e=>e.slice(0,-1))},[]),a=Fe(()=>{t([])},[]);return Me(()=>oy({close:i,closeAll:a,push:r,isOpen:()=>n.current.length>0}),[i,a,r]),Me(()=>ty(()=>{let e=[];for(;ry()>0;){let t=ny();t&&e.push(t)}e.length>0&&t(t=>[...t,...e])}),[]),e.length===0?null:q(S,{children:e.map((e,t)=>q(Fb,{passageName:e.passageName,panelClass:e.panelClass,onClose:i,showCloseButton:e.showCloseButton,dismissible:e.dismissible},`${e.passageName}-${t}`))})}function Lb(){let[e,t]=Ae(yy);return Me(()=>(t(yy()),by(()=>t(yy()))),[]),e.length===0?null:q(`div`,{class:`spindle-error-banners`,children:e.map(e=>q(`div`,{class:`spindle-error-banner`,role:`alert`,children:[q(`span`,{class:`spindle-error-banner-context`,children:e.context}),` `,q(`span`,{class:`spindle-error-banner-message`,children:e.message}),e.count>1&&q(`span`,{class:`spindle-error-banner-count`,children:` (×${e.count})`}),q(`button`,{type:`button`,class:`spindle-error-banner-dismiss`,\"aria-label\":`Dismiss`,onClick:()=>vy(e.id),children:`✕`})]},e.id))})}function Rb(){let{storyData:e,currentPassage:t,nobr:n}=is(`storyData`,`currentPassage`,`nobr`);if(Me(()=>{let e=e=>{let{quickSaveKey:t,quickLoadKey:n,save:r,load:i}=Q.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 q(`div`,{class:`loading`,children:`Loading...`});let r=q(S,{children:[q(kb,{}),q(Ib,{}),q(Lb,{})]});return n?q(If.Provider,{value:!0,children:r}):r}var zb=`http://www.w3.org/1999/xhtml`,Bb=new Set([`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`embed`,`frame`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`]);function Vb(e){let t=``;for(let n of Array.from(e.childNodes))n.nodeType===Node.TEXT_NODE?t+=n.data:n.nodeType===Node.COMMENT_NODE?t+=`\\x3C!--${n.data}-->`:n.nodeType===Node.ELEMENT_NODE&&(t+=Hb(n));return t}function Hb(e){let t=e.localName,n=`<${t}`;for(let t of Array.from(e.attributes))n+=` ${t.name}=${Ub(t.name,t.value)}`;if(n+=`>`,e.namespaceURI===zb&&Bb.has(t))return n;let r=t===`template`?e.content:e;return`${n}${Vb(r)}</${t}>`}function Ub(e,t){let n=Wo(e),r=n?`on`:`a`;return[`\"${t}\"`,`'${t}'`].find(e=>{let t;try{t=Qo(`<i ${r}=${e}>`)}catch(e){if(e instanceof Jo)return!1;throw e}let n=t[0];return t.length===1&&n?.type===`html`&&n.attributes[r]===e.slice(1,-1)})??`\"${Wb(t,n)}\"`}function Wb(e,t){let n=e=>e.replace(/\"/g,`"`);if(t)return Go(e).map(e=>`text`in e?n(e.text):`expr`in e?`{${e.expr}}`:e.verbatim).join(``);let r;try{r=Qo(e,{text:!0})}catch(t){if(t instanceof Jo)return n(e);throw t}return r.map(t=>{let r=e.slice(t.start,t.end);return t.type===`text`?n(r):r}).join(``)}function Gb(){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=Vb(t),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 Kb=new Map,qb=K(),Jb=!1,Yb=null;function Xb(){return`spindle.${Q.getState().storyData?.ifid||`unknown`}.settings`}function Zb(){localStorage.setItem(Xb(),JSON.stringify(qb))}function Qb(){if(!Jb){if(!Q.getState().storyData?.ifid){Yb||(Yb=Q.subscribe(e=>{e.storyData?.ifid&&(Yb?.(),Yb=null,Qb())}));return}Jb=!0;try{let e=localStorage.getItem(Xb());if(e){let t=JSON.parse(e);typeof t==`object`&&t&&!Array.isArray(t)&&(qb=K(qb,t))}}catch{}}}function $b(e,t){Kb.set(e,t),G(qb,e)||(qb[e]=t.config.default),Qb()}function ex(e,t){let n=Os(qb,e);return typeof n==typeof t?n:t}var tx={addToggle(e,t){$b(e,{type:`toggle`,config:t})},addList(e,t){$b(e,{type:`list`,config:t})},addRange(e,t){$b(e,{type:`range`,config:t})},get(e){return Os(qb,e)},getToggle(e){return ex(e,!1)},getList(e){return ex(e,``)},getRange(e){return ex(e,0)},set(e,t){qb[e]=t,Zb()},getAll(){return{...qb}},getDefinitions(){return Kb},hasAny(){return Kb.size>0}},nx=[`target`,`variable`,`options`,`value`,`disabled`],rx=new Map,ix=new Map;function ax(e,t,n){if(n)return n;let r=`${e}:${t}`,i=ix.get(r)??0,a;do i++,a=i===1?r:`${r}:${i}`;while(rx.has(a));return ix.set(r,i),a}function ox(e){let t=e.id,n={action:e},r=rx.get(t);return r?(console.warn(`spindle: two mounted controls share the action ID \"${t}\"; Story.getActions() lists only the newer one.`),r.push(n)):rx.set(t,[n]),dx(),{update(e){let r=rx.get(t);r?.includes(n)&&(n.action=e,r[r.length-1]===n&&dx())},unregister(){let e=rx.get(t),r=e?e.indexOf(n):-1;!e||r===-1||(e.splice(r,1),e.length===0&&rx.delete(t),r===e.length&&dx())}}}function sx(){return Array.from(rx.values(),lx)}function cx(e){let t=rx.get(e);return t&&lx(t)}function lx(e){return e[e.length-1].action}function ux(){ix.clear()}function dx(){Bg(`actionsChanged`)}function fx(e){let t=j(``),n=j(e.perform);n.current=e.perform,t.current||(t.current=ax(e.type,e.key,e.authorId));let r=t.current,i=()=>{let t={id:r,type:e.type,label:e.label,perform:(...e)=>n.current(...e)};for(let n of nx)e[n]!==void 0&&Object.assign(t,{[n]:e[n]});return t},a=j(null);Ne(()=>{let e=ox(i());return a.current=e,()=>e.unregister()},[r]);let o=j(!1);return Ne(()=>{if(!o.current){o.current=!0;return}a.current?.update(i())},[e.type,e.label,e.target,e.variable,e.disabled,e.value,JSON.stringify(e.options)]),r}function px(e){return e.map(e=>e.type===`text`?e.value:``).join(``)}function mx(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)}function hx(e){let t=[],n=0;for(let r of[...Fc(e,Ec),e.length])r>n&&t.push([n,r]),n=r+1;return t}var gx=(e,[t,n])=>e.slice(t,n);function _x(e){return jc(e)??Mc(e)}var vx=class extends Error{constructor(e,t){super(`The ${e.name} must be a quoted string (\"…\" or '…'), ${t?`not ${t}`:`but it has no value`}`),this.name=`MacroArgumentError`}};function yx(e,t,n){switch(n.spans?.set(e,[n.at,n.at+t.length]),e.type){case`string`:{let n=jc(t);if(n===null)throw new vx(e,t);return n}case`text`:return _x(t);case`names`:return t.split(`,`).map(e=>e.trim());case`delay`:return mx(t);case`number`:return Number(t);case`options`:return Tx(e.parameters??[],t,n);default:return t}}function bx(e){return e.type===`flag`||e.type===`separator`?!1:e.type===`options`?{}:void 0}var xx=/\\w+/y,Sx=/[-+]?(?:\\d+\\.?\\d*|\\.\\d+)/y,Cx=/\\S+/y;function wx(e,t,n){return e.lastIndex=n,e.exec(t)?.[0]??null}function Tx(e,t,{at:n,spans:r}){let i={},a=0;for(;a<t.length;){let o=wx(xx,t,a);if(!o){a=Ac(t,a)?.end??a+1;continue}a+=o.length;let s,c=a;for(;c<t.length&&Ec(t[c]);)c++;let l=Ac(t,c),u=l||c===a?null:wx(Sx,t,c);l?(s=l.value,a=l.end):u&&(s=u,a=c+u.length);let d=e.find(e=>e.name===o);if(d&&d.type!==`flag`&&s!==void 0&&r?.set(d,[n+c,n+a]),d?.type===`string`&&!l)throw new vx(d,wx(Cx,t,c)??``);d?.type===`flag`?i[o]=!0:d?.type===`number`?i[o]=Number(s??0):d&&(i[o]=s)}return i}var Ex=/^(?:[-+*/&|^=<>?:,.]|%(?![A-Za-z_]))/;function Dx(e,t){let n=hx(e);if(n.length<2)return null;if(gx(e,n[n.length-1])===t){let t=[0,n[n.length-2][1]];if(!Pc(gx(e,t)))return t}if(gx(e,n[0])===t){let t=[n[1][0],e.length];if(!Ex.test(gx(e,t)))return t}return null}function Ox(e,t){if(t===`=`){let t=Fc(e,e=>e===`=`);for(let n=0;n<t.length;n++){let r=t[n];if(e[r+1]===`=`){n++;continue}if(e[r-1]!==`!`)return[r,r+1]}return null}let n=hx(e);for(let r=1;r<n.length-1;r++)if(gx(e,n[r])===t)return[n[r-1][1],n[r+1][0]];return null}var kx=e=>e.type===`expression`||e.type===`statements`||e.type===`passage`||e.type===`text`;function Ax(e,t){let n=e.trim();return[n,n?t+e.indexOf(n):t]}function jx(e,t,n,{at:r,spans:i}){let[a,o]=Ax(t??``,r);for(let r of e.filter(e=>e.type===`flag`)){let e=t===null?null:Dx(a,r.name);n[r.name]=e!==null,e&&([a,o]=Ax(gx(a,e),o+e[0]))}let s=e.filter(e=>e.type!==`flag`);if(s.length===0)return;let c=s.findIndex((e,t)=>kx(e)&&!s.slice(t+1).some(kx)),l=c<0?s.length-1:c,u=(e,[t,n])=>t===n?bx(e):yx(e,a.slice(t,n),{at:o+t,spans:i});if(s.length===1){n[s[0].name]=u(s[0],[0,a.length]);return}let d=hx(a),f=0,p=d.length;for(let e of s.slice(0,l))n[e.name]=f<p?u(e,d[f++]):bx(e);let m=(e,t)=>{try{return u(e,t)}catch(e){if(e instanceof vx)return;throw e}};for(let e of s.slice(l+1).reverse()){let t=f<p&&!Pc(a.slice(0,d[p-1][0]))?m(e,d[p-1]):void 0;n[e.name]=t??bx(e),t===void 0?i?.delete(e):p--}let h=s[l];n[h.name]=f<p?u(h,[d[f][0],d[p-1][1]]):bx(h)}var Mx={name:`delay`,type:`delay`,required:!0};function Nx(e,t,n){let r={},[i,a]=Ax(e,0),o=0;return t.forEach((e,s)=>{if(e.type!==`separator`)return;let c=i===null?null:Ox(i,e.name);r[e.name]=c!==null;let l=c?i.slice(0,c[0]):i;jx(t.slice(o,s),l,r,{at:a,spans:n}),i=c?i.slice(c[1]):null,c&&(a+=c[1]),o=s+1}),jx(t.slice(o),i,r,{at:a,spans:n}),r}function Px(e){let t=e.trim(),n=Fo(t);return n===null?{kind:`expression`,expression:t}:{kind:`name`,name:n}}function Fx(e,t,{storyData:n,currentPassage:r}){let i=String(t(e??``));if(n&&!n.passages.has(i))throw _y(i,r);return i}function Ix(e){let t=e.trim(),n=hx(t)[0];return n?gx(t,n):``}function Lx(e){let{variable:t=``,placeholder:n=``}=Nx(e,[{name:`variable`,type:`variable`},{name:`placeholder`,type:`string`}]);return{varName:t.replace(/[\"']/g,``),placeholder:n}}var Rx=[{name:`value`,type:`string`,holds:`text`,required:!0}],zx=new Map([[`option`,Rx]]);function Bx(e){return zx.get(e.toLowerCase())}function Vx(e){let t=[];for(let n of e)if(n.type===`macro`&&n.name===`option`){let{value:e}=Nx(n.rawArgs,Rx);t.push(e??``)}return t}function Hx(e,t){let n=`macro-${e}`;return t?`${n} ${t}`:n}var Ux={useState:Ae,useRef:j,useEffect:Me,useLayoutEffect:Ne,useCallback:Fe,useMemo:Pe,useContext:Ie};function $(e,t=`builtin`){let n=e.parameters??[];_c(e.name,n);function r(t){let r=t.className,i=t.id,a;e.interpolate&&(a=il(),r=a(r),i=a(i));let{update:o,getValues:s}=Ie(Ff),c=ll(),l=(e,t)=>jp(e,{...c,...t}),u;try{u=Nx(t.rawArgs,n)}catch(t){if(t instanceof vx)return b(Af,{macro:e.name,error:t});throw t}let d={args:u,collectText:px,sourceLocation:kf,parseVarArgs:Lx,extractOptions:Vx,h:b,renderNodes:l,renderInlineNodes:Cp,hooks:Ux,useAction:fx,className:r,id:i,resolve:a,cls:Hx(e.name,r),mutate:e=>Fv(e,s(),o),update:o,getValues:s,wrap:e=>Hc(r,i,e)};if(e.merged){d.merged=as();let e=d.merged;d.evaluate=t=>ic(t,e[0],e[1],e[2],e[3])}if(e.storeVar){let n=Ix(t.rawArgs).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(`.`);if(i.includes(`__proto__`))return b(`span`,{class:`error`},`{${e.name}}: \"$${r}\" cannot be bound: ${Ts} is reserved`);d.varName=r,d.value=Q(e=>qh(e.variables,i)),d.getValue=()=>qh(dv().variables,i),d.setValue=e=>{Nv((t,n)=>{Zh(t.variables,i,n(e),{createMissing:!0})})}}try{return e.render(t,d)}catch(t){if(t instanceof vx)return b(Af,{macro:e.name,error:t});throw t}}sc(e.name,r);let i=e.text;uc(e.name,i&&((e,t)=>i(e,{...t,args:Nx(e.rawArgs,n)})));let a=e.block===!0||e.block!==!1&&(e.subMacros?.length??0)>0;if(bc(e.name,{name:e.name,block:a,subMacros:e.subMacros??[],storeVar:e.storeVar,interpolate:e.interpolate,merged:e.merged,description:e.description,parameters:e.parameters&&[...e.parameters],source:t}),e.subMacros)for(let t of e.subMacros)pc(t);a&&Sr(e.name)}var Wx=null;function Gx(e){Wx=e}function Kx(){return Wx}var qx=null,Jx=null;function Yx(){return Jx}var Xx=!1;function Zx(){if(Xx)return;Xx=!0;let e=Q.getState().variables,t=Q.getState().transient;Q.subscribe(n=>{let r={},i=(e,t,n)=>{for(let i of Fs(e,t))r[n+i]={from:Os(e,i),to:Os(t,i)}};i(e,n.variables,``),i(t,n.transient,`%`),e=n.variables,t=n.transient,Object.keys(r).length>0&&Bg(`variableChanged`,r)})}var Qx=null,$x=null,eS=new Set;function tS(e,t=[]){Qx=new Set(e),$x=new Set(t),eS.clear()}function nS(e){let t=e.startsWith(`%`),n=t||e.startsWith(`$`)?e.slice(1):e;return Ds(n.split(`.`)[0],e),{isTransient:t,key:n}}function rS(e,t){let n=e?$x:Qx;if(!n)return;let r=t.split(`.`)[0];if(n.has(r))return;let i=(e?`%`:`$`)+r;eS.has(i)||(eS.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 iS(e,t,n){let{isTransient:r,key:i}=nS(t),a=r?e.transient:e.variables;i.includes(`.`)?Zh(a,i.split(`.`),n):a[i]=n}function aS(e){return((...t)=>Q.getState()[e](...t))}function oS(){return{get(e){let{isTransient:t,key:n}=nS(e),r=uv(),i=r??Q.getState(),a=t?i.transient:i.variables,o=n.includes(`.`)?qh(a,n.split(`.`)):Os(a,n);return r?hv(o):o},set(e,t){let n=typeof e==`string`?[[e,t]]:Object.entries(e);for(let[e]of n){let{isTransient:t,key:n}=nS(e);rS(t,n)}if(n.some(([e])=>e.includes(`.`))){Nv((e,t)=>{for(let[r,i]of n)iS(e,r,t(i))});return}Q.getState().updateVariables(e=>{for(let[t,r]of n)iS(e,t,r)})},goto:aS(`navigate`),back:aS(`goBack`),forward:aS(`goForward`),restart:aS(`restart`),save:aS(`save`),load:aS(`load`),hasSave:aS(`hasSave`),getSaveInfo:aS(`getSaveInfo`),listSaves:aS(`listSaves`),deleteSave:aS(`deleteSave`),exportSave:aS(`exportSave`),importSave:aS(`importSave`),...Zs(()=>Q.getState().visitCounts,()=>Q.getState().renderCounts),get title(){return Q.getState().storyData?.name||``},get passage(){return Q.getState().currentPassage},settings:tx,registerClass(e,t){Em(e,t)},defineMacro(e){$(e,`user`)},getMacroRegistry(){return Sc()},saves:{setTitleGenerator(e){Wg(e)}},storage:{async getInfo(){let e=Q.getState().storyData?.ifid;return e?$_(e):{saveCount:0,playthroughCount:0,totalBytes:0,backend:Vh()}},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}},clearGameData:aS(`clearGameData`),clearAllData:aS(`clearAllData`),deletePlaythrough:aS(`deletePlaythrough`),get backend(){return Vh()}},getActions(){return sx()},performAction(e,t){let n=cx(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`&&Zx();let n=Rg(e,t);return lb(n),n},async waitForActions(){await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))});let e=()=>Kx()===Q.getState().navigationId;return Kx()!==null&&!e()&&!Q.getState().renderDeferred&&await new Promise(t=>{let n=Rg(`passagerender`,()=>{e()&&(n(),t())})}),sx()},watch(e,t){return Uv(e,t)},unwatch(e){Gv(e)},openDialog(e,t){iy({passageName:e,panelClass:t?.panelClass,showCloseButton:t?.showCloseButton,dismissible:t?.dismissible})},closeDialog(){ly()},closeAllDialogs(){uy()},isDialogOpen(){return dy()},setNobr(e){Q.setState({nobr:e})},setCSS(e){let t=document.getElementById(`spindle-styles`);t&&(t.disabled=!e)},setTransition(e){Q.getState().setTransition(e)},setNextTransition(e){Q.getState().setNextTransition(e)},deferRender(){Q.getState().deferRender(),Jx=new Promise(e=>{qx=e})},ready(){qx&&(Q.getState().clearDeferredRender(),qx(),qx=null,Jx=null)},random(){return bs()},randomInt(e,t){return xs(e,t)},config:{get maxHistory(){return Q.getState().maxHistory},set maxHistory(e){Q.getState().setMaxHistory(e)},get quickSaveKey(){return Q.getState().quickSaveKey},set quickSaveKey(e){Q.getState().setQuickSaveKey(e)},get quickLoadKey(){return Q.getState().quickLoadKey},set quickLoadKey(e){Q.getState().setQuickLoadKey(e)}},prng:{init(e,t){ms(e,t);let{historyIndex:n}=Q.getState();Q.setState(e=>{let t=e.history[n];t&&(t.prng=ys())})},isEnabled(){return Ss()},get seed(){return Cs()},get pull(){return ws()}}}}function sS(){window.Story=oS()}var cS=null;function lS(e){let t=cS;cS=new Map;try{return e()}finally{cS=t}}function uS(e,t){let n=t[0]+e,r=cS?.get(n);if(r)return r;try{r=go(e,t)}catch(e){if(!(e instanceof so))throw e;r=e}return cS?.set(n,r),r}var dS=new Set([`if`,`elseif`,`case`]),fS=new Set([`dialog`]);function pS(e,t){return e.map(e=>e.parameters?{...e,parameters:pS(e.parameters,t)}:(e.type===`string`||e.type===`text`)&&!e.holds?{...e,holds:t}:e)}function mS(e){let t=new vr;for(let{name:n,parameters:r,interpolate:i}of e)r&&t.set(n,pS(r,hS(i)));return e=>{let n=t.get(e);if(!n){let r=Bx(e);r&&t.set(e,n=pS(r,`text`))}return n}}var hS=e=>e?`markup`:`text`;function gS(e){if(e.type===`expression`||e.type===`passage`)return`expression`;if(e.type===`statements`)return`statements`}function _S(e){if(!(e.type!==`string`&&e.type!==`text`))return e.holds??`markup`}function*vS(e,t,n){let r=(e,n)=>t.findIndex((t,r)=>r>e&&t.type===`macro`&&t.isClose&&t.name.toLowerCase()===n);for(let i=0;i<t.length;i++){let a=t[i];if(a.type===`link`)yield{kind:`passage`,name:a.target,offset:a.targetStart,length:a.targetEnd-a.targetStart,macro:`link`,label:e.slice(a.start,a.end)},a.display.includes(`{`)&&(yield{kind:`text`,text:a.display,offset:bS(e,a.display,a.start),where:`In the label of a link: `});else if(a.type===`expression`)yield{kind:`code`,code:a.expression,offset:a.end-1-a.expression.length,goal:`expression`,label:`{${a.expression}}`};else if(a.type===`html`){let t=a.start;for(let[n,r]of Object.entries(a.attributes)){let i=bS(e,r,t);if(t=i+r.length,!Wo(n)){yield{kind:`text`,text:r,offset:i,where:`In the ${n} attribute of <${a.tag}>: `};continue}let o=0;for(let e of Go(r)){if(!(`expr`in e))continue;let t=bS(r,e.expr,o);o=t+e.expr.length,yield{kind:`code`,code:e.expr,offset:i+t,goal:`expression`,label:`{${e.expr}} in the ${n} attribute of <${a.tag}>`}}}}else if(a.type===`macro`&&!a.isClose){let o=a.name.toLowerCase();if(o===`do`){let n=r(i,o);if(n<0)continue;yield{kind:`code`,code:e.slice(a.end,t[n].start),offset:a.end,goal:`statements`,label:`{do}`},i=n;continue}let s=a.rawArgs;if(fS.has(o)){let n=r(i,o),s=t.slice(i+1,n);if(n>i+1&&s.every(e=>e.type===`text`)){let r=e.slice(a.end,t[n].start),i=r.trim();yield{kind:`passage`,name:i.replace(/^[\"']|[\"']$/g,``),offset:a.end+r.indexOf(i),length:i.length,macro:o,label:e.slice(a.start,a.end)}}}if(!s)continue;let c=`{${a.name} ${s}}`,l=e.slice(a.start,a.end-1),u=a.start+l.trimEnd().length-s.length;if(dS.has(o)){yield{kind:`code`,code:s,offset:u,goal:`expression`,label:c};continue}let d=n(o);d&&(yield*yS(s,u,d,a.name,c))}}}function*yS(e,t,n,r,i){let a,o=new Map;try{a=Nx(e,n,o)}catch(e){if(!(e instanceof vx))throw e;yield{kind:`argument-error`,message:e.message,offset:t,label:i};return}let s=r.toLowerCase();function*c(n,a){for(let l of n){let n=a[l.name];if(l.type===`options`&&l.parameters){yield*c(l.parameters,n??{});continue}let u=o.get(l);if(typeof n!=`string`||!n.trim()||!u)continue;let[d,f]=u,p=e.slice(d,f),m=e=>({kind:`passage`,name:e,offset:t+d,length:f-d,macro:s,label:i}),h=gS(l);if(l.type===`passage`){let e=Px(n);if(e.kind===`name`){yield m(e.name);continue}}if(h){let e={kind:`code`,code:n,offset:t+d,goal:h,label:i};l.type===`passage`&&(e.passage=!0,e.macro=s),yield e;continue}let g=t+d+(n!==p&&/^[\"']/.test(p)?1:0),_=_S(l);_===`expression`||_===`statements`?yield{kind:`code`,code:n,offset:g,goal:_,label:i,inString:!0}:_===`passage`?yield m(n):_===`markup`&&(yield{kind:`text`,text:n,offset:g,where:`In the ${l.name} of {${r}}: `})}}yield*[...c(n,a)].sort((e,t)=>e.offset-t.offset)}function bS(e,t,n){let r=e.indexOf(t,n);if(r>=0)return r;let i=e.indexOf(t);return i>=0?i:n}var xS=[{name:`name`,type:`text`,holds:`text`,required:!0},{name:`parameters`,type:`text`,holds:`text`}];function SS({name:e=``,parameters:t=``}){return{name:e,params:t.split(/\\s+/).filter(e=>e.startsWith(`@`))}}function CS(e){return SS(Nx(e,xS))}var wS=/\\{widget\\s+[\"']?(\\w+)[\"']?[^}]*\\}([\\s\\S]*?)\\{\\/widget\\}/g;function TS(e){let t=[];for(let n of e)if(!(n.name!==`StoryInit`&&!n.tags?.includes(`widget`)))for(let e of n.content.matchAll(wS))/\\{@children\\}/.test(e[2])&&t.push(e[1]);return t}var ES=new Set([`StoryVariables`,`StoryTransients`,`SaveTitle`]),DS=[`script`,`stylesheet`],OS=new Set([`elseif`,`else`,`case`,`default`,`next`]);function kS(e){let t=e.file?` (${e.file}${e.fileLine?`:${e.fileLine}`:``})`:``;return`Passage \"${e.passage}\", line ${e.line}, column ${e.column}${t}: ${e.message}`}function AS(e,t){let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r++){let i=[r];for(let a=1;a<=t.length;a++)i[a]=Math.min(n[a]+1,i[a-1]+1,n[a-1]+(e[r-1]===t[a-1]?0:1));n=i}return n[t.length]}function jS(e,t,n){let r=e.toLowerCase(),i=``,a=Math.max(2,Math.floor(r.length/3))+1;for(let e of t){let t=AS(r,e.toLowerCase());t<a&&(i=e,a=t)}return i?` Did you mean ${n(i)}?`:``}var MS=` (a passage name is a quoted string or an expression)`,NS=/^[A-Za-z][\\w$]*$/;function PS(e){try{return CS(e).name.toLowerCase()||void 0}catch{return}}function FS(e,t){let n=[],r=t.isBlockMacro?{isBlock:t.isBlockMacro}:void 0,i=(e,t,r)=>{let{line:i,column:a}=Yo(e.content,t),o={passage:e.name,line:i,column:a,message:r},s=e.metadata?.[`data-source-file`];if(s){o.file=s;let t=Number(e.metadata?.[`data-source-line`]);t&&(o.fileLine=t+i)}n.push(o)},a=[],o=new Set,s=new Set;for(let n of e){if(s.add(n.name),ES.has(n.name)||n.tags?.some(e=>DS.includes(e)))continue;let e=!t.only||t.only(n);try{let t=Qo(n.content);for(let e of t){if(e.type!==`macro`||e.isClose||e.name.toLowerCase()!==`widget`)continue;let t=PS(e.rawArgs);t&&o.add(t)}if(!e)continue;Zo(n.content,{hooks:r}),a.push([n,t])}catch(t){if(!(t instanceof Jo))throw t;e&&i(n,t.offset,t.reason)}}let c=[...t.macroNames??[],...o],l=(e,n,r,a)=>{for(let s of n){if(s.type!==`macro`||s.isClose)continue;let n=s.name.toLowerCase();OS.has(n)||o.has(n)||t.isKnownMacro(n)||i(e,r+s.start,`${a}Unknown macro {${s.name}}.${jS(s.name,c,e=>`{${e}}`)}`)}},u=t.parametersOf??(()=>void 0),d=(e,n,a,o,c)=>{l(e,a,o,c);for(let l of vS(n,a,u)){let n=o+l.offset;if(l.kind===`argument-error`){i(e,n,`${c}${l.message} in ${l.label}`);continue}if(l.kind===`passage`){if(t.checkPassageNames!==!1&&!s.has(l.name)){let t=jS(l.name,s,JSON.stringify);i(e,n,`${c}No passage named ${JSON.stringify(l.name)} in ${l.label}.${t}`)}continue}if(l.kind===`code`){let t=uS(l.code,l.goal),r=l.code.trim();if(t instanceof so){let r=t.reasonIn(e.content,n);i(e,n+t.pos,`${c}${r} in ${l.label}`+(l.passage?MS:``))}else l.passage&&NS.test(r)&&i(e,n,`${c}Unquoted passage name in ${l.label}: write ${JSON.stringify(r)}${MS}`);continue}if(l.text.includes(`{`))try{Zo(l.text,{text:!0,hooks:r});let t=Qo(l.text,{text:!0});d(e,l.text,t,n,l.where)}catch(t){if(!(t instanceof Jo))throw t;i(e,n+t.offset,l.where+t.reason)}}};for(let[e,t]of a)lS(()=>d(e,e.content,t,0,``));return n}function IS(e,t){try{return Qo(e,{text:t})}catch(e){if(e instanceof Jo)return[];throw e}}function LS(e){let t=e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`);return RegExp(`^${t}(\\\\w+)\\\\s*=\\\\s*(.+)$`)}var RS=/\\$(\\w+(?:\\.\\w+)*)/y,zS=/^[\"']\\$(\\w+(?:\\.\\w+)*)[\"']?$/,BS=new Set([`number`,`string`,`boolean`]),VS={string:Object(``),number:Object(0),boolean:Object(!1)};function HS(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,HS(r));return{type:`object`,fields:t}}let t=typeof e;if(!BS.has(t))throw Error(`Unsupported type \"${t}\" for value ${String(e)}. Expected number, string, boolean, array, or object.`);return{type:t}}function US(e,t=`$`){let n=new Map,r=LS(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=Es(s,t+s);if(l)throw Error(`${i}: ${l}`);let u;try{u=Function(`return (`+c+`)`)()}catch(e){throw Error(`${i}: Failed to evaluate \"${t}${s} = ${c}\": ${nl(e)}`)}let d;try{d=HS(u)}catch(e){throw Error(`${i}: ${nl(e)}`)}n.set(s,{...d,name:s,default:u})}return n}function WS(e,t){let n=e.split(`.`),r=n[0],i=Es(r,`$`+r);if(i)return i;let a=t.get(r);if(!a)return`Undeclared variable: $${e}`;let o=a;for(let e=1;e<n.length;e++){let t=n[e];if(o.type===`array`)return null;let r=VS[o.type];if(r&&t in r){let e=typeof r[t];if(!BS.has(e))return null;o={type:e};continue}if(o.type!==`object`||!o.fields)return`Cannot access field \"${t}\" on $${n.slice(0,e).join(`.`)} (type: ${o.type})`;let i=o.fields.get(t);if(!i)return null;o=i}return null}var GS=[`checkbox`,`cycle`,`listbox`,`numberbox`,`radiobutton`,`textarea`,`textbox`],KS=new Set;function qS(e,t){for(let n of Go(e))`expr`in n&&YS(n.expr,t)}function JS(e,t,n=KS){e.includes(`{`)&&$S(e,IS(e,!0),n,t)}function YS(e,t,n=`expression`){let r=uS(e,n);if(r instanceof so){XS(e,t,n);return}for(let n of r.refs)n.sigil===`$`&&(RS.lastIndex=n.start,t(RS.exec(e)[1]))}function XS(e,t,n){Ao(e,{variable(n,r,i){n===`$`&&(RS.lastIndex=i,t(RS.exec(e)[1]))},literal(){}},n)}function ZS(e,t,n,r){lS(()=>$S(e,IS(e,!1),t,n,r))}function QS(e,t,n){if(e.rawArgs){if(t){let r=[...yS(e.rawArgs,0,t,e.name,``)];if(!r.some(e=>e.kind===`argument-error`)){for(let e of r)e.kind===`code`?YS(e.code,n,e.goal):e.kind===`text`&&JS(e.text,n);return}}YS(e.rawArgs,n)}}function $S(e,t,n,r,i=()=>void 0){for(let a=0;a<t.length;a++){let o=t[a];if(o.type===`variable`)o.scope===`variable`&&o.name&&r(o.name);else if(o.type===`link`)JS(o.display,r);else if(o.type===`expression`)YS(o.expression,r);else if(o.type===`html`)for(let[e,t]of Object.entries(o.attributes))Wo(e)?qS(t,r):JS(t,r,n);else if(o.type===`macro`&&!o.isClose){if(QS(o,i(o.name),r),o.className&&JS(o.className,r),o.id&&JS(o.id,r),n.has(o.name.toLowerCase())){let e=o.rawArgs.trim().split(/\\s+/)[0]??``,t=zS.exec(e);t?r(t[1]):/^[\"'`]/.test(e)||YS(e,r)}if(o.name.toLowerCase()===`do`){let n=a+1;for(;n<t.length;){let e=t[n];if(e.type===`macro`&&e.isClose&&e.name.toLowerCase()===`do`)break;n++}n<t.length&&(YS(e.slice(o.end,t[n].start),r,`statements`),a=n)}}}}function eC(e,t,n=GS,r=xc){let i=[],a=new Set(Array.from(n,e=>e.toLowerCase()));for(let[n,o]of e)ES.has(n)||ZS(o.content,a,e=>{let r=WS(e,t);r&&i.push(`Passage \"${n}\": ${r}`)},r);return i}function tC(e){let t=K();for(let[n,r]of e)t[n]=r.default;return t}function nC(e){for(let t of e){if(t.type===`variable`&&t.scope===`local`&&t.name===`children`||t.type===`html`&&nC(t.children))return!0;if(t.type===`macro`){if(nC(t.children))return!0;if(t.branches){for(let e of t.branches)if(nC(e.children))return!0}}}return!1}function rC({name:e,params:t},n){let r=nC(n);wc(e,n,t,r),r&&Sr(e)}$({name:`widget`,block:!0,parameters:xS,render({children:e=[]},t){let n,r;try{let e=SS(t.args);for(let t of e.params)Ds(t.slice(1),t);n=e}catch(e){r=e}let{name:i,params:a}=n??{name:``,params:[]},o=JSON.stringify(e),s=a.join(`,`);return t.hooks.useLayoutEffect(()=>{n&&rC(n,e)},[i,o,s]),r?q(Af,{macro:`widget`,error:r}):null}}),$({name:`set`,parameters:[{name:`code`,type:`statements`,required:!0}],render({rawArgs:e},t){return Mf(`set`,e,()=>t.mutate(e))}}),$({name:`print`,parameters:[{name:`expression`,type:`expression`,required:!0}],interpolate:!0,merged:!0,render({rawArgs:e},t){try{return t.wrap(Vc(t.evaluate(e)))}catch(e){return q(Af,{macro:`print`,error:e})}},text({rawArgs:e},t){return Vc(t.evaluate(e))}});var iC=Symbol(`unset`);function aC(e,t){if(!t[`=`])throw Error(`{computed}: expected \"target = expression\", got \"${e}\"`);let{target:n=``,expression:r=``}=t;if(!n.match(/^[$_@]\\w+$/))throw Error(`{computed}: target must be $name, _name, or @name, got \"${n}\"`);return Ds(n.slice(1),n),{target:n,expr:r}}function oC(e,t,n,r,i,a,o,s){let c=kf(),l;try{let{variables:t,temporary:n,transient:r}=dv();l=ic(e,t,n,i(),r)}catch(e){jf(`computed ${a}`,e,c);return}if(!ag(o.current,l))if(o.current=l,r)try{s(t,l)}catch(e){jf(`computed ${a}`,e,c)}else{let e=Q.getState();n?e.setTemporary(t,l):e.setVariable(t,l)}}$({name:`computed`,merged:!0,parameters:[{name:`target`,type:`variable`,required:!0},{name:`=`,type:`separator`},{name:`expression`,type:`expression`,required:!0}],render({rawArgs:e},t){let[n,r,i,a]=t.merged,o,s;try{({target:o,expr:s}=aC(e,t.args))}catch(e){return q(Af,{macro:`computed`,error:e})}let c=o.startsWith(`@`),l=o.startsWith(`_`),u=o.slice(1),d=c?t.update:null,f=t.hooks.useRef(iC),p=()=>oC(s,u,l,c,t.getValues,e,f,d),m=t.hooks.useRef(!1);return m.current||(m.current=!0,p()),t.hooks.useLayoutEffect(p,[n,r,i,a]),null}});function sC(e){if(e.current===void 0||e.max===void 0)throw Error(`meter requires two arguments: {meter currentExpr maxExpr}`);return{currentExpr:e.current,maxExpr:e.max,labelMode:e.label??``}}function cC(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,parameters:[{name:`current`,type:`expression`,required:!0},{name:`max`,type:`expression`,required:!0},{name:`label`,type:`string`,holds:`markup`}],render(e,t){try{let{currentExpr:e,maxExpr:n,labelMode:r}=sC({...t.args,label:t.resolve?.(t.args.label)}),i=Number(t.evaluate(e)),a=Number(t.evaluate(n)),o=a===0?0:Math.max(0,Math.min(100,i/a*100)),s=cC(i,a,r),c=t.cls;return q(`div`,{class:c,id:t.id,children:[q(`div`,{class:`macro-meter-fill`,style:`width: ${o}%`}),s!=null&&q(`span`,{class:`macro-meter-label`,children:s})]})}catch(e){return q(Af,{macro:`meter`,error:e})}}});function lC(e,t){let n=null;for(let r of e)if(r.rawArgs===``)n=r;else if(t(r.rawArgs))return r;return n}function uC(e,t){let n=e.findIndex(e=>e.rawArgs===``);return lC(n<0?e:e.slice(0,n+1),e=>!!t(e))}$({name:`if`,block:!0,interpolate:!0,merged:!0,render({branches:e=[]},t){let n;try{n=uC(e,t.evaluate)}catch(e){return q(Af,{macro:`if`,error:e})}return n?Hc(t.resolve(n.className),t.resolve(n.id),t.renderNodes(n.children)):null},text({branches:e=[]},t){let n=uC(e,t.evaluate);return n?t.renderText(n.children):``}});function dC(e){try{return fC(e,[])}catch{return`<unkeyable>`}}function fC(e,t){switch(typeof e){case`string`:return JSON.stringify(e);case`number`:return Number.isFinite(e)?JSON.stringify(e):String(e);case`boolean`:return String(e);case`bigint`:return`${e}n`;case`undefined`:return`undefined`;case`symbol`:return e.description===void 0?`Symbol()`:`Symbol(${JSON.stringify(e.description)})`;case`function`:return`<function ${JSON.stringify(e.name)}>`}if(e===null)return`null`;let n=e,r=t.indexOf(n);if(r!==-1)return`<cycle ${t.length-r}>`;if(e instanceof Date)return`Date(${e.getTime()})`;if(e instanceof RegExp)return`RegExp(${String(e)})`;t.push(n);try{if(Array.isArray(e))return`[${Array.from(e,e=>fC(e,t)).join(`,`)}]`;if(e instanceof Map)return`Map[${[...e].map(([e,n])=>`[${fC(e,t)},${fC(n,t)}]`).join(`,`)}]`;if(e instanceof Set)return`Set[${[...e].map(e=>fC(e,t)).join(`,`)}]`;let r=n,i=Object.keys(r).map(e=>`${JSON.stringify(e)}:${fC(r[e],t)}`).join(`,`),a=Dm(n);return a===void 0?`{${i}}`:`Class(${JSON.stringify(a)}){${i}}`}finally{t.pop()}}function pC(e,t){if(!t.of)throw Error(`{for} requires \"of\" keyword: {for ${e}}`);let[n=``,r=null]=t.variables??[],i=t.list??``;if(!n.startsWith(`@`))throw Error(`{for} loop variable must use @ prefix: got \"${n}\"`);if(r&&!r.startsWith(`@`))throw Error(`{for} index variable must use @ prefix: got \"${r}\"`);return Ds(n.slice(1),n),r&&Ds(r.slice(1),r),{itemVar:n.slice(1),indexVar:r?r.slice(1):null,listExpr:i}}function mC({parentValues:e,itemVar:t,itemValue:n,indexVar:r,indexValue:i,children:a}){return q(ul,{body:a,parentValues:e,ownKeys:Pe(()=>({[t]:n,...r?{[r]:i}:void 0}),[t,n,r,i])})}$({name:`for`,block:!0,interpolate:!0,merged:!0,parameters:[{name:`variables`,type:`names`,required:!0},{name:`of`,type:`separator`},{name:`list`,type:`expression`,required:!0}],render({rawArgs:e,children:t=[]},n){let r=Ie(Pf),i,a;try{i=pC(e,n.args);let t=n.evaluate(i.listExpr);if(!Array.isArray(t))return q(`span`,{class:`error`,children:`{for error: expression did not evaluate to an array}`});a=t}catch(e){return q(Af,{macro:`for`,error:e})}let{itemVar:o,indexVar:s}=i,c=a.map((e,n)=>q(mC,{parentValues:r,itemVar:o,itemValue:e,indexVar:s,indexValue:n,children:t},`${n}-${dC(e)}`));return n.wrap(c)},text({rawArgs:e,children:t=[]},n){let{itemVar:r,indexVar:i,listExpr:a}=pC(e,n.args),o=n.evaluate(a);if(!Array.isArray(o))throw Error(`expression did not evaluate to an array`);return o.map((e,a)=>n.renderText(t,{[r]:e,...i?{[i]:a}:void 0})).join(``)}}),$({name:`do`,block:!0,render({children:e=[]},t){let n=t.collectText(e);return t.hooks.useLayoutEffect(()=>{let e=t.sourceLocation();try{t.mutate(n)}catch(t){jf(`do`,t,e)}},[]),null}});function hC(e){return new Proxy(K(),{get:(t,n)=>typeof n==`string`?Os(e(),n):void 0,has:(t,n)=>typeof n==`string`&&G(e(),n),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>{let r=Object.getOwnPropertyDescriptor(e(),n);return r?{...r,configurable:!0}:void 0}})}var gC=_e({stop:()=>{}});$({name:`repeat`,block:!0,interpolate:!0,parameters:[Mx],render({children:e=[]},t){let{useState:n,useEffect:r,useCallback:i}=t.hooks,a=t.args.delay??0,[o,s]=n(0),[c,l]=n(!1),u=i(()=>l(!0),[]);if(r(()=>{if(c)return;let e=setInterval(()=>{s(e=>e+1)},a);return()=>clearInterval(e)},[a,c]),o===0&&!c)return null;let d=q(gC.Provider,{value:{stop:u},children:q(`span`,{children:t.renderNodes(e)},o)});return t.className||t.id?q(`span`,{id:t.id,class:t.cls,children:d}):d}});function _C(){let e=Ie(Ff),{nobr:t,inline:n}=ll(),r=Ie(Hf),i=Ie(gC),a=Ie(Pb),o=o=>{let s=hC(e.getValues),c=document.createElement(`div`);ge(q(Ff.Provider,{value:e,children:q(Pf.Provider,{value:s,children:q(If.Provider,{value:t,children:q(Lf.Provider,{value:n,children:q(Hf.Provider,{value:r,children:q(gC.Provider,{value:i,children:q(Pb.Provider,{value:a,children:jp(o,{nobr:t,inline:n,locals:s})})})})})})})}),c),ge(null,c)};return e=>Mv(()=>o(e))}$({name:`button`,block:!0,interpolate:!0,parameters:[{name:`label`,type:`text`,holds:`markup`,required:!0}],render({rawArgs:e,children:t=[]},n){let r=n.resolve?.(n.args.label??``)??e,i=_C(),a=()=>i(t);return n.useAction({type:`button`,key:e,authorId:n.id,label:r,perform:a}),q(`button`,{id:n.id,class:n.cls,onClick:a,children:r})}}),$({name:`link`,block:!0,interpolate:!0,merged:!0,parameters:[{name:`text`,type:`string`,holds:`markup`,required:!0},{name:`passage`,type:`passage`}],render({children:e=[]},t){let n=t.resolve?.(t.args.text??``)??``,r=null,i;if(t.args.passage!==void 0)try{r=Fx(t.args.passage,t.evaluate,Q.getState())}catch(e){i={error:e}}let a=_C(),o=()=>{i||(a(e),r&&Q.getState().navigate(r))};return t.useAction({type:`link`,key:r||n,authorId:t.id,label:n,target:r??void 0,disabled:i?!0:void 0,perform:o}),i?q(Af,{macro:`link`,error:i.error}):q(`a`,{id:t.id,class:t.cls,href:`#`,onClick:e=>{e.preventDefault(),o()},children:n})}});function vC(e,t,n){return lC(t.slice(1),t=>e===n(t))}$({name:`switch`,subMacros:[`case`,`default`],parameters:[{name:`expression`,type:`expression`,required:!0}],merged:!0,render({rawArgs:e,branches:t=[]},n){let r;try{r=n.evaluate(e)}catch(e){return q(Af,{macro:`switch`,error:e})}let i;try{i=vC(r,t,n.evaluate)}catch(e){return q(Af,{macro:`case`,error:e})}return i&&q(S,{children:n.renderNodes(i.children)})},text({rawArgs:e,branches:t=[]},n){let r=vC(n.evaluate(e),t,n.evaluate);return r?n.renderText(r.children):``}});var yC=[Mx];$({name:`timed`,subMacros:[`next`],interpolate:!0,parameters:yC,render({branches:e=[]},t){let{useState:n,useEffect:r,useMemo:i}=t.hooks,a=i(()=>e.map(e=>({delay:Nx(e.rawArgs,yC).delay??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];return t.wrap(Hc(t.resolve(c.className),t.resolve(c.id),t.renderNodes(c.nodes)))}}),$({name:`stop`,render(e,t){let{stop:n}=t.hooks.useContext(gC);return t.hooks.useLayoutEffect(()=>{n()},[n]),null}}),$({name:`type`,block:!0,interpolate:!0,parameters:[Mx],render({children:e=[]},t){let{useState:n,useEffect:r,useRef:i}=t.hooks,a=t.args.delay??0,o=i(null),[s,c]=n(0),[l,u]=n(0),d=i(0);d.current=l,r(()=>{o.current&&c((o.current.textContent||``).length)}),r(()=>{if(s===0||d.current>=s)return;let e=setInterval(()=>{u(t=>t>=s?(clearInterval(e),t):t+1)},a);return()=>clearInterval(e)},[s,a]);let f=l>=s&&s>0,p=[`macro-type`,f?`macro-type-done`:``,t.className||``].filter(Boolean).join(` `);return q(`span`,{id:t.id,class:p,ref:o,style:{clipPath:void 0},children:[q(`span`,{class:`macro-type-inner`,style:{display:`inline`,visibility:s===0?`hidden`:`visible`,clipPath:s>0&&!f?`inset(0 ${(s-l)/s*100}% 0 0)`:void 0},children:t.renderInlineNodes(e)}),!f&&s>0&&q(`span`,{class:`macro-type-cursor`})]})}}),$({name:`story-title`,render(e,t){let n=Q(e=>e.storyData?.name||``),r=t.className?`story-title ${t.className}`:`story-title`;return q(`span`,{id:t.id,class:r,children:n})},text:()=>Q.getState().storyData?.name||``});function bC(e,t){return t?`${e} (${t})`:e}function xC(e){$({name:e.name,render(t,n){if(e.hidden?.())return null;let[r,i]=Ae(!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}),q(S,{children:[q(`button`,{id:n.id,class:c,onClick:l,disabled:o,title:s,children:e.label}),e.dialog&&r&&q(Fb,{passageName:e.dialog.passageName,fallbackMarkup:e.dialog.fallbackMarkup,panelClass:e.dialog.panelClass,onClose:()=>i(!1),showCloseButton:e.dialog.showCloseButton})]})}})}xC({name:`back`,label:`← Back`,actionType:`back`,setup:()=>({perform:Q(e=>e.goBack),disabled:!Q(e=>e.historyIndex>0)})}),xC({name:`forward`,label:`Forward →`,actionType:`forward`,setup:()=>({perform:Q(e=>e.goForward),disabled:!Q(e=>e.historyIndex<e.history.length-1)})}),xC({name:`quicksave`,label:`QuickSave`,actionType:`save`,setup:()=>{let{save:e,quickSaveKey:t}=is(`save`,`quickSaveKey`);return{perform:e,title:bC(`Quick Save`,t)}}}),xC({name:`quickload`,label:`QuickLoad`,actionType:`load`,confirm:`Load saved game? Current progress will be lost.`,setup:()=>{let{load:e,hasSave:t,quickLoadKey:n}=is(`load`,`hasSave`,`quickLoadKey`,`knownSaves`);return{perform:()=>e(),disabled:!t(),title:bC(`Quick Load`,n)}}}),xC({name:`restart`,label:`↺ Restart`,actionType:`restart`,confirm:`Restart the story? All progress will be lost.`,setup:()=>({perform:Q(e=>e.restart)})}),xC({name:`saves`,label:`Saves`,actionType:`dialog`,dialog:{passageName:`SaveLoad`,fallbackMarkup:`{save-manager}`,panelClass:`dialog-saves`}}),xC({name:`settings`,label:`Settings`,actionType:`dialog`,hidden:()=>!tx.hasAny(),dialog:{passageName:`Settings`,fallbackMarkup:`{settings-controls}`,panelClass:`dialog-settings`}}),$({name:`dialog`,block:!0,interpolate:!0,parameters:[{name:`label`,type:`text`,holds:`markup`,required:!0},{name:`noclose`,type:`flag`}],render({children:e=[]},t){let[n,r]=t.hooks.useState(!1),{noclose:i}=t.args,a=t.resolve(t.args.label??``),o=t.collectText(e).trim().replace(/^[\"']|[\"']$/g,``);return q(S,{children:[q(`button`,{id:t.id,class:t.cls,onClick:()=>r(!0),children:a}),n&&q(Fb,{passageName:o,onClose:()=>r(!1),showCloseButton:!i})]})}});function SC(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 CC(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function wC(){let[e,t]=Ae(`load`),[n,r]=Ae([]),[i,a]=Ae(!0),[o,s]=Ae(null),[c,l]=Ae(()=>new Set),[u,d]=Ae(null),[f,p]=Ae(``),m=j(null),h=j(null),g=Ie(Pb),{storyData:_,playthroughId:v,beginSave:y,loadFromPayload:b}=is(`storyData`,`playthroughId`,`beginSave`,`loadFromPayload`),x=_?.ifid??``,S=Fe(async()=>{x&&(r(await v_(x)),a(!1))},[x]);Me(()=>{S()},[S]),Me(()=>{u&&m.current&&(m.current.focus(),m.current.select())},[u]);let C=j(!0),w=j(),T=j(),E=(e,t=`success`)=>{C.current&&(clearTimeout(w.current),s({text:e,type:t}),w.current=window.setTimeout(()=>s(null),3e3))};Me(()=>(C.current=!0,()=>{C.current=!1,clearTimeout(w.current),clearTimeout(T.current)}),[]);let ee=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},D=async()=>{if(!x)return;let e=Zy();try{await c_(void 0,void 0,y,async t=>{let n=await e;if(!n)throw Error(`No playthrough`);return u_(x,n,t)}),E(`Save created`),await S()}catch{E(`Failed to create save`,`error`)}},te=async e=>{let t=Zy();try{await c_(void 0,void 0,y,async n=>{if(!await f_(e,n,void 0,await t||void 0))throw Error(`Save not found`)}),E(`Save overwritten`),await S()}catch{E(`Failed to overwrite save`,`error`)}},ne=async e=>{try{b(h_(e.payload),void 0,e.meta.playthroughId),E(`Game loaded`),g&&(T.current=window.setTimeout(g,500)),await S()}catch{E(`Failed to load save`,`error`)}},re=async e=>{if(confirm(`Delete this save?`))try{await g_(e);let t=await L_(x);Q.setState(e=>{e.knownSaves=t}),E(`Save deleted`),await S()}catch{E(`Failed to delete save`,`error`)}},ie=e=>{d(e.meta.id),p(e.meta.title)},O=async()=>{if(!(!u||!f.trim()))try{await __(u,f.trim()),d(null),E(`Save renamed`),await S()}catch{E(`Failed to rename`,`error`)}},ae=e=>{e.key===`Enter`?O():e.key===`Escape`&&d(null)},oe=async e=>{try{let t=await J_(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),E(`Save exported`)}catch{E(`Failed to export save`,`error`)}},se=()=>{h.current?.click()},ce=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(!gh(t))throw Error(`Invalid save file format`);await X_(t,x),E(`Save imported`),await S()}catch(e){E(nl(e,`Failed to import save`),`error`)}}},le=n.reduce((e,t)=>e+t.saves.length,0);return q(`div`,{class:`save-manager`,children:[q(`div`,{class:`saves-header`,children:q(`div`,{class:`saves-header-left`,children:q(`div`,{class:`saves-mode-toggle`,children:[q(`button`,{class:e===`save`?`active`:``,onClick:()=>t(`save`),children:`Save`}),q(`button`,{class:e===`load`?`active`:``,onClick:()=>t(`load`),children:`Load`})]})})}),q(`div`,{class:`saves-toolbar`,children:[q(`button`,{class:`saves-toolbar-button`,onClick:se,children:`Import`}),q(`input`,{ref:h,type:`file`,accept:`.json`,style:`display:none`,onChange:ce})]}),q(`div`,{class:`saves-body`,children:[i?q(`div`,{class:`saves-empty`,children:`Loading...`}):le===0&&e===`load`?q(`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:q(`div`,{class:`playthrough-group`,children:[q(`div`,{class:`playthrough-header`,onClick:()=>ee(t.playthrough.id),children:[q(`span`,{class:`playthrough-chevron ${n?``:`open`}`,children:`▶`}),q(`span`,{class:`playthrough-label`,children:[t.playthrough.label,r?` (current)`:``]}),q(`span`,{class:`playthrough-date`,children:CC(t.playthrough.createdAt)})]}),!n&&q(`div`,{class:`playthrough-saves`,children:[t.saves.map(t=>q(`div`,{class:`save-slot`,children:[q(`div`,{class:`save-slot-info`,children:[u===t.meta.id?q(`input`,{ref:m,class:`save-rename-input`,value:f,onInput:e=>p(e.target.value),onKeyDown:ae,onBlur:O}):q(`div`,{class:`save-slot-title`,children:t.meta.title}),q(`div`,{class:`save-slot-meta`,children:[q(`span`,{children:t.meta.passage}),q(`span`,{children:SC(t.meta.updatedAt)})]})]}),q(`div`,{class:`save-slot-actions`,children:[e===`save`?q(`button`,{class:`save-slot-action primary`,onClick:()=>te(t.meta.id),children:`Save Here`}):q(`button`,{class:`save-slot-action primary`,onClick:()=>ne(t),children:`Load`}),q(`button`,{class:`save-slot-action`,onClick:()=>ie(t),children:`Rename`}),q(`button`,{class:`save-slot-action`,onClick:()=>oe(t.meta.id),children:`Export`}),q(`button`,{class:`save-slot-action danger`,onClick:()=>re(t.meta.id),children:`Delete`})]})]},t.meta.id)),e===`save`&&r&&q(`button`,{class:`save-slot-new`,onClick:D,children:`+ New Save`})]})]},t.playthrough.id)}),e===`save`&&!i&&!n.some(e=>e.playthrough.id===v)&&q(`div`,{class:`playthrough-group`,children:q(`div`,{class:`playthrough-saves`,children:q(`button`,{class:`save-slot-new`,onClick:D,children:`+ New Save`})})})]}),o&&q(`div`,{class:`saves-status ${o.type===`error`?`error`:``}`,children:o.text})]})}$({name:`save-manager`,render(){return q(wC,{})}});function TC({name:e,def:t}){let[n,r]=Ae(()=>tx.get(e)),i=t=>{r(t),tx.set(e,t)};switch(t.type){case`toggle`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:t.config.label}),q(`input`,{type:`checkbox`,checked:!!n,onChange:e=>i(e.target.checked)})]});case`list`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:t.config.label}),q(`select`,{value:String(n),onChange:e=>i(e.target.value),children:t.config.options.map(e=>q(`option`,{value:e,children:e},e))})]});case`range`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:[t.config.label,`: `,String(n)]}),q(`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 EC(){let e=tx.getDefinitions();return q(`div`,{class:`settings-controls`,children:Array.from(e.entries()).map(([e,t])=>q(TC,{name:e,def:t},e))})}$({name:`settings-controls`,render(){return q(EC,{})}}),$({name:`include`,interpolate:!0,merged:!0,parameters:[{name:`inline`,type:`flag`},{name:`passage`,type:`passage`,required:!0}],render(e,t){let{storyData:n}=is(`storyData`),{inline:r}=t.args,i=``,a;try{i=Fx(t.args.passage,t.evaluate,Q.getState())}catch(e){a={error:e}}let o=n?.passages.get(i),s=t.hooks.useMemo(()=>o?Zo(o.content):null,[o]),c=!a&&!!o;if(t.hooks.useEffect(()=>{c&&Q.getState().trackRender(i)},[c,i]),!n)return null;if(a)return q(Af,{macro:`include`,error:a.error});if(!o||!s)return null;let l=o.tags.includes(`nobr`),u=r?t.renderInlineNodes(s):t.renderNodes(s,l?{nobr:!0}:void 0);return l?t.wrap(t.h(If.Provider,{value:!0},u)):t.wrap(u)}}),$({name:`nobr`,block:!0,render({children:e=[]},t){return t.wrap(t.h(If.Provider,{value:!0},t.renderNodes(e,{nobr:!0})))},text:({children:e=[]},t)=>t.renderText(e)}),$({name:`goto`,merged:!0,parameters:[{name:`passage`,type:`passage`,required:!0}],render(e,t){let[n,r]=t.hooks.useState();return t.hooks.useLayoutEffect(()=>{let e=t.sourceLocation();try{let e=Q.getState();e.navigate(Fx(t.args.passage,t.evaluate,e))}catch(t){jf(`goto`,t,e),r({error:t})}},[]),n?q(Af,{macro:`goto`,error:n.error}):null}}),$({name:`unset`,parameters:[{name:`variable`,type:`variable`,required:!0}],render({rawArgs:e},t){return Mf(`unset`,e,()=>{let e=Q.getState(),n=t.args.variable??``;if(/^[$_%@][^.]*\\./.test(n))t.mutate(`delete ${n}`);else if(n.startsWith(`$`))e.deleteVariable(n.slice(1));else if(n.startsWith(`_`))e.deleteTemporary(n.slice(1));else if(n.startsWith(`%`))e.deleteTransient(n.slice(1));else if(n.startsWith(`@`))t.update(n.slice(1),void 0);else throw Error(`{unset} expects a variable ($name, _name, %name, or @name), got \"${n}\"`)})}});var DC={name:`variable`,type:`variable`,required:!0};function OC(e,t){return e.useAction({key:`$${e.varName}`,authorId:e.id,variable:e.varName,value:e.value,...t})}function kC(e,t,n=e=>e===void 0?``:String(e)){$({name:e,storeVar:!0,parameters:[DC,{name:`placeholder`,type:`string`,holds:`text`}],render(r,i){let a=i.args.placeholder??``;return OC(i,{type:e,label:a||i.varName,perform:e=>i.setValue(n(e))}),b(t?`input`:`textarea`,{type:t,id:i.id,class:i.cls,value:Vc(i.value),placeholder:a,onInput:e=>i.setValue(n(e.target.value))})}})}kC(`textbox`,`text`),kC(`numberbox`,`number`,e=>e===void 0?0:Number(e)),kC(`textarea`),$({name:`checkbox`,storeVar:!0,parameters:[DC,{name:`label`,type:`text`,holds:`text`}],render(e,t){let n=t.args.label??``;return OC(t,{type:`checkbox`,label:n||t.varName||``,value:!!t.value,perform:e=>t.setValue(e===void 0?!t.value:!!e)}),q(`label`,{id:t.id,class:t.cls,children:[q(`input`,{type:`checkbox`,checked:!!t.value,onChange:()=>t.setValue(!t.value)}),n?` ${n}`:null]})}}),$({name:`radiobutton`,storeVar:!0,parameters:[DC,{name:`value`,type:`text`,holds:`text`,required:!0},{name:`label`,type:`text`,holds:`text`}],render(e,t){let n=t.args.value??``,r=t.args.label??``;return OC(t,{type:`radiobutton`,key:`$${t.varName}:${n}`,label:r||n,perform:()=>t.setValue(n)}),q(`label`,{id:t.id,class:t.cls,children:[q(`input`,{type:`radio`,name:`radio-${t.varName}`,checked:t.value===n,onChange:()=>t.setValue(n)}),r?` ${r}`:null]})}}),$({name:`listbox`,subMacros:[`option`],storeVar:!0,parameters:[DC],render({children:e=[]},t){let n=t.extractOptions(e);return OC(t,{type:`listbox`,label:t.varName,options:n,perform:e=>{e!==void 0&&t.setValue(String(e))}}),q(`select`,{id:t.id,class:t.cls,value:Vc(t.value),onChange:e=>t.setValue(e.target.value),children:n.map(e=>q(`option`,{value:e,children:e},e))})}}),$({name:`cycle`,block:!0,storeVar:!0,parameters:[DC],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 OC(t,{type:`cycle`,label:t.value==null?n[0]||``:String(t.value),options:n,perform:e=>{e===void 0?r():t.setValue(e)}}),q(`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))},text:({children:e=[]},t)=>t.renderText(e)});var AC=new WeakMap;function jC(e){let t=AC.get(e);if(t&&t.content===e.content)return t.ast;let n=Zo(e.content);return AC.set(e,{content:e.content,ast:n}),n}function MC(e){return jp(jC(e),e.tags.includes(`nobr`)?{nobr:!0}:void 0)}function NC(e){if(!e)return null;try{return MC(e)}catch(t){return console.error(`spindle: Error in ${e.name}:`,t),null}}var PC=new Set([`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]);function FC({passage:e,dataTransition:t,navigationId:n}){let{storyData:r}=is(`storyData`),i=PC.has(e.name),[a,o]=Ae(!1),s=Pe(()=>{try{return MC(e)}catch(t){return q(`div`,{class:`error`,children:[`Error parsing passage “`,e.name,`”`,Of(e),`: `,nl(t)]})}},[e.content,e.name]),c=e=>i?void 0:r?.passages.get(e),l=c(`PassageHeader`),u=c(`PassageFooter`),d=c(`PassageDone`),f=Pe(()=>NC(l),[l?.content]),p=Pe(()=>NC(u),[u?.content]);Me(()=>(d&&o(!0),()=>o(!1)),[e.name]);let m=Pe(()=>a?NC(d):null,[a,d?.content]),h=j(null);Ne(()=>{n!==void 0&&Gx(n),h.current&&Vg(`passagerender`,e.name,h.current)},[e.name,n]);let g=e.tags.includes(`nobr`),_=q(`div`,{ref:h,class:`passage`,\"data-passage\":e.name,\"data-tags\":e.tags.join(` `),\"data-transition\":t,children:[f&&q(`div`,{class:`passage-header`,children:f}),s,p&&q(`div`,{class:`passage-footer`,children:p}),m&&q(`div`,{hidden:!0,children:m})]});return g?q(If.Provider,{value:!0,children:_}):_}var IC=new Set([`none`,`fade`,`fade-through`,`crossfade`]),LC={type:`fade-through`,duration:300,pause:50};function RC(e){let t=e.find(e=>e.startsWith(`transition:`));if(!t)return null;let n=t.slice(11);if(!IC.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 zC(e){return{type:e.type,duration:e.duration??LC.duration,pause:e.pause??LC.pause}}function BC(e,t,n){let r=RC(e);return r?zC(r):t?zC(t):n?zC(n):{...LC}}function VC(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 HC(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 UC(e,t){if(!e)return null;HC(e,t);let n=e.querySelector(`.passage`);return n?VC(n,t.type):null}function WC(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{currentPassage:n,navigationId:r,storyData:i,renderDeferred:a}=is(`currentPassage`,`navigationId`,`storyData`,`renderDeferred`),[o,s]=Ae({passage:n,id:r}),c=o.passage,l=e=>s({passage:e,id:r}),u=j(`fade`),d=j(0),f=j(null),p=j([]),m=Fe(()=>{for(let e of p.current)clearTimeout(e);p.current=[],WC(f.current)},[]);Me(()=>m,[m]),Me(()=>{let e=Q.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=BC(b.tags,h,s);u.current=x.type;let S=f.current;if(x.type===`none`){l(n);return}if(x.type===`fade`){S&&HC(S,x),l(n);return}let C=x.type===`fade-through`||x.type===`crossfade`?UC(S,x):null;if(!S||!C){l(n);return}if(x.type===`fade-through`){S.appendChild(C),l(``);let e=x.duration+x.pause,t=setTimeout(()=>{l(n)},e),r=e+x.duration;p.current=[t,setTimeout(()=>{WC(S)},r)];return}S.classList.add(`passage-container--crossfading`),S.appendChild(C),l(n),p.current=[setTimeout(()=>{WC(S)},x.duration)]},[r]);let h=a?i?.passages.get(`StoryLoading`)??null:c?i?.passages.get(c):null;if(!h&&c&&!a)return q(`div`,{class:`error`,children:[`Error: Passage “`,c,`” not found.`]});let g=i?.passages.get(`PassageReady`);return q(`div`,{id:t.id??`story`,class:t.className??`story`,children:[!a&&g&&q(`div`,{hidden:!0,children:MC(g)},`ready-${r}`),q(`div`,{class:`passage-container`,ref:f,children:h&&q(FC,{passage:h,dataTransition:a?`none`:u.current,navigationId:a?void 0:o.id},a?`loading`:`nav-${o.id}`)})]})}}),$({name:`watch`,parameters:[{name:`condition`,type:`string`,holds:`expression`,required:!0},{name:`options`,type:`options`,parameters:[{name:`goto`,type:`string`,holds:`passage`},{name:`dialog`,type:`string`,holds:`passage`},{name:`run`,type:`string`,holds:`statements`},{name:`name`,type:`string`,holds:`text`},{name:`priority`,type:`number`},{name:`once`,type:`flag`}]}],render(e,t){let{hooks:n}=t,{condition:r,options:i}=t.args;if(r===void 0)return null;let a=n.useRef(!1);return a.current||(a.current=!0,Wv(r,i)),null}}),$({name:`unwatch`,parameters:[{name:`name`,type:`text`,holds:`text`,required:!0}],render(e,t){let n=t.args.name??``,r=t.hooks.useRef(!1);return r.current||(r.current=!0,Gv(n)),null}});var GC=`*,: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}.spindle-error-banners{z-index:300;flex-direction:column;gap:.5em;width:min(42em,100% - 1.5em);display:flex;position:fixed;top:.75em;left:50%;transform:translate(-50%)}.spindle-error-banner{color:#ffcdd2;background:#2b1a1e;border:1px solid #ef5350;border-radius:4px;padding:.75em 2.75em .75em 1em;font-size:.9em;line-height:1.5;position:relative;box-shadow:0 2px 12px #00000080}.spindle-error-banner-message{color:#ef9a9a;font-family:monospace}.spindle-error-banner-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;font-size:1em;position:absolute;top:.5em;right:.5em}.spindle-error-banner-dismiss:hover{color:#fff}.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 KC(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 qC(e){let t=document.getElementById(`root`);throw t&&KC(t,e),Error(`spindle: ${e.length} validation error(s):\\n${e.join(`\n`)}`)}function JC(e,t){let n=Sc();return FS(e.passages.values(),{isKnownMacro:e=>!!cc(e)||mc(e)||!!Tc(e),macroNames:n.map(e=>e.name),parametersOf:mS(n),only:t}).map(kS)}function YC(){let e=Gb(),t=document.createElement(`style`);if(t.id=`spindle-styles`,t.textContent=GC,document.head.appendChild(t),sS(),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&&KC(t,[e]),Error(`spindle: ${e}`)}let i=US(r.content),a=Sc().filter(e=>e.storeVar).map(e=>e.name);for(let t of TS(e.passages.values()))Sr(t);let o=eC(e.passages,i,a);o.push(...JC(e,e=>e.name===`StoryInit`));let s={},c=e.passages.get(`StoryTransients`);if(c){let e=US(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=tC(e)}o.length>0&&qC(o),n=tC(i),tS(Object.keys(n),Object.keys(s)),Q.getState().init(e,n,s),ub(),sv(G_(e.ifid));let l=JC(e,e=>e.name!==`StoryInit`);l.length>0&&qC(l);for(let[,t]of e.passages)if(t.tags.includes(`widget`)){let e=Zo(t.content);for(let n of e)if(n.type===`macro`&&n.name===`widget`&&n.rawArgs){let e=CS(n.rawArgs);try{rC(e,n.children)}catch(n){console.error(`spindle: widget \"${e.name}\" in passage \"${t.name}\" was not registered: ${nl(n)}`)}}}let u=Q.getState().navigationId;Q.subscribe(e=>{e.navigationId!==u&&(u=e.navigationId,ux())}),Qv();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.`);ge(q(Rb,{}),f);let p=Yx();p?p.then(()=>{document.dispatchEvent(new CustomEvent(`:storyready`))}):document.dispatchEvent(new CustomEvent(`:storyready`))}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,YC):YC();</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.59.7","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),ce(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,ue(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 ee(e){(!e.__d&&(e.__d=!0)&&a.push(e)&&!D.__r++||o!=r.debounceRendering)&&((o=r.debounceRendering)||s)(D)}function D(){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=D.__r=0}}function te(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=ne(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=ce(e,p,f,i,a,o,s,c,l,u),g=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&pe(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=re(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 ne(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=O(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)),me(s,s));return r}function re(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=re(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 ie(e,t){return t=t||[],e==null||typeof e==`boolean`||(_(e)?e.some(function(e){ie(e,t)}):t.push(e)),t}function O(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 ae(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||g.test(t)?n:n+`px`}function oe(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||ae(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||ae(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 se(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 ce(e,t,n,i,a,o,s,c,l,u){var d,f,p,m,g,b,x,w,T,E,ee,D,ne,re,ie,O=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 O==`function`)try{if(w=t.props,T=O.prototype&&O.prototype.render,E=(d=O.contextType)&&i[d.__c],ee=d?E?E.props.value:d.__:i,n.__c?x=(f=t.__c=n.__c).__=f.__E:(T?t.__c=f=new O(w,ee):(t.__c=f=new C(w,ee),f.constructor=O,f.render=he),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&&O.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=v({},f.__s)),v(f.__s,O.getDerivedStateFromProps(w,f.__s))),m=f.props,g=f.state,f.__v=t,p)T&&O.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),T&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(T&&O.getDerivedStateFromProps==null&&w!==m&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(w,ee),t.__v==n.__v||!f.__e&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(w,f.__s,ee)){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,ee),T&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(m,g,b)})}if(f.context=ee,f.props=w,f.__P=e,f.__e=!1,D=r.__r,ne=0,T)f.state=f.__s,f.__d=!1,D&&D(t),d=f.render(f.props,f.state,f.context),h.push.apply(f.__h,f._sb),f._sb=[];else do f.__d=!1,D&&D(t),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(f.__d&&++ne<25);f.state=f.__s,f.getChildContext!=null&&(i=v(v({},i),f.getChildContext())),T&&!p&&f.getSnapshotBeforeUpdate!=null&&(b=f.getSnapshotBeforeUpdate(m,g)),re=d!=null&&d.type===S&&d.key==null?de(d.props.children):d,c=te(e,_(re)?re:[re],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(ie=o.length;ie--;)y(o[ie]);le(t)}else t.__e=n.__e,t.__k=n.__k,e.then||le(t);r.__e(e,t,n)}else o==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):c=t.__e=fe(n.__e,t,n,i,a,o,s,l,u);return(d=r.diffed)&&d(t),128&t.__u?void 0:c}function le(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(le))}function ue(e,t,n){for(var i=0;i<n.length;i++)pe(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 de(e){return typeof e!=`object`||!e||e.__b>0?e:_(e)?e.map(de):v({},e)}function fe(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||oe(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||oe(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=``),te(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])&&oe(e,d,v,x[d],o),d=`checked`,b!=null&&b!=e[d]&&oe(e,d,b,x[d],o))}return e}function pe(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 me(e,t,n){var i,a;if(r.unmount&&r.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||pe(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]&&me(i[a],t,n||typeof e.type!=`function`);n||y(e.__e),e.__c=e.__=e.__e=void 0}function he(e,t,n){return this.constructor(e,n)}function ge(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=[],ce(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),ue(s,e,c)}function _e(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,ee(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),ee(this))},C.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),ee(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},D.__r=0,l=/(PointerCapture)$|Capture$/i,u=0,d=se(!1),f=se(!0),p=0;var ve,k,ye,be,xe=0,Se=[],A=r,Ce=A.__b,we=A.__r,Te=A.diffed,Ee=A.__c,De=A.unmount,Oe=A.__;function ke(e,t){A.__h&&A.__h(k,e,xe||t),xe=0;var n=k.__H||(k.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function Ae(e){return xe=1,je(Ue,e)}function je(e,t,n){var r=ke(ve++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Ue(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=k,!k.__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};k.__f=!0;var a=k.shouldComponentUpdate,o=k.componentWillUpdate;k.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)},k.shouldComponentUpdate=i}return r.__N||r.__}function Me(e,t){var n=ke(ve++,3);!A.__s&&He(n.__H,t)&&(n.__=e,n.u=t,k.__H.__h.push(n))}function Ne(e,t){var n=ke(ve++,4);!A.__s&&He(n.__H,t)&&(n.__=e,n.u=t,k.__h.push(n))}function j(e){return xe=5,Pe(function(){return{current:e}},[])}function Pe(e,t){var n=ke(ve++,7);return He(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Fe(e,t){return xe=8,Pe(function(){return e},t)}function Ie(e){var t=k.context[e.__c],n=ke(ve++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(k)),t.props.value):e.__}function Le(){for(var e;e=Se.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Be),t.__h.some(Ve),t.__h=[]}catch(n){t.__h=[],A.__e(n,e.__v)}}}A.__b=function(e){k=null,Ce&&Ce(e)},A.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Oe&&Oe(e,t)},A.__r=function(e){we&&we(e),ve=0;var t=(k=e.__c).__H;t&&(ye===k?(t.__h=[],k.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(Be),t.__h.some(Ve),t.__h=[],ve=0)),ye=k},A.diffed=function(e){Te&&Te(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Se.push(t)!==1&&be===A.requestAnimationFrame||((be=A.requestAnimationFrame)||ze)(Le)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),ye=k=null},A.__c=function(e,t){t.some(function(e){try{e.__h.some(Be),e.__h=e.__h.filter(function(e){return!e.__||Ve(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],A.__e(n,e.__v)}}),Ee&&Ee(e,t)},A.unmount=function(e){De&&De(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{Be(e)}catch(e){t=e}}),n.__H=void 0,t&&A.__e(t,n.__v))};var Re=typeof requestAnimationFrame==`function`;function ze(e){var t,n=function(){clearTimeout(r),Re&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Re&&(t=requestAnimationFrame(n))}function Be(e){var t=k,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),k=t}function Ve(e){var t=k;e.__c=e.__(),k=t}function He(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function Ue(e,t){return typeof t==`function`?t(e):t}function We(e,t){for(var n in t)e[n]=t[n];return e}function Ge(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 Ke(e,t){var n=t(),r=Ae({t:{__:n,u:t}}),i=r[0].t,a=r[1];return Ne(function(){i.__=n,i.u=t,qe(i)&&a({t:i})},[e,n,t]),Me(function(){return qe(i)&&a({t:i}),e(function(){qe(i)&&a({t:i})})},[e]),n}function qe(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 Je(e,t){this.props=e,this.context=t}(Je.prototype=new C).isPureReactComponent=!0,Je.prototype.shouldComponentUpdate=function(e,t){return Ge(this.props,e)||Ge(this.state,t)};var Ye=r.__b;r.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ye&&Ye(e)},typeof Symbol<`u`&&Symbol.for;var Xe=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)}Xe(e,t,n,r)};var Ze=r.unmount;function Qe(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=We({},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 Qe(e,t,n)})),e}function $e(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return $e(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 et(){this.__u=0,this.o=null,this.__b=null}function tt(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function nt(){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),Ze&&Ze(e)},(et.prototype=new C).__c=function(e,t){var n=t.__c,r=this;r.o??(r.o=[]),r.o.push(n);var i=tt(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]=$e(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)},et.prototype.componentWillUnmount=function(){this.o=[]},et.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]=Qe(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 rt=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]}};(nt.prototype=new C).__a=function(e){var t=this,n=tt(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),rt(t,e,r)):i()};n?n(a):a()}},nt.prototype.render=function(e){this.i=null,this.l=new Map;var t=ie(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},nt.prototype.componentDidUpdate=nt.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){rt(e,n,t)})};var it=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,at=/^(?: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]/,ot=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,st=/[A-Z0-9]/g,ct=typeof document<`u`,lt=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 ut=r.event;r.event=function(e){return ut&&(e=ut(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var dt={configurable:!0,get:function(){return this.class}},ft=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||ct&&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`||lt(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:ot.test(a)&&(a=s):s=a=`oninput`:i&&at.test(a)?a=a.replace(st,`-$&`).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=ie(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=ie(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`,dt)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=it,ft&&ft(e)};var pt=r.__r;r.__r=function(e){pt&&pt(e),e.__c};var mt=r.diffed;r.diffed=function(e){mt&&mt(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 ht=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},gt=(e=>e?ht(e):ht),_t=e=>e;function vt(e){function t(t=_t){let n=Fe(()=>t(e.getState()),[t]);return Ke(e.subscribe,n)}return Object.assign(t,e)}function yt(){return e=>vt(gt()(e))}function bt(){if(typeof crypto.randomUUID==`function`)return crypto.randomUUID();let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,e=>e.toString(16).padStart(2,`0`));return[t.slice(0,4).join(``),t.slice(4,6).join(``),t.slice(6,8).join(``),t.slice(8,10).join(``),t.slice(10).join(``)].join(`-`)}var xt=Symbol.for(`immer-nothing`),St=Symbol.for(`immer-draftable`),M=Symbol.for(`immer-state`);function Ct(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var wt=Object,Tt=wt.getPrototypeOf,Et=`constructor`,Dt=`prototype`,Ot=`configurable`,kt=`enumerable`,At=`writable`,jt=`value`,Mt=e=>!!e&&!!e[M];function Nt(e){return e?It(e)||Ut(e)||!!e[St]||!!e[Et]?.[St]||Wt(e)||Gt(e):!1}var Pt=wt[Dt][Et].toString(),Ft=new WeakMap;function It(e){if(!e||!Kt(e))return!1;let t=Tt(e);if(t===null||t===wt[Dt])return!0;let n=wt.hasOwnProperty.call(t,Et)&&t[Et];if(n===Object)return!0;if(!qt(n))return!1;let r=Ft.get(n);return r===void 0&&(r=Function.toString.call(n),Ft.set(n,r)),r===Pt}function Lt(e,t,n=!0){Rt(e)===0?(n?Reflect.ownKeys(e):wt.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Rt(e){let t=e[M];return t?t.type_:Ut(e)?1:Wt(e)?2:Gt(e)?3:0}var zt=(e,t,n=Rt(e))=>n===2?e.has(t):wt[Dt].hasOwnProperty.call(e,t),Bt=(e,t,n=Rt(e))=>n===2?e.get(t):e[t],Vt=(e,t,n,r=Rt(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Ht(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Ut=Array.isArray,Wt=e=>e instanceof Map,Gt=e=>e instanceof Set,Kt=e=>typeof e==`object`,qt=e=>typeof e==`function`,Jt=e=>typeof e==`boolean`;function Yt(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Xt=e=>Kt(e)?e?.[M]:null,Zt=e=>e.copy_||e.base_,Qt=e=>{let t=Xt(e);return t?t.copy_??t.base_:e},$t=e=>e.modified_?e.copy_:e.base_;function en(e,t){if(Wt(e))return new Map(e);if(Gt(e))return new Set(e);if(Ut(e))return Array[Dt].slice.call(e);let n=It(e);if(t===!0||t===`class_only`&&!n){let t=wt.getOwnPropertyDescriptors(e);delete t[M];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[At]===!1&&(a[At]=!0,a[Ot]=!0),(a.get||a.set)&&(t[i]={[Ot]:!0,[At]:!0,[kt]:a[kt],[jt]:e[i]})}return wt.create(Tt(e),t)}else{let t=Tt(e);if(t!==null&&n)return{...e};let r=wt.create(t);return wt.assign(r,e)}}function tn(e,t=!1){return nn(e)||Mt(e)||!Nt(e)?e:(Rt(e)>1&&wt.defineProperties(e,{set:P,add:P,clear:P,delete:P}),wt.freeze(e),t&&Lt(e,(e,t)=>{tn(t,!0)},!1),e)}function N(){Ct(2)}var P={[jt]:N};function nn(e){return e===null||!Kt(e)?!0:wt.isFrozen(e)}var rn=`MapSet`,an=`Patches`,F=`ArrayMethods`,on={};function sn(e){let t=on[e];return t||Ct(0,e),t}var cn=e=>!!on[e];function ln(e,t){on[e]||(on[e]=t)}var un,dn=()=>un,fn=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:cn(rn)?sn(rn):void 0,arrayMethodsPlugin_:cn(F)?sn(F):void 0});function pn(e,t){t&&(e.patchPlugin_=sn(an),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function mn(e){hn(e),e.drafts_.forEach(I),e.drafts_=null}function hn(e){e===un&&(un=e.parent_)}var gn=e=>un=fn(un,e);function I(e){let t=e[M];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function _n(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[M].modified_&&(mn(t),Ct(4)),Nt(e)&&(e=vn(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[M].base_,e,t)}else e=vn(t,n);return yn(t,e,!0),mn(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===xt?void 0:e}function vn(e,t){if(nn(t))return t;let n=t[M];if(!n)return Dn(t,e.handledSet_,e);if(!xn(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);Tn(n,e)}return n.copy_}function yn(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&tn(t,n)}function bn(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var xn=(e,t)=>e.scope_===t,Sn=[];function Cn(e,t,n,r){let i=Zt(e),a=e.type_;if(r!==void 0&&Bt(i,r,a)===t){Vt(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Lt(i,(e,n)=>{if(Mt(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Sn;for(let e of o)Vt(i,e,n,a)}function wn(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!xn(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=$t(i);Cn(e,i.draft_??i,a,n),Tn(i,r)})}function Tn(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)}bn(e)}}function En(e,t,n){let{scope_:r}=e;if(Mt(n)){let i=n[M];xn(i,r)&&i.callbacks_.push(function(){Fn(e),Cn(e,n,$t(i),t)})}else Nt(n)&&e.callbacks_.push(function(){let i=Zt(e);e.type_===3?i.has(n)&&Dn(n,r.handledSet_,r):Bt(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Dn(Bt(e.copy_,t,e.type_),r.handledSet_,r)})}function Dn(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Mt(e)||t.has(e)||!Nt(e)||nn(e)?e:(t.add(e),Lt(e,(r,i)=>{if(Mt(i)){let t=i[M];xn(t,n)&&(Vt(e,r,$t(t),e.type_),bn(t))}else Nt(i)&&Dn(i,t,n)}),e)}function On(e,t){let n=Ut(e),r={type_:n?1:0,scope_:t?t.scope_:dn(),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=kn;n&&(i=[r],a=An);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var kn={get(e,t){if(t===M)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=Zt(e);if(!zt(i,t,e.type_))return Mn(e,i,t);let a=i[t];if(e.finalized_||!Nt(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Yt(t))return a;if(a===jn(e.base_,t)){Fn(e);let n=e.type_===1?+t:t,r=Ln(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Zt(e)},ownKeys(e){return Reflect.ownKeys(Zt(e))},set(e,t,n){let r=Nn(Zt(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=jn(Zt(e),t),i=r?.[M];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Ht(n,r)&&(n!==void 0||zt(e.base_,t,e.type_)))return!0;Fn(e),Pn(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),En(e,t,n),!0)},deleteProperty(e,t){return Fn(e),jn(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Pn(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Zt(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[At]:!0,[Ot]:e.type_!==1||t!==`length`,[kt]:r[kt],[jt]:n[t]}},defineProperty(){Ct(11)},getPrototypeOf(e){return Tt(e.base_)},setPrototypeOf(){Ct(12)}},An={};for(let e in kn){let t=kn[e];An[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}An.deleteProperty=function(e,t){return An.set.call(this,e,t,void 0)},An.set=function(e,t,n){return kn.set.call(this,e[0],t,n,e[0])};function jn(e,t){let n=e[M];return(n?Zt(n):e)[t]}function Mn(e,t,n){let r=Nn(t,n);return r?jt in r?r[jt]:r.get?.call(e.draft_):void 0}function Nn(e,t){if(!(t in e))return;let n=Tt(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Tt(n)}}function Pn(e){e.modified_||(e.modified_=!0,e.parent_&&Pn(e.parent_))}function Fn(e){e.copy_||(e.assigned_=new Map,e.copy_=en(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var In=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(qt(e)&&!qt(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}qt(t)||Ct(6),n!==void 0&&!qt(n)&&Ct(7);let r;if(Nt(e)){let i=gn(this),a=Ln(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?mn(i):hn(i)}return pn(i,n),_n(r,i)}else if(!e||!Kt(e)){if(r=t(e),r===void 0&&(r=e),r===xt&&(r=void 0),this.autoFreeze_&&tn(r,!0),n){let t=[],i=[];sn(an).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else Ct(1,e)},this.produceWithPatches=(e,t)=>{if(qt(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]},Jt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Jt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Jt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Nt(e)||Ct(8),Mt(e)&&(e=Rn(e));let t=gn(this),n=Ln(t,e,void 0);return n[M].isManual_=!0,hn(t),n}finishDraft(e,t){let n=e&&e[M];(!n||!n.isManual_)&&Ct(9);let{scope_:r}=n;return pn(r,t),_n(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=sn(an).applyPatches_;return Mt(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Ln(e,t,n,r){let[i,a]=Wt(t)?sn(rn).proxyMap_(t,n):Gt(t)?sn(rn).proxySet_(t,n):On(t,n);return(n?.scope_??dn()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?wn(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 Rn(e){return Mt(e)||Ct(10,e),zn(e)}function zn(e){if(!Nt(e)||nn(e))return e;let t=e[M],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=en(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=en(e,!0);return Lt(n,(e,t)=>{Vt(n,e,zn(t))},r),t&&(t.finalized_=!1),n}function Bn(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Xt(Bt(e,n.key_)),i=Bt(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||zt(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=Bt(n,r),!Kt(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?.[M];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;Lt(e.assigned_,(e,l)=>{let u=Bt(o,e,c),f=Bt(s,e,c),p=l?zt(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===xt?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=Rt(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===Et)&&Ct(19),qt(o)&&n===Dt&&Ct(19),o=Bt(o,n),Kt(o)||Ct(18,i.join(`/`))}let s=Rt(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:Ct(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:Ct(17,a)}}),e}function u(e){if(!Nt(e))return e;if(Ut(e))return e.map(u);if(Wt(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(Gt(e))return new Set(Array.from(e).map(u));let t=Object.create(Tt(e));for(let n in e)t[n]=u(e[n]);return zt(e,St)&&(t[St]=e[St]),t}function d(e){return Mt(e)?u(e):e}ln(an,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}function Vn(){class e extends Map{constructor(e,t){super(),this[M]={type_:2,parent_:t,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,copy_:void 0,assigned_:void 0,base_:e,draft_:this,isManual_:!1,revoked_:!1,callbacks_:[]}}get size(){return Zt(this[M]).size}has(e){return Zt(this[M]).has(e)}set(e,t){let r=this[M];return o(r),(!Zt(r).has(e)||Zt(r).get(e)!==t)&&(n(r),Pn(r),r.assigned_.set(e,!0),r.copy_.set(e,t),r.assigned_.set(e,!0),En(r,e,t)),this}delete(e){if(!this.has(e))return!1;let t=this[M];return o(t),n(t),Pn(t),t.base_.has(e)?t.assigned_.set(e,!1):t.assigned_.delete(e),t.copy_.delete(e),!0}clear(){let e=this[M];o(e),Zt(e).size&&(n(e),Pn(e),e.assigned_=new Map,Lt(e.base_,t=>{e.assigned_.set(t,!1)}),e.copy_.clear())}forEach(e,t){let n=this[M];Zt(n).forEach((n,r,i)=>{e.call(t,this.get(r),r,this)})}get(e){let t=this[M];o(t);let r=Zt(t).get(e);if(t.finalized_||!Nt(r)||r!==t.base_.get(e))return r;let i=Ln(t.scope_,r,t,e);return n(t),t.copy_.set(e,i),i}keys(){return Zt(this[M]).keys()}values(){let e=this.keys();return{[Symbol.iterator]:()=>this.values(),next:()=>{let t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}}entries(){let e=this.keys();return{[Symbol.iterator]:()=>this.entries(),next:()=>{let t=e.next();if(t.done)return t;let n=this.get(t.value);return{done:!1,value:[t.value,n]}}}}[Symbol.iterator](){return this.entries()}}function t(t,n){let r=new e(t,n);return[r,r[M]]}function n(e){e.copy_||(e.assigned_=new Map,e.copy_=new Map(e.base_))}class r extends Set{constructor(e,t){super(),this[M]={type_:3,parent_:t,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,copy_:void 0,base_:e,draft_:this,drafts_:new Map,revoked_:!1,isManual_:!1,assigned_:void 0,callbacks_:[]}}get size(){return Zt(this[M]).size}has(e){let t=this[M];return o(t),t.copy_?!!(t.copy_.has(e)||t.drafts_.has(e)&&t.copy_.has(t.drafts_.get(e))):t.base_.has(e)}add(e){let t=this[M];return o(t),this.has(e)||(a(t),Pn(t),t.copy_.add(e),En(t,e,e)),this}delete(e){if(!this.has(e))return!1;let t=this[M];return o(t),a(t),Pn(t),t.copy_.delete(e)||(t.drafts_.has(e)?t.copy_.delete(t.drafts_.get(e)):!1)}clear(){let e=this[M];o(e),Zt(e).size&&(a(e),Pn(e),e.copy_.clear())}values(){let e=this[M];return o(e),a(e),e.copy_.values()}entries(){let e=this[M];return o(e),a(e),e.copy_.entries()}keys(){return this.values()}[Symbol.iterator](){return this.values()}forEach(e,t){let n=this.values(),r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}}function i(e,t){let n=new r(e,t);return[n,n[M]]}function a(e){e.copy_||(e.copy_=new Set,e.base_.forEach(t=>{if(Nt(t)){let n=Ln(e.scope_,t,e,t);e.drafts_.set(t,n),e.copy_.add(n)}else e.copy_.add(t)}))}function o(e){e.revoked_&&Ct(3,JSON.stringify(Zt(e)))}function s(e){if(e.type_===3&&e.copy_){let t=new Set(e.copy_);e.copy_.clear(),t.forEach(t=>{e.copy_.add(Qt(t))})}}ln(rn,{proxyMap_:t,proxySet_:i,fixSetContents:s})}var Hn=new In().produce,Un=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t(typeof e==`function`?Hn(e):e,n,...r),e(r.setState,n,r)),Wn={$:`variable`,_:`temporary`,\"@\":`local`,\"%\":`transient`},Gn=Object.fromEntries(Object.entries(Wn).map(([e,t])=>[t,e])),Kn=new Set(Object.keys(Wn));function qn(e){return e!==void 0&&Kn.has(e)}function Jn(e,t){return t.className&&(e.className=t.className),t.id&&(e.id=t.id),e}var Yn={SIGIL_SCOPES:Wn,withSelectors:Jn},Xn=`{`,Zn=`}`,{SIGIL_SCOPES:Qn,withSelectors:$n}=Yn,er=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),tr={elseif:`if`,else:`if`,case:`switch`,default:`switch`,next:`timed`},nr=new Set([`if`,`switch`,`timed`]),rr=[[`|`,!1],[`->`,!1],[`<-`,!0]],ir={};function ar(e,t){let n=(n,r)=>{let i=e.slice(n,r),a=i.trim(),o=t+n+(a?i.indexOf(a):0);return{value:a,start:o,end:o+a.length}};for(let[t,r]of rr){let i=e.indexOf(t);if(i===-1)continue;let a=n(0,i),o=n(i+t.length,e.length),[s,c]=r?[o,a]:[a,o];return{display:s.value,target:c.value,targetStart:c.start,targetEnd:c.end}}let r=n(0,e.length);return{display:r.value,target:r.value,targetStart:r.start,targetEnd:r.end}}function or(e){return`\"`+e.replace(/[\\\\\"]/g,`\\\\$&`)+`\"`}function sr(e){let t=[],n=``;for(let[r,i]of e)i&&(r===`.`?t.push(i):n=i);return $n({},{className:t.join(` `),id:n})}function cr(e){return e.lex===`html`?(e.isClose?`</`:`<`)+e.tag+`>`:Xn+(e.isClose?`/`:``)+e.name+Zn}function lr(e){return e.lex===`html`?`</`+e.tag+`>`:Xn+`/`+e.name+Zn}function ur(e){return`line `+e.start.line+`, column `+e.start.column}function dr(e,t){return e.lex===t.lex&&e.lower===t.lower}function fr(e,t,n){return n.lex=e,n.start=t.start.offset,n.end=t.end.offset,n.loc=t,n}function pr(e){switch(e.lex){case`text`:return{type:`text`,value:e.value};case`link`:return $n({type:`macro`,name:`link`,rawArgs:or(e.display)+` `+or(e.target),children:[]},e);case`variable`:return $n({type:`variable`,name:e.name,scope:e.scope},e);case`expression`:return $n({type:`expression`,expression:e.expression},e);default:return e}}function mr(e){let t={start:e.start,end:e.end};switch(e.lex){case`text`:return{type:`text`,value:e.value,...t};case`link`:return $n({type:`link`,display:e.display,target:e.target,targetStart:e.targetStart,targetEnd:e.targetEnd,...t},e);case`variable`:return $n({type:`variable`,name:e.name,scope:e.scope,...t},e);case`expression`:return $n({type:`expression`,expression:e.expression,...t},e);case`macro`:return $n({type:`macro`,name:e.name,rawArgs:e.rawArgs,isClose:e.isClose,...t},e);case`html`:return{type:`html`,tag:e.tag,attributes:e.attributes,isClose:e.isClose,isSelfClose:e.isSelfClose,...t}}}function hr(e,t){let n=[],r=null,i=e=>{if(e!=null){if(Array.isArray(e))return e.forEach(i);if(e.lex===`text`&&!e.escape&&r&&r.lex===`text`&&!r.escape&&r.end===e.start){r.value+=e.value,r.end=e.end;return}n.push(e),r=e}};return i(e),t?n.map(t):n}var gr=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\\r\\n|\\n|\\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=`\n --> `+o+`\n`+r+` |\n`+a.line+` | `+s+`\n`+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=`\n at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\\\p{C}\\\\p{Mn}\\\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\\\/g,`\\\\\\\\`).replace(/\"/g,`\\\\\"`).replace(/\\0/g,`\\\\0`).replace(/\\t/g,`\\\\t`).replace(/\\n/g,`\\\\n`).replace(/\\r/g,`\\\\r`).replace(/[\\x00-\\x0F]/g,e=>`\\\\x0`+n(e)).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,e=>`\\\\x`+n(e)))}function o(e){return i(e.replace(/\\\\/g,`\\\\\\\\`).replace(/\\]/g,`\\\\]`).replace(/\\^/g,`\\\\^`).replace(/-/g,`\\\\-`).replace(/\\0/g,`\\\\0`).replace(/\\t/g,`\\\\t`).replace(/\\n/g,`\\\\n`).replace(/\\r/g,`\\\\r`).replace(/[\\x00-\\x0F]/g,e=>`\\\\x0`+n(e)).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,e=>`\\\\x`+n(e)))}let s={literal(e){return`\"`+a(e.text)+`\"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n<t.length;n++)t[n-1]!==t[n]&&(t[e]=t[n],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+` or `+t[1];default:return t.slice(0,-1).join(`, `)+`, or `+t[t.length-1]}}function u(e){return e?`\"`+a(e)+`\"`:`end of input`}return`Expected `+l(e)+` but `+u(t)+` found.`}};function _r(e,t){t=t===void 0?{}:t;let n={},r=t.grammarSource,i={Markup:yn,Tokens:jn,SelectorsPrefix:Vn},a=yn,o=/^[^\\\\{[<]/,s=/^[{}]/,c=/^[$_@%(!\\/a-zA-Z]/,l=/^[.#]/,u=/^[a-zA-Z0-9_\\-]/,d=/^[$_@%]/,f=/^[a-zA-Z0-9_.]/,p=/^[$_@%(!]/,m=/^[a-zA-Z]/,h=/^[^ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF}]/,g=/^[\\t-\\r \\/>\\xA0\\u1680\\u2000-\\u200A\\u2028-\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,_=/^[a-zA-Z0-9\\-]/,v=/^[\\t-\\r \"'\\/<->{}\\xA0\\u1680\\u2000-\\u200A\\u2028-\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,y=/^[^\"]/,b=/^[^']/,x=/^[\"']/,S=/^[^ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF>]/,C=/^[ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,w=pn(),T=fn([`\\\\`,`{`,`[`,`<`],!0,!1,!1),E=dn(`\\\\`,!1),ee=fn([`{`,`}`],!1,!1,!1),D=dn(`{`,!1),te=fn([`$`,`_`,`@`,`%`,`(`,`!`,`/`,[`a`,`z`],[`A`,`Z`]],!1,!1,!1),ne=dn(`<`,!1),re=dn(`[`,!1),ie=dn(`[[`,!1),O=dn(`]]`,!1),ae=dn(` `,!1),oe=fn([`.`,`#`],!1,!1,!1),se=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`-`],!1,!1,!1),ce=fn([`$`,`_`,`@`,`%`],!1,!1,!1),le=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`.`],!1,!1,!1),ue=dn(`}`,!1),de=fn([`$`,`_`,`@`,`%`,`(`,`!`],!1,!1,!1),fe=dn(`/`,!1),pe=fn([[`a`,`z`],[`A`,`Z`]],!1,!1,!1),me=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``,`}`],!0,!1,!1),he=dn(`>`,!1),ge=fn([[`\t`,`\\r`],` `,`/`,`>`,`\\xA0`,` `,[` `,` `],[`\\u2028`,`\\u2029`],` `,` `,` `,``],!1,!1,!1),_e=dn(`</`,!1),ve=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`-`],!1,!1,!1),k=fn([[`\t`,`\\r`],` `,`\"`,`'`,`/`,[`<`,`>`],`{`,`}`,`\\xA0`,` `,[` `,` `],[`\\u2028`,`\\u2029`],` `,` `,` `,``],!1,!1,!1),ye=dn(`=`,!1),be=dn(`\"`,!1),xe=fn([`\"`],!0,!1,!1),Se=dn(`'`,!1),A=fn([`'`],!0,!1,!1),Ce=fn([`\"`,`'`],!1,!1,!1),we=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``,`>`],!0,!1,!1),Te=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``],!1,!1,!1);function Ee(e){return e}function De(e){Or(cr(e)+` must be directly inside {`+tr[e.lower]+Zn,e.loc)}function Oe(e){Or(cr(e)+` closes nothing: no `+(e.lex===`html`?`<`+e.tag+`>`:Xn+e.name+Zn)+` is open here`,e.loc)}function ke(e){return hr(e,pr)}function Ae(e){return e.kind===`open`}function je(e){return Er=e.lower,Cr.isRaw(Er)}function Me(e,t){return t}function Ne(e){return Cr.isBlock(e.lower)}function j(e,t){return t}function Pe(e){return null}function Fe(e,t){return jr(e,t)}function Ie(){return!Sr}function Le(e){return!e.isSelfClose}function Re(e,t){return t}function ze(e,t){let n={type:`html`,tag:e.tag,attributes:e.attributes,children:[]};return t&&(Ar(e,t),n.children=t.children),n}function Be(e,t,n){return{children:e,branches:t,end:n}}function Ve(e,t){return{tag:e,children:t}}function He(){return null}function Ue(e){return e.kind===`branch`}function We(e){return e}function Ge(e){return e.kind===`close`}function Ke(e){return e}function qe(){return!Sr}function Je(e){return e}function Ye(t){return Dr(Cr.rawBodyEnd(e,t,Er))}function Xe(e){return wr-sn()}function Ze(e,t,n){return{children:t?[{type:`text`,value:t}]:[],branches:[],end:n}}function Qe(){return{children:[],branches:[],end:null}}function $e(e){return hr(e,mr)}function et(){return!Sr}function tt(e){return e}function nt(){return!Sr}function rt(e){return er.has(e.lower)?null:e}function it(e){return Er=e.lower,e.kind===`open`&&Cr.isRaw(Er)}function at(e,t){return t}function ot(e,t){return t?[e,t]:e}function st(t){return Dr(Cr.rawBodyEnd(e,t,Er))}function ct(e){return wr-sn()}function lt(e,t,n){let r={start:{offset:e},end:{offset:e+t.length}};return[t?fr(`text`,r,{value:t}):null,n]}function ut(){return sn()}function dt(e){return fr(`text`,cn(),{value:e})}function ft(e){return e.length%2==1}function pt(e,t){return t}function mt(t,n){let r=cn(),i=e.charAt(r.end.offset);if(Sr){if(!n&&i!==Xn&&i!==Zn)return fr(`text`,r,{value:t});let e=fr(`text`,r,{value:`\\\\`.repeat(t.length>>1)+(n||``)});return e.escape=!0,e}if(!n)return fr(`text`,r,{value:t});let a=fr(`text`,r,{value:t.slice(1)});a.end=r.end.offset-2;let o=fr(`text`,r,{value:n});return o.start=r.end.offset-2,o.escape=!0,t.length>1?[a,o]:o}function ht(){return fr(`text`,cn(),{value:Xn})}function gt(){return!Sr}function _t(){return fr(`text`,cn(),{value:`<`})}function vt(){return fr(`text`,cn(),{value:`[`})}function yt(){return!Sr}function bt(e,t,n){return $n(fr(`link`,cn(),ar(n,t)),e)}function xt(){return!Sr}function St(){Or(`Unclosed link: [[ without ]]`,cn())}function M(e){return sr(e)}function Ct(){return ir}function wt(e,t){return{...e,end:t}}function Tt(e,t){return[e,t]}function Et(e,t,n){return $n(fr(`variable`,cn(),{name:n,scope:Qn[t]}),e)}function Dt(e,t){return $n(fr(`expression`,cn(),{expression:t}),e)}function Ot(){Or(`Unclosed `+Xn+e.substr(cn().end.offset,1)+`…: no } ends it`,cn())}function kt(t){return Dr(Cr.closeBrace(e,t,t))}function At(e){return wr-sn()}function jt(e,t){return t}function Mt(t,n,r,i,a){return Dr(Cr.closeBrace(e,a,n))}function Nt(e,t,n,r,i){return wr-sn()}function Pt(e,t,n,r,i,a){return a}function Ft(e,t,n,r,i,a){let o=cn(),s=r.toLowerCase(),c=fr(`macro`,o,{name:r,lower:s,rawArgs:``,isClose:!!n});return a===null&&Or(`Unclosed `+Xn+(n?`/`:``)+r+`…: no } ends the macro`,o),c.rawArgs=a.trim(),n?(e!==ir&&Or(`A closing tag takes no selectors: `+cr(c),o),c.rawArgs&&Or(`A closing tag takes no arguments: `+Xn+`/`+r+` `+c.rawArgs+Zn,o),c.kind=`close`):($n(c,e),c.kind=Object.prototype.hasOwnProperty.call(tr,s)?`branch`:`open`),c}function It(e){Or(`A closing tag starts with a letter after `+Xn+`/`,cn())}function Lt(){return!Sr}function Rt(e){return er.has(e.lower)}function zt(e){return null}function Bt(e,t,n){let r=e.toLowerCase();return fr(`html`,cn(),{tag:e,lower:r,attributes:kr(t),isClose:!1,isSelfClose:!!n||er.has(r)})}function Vt(t,n){let r=e.charAt(n);r||Or(`Unclosed tag <`+t+`: no > ends it (write < for a < that starts no tag)`,cn());let i={source:cn().source,start:{offset:n,line:0,column:0},end:{offset:n+1,line:0,column:0}};Or(`Unexpected `+JSON.stringify(r)+` in the tag <`+t+`>: expected an attribute, or > to end the tag`,i)}function Ht(e){return fr(`html`,cn(),{tag:e,lower:e.toLowerCase(),attributes:{},isClose:!0,isSelfClose:!1})}function Ut(e){return Tr=Cr.isCodeAttribute(e),!0}function Wt(e,t){return t}function Gt(e,t){return[e,t??``]}function Kt(e){return e}function qt(e){return e}function Jt(e){Or(`Unclosed attribute value: the `+e+` here has no closing `+e,cn())}function Yt(){return!Tr}function Xt(e){return e.length%2==1}function Zt(){return!Tr}function Qt(t,n){return Dr(Cr.closeBrace(e,n,t))}function $t(e,t){return wr-sn()}function en(){return!Tr}function tn(){return Tr}let N=t.peg$currPos|0,P=N,nn=[{line:1,column:1}],rn=N,an=t.peg$maxFailExpected||[],F=t.peg$silentFails|0,on;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule \"`+t.startRule+`\".`);a=i[t.startRule]}function sn(){return P}function cn(){return gn(P,N)}function ln(e,t){throw t=t===void 0?gn(P,N):t,_n(e,t)}function un(t=N){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function dn(e,t){return{type:`literal`,text:e,ignoreCase:t}}function fn(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function pn(){return{type:`any`}}function mn(){return{type:`end`}}function hn(t){let n=nn[t],r;if(n)return n;if(t>=nn.length)r=nn.length-1;else for(r=t;!nn[--r];);for(n=nn[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return nn[t]=n,n}function gn(e,t,n){let i=hn(e),a=hn(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function I(e){N<rn||(N>rn&&(rn=N,an=[]),an.push(e))}function _n(e,t){return new gr(e,null,null,t)}function vn(e,t,n){return new gr(gr.buildMessage(e,t),e,t,n)}function yn(){let e,t,r;return e=N,t=xn(),r=bn(),r===n?(N=e,e=n):(P=e,e=Ee(t)),e}function bn(){let t,r;return t=N,F++,e.length>N?(r=e.charAt(N),N++):(r=n,F===0&&I(w)),F--,r===n?t=void 0:(N=t,t=n),t===n&&(t=N,r=On(),r!==n&&(P=t,r=De(r)),t=r,t===n&&(t=N,r=kn(),r!==n&&(P=t,r=Oe(r)),t=r)),t}function xn(){let e,t,r;for(e=N,t=[],r=Sn();r!==n;)t.push(r),r=Sn();return P=e,t=ke(t),e=t,e}function Sn(){let e;return e=Fn(),e===n&&(e=In(),e===n&&(e=Rn(),e===n&&(e=wn(),e===n&&(e=Jn(),e===n&&(e=Wn(),e===n&&(e=Cn(),e===n&&(e=Ln()))))))),e}function Cn(){let e,t,r,i,a,o;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ae(t),r=r?void 0:n,r===n?(N=e,e=n):(i=N,P=N,a=je(t),a=a?void 0:n,a===n?(N=i,i=n):(o=An(),o===n?(N=i,i=n):(P=i,i=Me(t,o))),i===n&&(i=N,P=N,a=Ne(t),a=a?void 0:n,a===n?(N=i,i=n):(o=Tn(),o===n?(N=i,i=n):(P=i,i=j(t,o))),i===n&&(i=N,a=``,P=i,a=Pe(t),i=a)),i===n?(N=e,e=n):(P=e,e=Fe(t,i)))),e}function wn(){let e,t,r,i,a,o;return e=N,P=N,t=Ie(),t=t?void 0:n,t===n?(N=e,e=n):(r=Yn(),r===n?(N=e,e=n):(i=N,P=N,a=Le(r),a=a?void 0:n,a===n?(N=i,i=n):(o=Tn(),o===n?(N=i,i=n):(P=i,i=Re(r,o))),i===n&&(i=null),P=e,e=ze(r,i))),e}function Tn(){let e,t,r,i;if(e=N,t=xn(),t!==n){for(r=[],i=En();i!==n;)r.push(i),i=En();i=Dn(),i===n?(N=e,e=n):(P=e,e=Be(t,r,i))}else N=e,e=n;return e}function En(){let e,t,r;return e=N,t=On(),t===n?(N=e,e=n):(r=xn(),r===n?(N=e,e=n):(P=e,e=Ve(t,r))),e}function Dn(){let t,r,i;return t=kn(),t===n&&(t=N,r=N,F++,e.length>N?(i=e.charAt(N),N++):(i=n,F===0&&I(w)),F--,i===n?r=void 0:(N=r,r=n),r!==n&&(P=t,r=He()),t=r),t}function On(){let e,t,r;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ue(t),r=r?void 0:n,r===n?(N=e,e=n):(P=e,e=We(t))),e}function kn(){let e,t,r;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ge(t),r=r?void 0:n,r===n?(N=e,e=n):(P=e,e=Ke(t))),e===n&&(e=N,P=N,t=qe(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=e,e=Je(r)))),e}function An(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=Ye(r),i=i?void 0:n,i!==n){for(a=N,o=Xe(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(o=kn(),o===n?(N=t,t=n):(P=t,t=Ze(r,a,o)))}else N=t,t=n;return t===n&&(t=N,r=``,P=t,r=Qe(),t=r),t}function jn(){let e,t,r;for(e=N,t=[],r=Mn();r!==n;)t.push(r),r=Mn();return P=e,t=$e(t),e=t,e}function Mn(){let e,t,r,i,a;return e=Fn(),e===n&&(e=In(),e===n&&(e=Rn(),e===n&&(e=N,P=N,t=et(),t=t?void 0:n,t===n?(N=e,e=n):(r=Yn(),r===n?(N=e,e=n):(P=e,e=tt(r))),e===n&&(e=N,P=N,t=nt(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=e,e=rt(r))),e===n&&(e=Wn(),e===n&&(e=N,t=Kn(),t===n?(N=e,e=n):(r=N,P=N,i=it(t),i=i?void 0:n,i===n?(N=r,r=n):(a=Nn(),a===n?(N=r,r=n):(P=r,r=at(t,a))),r===n&&(r=null),P=e,e=ot(t,r)),e===n&&(e=Ln()))))))),e}function Nn(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=st(r),i=i?void 0:n,i!==n){for(a=N,o=ct(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(o=kn(),o===n?(N=t,t=n):(P=t,t=lt(r,a,o)))}else N=t,t=n;return t}function Pn(){let e,t;return e=N,t=``,P=e,t=ut(),e=t,e}function Fn(){let t,r,i,a;if(t=N,r=N,i=[],a=e.charAt(N),o.test(a)?N++:(a=n,F===0&&I(T)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(N),o.test(a)?N++:(a=n,F===0&&I(T));else i=n;return r=i===n?i:e.substring(r,N),r!==n&&(P=t,r=dt(r)),t=r,t}function In(){let t,r,i,a,o;if(t=N,r=N,i=[],e.charCodeAt(N)===92?(a=`\\\\`,N++):(a=n,F===0&&I(E)),a!==n)for(;a!==n;)i.push(a),e.charCodeAt(N)===92?(a=`\\\\`,N++):(a=n,F===0&&I(E));else i=n;return r=i===n?i:e.substring(r,N),r===n?(N=t,t=n):(i=N,P=N,a=ft(r),a=a?void 0:n,a===n?(N=i,i=n):(o=e.charAt(N),s.test(o)?N++:(o=n,F===0&&I(ee)),o===n?(N=i,i=n):(P=i,i=pt(r,o))),i===n&&(i=null),P=t,t=mt(r,i)),t}function Ln(){let t,r,i,a,o,s;return t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=N,F++,a=N,o=Bn(),o===n?(N=a,a=n):(s=e.charAt(N),c.test(s)?N++:(s=n,F===0&&I(te)),s===n?(N=a,a=n):(o=[o,s],a=o)),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=t,t=n):(P=t,t=ht())),t===n&&(t=N,r=N,F++,i=N,P=N,a=gt(),a=a?void 0:n,a===n?(N=i,i=n):(o=rr(),o===n?(N=i,i=n):(a=[a,o],i=a)),F--,i===n?r=void 0:(N=r,r=n),r===n?(N=t,t=n):(e.charCodeAt(N)===60?(i=`<`,N++):(i=n,F===0&&I(ne)),i===n?(N=t,t=n):(P=t,t=_t())),t===n&&(t=N,e.charCodeAt(N)===91?(r=`[`,N++):(r=n,F===0&&I(re)),r!==n&&(P=t,r=vt()),t=r)),t}function Rn(){let t,r,i,a,o,s,c;return t=N,P=N,r=yt(),r=r?void 0:n,r===n?(N=t,t=n):(e.substr(N,2)===`[[`?(i=`[[`,N+=2):(i=n,F===0&&I(ie)),i===n?(N=t,t=n):(a=Bn(),a===n?(N=t,t=n):(o=Pn(),s=N,c=zn(),s=e.substring(s,N),e.substr(N,2)===`]]`?(c=`]]`,N+=2):(c=n,F===0&&I(O)),c===n?(N=t,t=n):(P=t,t=bt(a,o,s))))),t===n&&(t=N,P=N,r=xt(),r=r?void 0:n,r===n?(N=t,t=n):(e.substr(N,2)===`[[`?(i=`[[`,N+=2):(i=n,F===0&&I(ie)),i===n?(N=t,t=n):(P=t,t=St()))),t}function zn(){let t,r,i,a;for(t=[],r=N,i=N,F++,e.substr(N,2)===`]]`?(a=`]]`,N+=2):(a=n,F===0&&I(O)),a===n&&(e.substr(N,2)===`[[`?(a=`[[`,N+=2):(a=n,F===0&&I(ie))),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=r,r=n):(e.length>N?(a=e.charAt(N),N++):(a=n,F===0&&I(w)),a===n?(N=r,r=n):(i=[i,a],r=i));r!==n;)t.push(r),r=N,i=N,F++,e.substr(N,2)===`]]`?(a=`]]`,N+=2):(a=n,F===0&&I(O)),a===n&&(e.substr(N,2)===`[[`?(a=`[[`,N+=2):(a=n,F===0&&I(ie))),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=r,r=n):(e.length>N?(a=e.charAt(N),N++):(a=n,F===0&&I(w)),a===n?(N=r,r=n):(i=[i,a],r=i));return t}function Bn(){let t,r,i;if(t=N,r=[],i=Hn(),i!==n)for(;i!==n;)r.push(i),i=Hn();else r=n;return r===n?(N=t,t=n):(e.charCodeAt(N)===32?(i=` `,N++):(i=n,F===0&&I(ae)),i===n&&(i=null),P=t,t=M(r)),t===n&&(t=N,r=``,P=t,r=Ct(),t=r),t}function Vn(){let t,r,i,a,o;if(t=N,r=Bn(),r!==n){for(i=Pn(),a=[],e.length>N?(o=e.charAt(N),N++):(o=n,F===0&&I(w));o!==n;)a.push(o),e.length>N?(o=e.charAt(N),N++):(o=n,F===0&&I(w));P=t,t=wt(r,i)}else N=t,t=n;return t}function Hn(){let t,r,i,a,o;if(t=N,r=e.charAt(N),l.test(r)?N++:(r=n,F===0&&I(oe)),r!==n){for(i=N,a=[],o=Un();o!==n;)a.push(o),o=Un();i=e.substring(i,N),P=t,t=Tt(r,i)}else N=t,t=n;return t}function Un(){let t,r,i,a,o;if(t=e.charAt(N),u.test(t)?N++:(t=n,F===0&&I(se)),t===n)if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=e.charAt(N),d.test(i)?N++:(i=n,F===0&&I(ce)),i!==n){for(a=[],o=e.charAt(N),f.test(o)?N++:(o=n,F===0&&I(le));o!==n;)a.push(o),o=e.charAt(N),f.test(o)?N++:(o=n,F===0&&I(le));e.charCodeAt(N)===125?(o=`}`,N++):(o=n,F===0&&I(ue)),o===n?(N=t,t=n):(r=[r,i,a,o],t=r)}else N=t,t=n;else N=t,t=n;return t}function Wn(){let t,r,i,a,o,s,c;if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=Bn(),i!==n)if(a=e.charAt(N),d.test(a)?N++:(a=n,F===0&&I(ce)),a!==n){for(o=N,s=[],c=e.charAt(N),f.test(c)?N++:(c=n,F===0&&I(le));c!==n;)s.push(c),c=e.charAt(N),f.test(c)?N++:(c=n,F===0&&I(le));o=e.substring(o,N),e.charCodeAt(N)===125?(s=`}`,N++):(s=n,F===0&&I(ue)),s===n?(N=t,t=n):(P=t,t=Et(i,a,o))}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),p.test(o)?N++:(o=n,F===0&&I(de)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(o=Gn(),o===n?(N=t,t=n):(e.charCodeAt(N)===125?(s=`}`,N++):(s=n,F===0&&I(ue)),s===n?(N=t,t=n):(P=t,t=Dt(i,o)))))),t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),p.test(o)?N++:(o=n,F===0&&I(de)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(P=t,t=Ot()))))),t}function Gn(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=kt(r),i=i?void 0:n,i!==n){for(a=N,o=At(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(P=t,t=jt(r,a))}else N=t,t=n;return t}function Kn(){let t,r,i,a,o,s,c,l,u,d,f,p,m,h;if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=Bn(),i!==n)if(a=Pn(),e.charCodeAt(N)===47?(o=`/`,N++):(o=n,F===0&&I(fe)),o===n&&(o=null),s=qn(),s!==n){if(c=Pn(),l=N,P=N,u=Mt(i,a,o,s,c),u=u?void 0:n,u!==n){for(d=N,f=Nt(i,a,o,s,c),p=N,m=[],m.length>=(f|0)?h=n:e.length>N?(h=e.charAt(N),N++):(h=n,F===0&&I(w));h!==n;)m.push(h),m.length>=(f|0)?h=n:e.length>N?(h=e.charAt(N),N++):(h=n,F===0&&I(w));m.length<(f|0)?(N=p,p=n):p=m,f=p,d=f===n?f:e.substring(d,N),d===n?(N=l,l=n):(e.charCodeAt(N)===125?(f=`}`,N++):(f=n,F===0&&I(ue)),f===n?(N=l,l=n):(P=l,l=Pt(i,a,o,s,c,d)))}else N=l,l=n;l===n&&(l=null),P=t,t=Ft(i,a,o,s,c,l)}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(e.charCodeAt(N)===47?(a=`/`,N++):(a=n,F===0&&I(fe)),a===n?(N=t,t=n):(P=t,t=It(i))))),t}function qn(){let t,r,i,a,o;if(t=N,r=N,i=e.charAt(N),m.test(i)?N++:(i=n,F===0&&I(pe)),i!==n){for(a=[],o=e.charAt(N),h.test(o)?N++:(o=n,F===0&&I(me));o!==n;)a.push(o),o=e.charAt(N),h.test(o)?N++:(o=n,F===0&&I(me));i=[i,a],r=i}else N=r,r=n;return t=r===n?r:e.substring(t,N),t}function Jn(){let e,t,r,i;return e=N,P=N,t=Lt(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=N,i=Rt(r),i=i?void 0:n,i===n?(N=e,e=n):(P=e,e=zt(r)))),e}function Yn(){let t,r,i,a,o,s,c;if(t=N,e.charCodeAt(N)===60?(r=`<`,N++):(r=n,F===0&&I(ne)),r!==n)if(i=or(),i!==n){for(a=[],o=_r();o!==n;)a.push(o),o=_r();o=br(),e.charCodeAt(N)===47?(s=`/`,N++):(s=n,F===0&&I(fe)),s===n&&(s=null),e.charCodeAt(N)===62?(c=`>`,N++):(c=n,F===0&&I(he)),c===n?(N=t,t=n):(P=t,t=Bt(i,a,s))}else N=t,t=n;else N=t,t=n;if(t===n)if(t=N,e.charCodeAt(N)===60?(r=`<`,N++):(r=n,F===0&&I(ne)),r!==n)if(i=or(),i!==n)if(a=N,F++,o=e.charAt(N),g.test(o)?N++:(o=n,F===0&&I(ge)),o===n&&(o=N,F++,e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),F--,s===n?o=void 0:(N=o,o=n)),F--,o===n?a=n:(N=a,a=void 0),a!==n){for(o=[],s=_r();s!==n;)o.push(s),s=_r();s=br(),c=Pn(),P=t,t=Vt(i,c)}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t}function rr(){let t,r,i,a;return t=N,e.substr(N,2)===`</`?(r=`</`,N+=2):(r=n,F===0&&I(_e)),r===n?(N=t,t=n):(i=or(),i===n?(N=t,t=n):(br(),e.charCodeAt(N)===62?(a=`>`,N++):(a=n,F===0&&I(he)),a===n?(N=t,t=n):(P=t,t=Ht(i)))),t}function or(){let t,r,i,a,o;if(t=N,r=N,i=e.charAt(N),m.test(i)?N++:(i=n,F===0&&I(pe)),i!==n){for(a=[],o=e.charAt(N),_.test(o)?N++:(o=n,F===0&&I(ve));o!==n;)a.push(o),o=e.charAt(N),_.test(o)?N++:(o=n,F===0&&I(ve));i=[i,a],r=i}else N=r,r=n;return t=r===n?r:e.substring(t,N),t}function _r(){let t,r,i,a,o,s,c;if(t=N,br(),r=N,i=[],a=N,o=N,F++,s=e.charAt(N),v.test(s)?N++:(s=n,F===0&&I(k)),F--,s===n?o=void 0:(N=o,o=n),o===n?(N=a,a=n):(e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),s===n?(N=a,a=n):(o=[o,s],a=o)),a!==n)for(;a!==n;)i.push(a),a=N,o=N,F++,s=e.charAt(N),v.test(s)?N++:(s=n,F===0&&I(k)),F--,s===n?o=void 0:(N=o,o=n),o===n?(N=a,a=n):(e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),s===n?(N=a,a=n):(o=[o,s],a=o));else i=n;return r=i===n?i:e.substring(r,N),r===n?(N=t,t=n):(P=N,i=Ut(r),i=i?void 0:n,i===n?(N=t,t=n):(a=N,o=br(),e.charCodeAt(N)===61?(s=`=`,N++):(s=n,F===0&&I(ye)),s===n?(N=a,a=n):(br(),c=vr(),c===n?(N=a,a=n):(P=a,a=Wt(r,c))),a===n&&(a=null),P=t,t=Gt(r,a))),t}function vr(){let t,r,i,a,o;if(t=N,e.charCodeAt(N)===34?(r=`\"`,N++):(r=n,F===0&&I(be)),r!==n){for(i=N,a=[],o=yr(),o===n&&(o=e.charAt(N),y.test(o)?N++:(o=n,F===0&&I(xe)));o!==n;)a.push(o),o=yr(),o===n&&(o=e.charAt(N),y.test(o)?N++:(o=n,F===0&&I(xe)));i=e.substring(i,N),e.charCodeAt(N)===34?(a=`\"`,N++):(a=n,F===0&&I(be)),a===n?(N=t,t=n):(P=t,t=Kt(i))}else N=t,t=n;if(t===n){if(t=N,e.charCodeAt(N)===39?(r=`'`,N++):(r=n,F===0&&I(Se)),r!==n){for(i=N,a=[],o=yr(),o===n&&(o=e.charAt(N),b.test(o)?N++:(o=n,F===0&&I(A)));o!==n;)a.push(o),o=yr(),o===n&&(o=e.charAt(N),b.test(o)?N++:(o=n,F===0&&I(A)));i=e.substring(i,N),e.charCodeAt(N)===39?(a=`'`,N++):(a=n,F===0&&I(Se)),a===n?(N=t,t=n):(P=t,t=qt(i))}else N=t,t=n;if(t===n&&(t=N,r=e.charAt(N),x.test(r)?N++:(r=n,F===0&&I(Ce)),r!==n&&(P=t,r=Jt(r)),t=r,t===n)){for(t=N,r=[],i=e.charAt(N),S.test(i)?N++:(i=n,F===0&&I(we));i!==n;)r.push(i),i=e.charAt(N),S.test(i)?N++:(i=n,F===0&&I(we));t=e.substring(t,N)}}return t}function yr(){let t,r,i,a,o,c,l,u,f,p,h,g,_,v;if(t=N,P=N,r=Yt(),r=r?void 0:n,r!==n){if(i=N,a=[],e.charCodeAt(N)===92?(o=`\\\\`,N++):(o=n,F===0&&I(E)),o!==n)for(;o!==n;)a.push(o),e.charCodeAt(N)===92?(o=`\\\\`,N++):(o=n,F===0&&I(E));else a=n;i=a===n?a:e.substring(i,N),i===n?(N=t,t=n):(a=N,P=N,o=Xt(i),o=o?void 0:n,o===n?(N=a,a=n):(c=e.charAt(N),s.test(c)?N++:(c=n,F===0&&I(ee)),c===n?(N=a,a=n):(o=[o,c],a=o)),a===n&&(a=null),r=[r,i,a],t=r)}else N=t,t=n;if(t===n){if(t=N,P=N,r=Zt(),r=r?void 0:n,r!==n)if(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i!==n)if(a=Bn(),a!==n)if(o=Pn(),e.charCodeAt(N)===47?(c=`/`,N++):(c=n,F===0&&I(fe)),c===n&&(c=null),l=qn(),l!==n)if(u=Pn(),P=N,f=Qt(o,u),f=f?void 0:n,f!==n){for(p=N,h=$t(o,u),g=N,_=[],_.length>=(h|0)?v=n:e.length>N?(v=e.charAt(N),N++):(v=n,F===0&&I(w));v!==n;)_.push(v),_.length>=(h|0)?v=n:e.length>N?(v=e.charAt(N),N++):(v=n,F===0&&I(w));_.length<(h|0)?(N=g,g=n):g=_,h=g,p=h===n?h:e.substring(p,N),p===n?(N=t,t=n):(e.charCodeAt(N)===125?(h=`}`,N++):(h=n,F===0&&I(ue)),h===n?(N=t,t=n):(r=[r,i,a,o,c,l,u,f,p,h],t=r))}else N=t,t=n;else N=t,t=n;else N=t,t=n;else N=t,t=n;else N=t,t=n;t===n&&(t=N,P=N,r=en(),r=r?void 0:n,r===n?(N=t,t=n):(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i===n?(N=t,t=n):(a=Bn(),a===n?(N=t,t=n):(o=N,F++,c=N,e.charCodeAt(N)===47?(l=`/`,N++):(l=n,F===0&&I(fe)),l===n&&(l=null),u=e.charAt(N),m.test(u)?N++:(u=n,F===0&&I(pe)),u===n?(N=c,c=n):(l=[l,u],c=l),F--,c===n?o=void 0:(N=o,o=n),o===n?(N=t,t=n):(c=Gn(),c===n?(N=t,t=n):(e.charCodeAt(N)===125?(l=`}`,N++):(l=n,F===0&&I(ue)),l===n?(N=t,t=n):(r=[r,i,a,o,c,l],t=r)))))),t===n&&(t=N,P=N,r=tn(),r=r?void 0:n,r===n?(N=t,t=n):(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),d.test(o)?N++:(o=n,F===0&&I(ce)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(o=Gn(),o===n?(N=t,t=n):(e.charCodeAt(N)===125?(c=`}`,N++):(c=n,F===0&&I(ue)),c===n?(N=t,t=n):(r=[r,i,a,o,c],t=r)))))))}return t}function br(){let e,t;for(e=[],t=xr();t!==n;)e.push(t),t=xr();return e}function xr(){let t;return t=e.charAt(N),C.test(t)?N++:(t=n,F===0&&I(Te)),t}let Sr=t.text===!0,Cr=t.hooks,wr=-1,Tr=!1,Er=``;function Dr(e){return wr=e,e>=0}function Or(e,t){ln(e,t)}function kr(e){let t={},n=new Set;for(let[r,i]of e){let e=r.toLowerCase();n.has(e)||(n.add(e),Object.defineProperty(t,r,{value:i,enumerable:!0,writable:!0,configurable:!0}))}return t}function Ar(e,t){for(let n of t.branches){let t=tr[n.tag.lower];(e.lex!==`macro`||e.lower!==t)&&Or(cr(n.tag)+` must be directly inside {`+t+Zn+`, not inside `+cr(e),n.tag.loc)}t.end||Or(`Unclosed `+cr(e)+`: no `+lr(e)+` closes it`,e.loc),dr(e,t.end)||Or(cr(t.end)+` found where `+lr(e)+` should close the `+cr(e)+` opened at `+ur(e.loc),t.end.loc)}function jr(e,t){let n={type:`macro`,name:e.lower,rawArgs:e.rawArgs,children:[]};if(!t)return $n(n,e);if(Ar(e,t),n.children=t.children,nr.has(e.lower)){n.branches=[$n({rawArgs:e.rawArgs,children:t.children},e)];for(let e of t.branches)n.branches.push($n({rawArgs:e.tag.rawArgs,children:e.children},e.tag));n.children=[]}else $n(n,e);return n}on=a();let Mr=on!==n&&N===e.length;function Nr(){throw on!==n&&N<e.length&&I(mn()),vn(an,rn<e.length?un(rn):null,rn<e.length?gn(rn,rn+1):gn(rn,rn))}if(t.peg$library)return{peg$result:on,peg$currPos:N,peg$FAILED:n,peg$maxFailExpected:an,peg$maxFailPos:rn,peg$success:Mr,peg$throw:Mr?void 0:Nr};if(Mr)return on;Nr()}var vr=class extends Map{get(e){return super.get(e.toLowerCase())}set(e,t){return super.set(e.toLowerCase(),t)}has(e){return super.has(e.toLowerCase())}delete(e){return super.delete(e.toLowerCase())}},yr=class{constructor(e=[]){this.names=new vr;for(let t of e)this.add(t)}add(e){this.names.set(e,!0)}has(e){return this.names.has(e)}delete(e){this.names.delete(e)}},br=new yr([`if`,`for`,`do`,`button`,`link`,`listbox`,`cycle`,`switch`,`timed`,`repeat`,`type`,`widget`,`span`,`nobr`]);function xr(e){return br.has(e)}function Sr(e){br.add(e)}var Cr=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,31,4,33,15,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,199,7,137,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,55,9,7,0,259,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,481,1,61,4,4,5,9,7,3,6,31,3,149,2,12,2,9,1,3,0,33,1,1357,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,233,0,3,0,8,1,6,0,475,6,110,6,6,9,4759,9,787719,239],wr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,13,65,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,7,25,39,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,5,18,21,18,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,18,0,182,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,24,43,22,0,239,18,16,0,2,12,2,33,125,0,80,921,103,111,6,206,13,310,2314,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,33,24,3,24,45,74,6,0,67,12,65,1,2,0,15,4,10,7386,37,33,96,114,14,913,15,50,7710,3,2,6,2,1,2,296,10,0,30,2,3,0,15,4,8,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,340,2,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,129,15,6,55,50,49,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,208,30,2,2,2,1,2,6,3,4,10,1,225,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4382,2,5773,3,7472,16,621,2467,541,1507,4938,6,8489,39815,11327],Tr=`·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄ-ؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・`,Er=`ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-Ა-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿ-ℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ--ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ`,Dr={3:`abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile`,5:`class enum extends super const export import`,6:`enum`,strict:`implements interface let package private protected public static yield`,strictBind:`eval arguments`},Or=`break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this`,kr={5:Or,\"5module\":Or+` export import`,6:Or+` const class extends export import super`},Ar=/^in(stanceof)?$/,jr=RegExp(`[`+Er+`]`),Mr=RegExp(`[`+Er+Tr+`]`);function Nr(e,t){for(var n=65536,r=0;r<t.length;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function Pr(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&jr.test(String.fromCharCode(e)):t===!1?!1:Nr(e,wr)}function Fr(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Mr.test(String.fromCharCode(e)):t===!1?!1:Nr(e,wr)||Nr(e,Cr)}var L=function(e,t){t===void 0&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function Ir(e,t){return new L(e,{beforeExpr:!0,binop:t})}var Lr={beforeExpr:!0},Rr={startsExpr:!0},zr={};function R(e,t){return t===void 0&&(t={}),t.keyword=e,zr[e]=new L(e,t)}var z={num:new L(`num`,Rr),regexp:new L(`regexp`,Rr),string:new L(`string`,Rr),name:new L(`name`,Rr),privateId:new L(`privateId`,Rr),eof:new L(`eof`),bracketL:new L(`[`,{beforeExpr:!0,startsExpr:!0}),bracketR:new L(`]`),braceL:new L(`{`,{beforeExpr:!0,startsExpr:!0}),braceR:new L(`}`),parenL:new L(`(`,{beforeExpr:!0,startsExpr:!0}),parenR:new L(`)`),comma:new L(`,`,Lr),semi:new L(`;`,Lr),colon:new L(`:`,Lr),dot:new L(`.`),question:new L(`?`,Lr),questionDot:new L(`?.`),arrow:new L(`=>`,Lr),template:new L(`template`),invalidTemplate:new L(`invalidTemplate`),ellipsis:new L(`...`,Lr),backQuote:new L(\"`\",Rr),dollarBraceL:new L(\"${\",{beforeExpr:!0,startsExpr:!0}),eq:new L(`=`,{beforeExpr:!0,isAssign:!0}),assign:new L(`_=`,{beforeExpr:!0,isAssign:!0}),incDec:new L(`++/--`,{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new L(`!/~`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Ir(`||`,1),logicalAND:Ir(`&&`,2),bitwiseOR:Ir(`|`,3),bitwiseXOR:Ir(`^`,4),bitwiseAND:Ir(`&`,5),equality:Ir(`==/!=/===/!==`,6),relational:Ir(`</>/<=/>=`,7),bitShift:Ir(`<</>>/>>>`,8),plusMin:new L(`+/-`,{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Ir(`%`,10),star:Ir(`*`,10),slash:Ir(`/`,10),starstar:new L(`**`,{beforeExpr:!0}),coalesce:Ir(`??`,1),_break:R(`break`),_case:R(`case`,Lr),_catch:R(`catch`),_continue:R(`continue`),_debugger:R(`debugger`),_default:R(`default`,Lr),_do:R(`do`,{isLoop:!0,beforeExpr:!0}),_else:R(`else`,Lr),_finally:R(`finally`),_for:R(`for`,{isLoop:!0}),_function:R(`function`,Rr),_if:R(`if`),_return:R(`return`,Lr),_switch:R(`switch`),_throw:R(`throw`,Lr),_try:R(`try`),_var:R(`var`),_const:R(`const`),_while:R(`while`,{isLoop:!0}),_with:R(`with`),_new:R(`new`,{beforeExpr:!0,startsExpr:!0}),_this:R(`this`,Rr),_super:R(`super`,Rr),_class:R(`class`,Rr),_extends:R(`extends`,Lr),_export:R(`export`),_import:R(`import`,Rr),_null:R(`null`,Rr),_true:R(`true`,Rr),_false:R(`false`,Rr),_in:R(`in`,{beforeExpr:!0,binop:7}),_instanceof:R(`instanceof`,{beforeExpr:!0,binop:7}),_typeof:R(`typeof`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:R(`void`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:R(`delete`,{beforeExpr:!0,prefix:!0,startsExpr:!0})},Br=/\\r\\n?|\\n|\\u2028|\\u2029/,Vr=new RegExp(Br.source,`g`);function Hr(e){return e===10||e===13||e===8232||e===8233}function Ur(e,t,n){n===void 0&&(n=e.length);for(var r=t;r<n;r++){var i=e.charCodeAt(r);if(Hr(i))return r<n-1&&i===13&&e.charCodeAt(r+1)===10?r+2:r+1}return-1}var Wr=/[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/,Gr=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g,Kr=Object.prototype,qr=Kr.hasOwnProperty,Jr=Kr.toString,Yr=Object.hasOwn||(function(e,t){return qr.call(e,t)}),Xr=Array.isArray||(function(e){return Jr.call(e)===`[object Array]`}),Zr=Object.create(null);function Qr(e){return Zr[e]||(Zr[e]=RegExp(`^(?:`+e.replace(/ /g,`|`)+`)$`))}function $r(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}var ei=/(?:[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/,ti=function(e,t){this.line=e,this.column=t};ti.prototype.offset=function(e){return new ti(this.line,this.column+e)};var ni=function(e,t,n){this.start=t,this.end=n,e.sourceFile!==null&&(this.source=e.sourceFile)};function ri(e,t){for(var n=1,r=0;;){var i=Ur(e,r,t);if(i<0)return new ti(n,t-r);++n,r=i}}var ii={ecmaVersion:null,sourceType:`script`,strict:!1,onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,startLocation:null,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},ai=!1;function oi(e){var t={};for(var n in ii)t[n]=e&&Yr(e,n)?e[n]:ii[n];if(t.ecmaVersion===`latest`?t.ecmaVersion=1e8:t.ecmaVersion==null?(!ai&&typeof console==`object`&&console.warn&&(ai=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved??(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),Xr(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}if(Xr(t.onComment)&&(t.onComment=si(t,t.onComment)),t.sourceType===`commonjs`&&t.allowAwaitOutsideFunction)throw Error(`Cannot use allowAwaitOutsideFunction with sourceType: commonjs`);return t}function si(e,t){return function(n,r,i,a,o,s){var c={type:n?`Block`:`Line`,value:r,start:i,end:a};e.locations&&(c.loc=new ni(this,o,s)),e.ranges&&(c.range=[i,a]),t.push(c)}}var ci=1,li=2,ui=4,di=8,fi=16,pi=32,mi=64,hi=128,gi=256,_i=512,vi=1024,yi=ci|li|gi;function bi(e,t){return li|(e?ui:0)|(t?di:0)}var xi=0,Si=1,Ci=2,wi=3,Ti=4,Ei=5,Di=function(e,t,n){this.options=e=oi(e),this.sourceFile=e.sourceFile,this.keywords=Qr(kr[e.ecmaVersion>=6?6:e.sourceType===`module`?`5module`:5]);var r=``;e.allowReserved!==!0&&(r=Dr[e.ecmaVersion>=6?6:e.ecmaVersion===5?5:3],e.sourceType===`module`&&(r+=` await`)),this.reservedWords=Qr(r);var i=(r?r+` `:``)+Dr.strict;this.reservedWordsStrict=Qr(i),this.reservedWordsStrictBind=Qr(i+` `+Dr.strictBind),this.input=String(t),this.containsEsc=!1,this.pos=n||0,this.curLine=1,e.startLocation?(this.lineStart=this.pos-e.startLocation.column,this.curLine=e.startLocation.line):n?(this.lineStart=this.input.lastIndexOf(`\n`,n-1)+1,this.options.locations&&(this.curLine=this.input.slice(0,this.lineStart).split(Br).length)):this.lineStart=0,this.type=z.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=e.sourceType===`module`,this.strict=this.inModule||e.strict===!0||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&e.allowHashBang&&this.input.slice(0,2)===`#!`&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(this.options.sourceType===`commonjs`?li:ci),this.regexpState=null,this.privateNameStack=[]},Oi={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowReturn:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},allowUsing:{configurable:!0},inClassStaticBlock:{configurable:!0}};Di.prototype.parse=function(){var e=this,t=this.options.program||this.startNode();return this.nextToken(),this.catchStackOverflow(function(){return e.parseTopLevel(t)})},Oi.inFunction.get=function(){return(this.currentVarScope().flags&li)>0},Oi.inGenerator.get=function(){return(this.currentVarScope().flags&di)>0},Oi.inAsync.get=function(){return(this.currentVarScope().flags&ui)>0},Oi.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e].flags;if(t&(gi|_i))return!1;if(t&li)return(t&ui)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},Oi.allowReturn.get=function(){return!!(this.inFunction||this.options.allowReturnOutsideFunction&&this.currentVarScope().flags&ci)},Oi.allowSuper.get=function(){return(this.currentThisScope().flags&mi)>0||this.options.allowSuperOutsideMethod},Oi.allowDirectSuper.get=function(){return(this.currentThisScope().flags&hi)>0},Oi.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Oi.allowNewDotTarget.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e].flags;if(t&(gi|_i)||t&li&&!(t&fi))return!0}return!1},Oi.allowUsing.get=function(){var e=this.currentScope().flags;return!(e&vi||!this.inModule&&e&ci)},Oi.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&gi)>0},Di.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n=this,r=0;r<e.length;r++)n=e[r](n);return n},Di.parse=function(e,t){return new this(t,e).parse()},Di.parseExpressionAt=function(e,t,n){var r=new this(n,e,t);return r.nextToken(),r.parseExpression()},Di.tokenizer=function(e,t){return new this(t,e)},Object.defineProperties(Di.prototype,Oi);var ki=Di.prototype,Ai=/^(?:'((?:\\\\[^]|[^'\\\\])*?)'|\"((?:\\\\[^]|[^\"\\\\])*?)\")/;ki.strictDirective=function(e){if(this.options.ecmaVersion<5)return!1;for(;;){Gr.lastIndex=e,e+=Gr.exec(this.input)[0].length;var t=Ai.exec(this.input.slice(e));if(!t)return!1;if((t[1]||t[2])===`use strict`){Gr.lastIndex=e+t[0].length;var n=Gr.exec(this.input),r=n.index+n[0].length,i=this.input.charAt(r);return i===`;`||i===`}`||Br.test(n[0])&&!(/[(`.[+\\-/*%<>=,?^&]/.test(i)||i===`!`&&this.input.charAt(r+1)===`=`||i===`i`&&ji(this,r))}e+=t[0].length,Gr.lastIndex=e,e+=Gr.exec(this.input)[0].length,this.input[e]===`;`&&e++}};function ji(e,t){for(var n=t+1,r=Math.min(e.input.length,t+11);n<r;){var i=e.fullCharCodeAt(n);if(!Fr(i,!0))break;n+=i<=65535?1:2}return n===t+2&&e.input.slice(t,n)===`in`||n===t+10&&e.input.slice(t,n)===`instanceof`}ki.eat=function(e){return this.type===e?(this.next(),!0):!1},ki.isContextual=function(e){return this.type===z.name&&this.value===e&&!this.containsEsc},ki.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},ki.catchStackOverflow=function(e){try{return e()}catch(e){if(e instanceof Error&&(/\\bstack\\b.*\\b(exceeded|overflow)\\b/i.test(e.message)||/\\btoo much recursion\\b/i.test(e.message)))this.raise(this.start,`Not enough stack space to parse input`);else throw e}},ki.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},ki.canInsertSemicolon=function(){return this.type===z.eof||this.type===z.braceR||Br.test(this.input.slice(this.lastTokEnd,this.start))},ki.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ki.semicolon=function(){!this.eat(z.semi)&&!this.insertSemicolon()&&this.unexpected()},ki.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},ki.expect=function(e){this.eat(e)||this.unexpected()},ki.unexpected=function(e){this.raise(e??this.start,`Unexpected token`)};var Mi=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};ki.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,`Comma is not permitted after the rest element`);var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,t?`Assigning to rvalue`:`Parenthesized pattern`)}},ki.checkExpressionErrors=function(e,t){if(!e)return!1;var n=e.shorthandAssign,r=e.doubleProto;if(!t)return n>=0||r>=0;n>=0&&this.raise(n,`Shorthand property assignments are valid only in destructuring patterns`),r>=0&&this.raiseRecoverable(r,`Redefinition of __proto__ property`)},ki.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,`Yield expression cannot be a default value`),this.awaitPos&&this.raise(this.awaitPos,`Await expression cannot be a default value`)},ki.isSimpleAssignTarget=function(e){return e.type===`ParenthesizedExpression`?this.isSimpleAssignTarget(e.expression):e.type===`Identifier`||e.type===`MemberExpression`};var B=Di.prototype;B.parseTopLevel=function(e){var t=Object.create(null);for(e.body||(e.body=[]);this.type!==z.eof;){var n=this.parseStatement(null,!0,t);e.body.push(n)}if(this.inModule)for(var r=0,i=Object.keys(this.undefinedExports);r<i.length;r+=1){var a=i[r];this.raiseRecoverable(this.undefinedExports[a].start,`Export '`+a+`' is not defined`)}return this.adaptDirectivePrologue(e.body),this.next(),e.sourceType=this.options.sourceType===`commonjs`?`script`:this.options.sourceType,this.finishNode(e,`Program`)};var Ni={kind:`loop`},Pi={kind:`switch`};B.isLet=function(e){if(this.options.ecmaVersion<6||!this.isContextual(`let`))return!1;Gr.lastIndex=this.pos;var t=Gr.exec(this.input),n=this.pos+t[0].length,r=this.fullCharCodeAt(n);if(r===91||r===92)return!0;if(e)return!1;if(r===123)return!0;if(Pr(r)){var i=n;do n+=r<=65535?1:2;while(Fr(r=this.fullCharCodeAt(n)));if(r===92)return!0;var a=this.input.slice(i,n);if(!Ar.test(a))return!0}return!1},B.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual(`async`))return!1;Gr.lastIndex=this.pos;var e=Gr.exec(this.input),t=this.pos+e[0].length,n;return!Br.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)===`function`&&(t+8===this.input.length||!(Fr(n=this.fullCharCodeAt(t+8))||n===92))},B.isUsingKeyword=function(e,t){if(this.options.ecmaVersion<17||!this.isContextual(e?`await`:`using`))return!1;Gr.lastIndex=this.pos;var n=Gr.exec(this.input),r=this.pos+n[0].length;if(Br.test(this.input.slice(this.pos,r)))return!1;if(e){var i=r+5,a;if(this.input.slice(r,i)!==`using`||i===this.input.length||Fr(a=this.fullCharCodeAt(i))||a===92)return!1;Gr.lastIndex=i;var o=Gr.exec(this.input);if(r=i+o[0].length,o&&Br.test(this.input.slice(i,r)))return!1}var s=this.fullCharCodeAt(r);if(!Pr(s)&&s!==92)return!1;var c=r;do r+=s<=65535?1:2;while(Fr(s=this.fullCharCodeAt(r)));if(s===92)return!0;var l=this.input.slice(c,r);if(Ar.test(l))return!1;if(t&&!e&&l===`of`){Gr.lastIndex=r;var u=Gr.exec(this.input);if(r+=u[0].length,this.input.charCodeAt(r)!==61||(s=this.input.charCodeAt(r+1))===61||s===62)return!1}return!0},B.isAwaitUsing=function(e){return this.isUsingKeyword(!0,e)},B.isUsing=function(e){return this.isUsingKeyword(!1,e)},B.parseStatement=function(e,t,n){var r=this.type,i=this.startNode(),a;switch(this.isLet(e)&&(r=z._var,a=`let`),r){case z._break:case z._continue:return this.parseBreakContinueStatement(i,r.keyword);case z._debugger:return this.parseDebuggerStatement(i);case z._do:return this.parseDoStatement(i);case z._for:return this.parseForStatement(i);case z._function:return e&&(this.strict||e!==`if`&&e!==`label`)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!e);case z._class:return e&&this.unexpected(),this.parseClass(i,!0);case z._if:return this.parseIfStatement(i);case z._return:return this.parseReturnStatement(i);case z._switch:return this.parseSwitchStatement(i);case z._throw:return this.parseThrowStatement(i);case z._try:return this.parseTryStatement(i);case z._const:case z._var:return a=a||this.value,e&&a!==`var`&&this.unexpected(),this.parseVarStatement(i,a);case z._while:return this.parseWhileStatement(i);case z._with:return this.parseWithStatement(i);case z.braceL:return this.parseBlock(!0,i);case z.semi:return this.parseEmptyStatement(i);case z._export:case z._import:if(this.options.ecmaVersion>10&&r===z._import){Gr.lastIndex=this.pos;var o=Gr.exec(this.input),s=this.pos+o[0].length,c=this.input.charCodeAt(s);if(c===40||c===46)return this.parseExpressionStatement(i,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,`'import' and 'export' may only appear at the top level`),this.inModule||this.raise(this.start,`'import' and 'export' may appear only with 'sourceType: module'`)),r===z._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!e);var l=this.isAwaitUsing(!1)?`await using`:this.isUsing(!1)?`using`:null;if(l)return this.allowUsing||this.raise(this.start,\"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement\"),e&&this.raise(this.start,`Using declaration is not allowed in single-statement positions`),l===`await using`&&(this.canAwait||this.raise(this.start,`Await using cannot appear outside of async function`),this.next()),this.next(),this.parseVar(i,!1,l),this.semicolon(),this.finishNode(i,`VariableDeclaration`);var u=this.value,d=this.parseExpression();return r===z.name&&d.type===`Identifier`&&this.eat(z.colon)?this.parseLabeledStatement(i,u,d,e):this.parseExpressionStatement(i,d)}},B.parseBreakContinueStatement=function(e,t){var n=t===`break`;this.next(),this.eat(z.semi)||this.insertSemicolon()?e.label=null:this.type===z.name?(e.label=this.parseIdent(),this.semicolon()):this.unexpected();for(var r=0;r<this.labels.length;++r){var i=this.labels[r];if((e.label==null||i.name===e.label.name)&&(i.kind!=null&&(n||i.kind===`loop`)||e.label&&n))break}return r===this.labels.length&&this.raise(e.start,`Unsyntactic `+t),this.finishNode(e,n?`BreakStatement`:`ContinueStatement`)},B.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,`DebuggerStatement`)},B.parseDoStatement=function(e){return this.next(),this.labels.push(Ni),e.body=this.parseStatement(`do`),this.labels.pop(),this.expect(z._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(z.semi):this.semicolon(),this.finishNode(e,`DoWhileStatement`)},B.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual(`await`)?this.lastTokStart:-1;if(this.labels.push(Ni),this.enterScope(0),this.expect(z.parenL),this.type===z.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var n=this.isLet();if(this.type===z._var||this.type===z._const||n){var r=this.startNode(),i=n?`let`:this.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,`VariableDeclaration`),this.parseForAfterInit(e,r,t)}var a=this.isContextual(`let`),o=!1,s=this.isUsing(!0)?`using`:this.isAwaitUsing(!0)?`await using`:null;if(s){var c=this.startNode();return this.next(),s===`await using`&&(this.canAwait||this.raise(this.start,`Await using cannot appear outside of async function`),this.next()),this.parseVar(c,!0,s),this.finishNode(c,`VariableDeclaration`),this.parseForAfterInit(e,c,t)}var l=this.containsEsc,u=new Mi,d=this.start,f=t>-1?this.parseExprSubscripts(u,`await`):this.parseExpression(!0,u);return this.type===z._in||(o=this.options.ecmaVersion>=6&&this.isContextual(`of`))?(t>-1?(this.type===z._in&&this.unexpected(t),e.await=!0):o&&this.options.ecmaVersion>=8&&(f.start===d&&!l&&f.type===`Identifier`&&f.name===`async`?this.unexpected():this.options.ecmaVersion>=9&&(e.await=!1)),a&&o&&this.raise(f.start,`The left-hand side of a for-of loop may not start with 'let'.`),this.toAssignable(f,!1,u),this.checkLValPattern(f),this.parseForIn(e,f)):(this.checkExpressionErrors(u,!0),t>-1&&this.unexpected(t),this.parseFor(e,f))},B.parseForAfterInit=function(e,t,n){return(this.type===z._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))&&t.declarations.length===1?(this.type===z._in?((t.kind===`using`||t.kind===`await using`)&&!t.declarations[0].init&&this.raise(this.start,`Using declaration is not allowed in for-in loops`),this.options.ecmaVersion>=9&&n>-1&&this.unexpected(n)):this.options.ecmaVersion>=9&&(e.await=n>-1),this.parseForIn(e,t)):(n>-1&&this.unexpected(n),this.parseFor(e,t))},B.parseFunctionStatement=function(e,t,n){return this.next(),this.parseFunction(e,Ii|(n?0:Li),!1,t)},B.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(`if`),e.alternate=this.eat(z._else)?this.parseStatement(`if`):null,this.finishNode(e,`IfStatement`)},B.parseReturnStatement=function(e){return this.allowReturn||this.raise(this.start,`'return' outside of function`),this.next(),this.eat(z.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,`ReturnStatement`)},B.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(z.braceL),this.labels.push(Pi),this.enterScope(vi);for(var t,n=!1;this.type!==z.braceR;)if(this.type===z._case||this.type===z._default){var r=this.type===z._case;t&&this.finishNode(t,`SwitchCase`),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,`Multiple default clauses`),n=!0,t.test=null),this.expect(z.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,`SwitchCase`),this.next(),this.labels.pop(),this.finishNode(e,`SwitchStatement`)},B.parseThrowStatement=function(e){return this.next(),Br.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,`Illegal newline after throw`),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,`ThrowStatement`)};var Fi=[];B.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type===`Identifier`;return this.enterScope(t?pi:0),this.checkLValPattern(e,t?Ti:Ci),this.expect(z.parenR),e},B.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===z._catch){var t=this.startNode();this.next(),this.eat(z.parenL)?t.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0)),t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,`CatchClause`)}return e.finalizer=this.eat(z._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,`Missing catch or finally clause`),this.finishNode(e,`TryStatement`)},B.parseVarStatement=function(e,t,n){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,`VariableDeclaration`)},B.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Ni),e.body=this.parseStatement(`while`),this.labels.pop(),this.finishNode(e,`WhileStatement`)},B.parseWithStatement=function(e){return this.strict&&this.raise(this.start,`'with' in strict mode`),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(`with`),this.finishNode(e,`WithStatement`)},B.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,`EmptyStatement`)},B.parseLabeledStatement=function(e,t,n,r){for(var i=0,a=this.labels;i<a.length;i+=1)a[i].name===t&&this.raise(n.start,`Label '`+t+`' is already declared`);for(var o=this.type.isLoop?`loop`:this.type===z._switch?`switch`:null,s=this.labels.length-1;s>=0;s--){var c=this.labels[s];if(c.statementStart===e.start)c.statementStart=this.start,c.kind=o;else break}return this.labels.push({name:t,kind:o,statementStart:this.start}),e.body=this.parseStatement(r?r.indexOf(`label`)===-1?r+`label`:r:`label`),this.labels.pop(),e.label=n,this.finishNode(e,`LabeledStatement`)},B.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,`ExpressionStatement`)},B.parseBlock=function(e,t,n){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(z.braceL),e&&this.enterScope(0);this.type!==z.braceR;){var r=this.parseStatement(null);t.body.push(r)}return n&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,`BlockStatement`)},B.parseFor=function(e,t){return e.init=t,this.expect(z.semi),e.test=this.type===z.semi?null:this.parseExpression(),this.expect(z.semi),e.update=this.type===z.parenR?null:this.parseExpression(),this.expect(z.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,`ForStatement`)},B.parseForIn=function(e,t){var n=this.type===z._in;return this.next(),t.type===`VariableDeclaration`&&t.declarations[0].init!=null&&(!n||this.options.ecmaVersion<8||this.strict||t.kind!==`var`||t.declarations[0].id.type!==`Identifier`)&&this.raise(t.start,(n?`for-in`:`for-of`)+` loop variable declaration may not have an initializer`),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssign(),this.expect(z.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,n?`ForInStatement`:`ForOfStatement`)},B.parseVar=function(e,t,n,r){for(e.declarations=[],e.kind=n;;){var i=this.startNode();if(this.parseVarId(i,n),this.eat(z.eq)?i.init=this.parseMaybeAssign(t):!r&&n===`const`&&!(this.type===z._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))?this.unexpected():!r&&(n===`using`||n===`await using`)&&this.options.ecmaVersion>=17&&this.type!==z._in&&!this.isContextual(`of`)?this.raise(this.lastTokEnd,`Missing initializer in `+n+` declaration`):!r&&i.id.type!==`Identifier`&&!(t&&(this.type===z._in||this.isContextual(`of`)))?this.raise(this.lastTokEnd,`Complex binding patterns require an initialization value`):i.init=null,e.declarations.push(this.finishNode(i,`VariableDeclarator`)),!this.eat(z.comma))break}return e},B.parseVarId=function(e,t){e.id=t===`using`||t===`await using`?this.parseIdent():this.parseBindingAtom(),this.checkLValPattern(e.id,t===`var`?Si:Ci,!1)};var Ii=1,Li=2,Ri=4;B.parseFunction=function(e,t,n,r,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r)&&(this.type===z.star&&t&Li&&this.unexpected(),e.generator=this.eat(z.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&Ii&&(e.id=t&Ri&&this.type!==z.name?null:this.parseIdent(),e.id&&!(t&Li)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Si:Ci:wi));var a=this.yieldPos,o=this.awaitPos,s=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(bi(e.async,e.generator)),t&Ii||(e.id=this.type===z.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n,!1,i),this.yieldPos=a,this.awaitPos=o,this.awaitIdentPos=s,this.finishNode(e,t&Ii?`FunctionDeclaration`:`FunctionExpression`)},B.parseFunctionParams=function(e){this.expect(z.parenL),e.params=this.parseBindingList(z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},B.parseClass=function(e,t){this.next();var n=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var r=this.enterClassBody(),i=this.startNode(),a=!1;for(i.body=[],this.expect(z.braceL);this.type!==z.braceR;){var o=this.parseClassElement(e.superClass!==null);o&&(i.body.push(o),o.type===`MethodDefinition`&&o.kind===`constructor`?(a&&this.raiseRecoverable(o.start,`Duplicate constructor in the same class`),a=!0):o.key&&o.key.type===`PrivateIdentifier`&&zi(r,o)&&this.raiseRecoverable(o.key.start,`Identifier '#`+o.key.name+`' has already been declared`))}return this.strict=n,this.next(),e.body=this.finishNode(i,`ClassBody`),this.exitClassBody(),this.finishNode(e,t?`ClassDeclaration`:`ClassExpression`)},B.parseClassElement=function(e){if(this.eat(z.semi))return null;var t=this.options.ecmaVersion,n=this.startNode(),r=``,i=!1,a=!1,o=`method`,s=!1;if(this.eatContextual(`static`)){if(t>=13&&this.eat(z.braceL))return this.parseClassStaticBlock(n),n;this.isClassElementNameStart()||this.type===z.star?s=!0:r=`static`}if(n.static=s,!r&&t>=8&&this.eatContextual(`async`)&&((this.isClassElementNameStart()||this.type===z.star)&&!this.canInsertSemicolon()?a=!0:r=`async`),!r&&(t>=9||!a)&&this.eat(z.star)&&(i=!0),!r&&!a&&!i){var c=this.value;(this.eatContextual(`get`)||this.eatContextual(`set`))&&(this.isClassElementNameStart()?o=c:r=c)}if(r?(n.computed=!1,n.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),n.key.name=r,this.finishNode(n.key,`Identifier`)):this.parseClassElementName(n),t<13||this.type===z.parenL||o!==`method`||i||a){var l=!n.static&&Bi(n,`constructor`),u=l&&e;l&&o!==`method`&&this.raise(n.key.start,`Constructor can't have get/set modifier`),n.kind=l?`constructor`:o,this.parseClassMethod(n,i,a,u)}else this.parseClassField(n);return n},B.isClassElementNameStart=function(){return this.type===z.name||this.type===z.privateId||this.type===z.num||this.type===z.string||this.type===z.bracketL||this.type.keyword},B.parseClassElementName=function(e){this.type===z.privateId?(this.value===`constructor`&&this.raise(this.start,`Classes can't have an element named '#constructor'`),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},B.parseClassMethod=function(e,t,n,r){var i=e.key;e.kind===`constructor`?(t&&this.raise(i.start,`Constructor can't be a generator`),n&&this.raise(i.start,`Constructor can't be an async method`)):e.static&&Bi(e,`prototype`)&&this.raise(i.start,`Classes may not have a static property named prototype`);var a=e.value=this.parseMethod(t,n,r);return e.kind===`get`&&a.params.length!==0&&this.raiseRecoverable(a.start,`getter should have no params`),e.kind===`set`&&a.params.length!==1&&this.raiseRecoverable(a.start,`setter should have exactly one param`),e.kind===`set`&&a.params[0].type===`RestElement`&&this.raiseRecoverable(a.params[0].start,`Setter cannot use rest params`),this.finishNode(e,`MethodDefinition`)},B.parseClassField=function(e){return Bi(e,`constructor`)?this.raise(e.key.start,`Classes can't have a field named 'constructor'`):e.static&&Bi(e,`prototype`)&&this.raise(e.key.start,`Classes can't have a static field named 'prototype'`),this.eat(z.eq)?(this.enterScope(_i|mi),e.value=this.parseMaybeAssign(),this.exitScope()):e.value=null,this.semicolon(),this.finishNode(e,`PropertyDefinition`)},B.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(gi|mi);this.type!==z.braceR;){var n=this.parseStatement(null);e.body.push(n)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,`StaticBlock`)},B.parseClassId=function(e,t){this.type===z.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Ci,!1)):(t===!0&&this.unexpected(),e.id=null)},B.parseClassSuper=function(e){e.superClass=this.eat(z._extends)?this.parseExprSubscripts(null,!1):null},B.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},B.exitClassBody=function(){var e=this.privateNameStack.pop(),t=e.declared,n=e.used;if(this.options.checkPrivateFields)for(var r=this.privateNameStack.length,i=r===0?null:this.privateNameStack[r-1],a=0;a<n.length;++a){var o=n[a];Yr(t,o.name)||(i?i.used.push(o):this.raiseRecoverable(o.start,`Private field '#`+o.name+`' must be declared in an enclosing class`))}};function zi(e,t){var n=t.key.name,r=e[n],i=`true`;return t.type===`MethodDefinition`&&(t.kind===`get`||t.kind===`set`)&&(i=(t.static?`s`:`i`)+t.kind),r===`iget`&&i===`iset`||r===`iset`&&i===`iget`||r===`sget`&&i===`sset`||r===`sset`&&i===`sget`?(e[n]=`true`,!1):r?!0:(e[n]=i,!1)}function Bi(e,t){var n=e.computed,r=e.key;return!n&&(r.type===`Identifier`&&r.name===t||r.type===`Literal`&&r.value===t)}B.parseExportAllDeclaration=function(e,t){return this.options.ecmaVersion>=11&&(this.eatContextual(`as`)?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual(`from`),this.type!==z.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,`ExportAllDeclaration`)},B.parseExport=function(e,t){if(this.next(),this.eat(z.star))return this.parseExportAllDeclaration(e,t);if(this.eat(z._default))return this.checkExport(t,`default`,this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,`ExportDefaultDeclaration`);if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type===`VariableDeclaration`?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null,this.options.ecmaVersion>=16&&(e.attributes=[]);else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual(`from`))this.type!==z.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause());else{for(var n=0,r=e.specifiers;n<r.length;n+=1){var i=r[n];this.checkUnreserved(i.local),this.checkLocalExport(i.local),i.local.type===`Literal`&&this.raise(i.local.start,\"A string literal cannot be used as an exported binding without `from`.\")}e.source=null,this.options.ecmaVersion>=16&&(e.attributes=[])}this.semicolon()}return this.finishNode(e,`ExportNamedDeclaration`)},B.parseExportDeclaration=function(e){return this.parseStatement(null)},B.parseExportDefaultDeclaration=function(){var e;if(this.type===z._function||(e=this.isAsyncFunction())){var t=this.startNode();return this.next(),e&&this.next(),this.parseFunction(t,Ii|Ri,!1,e)}else if(this.type===z._class){var n=this.startNode();return this.parseClass(n,`nullableID`)}else{var r=this.parseMaybeAssign();return this.semicolon(),r}},B.checkExport=function(e,t,n){e&&(typeof t!=`string`&&(t=t.type===`Identifier`?t.name:t.value),Yr(e,t)&&this.raiseRecoverable(n,`Duplicate export '`+t+`'`),e[t]=!0)},B.checkPatternExport=function(e,t){var n=t.type;if(n===`Identifier`)this.checkExport(e,t,t.start);else if(n===`ObjectPattern`)for(var r=0,i=t.properties;r<i.length;r+=1){var a=i[r];this.checkPatternExport(e,a)}else if(n===`ArrayPattern`)for(var o=0,s=t.elements;o<s.length;o+=1){var c=s[o];c&&this.checkPatternExport(e,c)}else n===`Property`?this.checkPatternExport(e,t.value):n===`AssignmentPattern`?this.checkPatternExport(e,t.left):n===`RestElement`&&this.checkPatternExport(e,t.argument)},B.checkVariableExport=function(e,t){if(e)for(var n=0,r=t;n<r.length;n+=1){var i=r[n];this.checkPatternExport(e,i.id)}},B.shouldParseExportStatement=function(){return this.type.keyword===`var`||this.type.keyword===`const`||this.type.keyword===`class`||this.type.keyword===`function`||this.isLet()||this.isAsyncFunction()},B.parseExportSpecifier=function(e){var t=this.startNode();return t.local=this.parseModuleExportName(),t.exported=this.eatContextual(`as`)?this.parseModuleExportName():t.local,this.checkExport(e,t.exported,t.exported.start),this.finishNode(t,`ExportSpecifier`)},B.parseExportSpecifiers=function(e){var t=[],n=!0;for(this.expect(z.braceL);!this.eat(z.braceR);){if(n)n=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;t.push(this.parseExportSpecifier(e))}return t},B.parseImport=function(e){return this.next(),this.type===z.string?(e.specifiers=Fi,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual(`from`),e.source=this.type===z.string?this.parseExprAtom():this.unexpected()),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,`ImportDeclaration`)},B.parseImportSpecifier=function(){var e=this.startNode();return e.imported=this.parseModuleExportName(),this.eatContextual(`as`)?e.local=this.parseIdent():(this.checkUnreserved(e.imported),e.local=e.imported),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportSpecifier`)},B.parseImportDefaultSpecifier=function(){var e=this.startNode();return e.local=this.parseIdent(),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportDefaultSpecifier`)},B.parseImportNamespaceSpecifier=function(){var e=this.startNode();return this.next(),this.expectContextual(`as`),e.local=this.parseIdent(),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportNamespaceSpecifier`)},B.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===z.name&&(e.push(this.parseImportDefaultSpecifier()),!this.eat(z.comma)))return e;if(this.type===z.star)return e.push(this.parseImportNamespaceSpecifier()),e;for(this.expect(z.braceL);!this.eat(z.braceR);){if(t)t=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;e.push(this.parseImportSpecifier())}return e},B.parseWithClause=function(){var e=[];if(!this.eat(z._with))return e;this.expect(z.braceL);for(var t={},n=!0;!this.eat(z.braceR);){if(n)n=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;var r=this.parseImportAttribute(),i=r.key.type===`Identifier`?r.key.name:r.key.value;Yr(t,i)&&this.raiseRecoverable(r.key.start,`Duplicate attribute key '`+i+`'`),t[i]=!0,e.push(r)}return e},B.parseImportAttribute=function(){var e=this.startNode();return e.key=this.type===z.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`),this.expect(z.colon),this.type!==z.string&&this.unexpected(),e.value=this.parseExprAtom(),this.finishNode(e,`ImportAttribute`)},B.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===z.string){var e=this.parseLiteral(this.value);return ei.test(e.value)&&this.raise(e.start,`An export name cannot include a lone surrogate.`),e}return this.parseIdent(!0)},B.adaptDirectivePrologue=function(e){for(var t=0;t<e.length&&this.isDirectiveCandidate(e[t]);++t)e[t].directive=e[t].expression.raw.slice(1,-1)},B.isDirectiveCandidate=function(e){return this.options.ecmaVersion>=5&&e.type===`ExpressionStatement`&&e.expression.type===`Literal`&&typeof e.expression.value==`string`&&(this.input[e.start]===`\"`||this.input[e.start]===`'`)};var Vi=Di.prototype;Vi.toAssignable=function(e,t,n){if(this.options.ecmaVersion>=6&&e)switch(e.type){case`Identifier`:this.inAsync&&e.name===`await`&&this.raise(e.start,`Cannot use 'await' as identifier inside an async function`);break;case`ObjectPattern`:case`ArrayPattern`:case`AssignmentPattern`:case`RestElement`:break;case`ObjectExpression`:e.type=`ObjectPattern`,n&&this.checkPatternErrors(n,!0);for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.toAssignable(a,t),a.type===`RestElement`&&(a.argument.type===`ArrayPattern`||a.argument.type===`ObjectPattern`)&&this.raise(a.argument.start,`Unexpected token`)}break;case`Property`:e.kind!==`init`&&this.raise(e.key.start,`Object pattern can't contain getter or setter`),this.toAssignable(e.value,t);break;case`ArrayExpression`:e.type=`ArrayPattern`,n&&this.checkPatternErrors(n,!0),this.toAssignableList(e.elements,t);break;case`SpreadElement`:e.type=`RestElement`,this.toAssignable(e.argument,t),e.argument.type===`AssignmentPattern`&&this.raise(e.argument.start,`Rest elements cannot have a default value`);break;case`AssignmentExpression`:e.operator!==`=`&&this.raise(e.left.end,`Only '=' operator can be used for specifying default value.`),e.type=`AssignmentPattern`,delete e.operator,this.toAssignable(e.left,t);break;case`ParenthesizedExpression`:this.toAssignable(e.expression,t,n);break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:if(!t)break;default:this.raise(e.start,`Assigning to rvalue`)}else n&&this.checkPatternErrors(n,!0);return e},Vi.toAssignableList=function(e,t){for(var n=e.length,r=0;r<n;r++){var i=e[r];i&&this.toAssignable(i,t)}if(n){var a=e[n-1];this.options.ecmaVersion===6&&t&&a&&a.type===`RestElement`&&a.argument.type!==`Identifier`&&this.unexpected(a.argument.start)}return e},Vi.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,`SpreadElement`)},Vi.parseRestBinding=function(){var e=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==z.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,`RestElement`)},Vi.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case z.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(z.bracketR,!0,!0),this.finishNode(e,`ArrayPattern`);case z.braceL:return this.parseObj(!0)}return this.parseIdent()},Vi.parseBindingList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);)if(a?a=!1:this.expect(z.comma),t&&this.type===z.comma)i.push(null);else if(n&&this.afterTrailingComma(e))break;else if(this.type===z.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),i.push(o),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`),this.expect(e);break}else i.push(this.parseAssignableListItem(r));return i},Vi.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},Vi.parseBindingListItem=function(e){return e},Vi.parseMaybeDefault=function(e,t,n){if(n=n||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(z.eq))return n;var r=this.startNodeAt(e,t);return r.left=n,r.right=this.parseMaybeAssign(),this.finishNode(r,`AssignmentPattern`)},Vi.checkLValSimple=function(e,t,n){t===void 0&&(t=xi);var r=t!==xi;switch(e.type){case`Identifier`:this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(r?`Binding `:`Assigning to `)+e.name+` in strict mode`),r&&(t===Ci&&e.name===`let`&&this.raiseRecoverable(e.start,`let is disallowed as a lexically bound name`),n&&(Yr(n,e.name)&&this.raiseRecoverable(e.start,`Argument name clash`),n[e.name]=!0),t!==Ei&&this.declareName(e.name,t,e.start));break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:r&&this.raiseRecoverable(e.start,`Binding member expression`);break;case`ParenthesizedExpression`:return r&&this.raiseRecoverable(e.start,`Binding parenthesized expression`),this.checkLValSimple(e.expression,t,n);default:this.raise(e.start,(r?`Binding`:`Assigning to`)+` rvalue`)}},Vi.checkLValPattern=function(e,t,n){switch(t===void 0&&(t=xi),e.type){case`ObjectPattern`:for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.checkLValInnerPattern(a,t,n)}break;case`ArrayPattern`:for(var o=0,s=e.elements;o<s.length;o+=1){var c=s[o];c&&this.checkLValInnerPattern(c,t,n)}break;default:this.checkLValSimple(e,t,n)}},Vi.checkLValInnerPattern=function(e,t,n){switch(t===void 0&&(t=xi),e.type){case`Property`:this.checkLValInnerPattern(e.value,t,n);break;case`AssignmentPattern`:this.checkLValPattern(e.left,t,n);break;case`RestElement`:this.checkLValPattern(e.argument,t,n);break;default:this.checkLValPattern(e,t,n)}};var Hi=function(e,t,n,r,i){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r,this.generator=!!i},V={b_stat:new Hi(`{`,!1),b_expr:new Hi(`{`,!0),b_tmpl:new Hi(\"${\",!1),p_stat:new Hi(`(`,!1),p_expr:new Hi(`(`,!0),q_tmpl:new Hi(\"`\",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new Hi(`function`,!1),f_expr:new Hi(`function`,!0),f_expr_gen:new Hi(`function`,!0,!1,null,!0),f_gen:new Hi(`function`,!1,!1,null,!0)},Ui=Di.prototype;Ui.initialContext=function(){return[V.b_stat]},Ui.curContext=function(){return this.context[this.context.length-1]},Ui.braceIsBlock=function(e){var t=this.curContext();return t===V.f_expr||t===V.f_stat?!0:e===z.colon&&(t===V.b_stat||t===V.b_expr)?!t.isExpr:e===z._return||e===z.name&&this.exprAllowed?Br.test(this.input.slice(this.lastTokEnd,this.start)):e===z._else||e===z.semi||e===z.eof||e===z.parenR||e===z.arrow?!0:e===z.braceL?t===V.b_stat:e===z._var||e===z._const||e===z.name?!1:!this.exprAllowed},Ui.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token===`function`)return t.generator}return!1},Ui.updateContext=function(e){var t,n=this.type;n.keyword&&e===z.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},Ui.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},z.parenR.updateContext=z.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===V.b_stat&&this.curContext().token===`function`&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},z.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?V.b_stat:V.b_expr),this.exprAllowed=!0},z.dollarBraceL.updateContext=function(){this.context.push(V.b_tmpl),this.exprAllowed=!0},z.parenL.updateContext=function(e){var t=e===z._if||e===z._for||e===z._with||e===z._while;this.context.push(t?V.p_stat:V.p_expr),this.exprAllowed=!0},z.incDec.updateContext=function(){},z._function.updateContext=z._class.updateContext=function(e){e.beforeExpr&&e!==z._else&&!(e===z.semi&&this.curContext()!==V.p_stat)&&!(e===z._return&&Br.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===z.colon||e===z.braceL)&&this.curContext()===V.b_stat)?this.context.push(V.f_expr):this.context.push(V.f_stat),this.exprAllowed=!1},z.colon.updateContext=function(){this.curContext().token===`function`&&this.context.pop(),this.exprAllowed=!0},z.backQuote.updateContext=function(){this.curContext()===V.q_tmpl?this.context.pop():this.context.push(V.q_tmpl),this.exprAllowed=!1},z.star.updateContext=function(e){if(e===z._function){var t=this.context.length-1;this.context[t]===V.f_expr?this.context[t]=V.f_expr_gen:this.context[t]=V.f_gen}this.exprAllowed=!0},z.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==z.dot&&(this.value===`of`&&!this.exprAllowed||this.value===`yield`&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var H=Di.prototype;H.checkPropClash=function(e,t,n){if(!(this.options.ecmaVersion>=9&&e.type===`SpreadElement`)&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var r=e.key,i;switch(r.type){case`Identifier`:i=r.name;break;case`Literal`:i=String(r.value);break;default:return}var a=e.kind;if(this.options.ecmaVersion>=6){i===`__proto__`&&a===`init`&&(t.proto&&(n?n.doubleProto<0&&(n.doubleProto=r.start):this.raiseRecoverable(r.start,`Redefinition of __proto__ property`)),t.proto=!0);return}i=`$`+i;var o=t[i];o?(a===`init`?this.strict&&o.init||o.get||o.set:o.init||o[a])&&this.raiseRecoverable(r.start,`Redefinition of property`):o=t[i]={init:!1,get:!1,set:!1},o[a]=!0}},H.parseExpression=function(e,t){var n=this;return this.catchStackOverflow(function(){var r=n.start,i=n.startLoc,a=n.parseMaybeAssign(e,t);if(n.type===z.comma){var o=n.startNodeAt(r,i);for(o.expressions=[a];n.eat(z.comma);)o.expressions.push(n.parseMaybeAssign(e,t));return n.finishNode(o,`SequenceExpression`)}return a})},H.parseMaybeAssign=function(e,t,n){if(this.isContextual(`yield`)){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var r=!1,i=-1,a=-1,o=-1;t?(i=t.parenthesizedAssign,a=t.trailingComma,o=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new Mi,r=!0);var s=this.start,c=this.startLoc;(this.type===z.parenL||this.type===z.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e===`await`);var l=this.parseMaybeConditional(e,t);if(n&&(l=n.call(this,l,s,c)),this.type.isAssign){var u=this.startNodeAt(s,c);return u.operator=this.value,this.type===z.eq&&(l=this.toAssignable(l,!1,t)),r||(t.parenthesizedAssign=t.trailingComma=-1,t.shorthandAssign>=l.start&&(t.shorthandAssign=-1),t.doubleProto>=l.start&&(t.doubleProto=-1)),this.type===z.eq?this.checkLValPattern(l):this.checkLValSimple(l),u.left=l,this.next(),u.right=this.parseMaybeAssign(e),o>-1&&(t.doubleProto=o),this.finishNode(u,`AssignmentExpression`)}else r&&this.checkExpressionErrors(t,!0);return i>-1&&(t.parenthesizedAssign=i),a>-1&&(t.trailingComma=a),l},H.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(!(i.type===`ArrowFunctionExpression`&&i.start===n)&&this.eat(z.question)){var a=this.startNodeAt(n,r);return a.test=i,a.consequent=this.parseMaybeAssign(),this.expect(z.colon),a.alternate=this.parseMaybeAssign(e),this.finishNode(a,`ConditionalExpression`)}return i},H.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||i.start===n&&i.type===`ArrowFunctionExpression`?i:this.parseExprOp(i,n,r,-1,e)},H.parseExprOp=function(e,t,n,r,i){var a=this.type.binop;if(a!=null&&(!i||this.type!==z._in)&&a>r){var o=this.type===z.logicalOR||this.type===z.logicalAND,s=this.type===z.coalesce;s&&(a=z.logicalAND.binop);var c=this.value;this.next();var l=this.start,u=this.startLoc,d=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,i),l,u,a,i),f=this.buildBinary(t,n,e,d,c,o||s);return(o&&this.type===z.coalesce||s&&(this.type===z.logicalOR||this.type===z.logicalAND))&&this.raiseRecoverable(this.start,`Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses`),this.parseExprOp(f,t,n,r,i)}return e},H.buildBinary=function(e,t,n,r,i,a){r.type===`PrivateIdentifier`&&this.raise(r.start,`Private identifier can only be left side of binary expression`);var o=this.startNodeAt(e,t);return o.left=n,o.operator=i,o.right=r,this.finishNode(o,a?`LogicalExpression`:`BinaryExpression`)},H.parseMaybeUnary=function(e,t,n,r){var i=this.start,a=this.startLoc,o;if(this.isContextual(`await`)&&this.canAwait)o=this.parseAwait(r),t=!0;else if(this.type.prefix){var s=this.startNode(),c=this.type===z.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0,c,r),this.checkExpressionErrors(e,!0),c?this.checkLValSimple(s.argument):this.strict&&s.operator===`delete`&&Wi(s.argument)?this.raiseRecoverable(s.start,`Deleting local variable in strict mode`):s.operator===`delete`&&Gi(s.argument)?this.raiseRecoverable(s.start,`Private fields can not be deleted`):t=!0,o=this.finishNode(s,c?`UpdateExpression`:`UnaryExpression`)}else if(!t&&this.type===z.privateId)(r||this.privateNameStack.length===0)&&this.options.checkPrivateFields&&this.unexpected(),o=this.parsePrivateIdent(),this.type!==z._in&&this.unexpected();else{if(o=this.parseExprSubscripts(e,r),this.checkExpressionErrors(e))return o;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(i,a);l.operator=this.value,l.prefix=!1,l.argument=o,this.checkLValSimple(o),this.next(),o=this.finishNode(l,`UpdateExpression`)}}if(!n&&!(o.type===`ArrowFunctionExpression`&&o.start===i)&&this.eat(z.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(i,a,o,this.parseMaybeUnary(null,!1,!1,r),`**`,!1);else return o};function Wi(e){return e.type===`Identifier`||e.type===`ParenthesizedExpression`&&Wi(e.expression)}function Gi(e){return e.type===`MemberExpression`&&e.property.type===`PrivateIdentifier`||e.type===`ChainExpression`&&Gi(e.expression)||e.type===`ParenthesizedExpression`&&Gi(e.expression)}H.parseExprSubscripts=function(e,t){var n=this.start,r=this.startLoc,i=-1,a=-1;e&&(i=e.doubleProto,a=e.shorthandAssign,e.doubleProto=e.shorthandAssign=-1);var o=this.parseExprAtom(e,t);if(o.type===`ArrowFunctionExpression`&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==`)`)return o;var s=this.parseSubscripts(o,n,r,!1,t);return e&&(s.end>o.end&&(this.checkExpressionErrors(e,!0),e.parenthesizedAssign>=s.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=s.start&&(e.parenthesizedBind=-1),e.trailingComma>=s.start&&(e.trailingComma=-1)),i>-1&&(e.doubleProto=i),a>-1&&(e.shorthandAssign=a)),s},H.parseSubscripts=function(e,t,n,r,i){for(var a=this.options.ecmaVersion>=8&&e.type===`Identifier`&&e.name===`async`&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,o=!1;;){var s=this.parseSubscript(e,t,n,r,a,o,i);if(s.optional&&(o=!0),s.end===e.end||s.type===`ArrowFunctionExpression`){if(o){var c=this.startNodeAt(t,n);c.expression=s,s=this.finishNode(c,`ChainExpression`)}return s}e=s,a=!1}},H.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(z.arrow)},H.parseSubscriptAsyncArrow=function(e,t,n,r){return this.parseArrowExpression(this.startNodeAt(e,t),n,!0,r)},H.parseSubscript=function(e,t,n,r,i,a,o){var s=this.options.ecmaVersion>=11,c=s&&this.eat(z.questionDot);r&&c&&this.raise(this.lastTokStart,`Optional chaining cannot appear in the callee of new expressions`);var l=this.eat(z.bracketL);if(l||c&&this.type!==z.parenL&&this.type!==z.backQuote||this.eat(z.dot)){var u=this.startNodeAt(t,n);u.object=e,l?(u.property=this.parseExpression(),this.expect(z.bracketR)):this.type===z.privateId&&e.type!==`Super`?u.property=this.parsePrivateIdent():u.property=this.parseIdent(this.options.allowReserved!==`never`),u.computed=!!l,s&&(u.optional=c),e=this.finishNode(u,`MemberExpression`)}else if(!r&&this.eat(z.parenL)){var d=new Mi,f=this.yieldPos,p=this.awaitPos,m=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var h=this.parseExprList(z.parenR,this.options.ecmaVersion>=8,!1,d);if(i&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(d,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,`Cannot use 'await' as identifier inside an async function`),this.yieldPos=f,this.awaitPos=p,this.awaitIdentPos=m,this.parseSubscriptAsyncArrow(t,n,h,o);this.checkExpressionErrors(d,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=p||this.awaitPos,this.awaitIdentPos=m||this.awaitIdentPos;var g=this.startNodeAt(t,n);g.callee=e,g.arguments=h,s&&(g.optional=c),e=this.finishNode(g,`CallExpression`)}else if(this.type===z.backQuote){(c||a)&&this.raise(this.start,`Optional chaining cannot appear in the tag of tagged template expressions`);var _=this.startNodeAt(t,n);_.tag=e,_.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(_,`TaggedTemplateExpression`)}return e},H.parseExprAtom=function(e,t,n){this.type===z.slash&&this.readRegexp();var r,i=this.potentialArrowAt===this.start;switch(this.type){case z._super:return this.allowSuper||this.raise(this.start,`'super' keyword outside a method`),r=this.startNode(),this.next(),this.type===z.parenL&&!this.allowDirectSuper&&this.raise(r.start,`super() call outside constructor of a subclass`),this.type!==z.dot&&this.type!==z.bracketL&&this.type!==z.parenL&&this.unexpected(),this.finishNode(r,`Super`);case z._this:return r=this.startNode(),this.next(),this.finishNode(r,`ThisExpression`);case z.name:var a=this.start,o=this.startLoc,s=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!s&&c.name===`async`&&!this.canInsertSemicolon()&&this.eat(z._function))return this.overrideContext(V.f_expr),this.parseFunction(this.startNodeAt(a,o),0,!1,!0,t);if(i&&!this.canInsertSemicolon()){if(this.eat(z.arrow))return this.parseArrowExpression(this.startNodeAt(a,o),[c],!1,t);if(this.options.ecmaVersion>=8&&c.name===`async`&&this.type===z.name&&!s&&(!this.potentialArrowInForAwait||this.value!==`of`||this.containsEsc))return c=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(z.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(a,o),[c],!0,t)}return c;case z.regexp:var l=this.value;return r=this.parseLiteral(l.value),r.regex={pattern:l.pattern,flags:l.flags},r;case z.num:case z.string:return this.parseLiteral(this.value);case z._null:case z._true:case z._false:return r=this.startNode(),r.value=this.type===z._null?null:this.type===z._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,`Literal`);case z.parenL:var u=this.start,d=this.parseParenAndDistinguishExpression(i,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(d)&&(e.parenthesizedAssign=u),e.parenthesizedBind<0&&(e.parenthesizedBind=u)),d;case z.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(z.bracketR,!0,!0,e),this.finishNode(r,`ArrayExpression`);case z.braceL:return this.overrideContext(V.b_expr),this.parseObj(!1,e);case z._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case z._class:return this.parseClass(this.startNode(),!1);case z._new:return this.parseNew();case z.backQuote:return this.parseTemplate();case z._import:return this.options.ecmaVersion>=11?this.parseExprImport(n):this.unexpected();default:return this.parseExprAtomDefault()}},H.parseExprAtomDefault=function(){this.unexpected()},H.parseExprImport=function(e){var t=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword import`),this.next(),this.type===z.parenL&&!e)return this.parseDynamicImport(t);if(this.type===z.dot){var n=this.startNodeAt(t.start,t.loc&&t.loc.start);return n.name=`import`,t.meta=this.finishNode(n,`Identifier`),this.parseImportMeta(t)}else this.unexpected()},H.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(z.parenR)?e.options=null:(this.expect(z.comma),this.afterTrailingComma(z.parenR)?e.options=null:(e.options=this.parseMaybeAssign(),this.eat(z.parenR)||(this.expect(z.comma),this.afterTrailingComma(z.parenR)||this.unexpected())));else if(!this.eat(z.parenR)){var t=this.start;this.eat(z.comma)&&this.eat(z.parenR)?this.raiseRecoverable(t,`Trailing comma is not allowed in import()`):this.unexpected(t)}return this.finishNode(e,`ImportExpression`)},H.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`meta`&&this.raiseRecoverable(e.property.start,`The only valid meta property for import is 'import.meta'`),t&&this.raiseRecoverable(e.start,`'import.meta' must not contain escaped characters`),this.options.sourceType!==`module`&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,`Cannot use 'import.meta' outside a module`),this.finishNode(e,`MetaProperty`)},H.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.value==null?t.raw.slice(0,-1).replace(/_/g,``):t.value.toString()),this.next(),this.finishNode(t,`Literal`)},H.parseParenExpression=function(){this.expect(z.parenL);var e=this.parseExpression();return this.expect(z.parenR),e},H.shouldParseArrow=function(e){return!this.canInsertSemicolon()},H.parseParenAndDistinguishExpression=function(e,t){var n=this.start,r=this.startLoc,i,a=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o=this.start,s=this.startLoc,c=[],l=!0,u=!1,d=new Mi,f=this.yieldPos,p=this.awaitPos,m;for(this.yieldPos=0,this.awaitPos=0;this.type!==z.parenR;)if(l?l=!1:this.expect(z.comma),a&&this.afterTrailingComma(z.parenR,!0)){u=!0;break}else if(this.type===z.ellipsis){m=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`);break}else c.push(this.parseMaybeAssign(!1,d,this.parseParenItem));var h=this.lastTokEnd,g=this.lastTokEndLoc;if(this.expect(z.parenR),e&&this.shouldParseArrow(c)&&this.eat(z.arrow))return this.checkPatternErrors(d,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=f,this.awaitPos=p,this.parseParenArrowList(n,r,c,t);(!c.length||u)&&this.unexpected(this.lastTokStart),m&&this.unexpected(m),this.checkExpressionErrors(d,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=p||this.awaitPos,c.length>1?(i=this.startNodeAt(o,s),i.expressions=c,this.finishNodeAt(i,`SequenceExpression`,h,g)):i=c[0]}else i=this.parseParenExpression();if(this.options.preserveParens){var _=this.startNodeAt(n,r);return _.expression=i,this.finishNode(_,`ParenthesizedExpression`)}else return i},H.parseParenItem=function(e){return e},H.parseParenArrowList=function(e,t,n,r){return this.parseArrowExpression(this.startNodeAt(e,t),n,!1,r)};var Ki=[];H.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword new`);var e=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===z.dot){var t=this.startNodeAt(e.start,e.loc&&e.loc.start);t.name=`new`,e.meta=this.finishNode(t,`Identifier`),this.next();var n=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`target`&&this.raiseRecoverable(e.property.start,`The only valid meta property for new is 'new.target'`),n&&this.raiseRecoverable(e.start,`'new.target' must not contain escaped characters`),this.allowNewDotTarget||this.raiseRecoverable(e.start,`'new.target' can only be used in functions and class static block`),this.finishNode(e,`MetaProperty`)}var r=this.start,i=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),r,i,!0,!1),e.callee.type===`Super`&&this.raiseRecoverable(r,`Invalid use of 'super'`),this.eat(z.parenL)?e.arguments=this.parseExprList(z.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ki,this.finishNode(e,`NewExpression`)},H.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===z.invalidTemplate?(t||this.raiseRecoverable(this.start,`Bad escape sequence in untagged template literal`),n.value={raw:this.value.replace(/\\r\\n?/g,`\n`),cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\\r\\n?/g,`\n`),cooked:this.value},this.next(),n.tail=this.type===z.backQuote,this.finishNode(n,`TemplateElement`)},H.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(n.quasis=[r];!r.tail;)this.type===z.eof&&this.raise(this.pos,`Unterminated template literal`),this.expect(z.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(z.braceR),n.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,`TemplateLiteral`)},H.isAsyncProp=function(e){return!e.computed&&e.key.type===`Identifier`&&e.key.name===`async`&&(this.type===z.name||this.type===z.num||this.type===z.string||this.type===z.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===z.star)&&!Br.test(this.input.slice(this.lastTokEnd,this.start))},H.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(z.braceR);){if(r)r=!1;else if(this.expect(z.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(z.braceR))break;var a=this.parseProperty(e,t);e||this.checkPropClash(a,i,t),n.properties.push(a)}return this.finishNode(n,e?`ObjectPattern`:`ObjectExpression`)},H.parseProperty=function(e,t){var n=this.startNode(),r,i,a,o;if(this.options.ecmaVersion>=9&&this.eat(z.ellipsis))return e?(n.argument=this.parseIdent(!1),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`),this.finishNode(n,`RestElement`)):(n.argument=this.parseMaybeAssign(!1,t),this.type===z.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(n,`SpreadElement`));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(e||t)&&(a=this.start,o=this.startLoc),e||(r=this.eat(z.star)));var s=this.containsEsc;return this.parsePropertyName(n),!e&&!s&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(n)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(z.star),this.parsePropertyName(n)):i=!1,this.parsePropertyValue(n,e,r,i,a,o,t,s),this.finishNode(n,`Property`)},H.parseGetterSetter=function(e){var t=e.key.name;this.parsePropertyName(e),e.value=this.parseMethod(!1),e.kind=t;var n=e.kind===`get`?0:1;if(e.value.params.length!==n){var r=e.value.start;e.kind===`get`?this.raiseRecoverable(r,`getter should have no params`):this.raiseRecoverable(r,`setter should have exactly one param`)}else e.kind===`set`&&e.value.params[0].type===`RestElement`&&this.raiseRecoverable(e.value.params[0].start,`Setter cannot use rest params`)},H.parsePropertyValue=function(e,t,n,r,i,a,o,s){(n||r)&&this.type===z.colon&&this.unexpected(),this.eat(z.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),e.kind=`init`):this.options.ecmaVersion>=6&&this.type===z.parenL?(t&&this.unexpected(),e.method=!0,e.value=this.parseMethod(n,r),e.kind=`init`):!t&&!s&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type===`Identifier`&&(e.key.name===`get`||e.key.name===`set`)&&this.type!==z.comma&&this.type!==z.braceR&&this.type!==z.eq?((n||r)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type===`Identifier`?((n||r)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=i),t?e.value=this.parseMaybeDefault(i,a,this.copyNode(e.key)):this.type===z.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,a,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.kind=`init`,e.shorthand=!0):this.unexpected()},H.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(z.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(z.bracketR),e.key;e.computed=!1}return e.key=this.type===z.num||this.type===z.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`)},H.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},H.parseMethod=function(e,t,n){var r=this.startNode(),i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(r),this.options.ecmaVersion>=6&&(r.generator=e),this.options.ecmaVersion>=8&&(r.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(bi(t,r.generator)|mi|(n?hi:0)),this.expect(z.parenL),r.params=this.parseBindingList(z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0,!1),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(r,`FunctionExpression`)},H.parseArrowExpression=function(e,t,n,r){var i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(bi(n,!1)|fi),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,r),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(e,`ArrowFunctionExpression`)},H.parseFunctionBody=function(e,t,n,r){var i=t&&this.type!==z.braceL,a=this.strict,o=!1;if(i)e.body=this.parseMaybeAssign(r),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!a||s)&&(o=this.strictDirective(this.end),o&&s&&this.raiseRecoverable(e.start,`Illegal 'use strict' directive in function with non-simple parameter list`));var c=this.labels;this.labels=[],o&&(this.strict=!0),this.checkParams(e,!a&&!o&&!t&&!n&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Ei),e.body=this.parseBlock(!1,void 0,o&&!a),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=c}this.exitScope()},H.isSimpleParamList=function(e){for(var t=0,n=e;t<n.length;t+=1)if(n[t].type!==`Identifier`)return!1;return!0},H.checkParams=function(e,t){for(var n=Object.create(null),r=0,i=e.params;r<i.length;r+=1){var a=i[r];this.checkLValInnerPattern(a,Si,t?null:n)}},H.parseExprList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);){if(a)a=!1;else if(this.expect(z.comma),t&&this.afterTrailingComma(e))break;var o=void 0;n&&this.type===z.comma?o=null:this.type===z.ellipsis?(o=this.parseSpread(r),r&&this.type===z.comma&&r.trailingComma<0&&(r.trailingComma=this.start)):o=this.parseMaybeAssign(!1,r),i.push(o)}return i},H.checkUnreserved=function(e){var t=e.start,n=e.end,r=e.name;this.inGenerator&&r===`yield`&&this.raiseRecoverable(t,`Cannot use 'yield' as identifier inside a generator`),this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use 'await' as identifier inside an async function`),!(this.currentThisScope().flags&yi)&&r===`arguments`&&this.raiseRecoverable(t,`Cannot use 'arguments' in class field initializer`),this.inClassStaticBlock&&(r===`arguments`||r===`await`)&&this.raise(t,`Cannot use `+r+` in class static initialization block`),this.keywords.test(r)&&this.raise(t,`Unexpected keyword '`+r+`'`),!(this.options.ecmaVersion<6&&this.input.slice(t,n).indexOf(`\\\\`)!==-1)&&(this.strict?this.reservedWordsStrict:this.reservedWords).test(r)&&(!this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use keyword 'await' outside an async function`),this.raiseRecoverable(t,`The keyword '`+r+`' is reserved`))},H.parseIdent=function(e){var t=this.parseIdentNode();return this.next(!!e),this.finishNode(t,`Identifier`),e||(this.checkUnreserved(t),t.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=t.start)),t},H.parseIdentNode=function(){var e=this.startNode();return this.type===z.name?e.name=this.value:this.type.keyword?(e.name=this.type.keyword,(e.name===`class`||e.name===`function`)&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop(),this.type=z.name):this.unexpected(),e},H.parsePrivateIdent=function(){var e=this.startNode();return this.type===z.privateId?e.name=this.value:this.unexpected(),this.next(),this.finishNode(e,`PrivateIdentifier`),this.options.checkPrivateFields&&(this.privateNameStack.length===0?this.raise(e.start,`Private field '#`+e.name+`' must be declared in an enclosing class`):this.privateNameStack[this.privateNameStack.length-1].used.push(e)),e},H.parseYield=function(e){this.yieldPos||(this.yieldPos=this.start);var t=this.startNode();return this.next(),this.type===z.semi||this.canInsertSemicolon()||this.type!==z.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(z.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,`YieldExpression`)},H.parseAwait=function(e){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!0,!1,e),this.finishNode(t,`AwaitExpression`)};var qi=Di.prototype;qi.raise=function(e,t){var n=ri(this.input,e);t+=` (`+n.line+`:`+n.column+`)`,this.sourceFile&&(t+=` in `+this.sourceFile);var r=SyntaxError(t);throw r.pos=e,r.loc=n,r.raisedAt=this.pos,r},qi.raiseRecoverable=qi.raise,qi.curPosition=function(){if(this.options.locations)return new ti(this.curLine,this.pos-this.lineStart)};var Ji=Di.prototype,Yi=function(e){this.flags=e,this.var=[],this.lexical=[],this.functions=[]};Ji.enterScope=function(e){this.scopeStack.push(new Yi(e))},Ji.exitScope=function(){this.scopeStack.pop()},Ji.treatFunctionsAsVarInScope=function(e){return e.flags&li||!this.inModule&&e.flags&ci},Ji.declareName=function(e,t,n){var r=!1;if(t===Ci){var i=this.currentScope();r=i.lexical.indexOf(e)>-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1,i.lexical.push(e),this.inModule&&i.flags&ci&&delete this.undefinedExports[e]}else if(t===Ti)this.currentScope().lexical.push(e);else if(t===wi){var a=this.currentScope();r=this.treatFunctionsAsVar?a.lexical.indexOf(e)>-1:a.lexical.indexOf(e)>-1||a.var.indexOf(e)>-1,a.functions.push(e)}else for(var o=this.scopeStack.length-1;o>=0;--o){var s=this.scopeStack[o];if(s.lexical.indexOf(e)>-1&&!(s.flags&pi&&s.lexical[0]===e)||!this.treatFunctionsAsVarInScope(s)&&s.functions.indexOf(e)>-1){r=!0;break}if(s.var.push(e),this.inModule&&s.flags&ci&&delete this.undefinedExports[e],s.flags&yi)break}r&&this.raiseRecoverable(n,`Identifier '`+e+`' has already been declared`)},Ji.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},Ji.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ji.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&(yi|_i|gi))return t}},Ji.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&(yi|_i|gi)&&!(t.flags&fi))return t}};var Xi=function(e,t,n){this.type=``,this.start=t,this.end=0,e.options.locations&&(this.loc=new ni(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Zi=Di.prototype;Zi.startNode=function(){return new Xi(this,this.start,this.startLoc)},Zi.startNodeAt=function(e,t){return new Xi(this,e,t)};function Qi(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}Zi.finishNode=function(e,t){return Qi.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Zi.finishNodeAt=function(e,t,n,r){return Qi.call(this,e,t,n,r)},Zi.copyNode=function(e){var t=new Xi(this,e.start,this.startLoc);for(var n in e)t[n]=e[n];return t};var $i=`Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz`,ea=`ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS`,ta=ea+` Extended_Pictographic`,na=ta,ra=na+` EBase EComp EMod EPres ExtPict`,ia=ra,aa=ia,oa={9:ea,10:ta,11:na,12:ra,13:ia,14:aa},sa=`Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji`,ca={9:``,10:``,11:``,12:``,13:``,14:sa},la=`Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu`,ua=`Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb`,da=ua+` Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd`,fa=da+` Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho`,pa=fa+` Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi`,ma=pa+` Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith`,ha=ma+` `+$i,ga={9:ua,10:da,11:fa,12:pa,13:ma,14:ha},_a={};function va(e){var t=_a[e]={binary:Qr(oa[e]+` `+la),binaryOfStrings:Qr(ca[e]),nonBinary:{General_Category:Qr(la),Script:Qr(ga[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var ya=0,ba=[9,10,11,12,13,14];ya<ba.length;ya+=1){var xa=ba[ya];va(xa)}var U=Di.prototype,Sa=function(e,t){this.parent=e,this.base=t||this};Sa.prototype.separatedFrom=function(e){for(var t=this;t;t=t.parent)for(var n=e;n;n=n.parent)if(t.base===n.base&&t!==n)return!0;return!1},Sa.prototype.sibling=function(){return new Sa(this.parent,this.base)};var Ca=function(e){this.parser=e,this.validFlags=`gim`+(e.options.ecmaVersion>=6?`uy`:``)+(e.options.ecmaVersion>=9?`s`:``)+(e.options.ecmaVersion>=13?`d`:``)+(e.options.ecmaVersion>=15?`v`:``),this.unicodeProperties=_a[e.options.ecmaVersion>=14?14:e.options.ecmaVersion],this.source=``,this.flags=``,this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue=``,this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};Ca.prototype.reset=function(e,t,n){var r=n.indexOf(`v`)!==-1,i=n.indexOf(`u`)!==-1;this.start=e|0,this.source=t+``,this.flags=n,r&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=i&&this.parser.options.ecmaVersion>=9)},Ca.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,`Invalid regular expression: /`+this.source+`/: `+e)},Ca.prototype.at=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return-1;var i=n.charCodeAt(e);if(!(t||this.switchU)||i<=55295||i>=57344||e+1>=r)return i;var a=n.charCodeAt(e+1);return a>=56320&&a<=57343?(i<<10)+a-56613888:i},Ca.prototype.nextIndex=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return r;var i=n.charCodeAt(e),a;return!(t||this.switchU)||i<=55295||i>=57344||e+1>=r||(a=n.charCodeAt(e+1))<56320||a>57343?e+1:e+2},Ca.prototype.current=function(e){return e===void 0&&(e=!1),this.at(this.pos,e)},Ca.prototype.lookahead=function(e){return e===void 0&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Ca.prototype.advance=function(e){e===void 0&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Ca.prototype.eat=function(e,t){return t===void 0&&(t=!1),this.current(t)===e?(this.advance(t),!0):!1},Ca.prototype.eatChars=function(e,t){t===void 0&&(t=!1);for(var n=this.pos,r=0,i=e;r<i.length;r+=1){var a=i[r],o=this.at(n,t);if(o===-1||o!==a)return!1;n=this.nextIndex(n,t)}return this.pos=n,!0},U.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,r=!1,i=!1,a=0;a<n.length;a++){var o=n.charAt(a);t.indexOf(o)===-1&&this.raise(e.start,`Invalid regular expression flag`),n.indexOf(o,a+1)>-1&&this.raise(e.start,`Duplicate regular expression flag`),o===`u`&&(r=!0),o===`v`&&(i=!0)}this.options.ecmaVersion>=15&&r&&i&&this.raise(e.start,`Invalid regular expression flag`)};function wa(e){for(var t in e)return!0;return!1}U.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&wa(e.groupNames)&&(e.switchN=!0,this.regexp_pattern(e))},U.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue=``,e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames=Object.create(null),e.backReferenceNames.length=0,e.branchID=null,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise(`Unmatched ')'`),(e.eat(93)||e.eat(125))&&e.raise(`Lone quantifier brackets`)),e.maxBackReference>e.numCapturingParens&&e.raise(`Invalid escape`);for(var t=0,n=e.backReferenceNames;t<n.length;t+=1){var r=n[t];e.groupNames[r]||e.raise(`Invalid named capture referenced`)}},U.regexp_disjunction=function(e){var t=this.options.ecmaVersion>=16;for(t&&(e.branchID=new Sa(e.branchID,null)),this.regexp_alternative(e);e.eat(124);)t&&(e.branchID=e.branchID.sibling()),this.regexp_alternative(e);t&&(e.branchID=e.branchID.parent),this.regexp_eatQuantifier(e,!0)&&e.raise(`Nothing to repeat`),e.eat(123)&&e.raise(`Lone quantifier brackets`)},U.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},U.regexp_eatTerm=function(e){return this.regexp_eatAssertion(e)?(e.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(e)&&e.switchU&&e.raise(`Invalid quantifier`),!0):(e.switchU?this.regexp_eatAtom(e):this.regexp_eatExtendedAtom(e))?(this.regexp_eatQuantifier(e),!0):!1},U.regexp_eatAssertion=function(e){var t=e.pos;if(e.lastAssertionIsQuantifiable=!1,e.eat(94)||e.eat(36))return!0;if(e.eat(92)){if(e.eat(66)||e.eat(98))return!0;e.pos=t}if(e.eat(40)&&e.eat(63)){var n=!1;if(this.options.ecmaVersion>=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise(`Unterminated group`),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},U.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},U.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},U.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var r=0,i=-1;if(this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue),e.eat(125)))return i!==-1&&i<r&&!t&&e.raise(`numbers out of order in {} quantifier`),!0;e.switchU&&!t&&e.raise(`Incomplete quantifier`),e.pos=n}return!1},U.regexp_eatAtom=function(e){return this.regexp_eatPatternCharacters(e)||e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)},U.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},U.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)){if(this.options.ecmaVersion>=16){var n=this.regexp_eatModifiers(e),r=e.eat(45);if(n||r){for(var i=0;i<n.length;i++){var a=n.charAt(i);n.indexOf(a,i+1)>-1&&e.raise(`Duplicate regular expression modifiers`)}if(r){var o=this.regexp_eatModifiers(e);!n&&!o&&e.current()===58&&e.raise(`Invalid regular expression modifiers`);for(var s=0;s<o.length;s++){var c=o.charAt(s);(o.indexOf(c,s+1)>-1||n.indexOf(c)>-1)&&e.raise(`Duplicate regular expression modifiers`)}}}}if(e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise(`Unterminated group`)}}e.pos=t}return!1},U.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise(`Invalid group`),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise(`Unterminated group`)}return!1},U.regexp_eatModifiers=function(e){for(var t=``,n=0;(n=e.current())!==-1&&Ta(n);)t+=$r(n),e.advance();return t};function Ta(e){return e===105||e===109||e===115}U.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},U.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise(`Nothing to repeat`),!1},U.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Ea(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Ea(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}U.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;(n=e.current())!==-1&&!Ea(n);)e.advance();return e.pos!==t},U.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},U.regexp_groupSpecifier=function(e){if(e.eat(63)){this.regexp_eatGroupName(e)||e.raise(`Invalid group`);var t=this.options.ecmaVersion>=16,n=e.groupNames[e.lastStringValue];if(n)if(t)for(var r=0,i=n;r<i.length;r+=1)i[r].separatedFrom(e.branchID)||e.raise(`Duplicate capture group name`);else e.raise(`Duplicate capture group name`);t?(n||(e.groupNames[e.lastStringValue]=[])).push(e.branchID):e.groupNames[e.lastStringValue]=!0}},U.regexp_eatGroupName=function(e){if(e.lastStringValue=``,e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise(`Invalid capture group name`)}return!1},U.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue=``,this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=$r(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=$r(e.lastIntValue);return!0}return!1},U.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Da(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Da(e){return Pr(e,!0)||e===36||e===95}U.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Oa(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Oa(e){return Fr(e,!0)||e===36||e===95||e===8204||e===8205}U.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise(`Invalid unicode escape`),e.raise(`Invalid escape`)),!1)},U.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},U.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise(`Invalid named reference`)}return!1},U.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},U.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},U.regexp_eatZero=function(e){return e.current()===48&&!Ba(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},U.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},U.regexp_eatControlLetter=function(e){var t=e.current();return ka(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function ka(e){return e>=65&&e<=90||e>=97&&e<=122}U.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var n=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(r&&i>=55296&&i<=56319){var a=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var o=e.lastIntValue;if(o>=56320&&o<=57343)return e.lastIntValue=(i-55296)*1024+(o-56320)+65536,!0}e.pos=a,e.lastIntValue=i}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Aa(e.lastIntValue))return!0;r&&e.raise(`Invalid unicode escape`),e.pos=n}return!1};function Aa(e){return e>=0&&e<=1114111}U.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},U.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};var ja=0,Ma=1,Na=2;U.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Pa(t))return e.lastIntValue=-1,e.advance(),Ma;var n=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((n=t===80)||t===112)){e.lastIntValue=-1,e.advance();var r;if(e.eat(123)&&(r=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return n&&r===Na&&e.raise(`Invalid property name`),r;e.raise(`Invalid property name`)}return ja};function Pa(e){return e===100||e===68||e===115||e===83||e===119||e===87}U.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,r),Ma}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,i)}return ja},U.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){Yr(e.unicodeProperties.nonBinary,t)||e.raise(`Invalid property name`),e.unicodeProperties.nonBinary[t].test(n)||e.raise(`Invalid property value`)},U.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return Ma;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return Na;e.raise(`Invalid property name`)},U.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue=``;Fa(t=e.current());)e.lastStringValue+=$r(t),e.advance();return e.lastStringValue!==``};function Fa(e){return ka(e)||e===95}U.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue=``;Ia(t=e.current());)e.lastStringValue+=$r(t),e.advance();return e.lastStringValue!==``};function Ia(e){return Fa(e)||Ba(e)}U.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},U.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),n=this.regexp_classContents(e);return e.eat(93)||e.raise(`Unterminated character class`),t&&n===Na&&e.raise(`Negated character class may contain strings`),!0}return!1},U.regexp_classContents=function(e){return e.current()===93?Ma:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),Ma)},U.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;e.switchU&&(t===-1||n===-1)&&e.raise(`Invalid character class`),t!==-1&&n!==-1&&t>n&&e.raise(`Range out of order in character class`)}}},U.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(n===99||Ua(n))&&e.raise(`Invalid class escape`),e.raise(`Invalid escape`)}e.pos=t}var r=e.current();return r===93?!1:(e.lastIntValue=r,e.advance(),!0)},U.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},U.regexp_classSetExpression=function(e){var t=Ma,n;if(!this.regexp_eatClassSetRange(e))if(n=this.regexp_eatClassSetOperand(e)){n===Na&&(t=Na);for(var r=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(n=this.regexp_eatClassSetOperand(e))){n!==Na&&(t=Ma);continue}e.raise(`Invalid character in character class`)}if(r!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise(`Invalid character in character class`);if(r!==e.pos)return t}else e.raise(`Invalid character in character class`);for(;;)if(!this.regexp_eatClassSetRange(e)){if(n=this.regexp_eatClassSetOperand(e),!n)return t;n===Na&&(t=Na)}},U.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var n=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var r=e.lastIntValue;return n!==-1&&r!==-1&&n>r&&e.raise(`Range out of order in character class`),!0}e.pos=t}return!1},U.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?Ma:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},U.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var n=e.eat(94),r=this.regexp_classContents(e);if(e.eat(93))return n&&r===Na&&e.raise(`Negated character class may contain strings`),r;e.pos=t}if(e.eat(92)){var i=this.regexp_eatCharacterClassEscape(e);if(i)return i;e.pos=t}return null},U.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var n=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return n}else e.raise(`Invalid escape`);e.pos=t}return null},U.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===Na&&(t=Na);return t},U.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?Ma:Na},U.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var n=e.current();return n<0||n===e.lookahead()&&La(n)||Ra(n)?!1:(e.advance(),e.lastIntValue=n,!0)};function La(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function Ra(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}U.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return za(t)?(e.lastIntValue=t,e.advance(),!0):!1};function za(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}U.regexp_eatClassControlLetter=function(e){var t=e.current();return Ba(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},U.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise(`Invalid escape`),e.pos=t}return!1},U.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Ba(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t};function Ba(e){return e>=48&&e<=57}U.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Va(n=e.current());)e.lastIntValue=16*e.lastIntValue+Ha(n),e.advance();return e.pos!==t};function Va(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Ha(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}U.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+n*8+e.lastIntValue:e.lastIntValue=t*8+n}else e.lastIntValue=t;return!0}return!1},U.regexp_eatOctalDigit=function(e){var t=e.current();return Ua(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function Ua(e){return e>=48&&e<=55}U.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var r=0;r<t;++r){var i=e.current();if(!Va(i))return e.pos=n,!1;e.lastIntValue=16*e.lastIntValue+Ha(i),e.advance()}return!0};var Wa=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new ni(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},W=Di.prototype;W.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword `+this.type.keyword),this.options.onToken&&this.options.onToken(new Wa(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},W.getToken=function(){return this.next(),new Wa(this)},typeof Symbol<`u`&&(W[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===z.eof,value:t}}}}),W.nextToken=function(){var e=this.curContext();if((!e||!e.preserveSpace)&&this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length)return this.finishToken(z.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},W.readToken=function(e){return Pr(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},W.fullCharCodeAt=function(e){var t=this.input.charCodeAt(e);if(t<=55295||t>=56320)return t;var n=this.input.charCodeAt(e+1);return n<=56319||n>=57344?t:(t<<10)+n-56613888},W.fullCharCodeAtPos=function(){return this.fullCharCodeAt(this.pos)},W.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf(`*/`,this.pos+=2);if(n===-1&&this.raise(this.pos-2,`Unterminated comment`),this.pos=n+2,this.options.locations)for(var r=void 0,i=t;(r=Ur(this.input,i,this.pos))>-1;)++this.curLine,i=this.lineStart=r;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,n),t,this.pos,e,this.curPosition())},W.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!Hr(r);)r=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,n,this.curPosition())},W.skipSpace=function(){loop:for(;this.pos<this.input.length;){var e=this.input.charCodeAt(this.pos);switch(e){case 32:case 160:++this.pos;break;case 13:this.input.charCodeAt(this.pos+1)===10&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break loop}break;default:if(e>8&&e<14||e>=5760&&Wr.test(String.fromCharCode(e)))++this.pos;else break loop}}},W.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},W.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(z.ellipsis)):(++this.pos,this.finishToken(z.dot))},W.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(z.assign,2):this.finishOp(z.slash,1)},W.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=e===42?z.star:z.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++n,r=z.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(z.assign,n+1):this.finishOp(r,n)},W.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.options.ecmaVersion>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(z.assign,3):this.finishOp(e===124?z.logicalOR:z.logicalAND,2):t===61?this.finishOp(z.assign,2):this.finishOp(e===124?z.bitwiseOR:z.bitwiseAND,1)},W.readToken_caret=function(){return this.input.charCodeAt(this.pos+1)===61?this.finishOp(z.assign,2):this.finishOp(z.bitwiseXOR,1)},W.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||Br.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(z.incDec,2):t===61?this.finishOp(z.assign,2):this.finishOp(z.plusMin,1)},W.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+n)===61?this.finishOp(z.assign,n+1):this.finishOp(z.bitShift,n)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(n=2),this.finishOp(z.relational,n))},W.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(z.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(z.arrow)):this.finishOp(e===61?z.eq:z.prefix,1)},W.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57)return this.finishOp(z.questionDot,2)}if(t===63)return e>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(z.assign,3):this.finishOp(z.coalesce,2)}return this.finishOp(z.question,1)},W.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),Pr(t,!0)||t===92))return this.finishToken(z.privateId,this.readWord1());this.raise(this.pos,`Unexpected character '`+$r(t)+`'`)},W.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(z.parenL);case 41:return++this.pos,this.finishToken(z.parenR);case 59:return++this.pos,this.finishToken(z.semi);case 44:return++this.pos,this.finishToken(z.comma);case 91:return++this.pos,this.finishToken(z.bracketL);case 93:return++this.pos,this.finishToken(z.bracketR);case 123:return++this.pos,this.finishToken(z.braceL);case 125:return++this.pos,this.finishToken(z.braceR);case 58:return++this.pos,this.finishToken(z.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(z.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(z.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,`Unexpected character '`+$r(e)+`'`)},W.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},W.readRegexp=function(){for(var e,t,n=this.pos;;){this.pos>=this.input.length&&this.raise(n,`Unterminated regular expression`);var r=this.input.charAt(this.pos);if(Br.test(r)&&this.raise(n,`Unterminated regular expression`),e)e=!1;else{if(r===`[`)t=!0;else if(r===`]`&&t)t=!1;else if(r===`/`&&!t)break;e=r===`\\\\`}++this.pos}var i=this.input.slice(n,this.pos);++this.pos;var a=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(a);var s=this.regexpState||(this.regexpState=new Ca(this));s.reset(n,i,o),this.validateRegExpFlags(s),this.validateRegExpPattern(s);var c=null;try{c=new RegExp(i,o)}catch{}return this.finishToken(z.regexp,{pattern:i,flags:o,value:c})},W.readInt=function(e,t,n){for(var r=this.options.ecmaVersion>=12&&t===void 0,i=n&&this.input.charCodeAt(this.pos)===48,a=this.pos,o=0,s=0,c=0,l=t??1/0;c<l;++c,++this.pos){var u=this.input.charCodeAt(this.pos),d=void 0;if(r&&u===95){i&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed in legacy octal numeric literals`),s===95&&this.raiseRecoverable(this.pos,`Numeric separator must be exactly one underscore`),c===0&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed at the first of digits`),s=u;continue}if(d=u>=97?u-97+10:u>=65?u-65+10:u>=48&&u<=57?u-48:1/0,d>=e)break;s=u,o=o*e+d}return r&&s===95&&this.raiseRecoverable(this.pos-1,`Numeric separator is not allowed at the last of digits`),this.pos===a||t!=null&&this.pos-a!==t?null:o};function Ga(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,``))}function Ka(e){return typeof BigInt==`function`?BigInt(e.replace(/_/g,``)):null}W.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);return n??this.raise(this.start+2,`Expected number in radix `+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(n=Ka(this.input.slice(t,this.pos)),++this.pos):Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(z.num,n)},W.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,`Invalid number`);var n=this.pos-t>=2&&this.input.charCodeAt(t)===48;n&&this.strict&&this.raise(t,`Invalid number`);var r=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&r===110){var i=Ka(this.input.slice(t,this.pos));return++this.pos,Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(z.num,i)}n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1),r===46&&!n&&(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),(r===69||r===101)&&!n&&(r=this.input.charCodeAt(++this.pos),(r===43||r===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,`Invalid number`)),Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`);var a=Ga(this.input.slice(t,this.pos),n);return this.finishToken(z.num,a)},W.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var n=++this.pos;t=this.readHexChar(this.input.indexOf(`}`,this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(n,`Code point out of bounds`)}else t=this.readHexChar(4);return t},W.readString=function(e){for(var t=``,n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated string constant`);var r=this.input.charCodeAt(this.pos);if(r===e)break;r===92?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):r===8232||r===8233?(this.options.ecmaVersion<10&&this.raise(this.start,`Unterminated string constant`),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(Hr(r)&&this.raise(this.start,`Unterminated string constant`),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(z.string,t)};var qa={};W.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===qa)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},W.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw qa;this.raise(e,t)},W.readTmplToken=function(){for(var e=``,t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated template`);var n=this.input.charCodeAt(this.pos);if(n===96||n===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===z.template||this.type===z.invalidTemplate)?n===36?(this.pos+=2,this.finishToken(z.dollarBraceL)):(++this.pos,this.finishToken(z.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(z.template,e));if(n===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Hr(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`\n`;break;default:e+=String.fromCharCode(n);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else ++this.pos}},W.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case`\\\\`:++this.pos;break;case`$`:if(this.input[this.pos+1]!==`{`)break;case\"`\":return this.finishToken(z.invalidTemplate,this.input.slice(this.start,this.pos));case`\\r`:this.input[this.pos+1]===`\n`&&++this.pos;case`\n`:case`\\u2028`:case`\\u2029`:++this.curLine,this.lineStart=this.pos+1;break}this.raise(this.start,`Unterminated template`)},W.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return`\n`;case 114:return`\\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return $r(this.readCodePoint());case 116:return`\t`;case 98:return`\\b`;case 118:return`\\v`;case 102:return`\\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),e){var n=this.pos-1;this.invalidStringToken(n,`Invalid escape sequence in template string`)}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),(r!==`0`||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-r.length,e?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(i)}return Hr(t)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(t)}},W.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return n===null&&this.invalidStringToken(t,`Bad character escape sequence`),n},W.readWord1=function(){this.containsEsc=!1;for(var e=``,t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(Fr(i,r))this.pos+=i<=65535?1:2;else if(i===92){this.containsEsc=!0,e+=this.input.slice(n,this.pos);var a=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\\\uXXXX`),++this.pos;var o=this.readCodePoint();(t?Pr:Fr)(o,r)||this.invalidStringToken(a,`Invalid Unicode escape`),e+=$r(o),n=this.pos}else break;t=!1}return e+this.input.slice(n,this.pos)},W.readWord=function(){var e=this.readWord1(),t=z.name;return this.keywords.test(e)&&(t=zr[e]),this.finishToken(t,e)},Di.acorn={Parser:Di,version:`8.19.0`,defaultOptions:ii,Position:ti,SourceLocation:ni,getLineInfo:ri,Node:Xi,TokenType:L,tokTypes:z,keywordTypes:zr,TokContext:Hi,tokContexts:V,isIdentifierChar:Fr,isIdentifierStart:Pr,Token:Wa,isNewLine:Hr,lineBreak:Br,lineBreakG:Vr,nonASCIIwhitespace:Wr};var Ja={ecmaVersion:`latest`,sourceType:`script`,allowReturnOutsideFunction:!0},Ya=/\\w+(?![\\p{ID_Continue}$\\u200c\\u200d])/uy,Xa=/[A-Za-z_]\\w*(?![\\p{ID_Continue}$\\u200c\\u200d])/uy,Za=/^[$_]\\w+$/,Qa=/[\\n\\r\\u2028\\u2029]/,$a=/\\s*(?:[;},:)]|=(?![=>]))/y;function eo(e,t){return $a.lastIndex=t,$a.test(e)}var to=new Set([z.name,z.num,z.string,z.regexp,z.backQuote,z.bracketR,z.braceR,z.parenR,z.incDec,z._this,z._null,z._true,z._false]),no=class extends Di{constructor(...e){super(...e),this.operandBeforeLast=!0,this.operandHere=!0,this.breakBeforeLast=!1,this.breakHere=!1,this.ternaries=[],this.colonEndsTernary=!1,this.closedBlock=!1,this.lookahead=!0}readToken(e){let t=this;if(t.lastTokEnd=t.end,this.operandBeforeLast=this.operandHere,this.operandHere=t.exprAllowed,this.breakBeforeLast=this.breakHere,this.breakHere=Qa.test(t.input.slice(t.end,t.pos)),e===64||e===37){let n=t.pos,r=e===64?Ya:Xa;r.lastIndex=n+1;let i=r.exec(t.input)?.[0];if(i){let r=n+1+i.length,a=t.type===z.incDec&&(this.operandBeforeLast||this.breakBeforeLast),o=e===37?this.percentAt?.get(n):void 0;if(e===64||(o??(t.exprAllowed||a||this.lookahead&&ro(t,r)))){e===37&&this.transientsRead?.add(n),t.pos=r,t.finishToken(z.name,t.input.charAt(n)+i);return}}}super.readToken(e)}finishToken(e,t){let{context:n}=this,r=n.length;if(e===z.braceR){let e=n[r-1];this.closedBlock=e.token===`{`&&!e.isExpr}else if(e===z.question)this.ternaries[r]=(this.ternaries[r]??0)+1;else if(e===z.colon){let e=this.ternaries[r]??0;this.colonEndsTernary=e>0,e>0&&(this.ternaries[r]=e-1)}let i=this,a=i.type;this.prevValue=i.value;let o=e.keyword!==void 0&&(a===z.dot||a===z.questionDot)||(e===z._function||e===z._class)&&eo(i.input,i.pos);super.finishToken(o?z.name:e,t),e===z.name&&t===`of`&&(a===z._const||a===z._var||this.prevValue===`let`)&&(i.exprAllowed=!1)}braceIsBlock(e){if(e===z.colon&&this.colonEndsTernary)return!1;if(e===z.braceR&&this.closedBlock||e===z.name&&this.prevValue===`static`)return!0;if(this.breakHere&&to.has(e)){let{context:e}=this,t=e[e.length-1];if(t.token===`{`&&!t.isExpr)return!0}return super.braceIsBlock(e)}};function ro(e,t){if(!Qa.test(e.input.slice(e.end,e.pos)))return!1;let n=oo(e.input,t,`statements`,{afterOperand:!0});n.lookahead=!1;let r=0;try{for(;;){n.nextToken();let e=n.type;if(e===z.eof)return!1;if(r>0)io.has(e)?r++:ao.has(e)&&r--;else if(e===z.bracketL)r=1;else if(e===z.dot){if(n.nextToken(),n.type!==z.name&&!n.type.keyword)return!1}else return e===z.eq||e===z.assign}}catch{return!1}}var io=new Set([z.parenL,z.bracketL,z.braceL,z.dollarBraceL]),ao=new Set([z.parenR,z.bracketR,z.braceR]);function oo(e,t,n,{onComment:r,afterOperand:i=!1}={}){let a=new no(r?{...Ja,onComment:r}:Ja,e,t);return n===`expression`&&(a.type=z.parenL),i&&(a.exprAllowed=!1),a}var so=class extends SyntaxError{constructor(e,t,n,r){super(`${e} ${uo(t,n)}`+co(r,e=>lo(t,e))),this.reason=e,this.source=t,this.pos=n,this.bracket=r,this.name=`SyntaxError`}reasonIn(e,t){return this.reason+co(this.bracket,n=>{let{line:r,column:i}=ri(e,t+n);return`at line ${r}, column ${i+1}`})}};function co(e,t){return e?` (missing \"${e.closer}\" for the \"${e.open}\" ${t(e.pos)})`:``}function lo(e,t){let{line:n,column:r}=ri(e,t);return Qa.test(e)?`at line ${n}, column ${r+1}`:`at column ${r+1}`}function uo(e,t){let{column:n}=ri(e,t),r=t-n,i=e.slice(r).search(Qa),a=i<0?e.length:r+i,o=Math.max(r,t-30),s=Math.min(a,t+30),c=(o>r?`…`:``)+e.slice(o,t)+`▶`+e.slice(t,s)+(s<a?`…`:``);return`${lo(e,t)}: ${c.trim()}`}var fo=e=>e[e.length-1],po={\"(\":`)`,\"[\":`]`,\"{\":`}`,\"${\":`}`};function mo(e,t){if(!(t instanceof SyntaxError)||!(`pos`in t))throw t;let n=t.pos,r=t.message.replace(/ \\(\\d+:\\d+\\)$/,``),{open:i,token:a}=ho(e,n),o=n>=e.length||a===``,s=!1;r===`Unexpected token`?(r=o?`Unexpected end of code`:`Unexpected \"${a}\"`,s=!!i&&po[i.text]!==a&&(o||[`)`,`]`,`}`,`;`,`{`].includes(a))):r.startsWith(`Unterminated template`)&&(s=i?.text===\"${\");let c=s&&i?{open:i.text,closer:po[i.text],pos:i.pos}:void 0;return new so(r,e,n,c)}function ho(e,t){let n=[];for(let r of ko(e,0,`statements`)){if(`error`in r)break;if(r.start>=t||r.type===z.eof)return{open:fo(n),token:e.slice(r.start,r.end)};let i=e.slice(r.start,r.end);i in po?n.push({text:i,pos:r.start}):n.length&&po[fo(n).text]===i&&n.pop()}return{open:fo(n),token:e.charAt(t)}}function go(e,t=`expression`){let n=new Map;for(;;){let r=new Set;try{let i=_o(e,t,n,r),a={refs:[],strings:[]};return So(i,e,a,!1,!1),a.refs.sort((e,t)=>e.start-t.start),a}catch(t){let i=t.pos??-1;if(!(t instanceof SyntaxError)||n.has(i)||(Xa.lastIndex=i+1,e.charAt(i)!==`%`||!Xa.test(e)))throw t;n.set(i,!r.has(i))}}}function _o(e,t,n,r){try{let i=oo(e,0,t);if(i.percentAt=n,i.transientsRead=r,t===`statements`)return i.parse();i.nextToken();let a=i.parseExpression();if(i.type!==z.eof)throw Object.assign(SyntaxError(`Unexpected token`),{pos:i.start});return a}catch(t){throw mo(e,t)}}var vo=e=>typeof e==`object`&&!!e&&typeof e.type==`string`,yo={$:`story`,_:`temporary`,\"@\":`local`,\"%\":`transient`};function bo(e,t){let n=e.name,r=t.charAt(e.start);return r===n.charAt(0)&&(r===`@`||r===`%`||(r===`$`||r===`_`)&&Za.test(n))?[r,n.slice(1)]:null}function xo(e,t){if(!vo(e)||e.type!==`Identifier`)return;let n=t.charAt(e.start);if(n===`@`||n===`%`)throw new so(`\"${e.name}\" can't be a property name`,t,e.start)}function So(e,t,n,r,i){if(Array.isArray(e)){for(let i of e)So(i,t,n,r,!1);return}if(!vo(e))return;let a=(e,r=!1,i=!1)=>So(e,t,n,r,i);switch(e.type){case`Identifier`:{let a=bo(e,t);if(!a)return;if(r)throw new so(`\"${e.name}\" is a ${yo[a[0]]} variable and can't be declared`,t,e.start);n.refs.push({sigil:a[0],name:a[1],start:e.start,end:e.end,shorthand:i});return}case`Literal`:typeof e.value==`string`&&n.strings.push(t.slice(e.start+1,e.end-1));return;case`TemplateElement`:n.strings.push(e.value.raw);return;case`MemberExpression`:a(e.object),e.computed?a(e.property):xo(e.property,t);return;case`Property`:if(e.computed?a(e.key):e.shorthand||xo(e.key,t),e.shorthand){let t=e.value;t.type===`AssignmentPattern`?(a(t.left,r,!0),a(t.right)):a(t,r,!0)}else a(e.value,r);return;case`MethodDefinition`:case`PropertyDefinition`:e.computed?a(e.key):xo(e.key,t),a(e.value);return;case`LabeledStatement`:a(e.body);return;case`BreakStatement`:case`ContinueStatement`:case`MetaProperty`:case`PrivateIdentifier`:return;case`VariableDeclarator`:a(e.id,!0),a(e.init);return;case`FunctionDeclaration`:case`FunctionExpression`:case`ArrowFunctionExpression`:a(e.id,!0);for(let t of e.params)a(t,!0);a(e.body);return;case`ClassDeclaration`:case`ClassExpression`:a(e.id,!0),a(e.superClass),a(e.body);return;case`CatchClause`:a(e.param,!0),a(e.body);return;case`AssignmentPattern`:a(e.left,r),a(e.right);return;case`ObjectPattern`:case`ArrayPattern`:case`RestElement`:for(let t of[`properties`,`elements`,`argument`])a(e[t],r);return;default:for(let t in e){if(t===`type`||t===`start`||t===`end`)continue;let n=e[t];typeof n==`object`&&n&&a(n)}}}var Co=/[\\p{ID_Continue}$.]*/uy,wo=/[\\p{ID_Continue}$]*/uy,To=new Set([`of`,`get`,`set`,`static`,`async`]);function Eo(e,t,{goal:n=`expression`,stop:r}={}){let i=Oo(e,t,n,r);return i<0&&!r?Do(e,t,n):i}function Do(e,t,n){let r=oo(e,t,n);try{if(n===`statements`)r.parse();else if(r.nextToken(),r.parseExpression(),r.type===z.braceR)return r.start}catch(t){let n=t.pos??-1;if(e.charAt(n)===`}`)return n}return-1}function Oo(e,t,n,r){let i=[],a=-1,o=!1,s=t,c=!1,l=!1;for(;;){let t=-1;for(let u of ko(e,s,n,{afterOperand:c})){if(`error`in u){let{message:n}=u.error,a=i.includes(\"${\");if(!/^Unterminated/.test(n)&&!a){if(t=Math.max(u.pos,s)+1,c=!1,t>=e.length)return-1;break}let o=i.lastIndexOf(\"${\");if(!/^Unterminated template/.test(n)||o<0||l||r)return-1;l=!0,i.length=o,t=u.pos,c=!0;break}if(u.restarted&&i.includes(\"${\"))return-1;let n=u.type;if(n===z.eof||n===z.string&&o&&u.start===a)return-1;if(o=n===z.name&&!To.has(u.value)||n===z.num,a=u.end,n===z.braceL){if(r?.(u.start))return u.start;i.push(`{`)}else if(n===z.dollarBraceL)i.push(\"${\");else if(n===z.parenL)i.push(`(`);else if(n===z.bracketL)i.push(`[`);else if(n===z.parenR||n===z.bracketR)fo(i)===(n===z.parenR?`(`:`[`)&&i.pop();else if(n===z.braceR){let e=Math.max(i.lastIndexOf(`{`),i.lastIndexOf(\"${\"));if(e>=0)i.length=e;else if(!r)return u.start}}s=t,o=!1}}function*ko(e,t,n,r={}){let i=oo(e,t,n,r);for(;;){try{i.nextToken()}catch(t){let n=Math.min(t.pos??i.pos,e.length),a=t.message,o=(t,n,a)=>(i=oo(e,a,`statements`,{onComment:r.onComment,afterOperand:!0}),{type:t,start:n,end:a,value:void 0,restarted:!0}),s=e.charAt(i.start),c=/^Unterminated/.test(a);if(/^Unterminated string/.test(a)){let{end:t,closed:r}=Io(e,n);if(r){yield o(z.string,n,t);continue}}else if(!c&&i.start<=n&&(s===`\"`||s===`'`)){let{end:t,closed:n}=Io(e,i.start);if(n){yield o(z.string,i.start,t);continue}}else if(!c&&i.start<=n&&s===`/`){let t=Po(e,i.start);if(t>0){yield o(z.regexp,i.start,t);continue}}else if(!c&&i.start<=n&&/[\\d.]/.test(s)&&/\\d/.test(e.slice(i.start,i.start+2))){Co.lastIndex=i.start,Co.test(e),yield o(z.num,i.start,Co.lastIndex);continue}yield{error:t,pos:n};return}if(yield{type:i.type,start:i.start,end:i.end,value:i.value},i.type===z.eof)return}}function Ao(e,t,n=`expression`){return jo(e,0,t,0,n,!1)}function jo(e,t,n,r,i,a){let o=[],s=(e,t,n,r)=>{o.push([n,r])},c=(t,i)=>{for(let a=t;a<i;a++)n.code?.(e.charAt(a),a,r)},l=(t,i)=>{i>t&&n.literal?.(e.slice(t,i),t,r)},u=(e,t)=>{for(let[n,r]of o)r<=e||n>=t||(c(e,n),l(n,r),e=r);o.length=0,c(e,t)},d=[],f=0,p=ko(e,t,i,{onComment:s}),m=t,h;for(;;){let t=p.next().value;if(`error`in t){let n=Math.max(m,t.pos);if(u(m,n),n>=e.length)return e.length;if(/^Unterminated/.test(t.error.message))return l(n,e.length),e.length;c(n,n+1),m=n+1,p=ko(e,m,i,{onComment:s}),h=void 0;continue}let o=t.type;if(o===z.eof)return u(m,e.length),e.length;if(u(m,t.start),o===z.name){let i=Mo(e,t.start,t.value),a=h===z.dot||h===z.questionDot||(i===`$`||i===`_`)&&No(e,t.end,h);i&&!a?n.variable?.(i,e.slice(t.start+1,t.end),t.start,r):c(t.start,t.end)}else if(o===z.string||o===z.regexp||o===z.template||o===z.invalidTemplate)l(t.start,t.end);else if(o===z.backQuote)if(l(t.start,t.end),h===z.template||h===z.invalidTemplate){if(f--,a&&f===0)return t.end}else f++;else o===z.dollarBraceL?(l(t.start,t.end),d.push(\"${\"),r++):o===z.braceR&&fo(d)===\"${\"?(d.pop(),r--,l(t.start,t.end)):(o===z.braceL||o===z.parenL||o===z.bracketL?d.push(e.charAt(t.start)):(o===z.braceR||o===z.parenR||o===z.bracketR)&&d.length&&fo(d)!==\"${\"&&d.pop(),c(t.start,t.end));h=o,m=t.end}}function Mo(e,t,n){let r=e.charAt(t);return(r===`@`||r===`%`)&&n.charAt(0)===r||(r===`$`||r===`_`)&&Za.test(n)?r:null}function No(e,t,n){if(n!==z.braceL&&n!==z.comma)return!1;let r=/\\S/g;r.lastIndex=t;let i=r.exec(e)?.[0];return i===`:`||i===`(`}function Po(e,t){let n=!1;for(let r=t+1;r<e.length;r++){let t=e.charAt(r);if(Qa.test(t))return-1;if(t===`\\\\`)r++;else if(t===`[`)n=!0;else if(t===`]`)n=!1;else if(t===`/`&&!n)return wo.lastIndex=r+1,wo.test(e),wo.lastIndex}return-1}function Fo(e){if(e[0]!==`\"`&&e[0]!==`'`)return null;try{let t=oo(e,0,`expression`);return t.nextToken(),t.type===z.string&&t.end===e.length?t.value:null}catch{return null}}function Io(e,t){let n=e.charAt(t),r=t+1;for(;r<e.length;){let t=e.charAt(r);if(t===`\\\\`)r+=2;else if(t===n)return{end:r+1,closed:!0};else r++}return{end:e.length,closed:!1}}var Lo=/[\\p{L}\\p{N}_\\\\]/u;function Ro(e,t){let n=e[t],r=n===\"`\";for(let i=t+1;i<e.length;){let t=e[i];if(t===`\\\\`)i+=2;else if(t===n)return i+1;else if(!r&&t===`\n`)return-1;else if(r&&t===`$`&&e[i+1]===`{`){let t=zo(e,i+2);if(t===-1)return-1;i=t+1}else i++}return-1}function zo(e,t){Bo!==e&&(Bo=e,Vo.clear());let n=Vo.get(t);return n===void 0&&(n=Ho(e,t),Vo.set(t,n)),n}var Bo=``,Vo=new Map;function Ho(e,t){let n=0;for(;t<e.length;){let r=e[t];if(r===`{`)n++,t++;else if(r===`}`){if(n===0)return t;n--,t++}else if(r===\"`\"||(r===`\"`||r===`'`)&&!(t>0&&Lo.test(e[t-1]))){let n=Ro(e,t);t=n===-1?t+1:n}else t++}return-1}var Uo={closeBrace(e,t,n){let r=Eo(e,t);return r===-1?zo(e,n):r},rawBodyEnd(e,t,n){let r=`\\\\{/${n}\\\\s*\\\\}`,i=new RegExp(r,`gi`);i.lastIndex=t;let a=i.exec(e)?.index??-1;if(a===-1)return-1;let o=new RegExp(r,`iy`),s=Eo(e,t,{goal:`statements`,stop:t=>(o.lastIndex=t,o.test(e))});return s===-1?a:s}};function Wo(e){let t=e.toLowerCase();return t.startsWith(`on`)||t===`pattern`||t===`srcdoc`}function Go(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`{`,r);if(i===-1){n+=e.slice(r);break}n+=e.slice(r,i),r=i+1;let a=qn(e[r])?Uo.closeBrace(e,r,r):-1;if(a===-1){n+=`{`;continue}n&&t.push({text:n}),n=``;let o=e.slice(r,a);t.push(/^.\\w/.test(o)?{expr:o}:{verbatim:`{${o}}`}),r=a+1}return n&&t.push({text:n}),t}var Ko=new Set([`do`]),qo={...Uo,isBlock:xr,isRaw:e=>Ko.has(e),isCodeAttribute:Wo},Jo=class extends Error{constructor(e,t,n,r){super(`${e} (line ${n}, column ${r})`),this.reason=e,this.offset=t,this.line=n,this.column=r,this.name=`MarkupError`}};function Yo(e,t){let n=1,r=0;for(let i=e.indexOf(`\n`);i!==-1&&i<t;)n++,r=i+1,i=e.indexOf(`\n`,r);return{line:n,column:t-r+1}}function Xo(e,t,n){let r=n.hooks?{...qo,...n.hooks}:qo;try{return _r(e,{startRule:t,text:n.text===!0,hooks:r})}catch(t){let n=t.location;if(t instanceof Error&&t.name===`SyntaxError`&&n){let{offset:r}=n.start,{line:i,column:a}=Yo(e,r);throw new Jo(t.message,r,i,a)}throw t}}function Zo(e,t={}){return Xo(e,`Markup`,t)}function Qo(e,t={}){return Xo(e,`Tokens`,t)}var $o=e=>Symbol.iterator in e,es=e=>`entries`in e,ts=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},ns=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function rs(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:$o(e)&&$o(t)?es(e)&&es(t)?ts(e,t):ns(e,t):ts({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function is(...e){let t=j();return Q(n=>{let r={};for(let t of e)r[t]=n[t];return rs(t.current,r)?t.current:t.current=r})}function as(){let{variables:e,temporary:t,transient:n}=is(`variables`,`temporary`,`transient`),r=Ie(Pf);return Pe(()=>[e,t,r,n],[e,t,r,n])}var os=1831565813;function ss(e){let t=e|0;return()=>{t=t+os|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 cs(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t}var ls=!1,us=``,ds=0,fs=null,ps=0;function ms(e,t=!0){let n;n=e===void 0?String(Date.now())+String(Math.random()):t?e+`|`+Date.now()+`|`+Math.random():e,us=n,ds=0,fs=ss(cs(n)),ls=!0,ps++}function hs(e,t){ps++,gs(e,t)}function gs(e,t){us=e;let n=Math.imul(t%4294967296,os);fs=ss(cs(e)+n|0),ls=!0,ds=t}function _s(){ps++,ls=!1,us=``,ds=0,fs=null}function vs(e){let t={generation:ps,seed:us,pull:ds};try{return e()}finally{ls&&ps===t.generation&&ds!==t.pull&&gs(t.seed,t.pull)}}function ys(){return ls?{seed:us,pull:ds}:null}function bs(){return!ls||!fs?Math.random():(ds++,fs())}function xs(e,t){return e>t&&([e,t]=[t,e]),Math.floor(bs()*(t-e+1))+e}function Ss(){return ls}function Cs(){return us}function ws(){return ds}var Ts=`__proto__`;function Es(e,t=e){return e===`__proto__`?`\"${t}\" cannot be used as a variable name (${Ts} is reserved)`:void 0}function Ds(e,t=e){let n=Es(e,t);if(n)throw TypeError(`spindle: ${n}`)}var G=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Os=(e,t)=>e&&G(e,t)?e[t]:void 0;function ks(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0}):e[t]=n}function As(e,t=()=>!0){let n=Object.create(null);for(let r of e)if(r)for(let e of Object.keys(r)){let i=r[e];t(i)&&(n[e]=i)}return n}var K=(...e)=>As(e),js=e=>Object.getPrototypeOf(e)===null,Ms=e=>js(e)?e:K(e);function Ns(e,t,n){let r=K(e);return r[t]=n,r}var Ps=Object.freeze(K());function Fs(e,t){return[...new Set([...Object.keys(e),...Object.keys(t)])].filter(n=>Os(e,n)!==Os(t,n))}var Is=e=>typeof e==`number`&&Number.isInteger(e)&&e>=0;function Ls(e,t){let n=Os(e,t);return Is(n)?n:0}function Rs(e,t){let n=As([e],Is);return t!==void 0&&(n[t]=Ls(e,t)+1),n}var zs=500,Bs={$:`variables`,_:`temporary`,\"@\":`locals`,\"%\":`transient`},Vs=/[\\p{ID_Continue}$\\u200c\\u200d]$/u;function Hs(e,t=`expression`){let n=t===`statements`?`s`+e:`e`+e,r=Us.get(n);if(r!==void 0)return r;let{refs:i}=go(e,t),a=``,o=0;for(let t of i){let n=Es(t.name,t.sigil+t.name);if(n)throw SyntaxError(`spindle: ${n}`);a+=e.slice(o,t.start),t.shorthand?a+=`${t.name}: `:Vs.test(a.slice(-2))&&(a+=` `),a+=`${Bs[t.sigil]}[\"${t.name}\"]`,o=t.end}return a+=e.slice(o),Us.size>=zs&&Us.delete(Us.keys().next().value),Us.set(n,a),a}var Us=new Map,Ws=500,Gs=new Map,Ks=`const {currentPassage,previousPassage,visited,hasVisited,hasVisitedAny,hasVisitedAll,rendered,hasRendered,hasRenderedAny,hasRenderedAll,random,randomInt}=__fns;`;function qs(e,t){let n=Gs.get(e);if(n)return Gs.delete(e),Gs.set(e,n),n;let r=Function(`variables`,`temporary`,`locals`,`__fns`,`transient`,Ks+t);if(Gs.set(e,r),Gs.size>Ws){let e=Gs.keys().next().value;e!==void 0&&Gs.delete(e)}return r}function Js(){let e=Q.getState();return e.storyData?.passages.get(e.currentPassage)}function Ys(){let e=Q.getState();if(e.historyIndex<=0)return;let t=e.history[e.historyIndex-1]?.passage;return t?e.storyData?.passages.get(t):void 0}function Xs(e){let t=t=>Ls(e(),t??Q.getState().currentPassage);return{count:t,has:e=>t(e)>0,any:(...e)=>e.some(e=>t(e)>0),all:(...e)=>e.every(e=>t(e)>0)}}function Zs(e,t){let n=Xs(e),r=Xs(t);return{currentPassage:Js,previousPassage:Ys,visited:n.count,hasVisited:n.has,hasVisitedAny:n.any,hasVisitedAll:n.all,rendered:r.count,hasRendered:r.has,hasRenderedAny:r.any,hasRenderedAll:r.all}}var Qs=null,$s=null,ec=null;function tc(){let{visitCounts:e,renderCounts:t}=Q.getState();return Qs&&$s===e&&ec===t?Qs:(Qs={...Zs(()=>e,()=>t),random:bs,randomInt:xs},$s=e,ec=t,Qs)}function nc(e){return js(e)?e:Object.isExtensible(e)?(Object.setPrototypeOf(e,null),e):Ms(e)}function rc(e,...[t,n,r=Ps,i=Ps]){return e(nc(t),nc(n),nc(r),tc(),nc(i))}function ic(e,...t){let n=`return (${Hs(e)}\\n);`;return rc(qs(n,n),...t)}function ac(e,...t){let n=Hs(e,`statements`);rc(qs(`exec:`+n,n),...t)}var oc=new vr;function sc(e,t){oc.set(e,t)}function cc(e){return oc.get(e)}var lc=new vr;function uc(e,t){t?lc.set(e,t):lc.delete(e)}function dc(e){return lc.get(e)}var fc=new yr;function pc(e){fc.add(e)}function mc(e){return fc.has(e)}var hc=[`expression`,`statements`,`passage`,`variable`,`string`,`text`,`names`,`delay`,`number`,`flag`,`separator`,`options`],gc=[`markup`,`text`,`passage`,`expression`,`statements`];function _c(e,t){let n=`Give a \\`string\\` or \\`text\\` parameter one of ${gc.join(`, `)} to hold (see docs/custom-macros.md#what-a-string-holds).`;for(let r of t){let t=r.type;if(!hc.includes(t))throw vc(e,r,t===void 0?`has no type`:`has the unknown type ${JSON.stringify(t)}`,`Give it one of the types ${hc.join(`, `)} (see docs/custom-macros.md#parameter-types), or declare no parameters and read props.rawArgs.`);let i=r.holds;if(i!==void 0&&t!==`string`&&t!==`text`)throw vc(e,r,`is of the type ${t}, which holds what it is`,n);if(i!==void 0&&!gc.includes(i))throw vc(e,r,`holds the unknown ${JSON.stringify(i)}`,n);r.parameters&&_c(e,r.parameters)}}function vc(e,t,n,r){return Error(`spindle: The parameter \"${t.name}\" of the macro {${e}} ${n}. ${r}`)}var yc=new vr;function bc(e,t){yc.set(e,t)}function xc(e){return yc.get(e)?.parameters}function Sc(){return Array.from(yc.values())}var Cc=new vr;function wc(e,t,n,r=!1){let i=n.filter(e=>e!==`@children`);for(let e of i)e.startsWith(`@`)&&Ds(e.slice(1),e);Cc.set(e,{body:t,params:i,isBlock:r})}function Tc(e){return Cc.get(e)}function Ec(e){return/\\s/.test(e)}function Dc(e){return e===`(`||e===`[`||e===`{`}function Oc(e){return e===`)`||e===`]`||e===`}`}function kc(e){return e.replace(/\\\\([\"'\\\\])/g,`$1`)}function Ac(e,t){let n=e[t];if(n!==`\"`&&n!==`'`)return null;let{end:r,closed:i}=Io(e,t);return i?{value:kc(e.slice(t+1,r-1)),end:r}:null}function jc(e){let t=Ac(e,0);return t&&t.end===e.length?t.value:null}function Mc(e){return/^[\"']?(.+?)[\"']?$/s.exec(e)?.[1]??e}var Nc=/(?:[-+*/%&|^!~=<>?:,.]|(?:^|[^\\w$@.])(?:typeof|void|new|delete|in|instanceof|await|yield))$/;function Pc(e){let t=-1;if(Ao(e,{code(e,n,r){r===0&&!Ec(e)&&(t=n+1)},literal(e,n,r){let i=e.startsWith(`//`)||e.startsWith(`/*`);r===0&&!i&&(t=-1)},variable(e,n,r,i){i===0&&(t=-1)}}),t<0)return!1;let n=e.slice(0,t);return/(?:\\+\\+|--)$/.test(n)?!1:Nc.test(n)}function Fc(e,t){let n=[],r=0;return Ao(e,{code(e,i,a){a>0||(Dc(e)?r++:Oc(e)?r--:r===0&&t(e)&&n.push(i))}}),n}function Ic(e,t){let n=[],r=0;for(let i of Fc(e,t))n.push(e.slice(r,i)),r=i+1;return n.push(e.slice(r)),n}function Lc(e){return Rc(e)&&!Pc(e)}function Rc(e){let t=e[0];return!!(t===`\"`||t===`'`||t===\"`\"||/^[$_@]\\w|^%[A-Za-z_]/.test(e)||/\\d/.test(t)||(t===`-`||t===`+`)&&e.length>1&&/\\d/.test(e[1])||t===`(`||t===`[`||t===`{`||/^(?:true|false|null|undefined)(?![\\w$])/.test(e)||t===`!`&&e.length>1&&e[1]!==`=`)}function zc(e){let t=Ic(e,Ec).filter(Boolean);if(t.length<2)return null;for(let e of t)if(!Lc(e))return null;return t}function Bc(e){let t=Ic(e,e=>e===`,`).map(e=>e.trim()),n=t.length>1;if(t[t.length-1]===``&&t.pop(),!n&&t.length===1){let e=zc(t[0]);if(e)return e}return t}function Vc(e){return e==null?``:String(e)}function Hc(e,t,n){return e||t?b(`span`,{id:t,class:e},n):b(S,null,n)}function Uc(e){return e.includes(`{`)||e.includes(`}`)}var Wc=new Map,Gc=2e3;function Kc(e){let t=Wc.get(e);if(t===void 0){try{t={nodes:Zo(e,{text:!0})}}catch(e){t={error:e}}Wc.size>=Gc&&Wc.clear(),Wc.set(e,t)}return t}function qc(e,t){return e.map(e=>{switch(e.type){case`text`:return{type:`text`,value:t(e.value)};case`html`:return{...e,children:qc(e.children,t)};case`macro`:{let n={...e,children:qc(e.children,t)};return e.branches&&(n.branches=e.branches.map(e=>({...e,children:qc(e.children,t)}))),n}default:return e}})}var Jc=100;function Yc(e,t,n){let r=n.split(`.`),i=r[0];Ds(i,Gn[t]+i);let a=Os(t===`variable`?e.variables:t===`temporary`?e.temporary:t===`transient`?e.transient:e.locals,i);for(let e=1;e<r.length;e++){if(a==null)return;a=a[r[e]]}return a}function Xc(e,t){return ic(e,t.variables,t.temporary,t.locals,t.transient)}var Zc=class{constructor(){this.errors=[]}nodes(e,t,n){let r=``;for(let i of e)r+=this.node(i,t,n);return r}node(e,t,n){switch(e.type){case`text`:return e.value;case`variable`:if(e.scope===`local`&&e.name===`children`){let e=t.widgetChildren;return e?this.nested(`children`,e,t,n,{widgetChildren:null}):``}return this.variable(e.scope,e.name,t);case`expression`:try{return Vc(Xc(e.expression,t))}catch(e){return this.errors.push({macro:`expression`,error:e}),``}case`html`:return this.nodes(e.children,t,n);case`macro`:return this.macro(e,t,n);default:return e}}variable(e,t,n){try{return Vc(Yc(n,e,t))}catch(n){return this.errors.push({macro:Gn[e]+t,error:n}),``}}nested(e,t,n,r,i={}){return r>=Jc?(this.errors.push({macro:e,error:Error(`markup nested too deeply (a widget using itself?)`)}),``):this.nodes(t,{...n,...i},r+1)}macro(e,t,n){if(mc(e.name))return``;let r=Tc(e.name);if(r){let i=t.locals;if(r.params.length>0){let n=e.rawArgs?Bc(e.rawArgs):[];i=K(t.locals),r.params.forEach((e,r)=>{let a,o=n[r];if(o!==void 0)try{a=Xc(o,t)}catch{a=void 0}i[e.startsWith(`@`)?e.slice(1):e]=a})}return this.nested(e.name,r.body,t,n,{locals:i,widgetChildren:e.children.length>0?e.children:null})}let i=dc(e.name);if(!i){let t=cc(e.name)?`{${e.name}} has no text form, so it can't be used in an attribute value or label`:`unknown macro {${e.name}}`;return this.errors.push({macro:e.name,error:Error(t)}),``}let a={evaluate:e=>Xc(e,t),renderText:(r,i)=>this.nested(e.name,r,t,n,i?{locals:Qc(t.locals,i)}:{})};try{return i({rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},a)}catch(t){return this.errors.push({macro:e.name,error:t}),``}}};function Qc(e,t){for(let e of Object.keys(t))Ds(e,`@${e}`);return K(e,t)}function $c(e,t){let n=new Zc;return{text:n.nodes(e,t,0),errors:n.errors}}function el(e,t){if(!Uc(e))return{text:e,errors:[]};let n=Kc(e);return`error`in n?{text:e,errors:[{macro:`markup`,error:n.error}]}:$c(n.nodes,t)}function tl(e,t,n){let r=[],i=``;for(let a of Go(e))if(`text`in a)i+=n?n(a.text):a.text;else if(`verbatim`in a)i+=a.verbatim;else if(/^[$_@%][\\w.]+$/.test(a.expr)){let e=Wn[a.expr[0]];try{i+=Vc(Yc(t,e,a.expr.slice(1)))}catch(e){r.push({macro:a.expr,error:e})}}else try{i+=Vc(Xc(a.expr,t))}catch(e){r.push({macro:`expression`,error:e})}return{text:i,errors:r}}function nl(e,t){return e instanceof Error?e.message||t||String(e):typeof e==`string`&&e!==``?e:t??String(e)}function rl(){let[e,t,n,r]=as(),i=Ie(Hf);return Pe(()=>({variables:e,temporary:t,locals:n,transient:r,widgetChildren:i}),[e,t,n,r,i])}function il(){let e=rl();return Fe(t=>{if(t===void 0||!Uc(t))return t;let{text:n,errors:r}=el(t,e);for(let{macro:e,error:n}of r)console.error(`spindle: {${e}} error in \"${t}\": ${nl(n)}`);return n},[e])}var al=0;Array.isArray;function q(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:--al,__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}var ol={variable:`variables`,temporary:`temporary`,transient:`transient`};function sl({node:e}){let{name:t,scope:n}=e,r=il(),i=r(e.className),a=r(e.id),o=Ie(Pf),s=t.split(`.`),c=s[0],l=Q(e=>n===`local`?void 0:Os(e[ol[n]],c)),u=Gn[n],d=Es(c,u+c);if(d)return q(`span`,{class:`error`,children:`{${u}${t} error: ${d}}`});let f;f=n===`local`?Os(o,c):l;for(let e=1;e<s.length;e++){if(f==null){f=void 0;break}let t=s[e];f=f[t]}return Hc(i,a,Vc(f))}function cl({node:e}){let{expression:t}=e,n=il(),r=n(e.className),i=n(e.id),[a,o,s,c]=as(),l;try{l=Vc(ic(t,a,o,s,c))}catch{l=`{error: ${t}}`}return Hc(r,i,l)}function ll(){return{nobr:Ie(If),inline:Ie(Lf),raw:Ie(Rf),locals:Ie(Pf)}}function ul({body:e,parentValues:t,ownKeys:n}){let r=ll(),[i,a]=Ae({}),o=Pe(()=>K(t,n,i),[t,n,i]),s=j(o);s.current=o;let c=Fe(()=>s.current,[]),l=Fe((e,t)=>{Ds(e,`@${e}`),s.current=Ns(s.current,e,t),a(n=>({...n,[e]:t}))},[]),u=Pe(()=>({update:l,getValues:c}),[l,c]);return q(Ff.Provider,{value:u,children:q(Pf.Provider,{value:o,children:jp(e,{...r,locals:o})})})}function dl({body:e,params:t,rawArgs:n,invocationChildren:r}){let i=ll(),a=i.locals,[o,s,c,l]=as(),u=r?.length?r:null;if(t.length===0)return q(Hf.Provider,{value:u,children:jp(e,i)});let d=n?Bc(n):[],f=[];for(let e=0;e<t.length;e++){let t=d[e],n;if(t!==void 0)try{n=ic(t,o,s,c,l)}catch{n=void 0}f.push(n)}let p=Pe(()=>{let e=K();for(let n=0;n<t.length;n++)e[t[n].startsWith(`@`)?t[n].slice(1):t[n]]=f[n];return e},f);return q(Hf.Provider,{value:u,children:q(ul,{body:e,parentValues:a,ownKeys:p})})}var fl=document.createElement(`i`);function pl(e){let t=`&`+e+`;`;fl.innerHTML=t;let n=fl.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`||n===t?!1:n}function ml(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 hl(e,t){return e.length>0?(ml(e,e.length,0,t),e):t}var gl={}.hasOwnProperty;function _l(e){let t={},n=-1;for(;++n<e.length;)vl(t,e[n]);return t}function vl(e,t){let n;for(n in t){let r=(gl.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){gl.call(r,a)||(r[a]=[]);let e=i[a];yl(r[a],Array.isArray(e)?e:e?[e]:[])}}}function yl(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);ml(e,0,0,r)}function bl(e){let t={},n=-1;for(;++n<e.length;)xl(t,e[n]);return t}function xl(e,t){let n;for(n in t){let r=(gl.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i)r[a]=i[a]}}function Sl(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 Cl={'\"':`quot`,\"&\":`amp`,\"<\":`lt`,\">\":`gt`};function wl(e){return e.replace(/[\"&<>]/g,t);function t(e){return`&`+Cl[e]+`;`}}function Tl(e){return e.replace(/[\\t\\n\\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var El=Il(/[A-Za-z]/),Dl=Il(/[\\dA-Za-z]/),Ol=Il(/[#-'*+\\--9=?A-Z^-~]/);function kl(e){return e!==null&&(e<32||e===127)}var Al=Il(/\\d/),jl=Il(/[\\dA-Fa-f]/),Ml=Il(/[!-/:-@[-`{-~]/);function J(e){return e!==null&&e<-2}function Nl(e){return e!==null&&(e<0||e===32)}function Y(e){return e===-2||e===-1||e===32}var Pl=Il(/\\p{P}|\\p{S}/u),Fl=Il(/\\s/);function Il(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Ll(e,t){let n=wl(Rl(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 Rl(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&Dl(e.charCodeAt(n+1))&&Dl(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 zl={}.hasOwnProperty,Bl=/^(https?|ircs?|mailto|xmpp)$/i,Vl=/^https?$/i;function Hl(e){let t=e||{},n=!0,r={},i=[[]],a=[],o=[],s=bl([{enter:{blockQuote:ne,codeFenced:ae,codeFencedFenceInfo:h,codeFencedFenceMeta:h,codeIndented:ce,codeText:ze,content:we,definition:ye,definitionDestinationString:xe,definitionLabelString:h,definitionTitleString:h,emphasis:Le,htmlFlow:Pe,htmlText:Ie,image:ue,label:h,link:de,listItemMarker:E,listItemValue:T,listOrdered:C,listUnordered:w,paragraph:ie,reference:h,resource:he,resourceDestinationString:ge,resourceTitleString:h,setextHeading:Ee,strong:Re},exit:{atxHeading:Oe,atxHeadingSequence:Te,autolinkEmail:qe,autolinkProtocol:Ke,blockQuote:re,characterEscapeValue:je,characterReferenceMarkerHexadecimal:We,characterReferenceMarkerNumeric:We,characterReferenceValue:Ge,codeFenced:le,codeFencedFence:se,codeFencedFenceInfo:oe,codeFencedFenceMeta:S,codeFlowValue:Ne,codeIndented:le,codeText:Be,codeTextData:je,data:je,definition:Ce,definitionDestinationString:Se,definitionLabelString:be,definitionTitleString:A,emphasis:Ve,hardBreakEscape:j,hardBreakTrailing:j,htmlFlow:Fe,htmlFlowData:je,htmlText:Fe,htmlTextData:je,image:k,label:pe,labelText:fe,lineEnding:Me,link:k,listOrdered:ee,listUnordered:D,paragraph:O,reference:S,referenceString:me,resource:S,resourceDestinationString:_e,resourceTitleString:ve,setextHeading:Ae,setextHeadingLineSequence:ke,setextHeadingText:De,strong:He,thematicBreak:Ue}},...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=hl(o,e.slice(n,t)),n=t):(a=hl(a,e.slice(n,t+1)),n=t+1));a=hl(a,o),a=hl(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];zl.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:wl(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`)?_(`>`):te(),b(),_(`<li>`),p(`expectFirstItem`),p(`lastWasTag`)}function ee(){te(),o.pop(),y(),_(`</ol>`)}function D(){te(),o.pop(),y(),_(`</ul>`)}function te(){m(`lastWasTag`)&&!m(`slurpAllLineEndings`)&&b(),_(`</li>`),p(`slurpAllLineEndings`)}function ne(){o.push(!1),b(),_(`<blockquote>`)}function re(){o.pop(),b(),_(`</blockquote>`),p(`slurpAllLineEndings`)}function ie(){o[o.length-1]||(b(),_(`<p>`)),p(`slurpAllLineEndings`)}function O(){o[o.length-1]?p(`slurpAllLineEndings`,!0):_(`</p>`)}function ae(){b(),_(`<pre><code`),p(`fencesCount`,0)}function oe(){_(` class=\"language-`+g()+`\"`)}function se(){let e=m(`fencesCount`)||0;e||(_(`>`),p(`slurpOneLineEnding`,!0)),p(`fencesCount`,e+1)}function ce(){b(),_(`<pre><code>`)}function le(){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 ue(){a.push({image:!0}),n=void 0}function de(){a.push({})}function fe(e){a[a.length-1].labelId=this.sliceSerialize(e)}function pe(){a[a.length-1].label=g()}function me(e){a[a.length-1].referenceId=this.sliceSerialize(e)}function he(){h(),a[a.length-1].destination=``}function ge(){h(),p(`ignoreEncode`,!0)}function _e(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function ve(){a[a.length-1].title=g()}function k(){let e=a.length-1,i=a[e],o=i.referenceId||i.labelId,s=i.destination===void 0?r[Tl(o)]:i;for(n=!0;e--;)if(a[e].image){n=void 0;break}i.image?(_(`<img src=\"`+Ll(s.destination,t.allowDangerousProtocol?void 0:Vl)+`\" alt=\"`),v(i.label),_(`\"`)):_(`<a href=\"`+Ll(s.destination,t.allowDangerousProtocol?void 0:Bl)+`\"`),_(s.title?` title=\"`+s.title+`\"`:``),i.image?_(` />`):(_(`>`),v(i.label),_(`</a>`)),a.pop()}function ye(){h(),a.push({})}function be(e){g(),a[a.length-1].labelId=this.sliceSerialize(e)}function xe(){h(),p(`ignoreEncode`,!0)}function Se(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function A(){a[a.length-1].title=g()}function Ce(){let e=a[a.length-1],t=Tl(e.labelId);g(),zl.call(r,t)||(r[t]=a[a.length-1]),a.pop()}function we(){p(`slurpAllLineEndings`,!0)}function Te(e){m(`headingRank`)||(p(`headingRank`,this.sliceSerialize(e).length),b(),_(`<h`+m(`headingRank`)+`>`))}function Ee(){h(),p(`slurpAllLineEndings`)}function De(){p(`slurpAllLineEndings`,!0)}function Oe(){_(`</h`+m(`headingRank`)+`>`),p(`headingRank`)}function ke(e){p(`headingRank`,this.sliceSerialize(e).charCodeAt(0)===61?1:2)}function Ae(){let e=g();b(),_(`<h`+m(`headingRank`)+`>`),v(e),_(`</h`+m(`headingRank`)+`>`),p(`slurpAllLineEndings`),p(`headingRank`)}function je(e){v(x(this.sliceSerialize(e)))}function Me(e){if(!m(`slurpAllLineEndings`)){if(m(`slurpOneLineEnding`)){p(`slurpOneLineEnding`);return}if(m(`inCodeText`)){v(` `);return}v(x(this.sliceSerialize(e)))}}function Ne(e){v(x(this.sliceSerialize(e))),p(`flowCodeSeenData`,!0)}function j(){_(`<br />`)}function Pe(){b(),Ie()}function Fe(){p(`ignoreEncode`)}function Ie(){t.allowDangerousHtml&&p(`ignoreEncode`,!0)}function Le(){_(`<em>`)}function Re(){_(`<strong>`)}function ze(){p(`inCodeText`,!0),_(`<code>`)}function Be(){p(`inCodeText`),_(`</code>`)}function Ve(){_(`</em>`)}function He(){_(`</strong>`)}function Ue(){b(),_(`<hr />`)}function We(e){p(`characterReferenceType`,e.type)}function Ge(e){let t=this.sliceSerialize(e);v(x(m(`characterReferenceType`)?Sl(t,m(`characterReferenceType`)===`characterReferenceMarkerNumeric`?10:16):pl(t))),p(`characterReferenceType`)}function Ke(e){let n=this.sliceSerialize(e);_(`<a href=\"`+Ll(n,t.allowDangerousProtocol?void 0:Bl)+`\">`),v(x(n)),_(`</a>`)}function qe(e){let t=this.sliceSerialize(e);_(`<a href=\"`+Ll(`mailto:`+t)+`\">`),v(x(t)),_(`</a>`)}}function X(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return Y(r)?(e.enter(n),s(r)):t(r)}function s(r){return Y(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}var Ul={tokenize:Wl};function Wl(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`),X(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 J(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var Gl={tokenize:ql},Kl={tokenize:Jl};function ql(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 ml(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(Kl,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(Kl,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 J(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++;ml(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 Jl(e,t,n){return X(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function Yl(e){if(e===null||Nl(e)||Fl(e))return 1;if(Pl(e))return 2}function Xl(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 Zl={name:`attention`,resolveAll:Ql,tokenize:$l};function Ql(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};eu(d,-c),eu(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=hl(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=hl(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=hl(l,Xl(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=hl(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=hl(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,ml(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 $l(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Yl(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=Yl(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 eu(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var tu={name:`autolink`,tokenize:nu};function nu(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 El(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||Dl(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||Dl(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||kl(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):Ol(t)?(e.consume(t),l):n(t)}function u(e){return Dl(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||Dl(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var ru={partial:!0,tokenize:iu};function iu(e,t,n){return r;function r(t){return Y(t)?X(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||J(e)?t(e):n(e)}}var au={continuation:{tokenize:su},exit:cu,name:`blockQuote`,tokenize:ou};function ou(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 Y(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function su(e,t,n){let r=this;return i;function i(t){return Y(t)?X(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(au,t,n)(r)}}function cu(e){e.exit(`blockQuote`)}var lu={name:`characterEscape`,tokenize:uu};function uu(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 Ml(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var du={name:`characterReference`,tokenize:fu};function fu(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=Dl,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=jl,u):(e.enter(`characterReferenceValue`),a=7,o=Al,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===Dl&&!pl(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 pu={partial:!0,tokenize:gu},mu={concrete:!0,name:`codeFenced`,tokenize:hu};function hu(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`),Y(t)?X(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||J(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(pu,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||J(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):Y(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),X(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||J(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||J(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&&Y(t)?X(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||J(t)?e.check(pu,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||J(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`),Y(t)?X(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`),Y(t)?X(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||J(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function gu(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 _u={name:`codeIndented`,tokenize:yu},vu={partial:!0,tokenize:bu};function yu(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),X(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):J(t)?e.attempt(vu,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||J(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function bu(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):X(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):J(e)?i(e):n(e)}}var xu={name:`codeText`,previous:Cu,resolve:Su,tokenize:wu};function Su(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 Cu(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function wu(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)):J(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||J(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 Tu=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&&Eu(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),Eu(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Eu(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);Eu(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);Eu(this.left,t.reverse())}}};function Eu(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 Du(e){let t={},n=-1,r,i,a,o,s,c,l,u=new Tu(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,Ou(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 ml(e,0,1/0,u.slice(0)),!l}function Ou(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 ku={resolve:ju,tokenize:Mu},Au={partial:!0,tokenize:Nu};function ju(e){return Du(e),e}function Mu(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):J(t)?e.check(Au,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 Nu(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,a,`linePrefix`)}function a(i){if(i===null||J(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 Pu(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||kl(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||J(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||Nl(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||kl(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 Fu(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):J(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||J(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||(c=!Y(t)),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function Iu(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):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||J(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 Lu(e,t){let n;return r;function r(i){return J(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):Y(i)?X(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var Ru={name:`definition`,tokenize:Bu},zu={partial:!0,tokenize:Vu};function Bu(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return Fu.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Tl(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 Nl(t)?Lu(e,l)(t):l(t)}function l(t){return Pu(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(zu,d,d)(t)}function d(t){return Y(t)?X(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||J(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function Vu(e,t,n){return r;function r(t){return Nl(t)?Lu(e,i)(t):n(t)}function i(t){return Iu(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return Y(t)?X(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||J(e)?t(e):n(e)}}var Hu={name:`hardBreakEscape`,tokenize:Uu};function Uu(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return J(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var Wu={name:`headingAtx`,resolve:Gu,tokenize:Ku};function Gu(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`},ml(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function Ku(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||Nl(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||J(n)?(e.exit(`atxHeading`),t(n)):Y(n)?X(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||Nl(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var qu=`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(`.`),Ju=[`pre`,`script`,`style`,`textarea`],Yu={concrete:!0,name:`htmlFlow`,resolveTo:Qu,tokenize:$u},Xu={partial:!0,tokenize:td},Zu={partial:!0,tokenize:ed};function Qu(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 $u(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:se):El(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):El(a)?(e.consume(a),i=4,r.interrupt?t:se):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:se):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:D:m):n(i)}function h(t){return El(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||Nl(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&Ju.includes(l)?(i=1,r.interrupt?t(s):D(s)):qu.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):D(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||Dl(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:D):n(i)}function v(t){return Y(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||El(t)?(e.consume(t),b):Y(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||Dl(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):Y(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):Y(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||J(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||Nl(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||Y(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),ee):n(t)}function ee(t){return t===null||J(t)?D(t):Y(t)?(e.consume(t),ee):n(t)}function D(t){return t===45&&i===2?(e.consume(t),ie):t===60&&i===1?(e.consume(t),O):t===62&&i===4?(e.consume(t),ce):t===63&&i===3?(e.consume(t),se):t===93&&i===5?(e.consume(t),oe):J(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(Xu,le,te)(t)):t===null||J(t)?(e.exit(`htmlFlowData`),te(t)):(e.consume(t),D)}function te(t){return e.check(Zu,ne,le)(t)}function ne(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return t===null||J(t)?te(t):(e.enter(`htmlFlowData`),D(t))}function ie(t){return t===45?(e.consume(t),se):D(t)}function O(t){return t===47?(e.consume(t),o=``,ae):D(t)}function ae(t){if(t===62){let n=o.toLowerCase();return Ju.includes(n)?(e.consume(t),ce):D(t)}return El(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),ae):D(t)}function oe(t){return t===93?(e.consume(t),se):D(t)}function se(t){return t===62?(e.consume(t),ce):t===45&&i===2?(e.consume(t),se):D(t)}function ce(t){return t===null||J(t)?(e.exit(`htmlFlowData`),le(t)):(e.consume(t),ce)}function le(n){return e.exit(`htmlFlow`),t(n)}}function ed(e,t,n){let r=this;return i;function i(t){return J(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 td(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(ru,t,n)}}var nd={name:`htmlText`,tokenize:rd};function rd(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):El(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):El(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):J(t)?(o=d,O(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?ie(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):J(t)?(o=h,O(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?ie(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?ie(t):J(t)?(o=v,O(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):J(t)?(o=y,O(t)):(e.consume(t),y)}function b(e){return e===62?ie(e):y(e)}function x(t){return El(t)?(e.consume(t),S):n(t)}function S(t){return t===45||Dl(t)?(e.consume(t),S):C(t)}function C(t){return J(t)?(o=C,O(t)):Y(t)?(e.consume(t),C):ie(t)}function w(t){return t===45||Dl(t)?(e.consume(t),w):t===47||t===62||Nl(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),ie):t===58||t===95||El(t)?(e.consume(t),E):J(t)?(o=T,O(t)):Y(t)?(e.consume(t),T):ie(t)}function E(t){return t===45||t===46||t===58||t===95||Dl(t)?(e.consume(t),E):ee(t)}function ee(t){return t===61?(e.consume(t),D):J(t)?(o=ee,O(t)):Y(t)?(e.consume(t),ee):T(t)}function D(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,te):J(t)?(o=D,O(t)):Y(t)?(e.consume(t),D):(e.consume(t),ne)}function te(t){return t===i?(e.consume(t),i=void 0,re):t===null?n(t):J(t)?(o=te,O(t)):(e.consume(t),te)}function ne(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||Nl(t)?T(t):(e.consume(t),ne)}function re(e){return e===47||e===62||Nl(e)?T(e):n(e)}function ie(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function O(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),ae}function ae(t){return Y(t)?X(e,oe,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):oe(t)}function oe(t){return e.enter(`htmlTextData`),o(t)}}var id={name:`labelEnd`,resolveAll:cd,resolveTo:ld,tokenize:ud},ad={tokenize:dd},od={tokenize:fd},sd={tokenize:pd};function cd(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&&ml(e,0,e.length,n),e}function ld(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=hl(s,e.slice(a+1,a+r+3)),s=hl(s,[[`enter`,u,t]]),s=hl(s,Xl(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=hl(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=hl(s,e.slice(o+1)),s=hl(s,[[`exit`,c,t]]),ml(e,a,e.length,s),e}function ud(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(Tl(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(ad,u,o?u:d)(t):t===91?e.attempt(od,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(sd,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function dd(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 Nl(t)?Lu(e,a)(t):a(t)}function a(t){return t===41?u(t):Pu(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return Nl(t)?Lu(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?Iu(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return Nl(t)?Lu(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 fd(e,t,n){let r=this;return i;function i(t){return Fu.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(Tl(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function pd(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 md={name:`labelStartImage`,resolveAll:id.resolveAll,tokenize:hd};function hd(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 gd={name:`labelStartLink`,resolveAll:id.resolveAll,tokenize:_d};function _d(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 vd={name:`lineEnding`,tokenize:yd};function yd(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),X(e,t,`linePrefix`)}}var bd={name:`thematicBreak`,tokenize:xd};function xd(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||J(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),Y(t)?X(e,s,`whitespace`)(t):s(t))}}var Sd={continuation:{tokenize:Ed},exit:Od,name:`list`,tokenize:Td},Cd={partial:!0,tokenize:kd},wd={partial:!0,tokenize:Dd};function Td(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:Al(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(bd,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 Al(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(ru,r.interrupt?n:u,e.attempt(Cd,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return Y(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 Ed(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(ru,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,X(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!Y(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(wd,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,X(e,e.attempt(Sd,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function Dd(e,t,n){let r=this;return X(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 Od(e){e.exit(this.containerState.type)}function kd(e,t,n){let r=this;return X(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!Y(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var Ad={name:`setextUnderline`,resolveTo:jd,tokenize:Md};function jd(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 Md(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`),Y(t)?X(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||J(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var Nd={tokenize:Pd};function Pd(e){let t=this,n=e.attempt(ru,r,e.attempt(this.parser.constructs.flowInitial,i,X(e,e.attempt(this.parser.constructs.flow,i,e.attempt(ku,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 Fd={resolveAll:zd()},Id=Rd(`string`),Ld=Rd(`text`);function Rd(e){return{resolveAll:zd(e===`text`?Bd: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 zd(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 Bd(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 Vd=t({attentionMarkers:()=>Yd,contentInitial:()=>Ud,disable:()=>Xd,document:()=>Hd,flow:()=>Gd,flowInitial:()=>Wd,insideSpan:()=>Jd,string:()=>Kd,text:()=>qd}),Hd={42:Sd,43:Sd,45:Sd,48:Sd,49:Sd,50:Sd,51:Sd,52:Sd,53:Sd,54:Sd,55:Sd,56:Sd,57:Sd,62:au},Ud={91:Ru},Wd={[-2]:_u,[-1]:_u,32:_u},Gd={35:Wu,42:bd,45:[Ad,bd],60:Yu,61:Ad,95:bd,96:mu,126:mu},Kd={38:du,92:lu},qd={[-5]:vd,[-4]:vd,[-3]:vd,33:md,38:du,42:Zl,60:[tu,nd],91:gd,92:[Hu,lu],93:id,95:Zl,96:xu},Jd={null:[Zl,Fd]},Yd={null:[42,95]},Xd={null:[]};function Zd(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=hl(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=Xl(a,l.events,l),l.events):[]}function f(e,t){return $d(p(e),t)}function p(e){return Qd(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){J(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&&ml(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 Qd(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 $d(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 ef(e){let t={constructs:_l([Vd,...(e||{}).extensions||[]]),content:n(Ul),defined:[],document:n(Gl),flow:n(Nd),lazy:{},string:n(Id),text:n(Ld)};return t;function n(e){return n;function n(n){return Zd(t,e,n)}}}function tf(e){for(;!Du(e););return e}var nf=/[\\0\\t\\n\\r]/g;function rf(){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(nf.lastIndex=u,c=nf.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 af(e,t,n){return typeof t!=`string`&&(n=t,t=void 0),Hl(n)(tf(ef(n).document().write(rf()(e,t,!0))))}var of={none:``,left:` align=\"left\"`,right:` align=\"right\"`,center:` align=\"center\"`};function sf(){return{enter:{table(e){let t=e._align;this.lineEndingIfNeeded(),this.tag(`<table>`),this.setData(`tableAlign`,t)},tableBody(){this.tag(`<tbody>`)},tableData(){let e=of[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=of[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,cf)),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`+of[e[t]]+`></td>`),t++;this.setData(`tableColumn`,t),this.lineEndingIfNeeded(),this.tag(`</tr>`)}}}}function cf(e,t){return t===`|`?t:e}var lf=class{constructor(){this.map=[]}add(e,t,n){uf(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 uf(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 df(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 ff(){return{flow:{null:{name:`table`,tokenize:pf,resolveAll:mf}}}}function pf(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):J(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):Y(t)?X(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||Nl(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,Y(t)?X(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 Y(t)?X(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||J(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 Y(t)?X(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||J(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||J(n)?(e.exit(`tableRow`),t(n)):Y(n)?X(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||Nl(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 mf(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 lf;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(gf(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=hf(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=hf(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=hf(f,t,o,i,n,d)):(o[0]=o[1],d=hf(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&gf(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=df(t.events,n))}return e}function hf(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},_f(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=_f(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=_f(t.events,n[2]),a=_f(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({},_f(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function gf(e,t,n,r,i){let a=[],o=_f(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 _f(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}function vf(){return{enter:{strikethrough(){this.tag(`<del>`)}},exit:{strikethrough(){this.tag(`</del>`)}}}}function yf(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&&ml(o,o.length,0,Xl(s,e.slice(r+1,n),t)),ml(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),ml(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=Yl(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=Yl(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}function bf(e){let t=[`codeIndented`];return e?.inline&&t.push(`list`,`headingAtx`,`setextUnderline`,`thematicBreak`,`blockQuote`,`codeFenced`,`table`),{allowDangerousHtml:!0,extensions:[ff(),yf(),{disable:{null:t}}],htmlExtensions:[sf(),vf()]}}function xf(e,t){let n=bf(t);return af(e,{...n,extensions:[...n.extensions??[],Df(e),Cf]})}var Sf=e=>{let t=e.length-2,n=e[t-1];return n&&n[0]===`exit`&&n[1].type===`data`&&(n[1].end=e[t][1].end,e.length=t),e},Cf={text:{null:{name:`textData`,tokenize(e,t){let n=this,r=this.parser.constructs.text;function i(e){if(e===null)return!0;let t=r[e]??[];return(Array.isArray(t)?t:[t]).some(e=>!e.previous||e.previous.call(n,n.previous))}function a(n){return i(n)?(e.exit(`data`),t(n)):(e.consume(n),a)}return t=>(e.enter(`data`),e.consume(t),a)},resolveTo:Sf}}},wf=/[#-'*+\\--9=?A-Z^-~]/,Tf=/[0-9A-Za-z]/,Ef=/[A-Za-z]/;function Df(e){let t=e.charCodeAt(0)===65279?1:0,n=e.lastIndexOf(`-->`),r=e.lastIndexOf(`?>`),i=e.lastIndexOf(`]]>`),a=e.lastIndexOf(`>`);function o(t){return e[t]===`<`?e.startsWith(`\\x3C!--`,t)?n<t+2:e.startsWith(`<![CDATA[`,t)?i<t+9:e[t+1]===`!`&&Ef.test(e[t+2]??``)?a<t+3:e[t+1]===`?`?r<t+2&&!s(t):!1:!1}function s(t){let n=t+1;for(;wf.test(e[n]??``);)n++;if(e[n]!==`@`)return!1;n++;let r=0,i=`atSignOrDot`;for(;;){let t=e[n]??``;if(i===`atSignOrDot`){if(!Tf.test(t))return!1;i=`label`}else if(i===`label`){if(t===`>`)return!0;t===`.`?(n++,r=0,i=`atSignOrDot`):i=`value`}else{if(!((t===`-`||Tf.test(t))&&r++<63))return!1;n++,i=t===`-`?`value`:`label`}}}let c={name:`unclosedHtml`,resolveTo:Sf,tokenize(e,n,r){let i=this.now().offset+t;return t=>t!==60||!o(i)?r(t):(e.enter(`data`),e.consume(t),e.exit(`data`),n)}};return{text:{60:c}}}function Of(e){let t=e.metadata[`data-source-file`],n=e.metadata[`data-source-line`];return t?n?` (${t}:${n})`:` (${t})`:``}function kf(){let e=Q.getState();if(!e.storyData)return``;let t=e.storyData.passages.get(e.currentPassage);return t?Of(t):``}function Af({macro:e,error:t}){return q(`span`,{class:`error`,title:String(t),children:`{${e} error${kf()}: ${nl(t)}}`})}function jf(e,t,n=kf()){console.error(`spindle: Error in {${e}}${n}:`,t)}function Mf(e,t,n){let r=j();if(r.current===void 0){r.current=null;let i=kf();try{n()}catch(n){r.current={error:n},jf(`${e} ${t}`,n,i)}}return r.current?q(Af,{macro:e,error:r.current.error}):null}var Nf={update:e=>{throw Error(`Cannot set @${e} — local variables require a {for}, widget, {link}, or {button} scope`)},getValues:()=>Ps},Pf=_e(Ps),Ff=_e(Nf),If=_e(!1),Lf=_e(!1),Rf=_e(!1),zf=_e(!1),Bf=`http://www.w3.org/2000/svg`,Vf=new Set([`pre`,`textarea`]),Hf=_e(null);function Uf(e,t){return`<span data-tw=${e}:${t}></span>`}var Wf=/(?:(?<=\\\\)\\uE000)?<span data-tw=([0-9a-z]+):(\\d+)><\\/span>/g,Gf=``;function Kf(e,t){if(!e.includes(`<span data-tw=`))return[e];let n=[],r=0;for(let i of e.matchAll(Wf))i[1]===t.nonce&&(i.index>r&&n.push(e.slice(r,i.index)),n.push(parseInt(i[2],10)),r=i.index+i[0].length);return r<e.length&&n.push(e.slice(r)),n}function qf(e,t){return Kf(e,t).map(e=>typeof e==`number`?t.components[e]:e)}function Jf({tag:e,attributes:t,placeholders:n,svg:r,children:i}){let a=rl(),o=[],{props:s,direct:c}=sp(t.map(([e,t,r])=>{let i=n[e];if(!i)return[e,t,r];let s=$c(i,a);for(let t of s.errors)o.push([e,t]);return[e,s.text,r]}),r),l=cp(c);return Xf(o,b(e,l?{...s,ref:l}:s,...i))}function Yf({tag:e,props:t,direct:n,children:r}){let i=cp(n);return b(e,{...t,ref:i},...r)}function Xf(e,t){return e.length===0?t:q(S,{children:[e.map(([e,{macro:t,error:n}],r)=>q(Af,{macro:t,error:Error(`in attribute \"${e}\": ${nl(n)}`)},r)),t]})}function Zf(e,t){if(e==null||e.nodeType!==Node.ELEMENT_NODE)return-1;let n=e.getAttribute(`data-tw`),r=`${t.nonce}:`;return n==null||!n.startsWith(r)?-1:parseInt(n.slice(r.length),10)}function Qf(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}function $f(e,t,n=!1){let r=Qf(e.trim());if(n)for(let e of Array.from(r.childNodes))e.nodeType===Node.ELEMENT_NODE&&e.nodeName===`P`&&e.replaceWith(...Array.from(e.childNodes));return q(S,{children:Array.from(r.childNodes).map((e,n)=>ep(e,n,t))})}function ep(e,t,n){if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;t.endsWith(`\\\\${Gf}`)&&Zf(e.nextSibling,n)!==-1&&(t=t.slice(0,-1));let r=qf(t,n);return r.length===1?r[0]:r}if(e.nodeType===Node.ELEMENT_NODE){let r=e,i=r.localName,a=Zf(r,n);if(a!==-1)return n.components[a];let o=r.namespaceURI===Bf,s=[],c;for(let{name:e,value:t}of Array.from(r.attributes)){s.push([e,t,t]);let r=Kf(t,n);r.every(e=>typeof e==`string`)||(c??(c={}),c[e]=r.map(e=>typeof e==`string`?{type:`text`,value:e}:n.nodes[e]))}let l=Array.from(r.childNodes).map((e,t)=>ep(e,t,n));if(c)return q(Jf,{tag:i,attributes:s,placeholders:c,svg:o,children:l},t);let{props:u,direct:d}=sp(s,o);return d.length>0?q(Yf,{tag:i,props:u,direct:d,children:l},t):b(i,{...u,key:t},...l)}return null}var tp=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(`.`)),np=new Set([`value`,`checked`,`selected`,`muted`]),rp=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`]),ip=new Set([...new Set([`key`,`ref`,`children`,`dangerouslySetInnerHTML`]),`class`,`className`]),ap=/^[A-Za-z_:][\\w:.-]*$/;function op(e,t,n){if(ap.test(t)){e.setAttribute(t,n);return}let r=Qf(`<i ${t}=\"\"></i>`).firstChild.attributes[0];if(!r)return;let i=r.cloneNode();i.value=n,e.setAttributeNode(i)}function sp(e,t){let n={},r=[];for(let[i,a,o]of e){let e=i.toLowerCase();rp.has(e)&&o!==``&&a===``||(!t&&np.has(e)?n[e]=e!==`value`&&o===``?!0:a:!ap.test(i)||e.startsWith(`on`)||e===`translate`||t&&(ip.has(i)||i===`__proto__`)?r.push([i,a]):n[t?i:i.toUpperCase()]=a)}return{props:n,direct:r}}function cp(e){let t=j(null);return Ne(()=>{let n=t.current;if(!(!n||e.length===0)){for(let[t,r]of e)op(n,t,r);return()=>{for(let[t]of e)n.removeAttribute(t)}}},[JSON.stringify(e)]),e.length>0?t:void 0}var lp=new Map;function up(e){if(!e.includes(`&`))return e;let t=lp.get(e);return t===void 0&&(t=Qf(`<i title=\"${e.replace(/\"/g,`"`)}\"></i>`).firstChild.getAttribute(`title`)??e,lp.set(e,t)),t}var dp=/\\{[$_@%]\\w/,fp=new Map,pp=2e3;function mp(e){let t=fp.get(e);return t===void 0&&(t=Kc(e),`nodes`in t&&e.includes(`&`)&&(t={nodes:qc(t.nodes,up)}),fp.size>=pp&&fp.clear(),fp.set(e,t)),t}function hp(e,t,n,r){if(Wo(e)){if(!t.includes(`&`)&&!dp.test(t))return t;let i=tl(t,n,up);for(let t of i.errors)r.push([e,t]);return i.text}if(!Uc(t))return up(t);let i=mp(t);if(`error`in i)return r.push([e,{macro:`markup`,error:i.error}]),up(t);let a=$c(i.nodes,n);for(let t of a.errors)r.push([e,t]);return a.text}function gp({node:e}){let t=rl(),{nobr:n,locals:r,raw:i,inline:a}=ll(),o=Ie(zf),s=e.tag.toLowerCase(),c=s===`svg`,l=!i&&(c||Vf.has(s)),u=[],{props:d,direct:f}=sp(Object.entries(e.attributes).map(([e,n])=>[e,hp(e,n,t,u),n]),o||c),p=cp(f);p&&(d.ref=p);let m=tp.has(s),h;e.children.length>0&&(i||l?h=Cp(e.children):(h=jp(e.children,{nobr:n,locals:r,inline:m}),m!==a&&(h=q(Lf.Provider,{value:m,children:h}))));let g=b(e.tag,d,h);return c&&!o&&(g=q(zf.Provider,{value:!0,children:g})),Xf(u,l?q(Rf.Provider,{value:!0,children:g}):g)}function _p(){let e=Ie(Hf),t=ll();return!e||e.length===0?null:q(S,{children:jp(e,t)})}var vp=new WeakMap,yp=0;function bp(e){let t=vp.get(e);return t===void 0&&(t=`n${yp++}`,vp.set(e,t)),t}function xp(e,t){if(mc(e.name))return null;let n=Tc(e.name);if(n)return q(dl,{body:n.body,params:n.params,rawArgs:e.rawArgs,invocationChildren:e.children},t);let r=cc(e.name);return r?q(r,{rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},t):q(`span`,{class:`error`,children:`{unknown macro: ${e.name}}`},t)}function Sp(e){if(e.type===`text`)return e.value;let t=bp(e);switch(e.type){case`variable`:return e.scope===`local`&&e.name===`children`?q(_p,{},t):q(sl,{node:e},t);case`expression`:return q(cl,{node:e},t);case`macro`:return xp(e,t);case`html`:return q(gp,{node:e},t);default:return e}}function Cp(e){return e.length===0?null:e.map(e=>Sp(e))}var wp=/[*_`#|~\\[>\\\\\\-+=\\r]|!\\[|\\d+[.)]|&#?[a-zA-Z0-9]+;| {2}\\n|<[!?]/,Tp=/(?:\\r\\n|\\r(?!\\n)|\\n)\\s*[\\r\\n]/,Ep=/<span data-tw=[0-9a-z]+:\\d+><\\/span>/g,Dp=` \t\\r\n`;function Op(e,t,n,r){let i=t;if(n===1)for(;i<e.length&&r.includes(e[i]);)i++;else for(;i>0&&r.includes(e[i-1]);)i--;return i}function kp(e){return e.includes(`\n`)?e.split(`\n`).map((e,t,n)=>{let r=t===0?0:Op(e,0,1,` \t`),i=t===n.length-1?e.length:Op(e,e.length,-1,` \t`);return e.slice(r,Math.max(r,i))}).join(`\n`):e}function Ap(e,t,n){let r=qf(kp(e),t).filter(e=>e!==``);return n?q(S,{children:r}):b(`p`,null,...r)}function jp(e,t){if(e.length===0)return null;if(t?.raw)return Cp(e);if(!e.some(e=>e.type===`text`&&(e.value.trim()!==``||Tp.test(e.value))))return e.map(e=>Sp(e));let n=[],r={nonce:Math.random().toString(36).slice(2,10)||`0`,components:n,nodes:[]},i=``;for(let t=0;t<e.length;t++){let a=e[t];if(a.type===`text`){i+=a.value;continue}let o=n.length;n.push(Sp(a)),r.nodes.push(a),i.endsWith(`\\\\`)&&(i+=Gf),i+=Uf(r.nonce,o)}let a=!!(t?.nobr||t?.inline),o=i.slice(0,Op(i,0,1,Dp)),s=o.length===i.length?``:i.slice(Op(i,i.length,-1,Dp)),c=i.slice(o.length,i.length-s.length),l=e=>a&&(o||s)?q(S,{children:[o,e,s]}):e,u=i.replace(Ep,``);return!wp.test(u)&&!Tp.test(u)?l(Ap(c,r,a)):l($f(xf(i,{inline:t?.inline}),r,a))}var Mp=2**32-1,Np=Mp-1,Pp=class extends Error{constructor(e,t,n,r){super(e),this.name=`DevalueError`,this.path=t.join(``),this.value=n,this.root=r}},Fp=Symbol();function Ip(e,t){let n=[];for(let r=0;r<e.length;r+=1){let i=e[r];i===Fp?n.push(`.get(${t(e[++r])})`):typeof i==`number`?n.push(`[${i}]`):n.push(Yp(i))}return n}var Lp=Object.getOwnPropertyNames(Object.prototype).sort().join(`\\0`);function Rp(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\\0`)===Lp}function zp(e){return Object.prototype.toString.call(e).slice(8,-1)}function Bp(e){return typeof Buffer<`u`&&Buffer.isBuffer(e)}function Vp(e){switch(e){case`\"`:return`\\\\\"`;case`<`:return`\\\\u003C`;case`\\\\`:return`\\\\\\\\`;case`\n`:return`\\\\n`;case`\\r`:return`\\\\r`;case`\t`:return`\\\\t`;case`\\b`:return`\\\\b`;case`\\f`:return`\\\\f`;case`\\u2028`:return`\\\\u2028`;case`\\u2029`:return`\\\\u2029`;default:return e<` `?`\\\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`:``}}var Hp=/[\"<\\\\\\u0000-\\u001f\\u2028\\u2029]/;function Up(e){if(!Hp.test(e)&&e.isWellFormed())return`\"${e}\"`;let t=``,n=0,r=e.length;for(let i=0;i<r;i+=1){let a=e.charCodeAt(i);if(a>=55296&&a<=57343){if(a<=56319&&i+1<r&&(e.charCodeAt(i+1)&64512)==56320){i+=1;continue}t+=e.slice(n,i)+`\\\\u${a.toString(16)}`,n=i+1;continue}let o=Vp(e[i]);o&&(t+=e.slice(n,i)+o,n=i+1)}return`\"${n===0?e:t+e.slice(n)}\"`}var Wp=64,Gp=new Map;function Kp(e){if(e.length>Wp)return Up(e);let t=Gp.get(e);return t===void 0&&(Gp.size>=1024&&Gp.clear(),t=Up(e),Gp.set(e,t)),t}function qp(e){let t=Object.getOwnPropertySymbols(e);return t.length===0?t:t.filter(t=>Object.getOwnPropertyDescriptor(e,t)?.enumerable)}var Jp=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Yp(e){return Jp.test(e)?`.`+e:`[`+JSON.stringify(e)+`]`}function Xp(e){return!(!Number.isInteger(e)||e<0||e>Np)}function Zp(e){return!(!Number.isInteger(e)||e<0||e>Mp)}function Qp(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return Xp(+e)}function $p(e){for(var t=e.length-1;t>=0&&!Qp(e[t]);t--);return t+1}function em(e){let t=Object.keys(e);return t.length=$p(t),t}function tm(e){return new Uint8Array(e).toBase64()}function nm(e){return Uint8Array.fromBase64(e).buffer}function rm(e){return Buffer.from(e).toString(`base64`)}function im(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function am(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r){let i=t.subarray(e,e+r);n+=String.fromCharCode.apply(null,i)}return btoa(n)}function om(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var sm=typeof Uint8Array.fromBase64==`function`,cm=typeof process==`object`&&process.versions?.node!==void 0,lm=sm?tm:cm?rm:am,um=sm?nm:cm?im:om;function dm(e,t){if(!t)return e;let n={};for(let r of Object.keys(e))n[r]=t[r]??e[r];return n}var fm=Object.freeze({kind:`not-plain`}),pm=Object.freeze({kind:`symbol-keys`}),mm=Object.freeze({identify:e=>e,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>zp(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>(Bp(e)&&(e=new Uint8Array(e)),{buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>em(e),shapeOf:e=>Rp(e)?qp(e).length>0?pm:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:fm,get:(e,t)=>e[t]}),hm=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,`byteLength`)?.get,gm=typeof SharedArrayBuffer>`u`?void 0:Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,`byteLength`)?.get,_m=Object.freeze({fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e===`URL`?new URL(t):e===`URLSearchParams`?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,n,r)=>{try{hm.call(t)}catch(e){if(!gm)throw e;gm.call(t)}let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[Np]=void 0,delete t[Np],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});function vm(){throw Error(`Invalid input`)}function ym(e,t,n){return bm(JSON.parse(e),t,n)}function bm(e,t,n){let r=dm(_m,n?.operations);if(typeof e==`number`)return c(e,!0);(!Array.isArray(e)||e.length===0)&&vm();let i=e,a=Array(i.length),o=null;function s(e){return(!Xp(e)||e>=i.length)&&vm(),i[e]}function c(e,n=!1){if(e===-1)return r.fromPrimitive(void 0);if(e===-3)return r.fromPrimitive(NaN);if(e===-4)return r.fromPrimitive(1/0);if(e===-5)return r.fromPrimitive(-1/0);if(e===-6)return r.fromPrimitive(-0);if((n||typeof e!=`number`)&&vm(),e in a)return a[e];e>=i.length&&vm();let l=i[e];if(!l||typeof l!=`object`)a[e]=r.fromPrimitive(l);else if(Array.isArray(l))if(typeof l[0]==`string`){let n=l[0],u=t&&Object.hasOwn(t,n)?t[n]:void 0;if(u){let t=l[1];if(typeof t!=`number`&&(t=i.push(l[1])-1),Object.hasOwn(a,t))return a[e]=u(a[t]);if(o??(o=new Set),o.has(t))throw Error(`Invalid circular reference`);return o.add(t),a[e]=u(c(t)),o.delete(t),a[e]}switch(n){case`Date`:a[e]=r.fromISOString(l[1]);break;case`Set`:let t=r.createSet();a[e]=t;for(let e=1;e<l.length;e+=1)r.addValue(t,c(l[e]));break;case`Map`:let i=r.createMap();a[e]=i;for(let e=1;e<l.length;e+=2)r.addEntry(i,c(l[e]),c(l[e+1]));break;case`RegExp`:a[e]=r.fromRegExpInfo(l[1],l[2]);break;case`Object`:{let t=l[1];if(!(t===-3||t===-4||t===-5||t===-6)){let e=s(t),n=Array.isArray(e)&&e[0]===`BigInt`;(e===void 0||typeof e==`object`)&&!n&&vm()}a[e]=r.box(c(t));break}case`BigInt`:a[e]=r.fromPrimitive(BigInt(l[1]));break;case`null`:let o=r.createNullPrototypeObject();a[e]=o;for(let e=1;e<l.length;e+=2){let t=l[e];if(typeof t!=`string`)throw Error(`Cannot parse an object with a non-string key`);if(t===`__proto__`)throw Error(\"Cannot parse an object with a `__proto__` property\");r.set(o,t,c(l[e+1]))}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{let t=l[1],i=s(t);(!Array.isArray(i)||i[0]!==`ArrayBuffer`)&&vm();let o=c(t);a[e]=r.fromViewInfo(n,o,l[2],l[3]);break}case`ArrayBuffer`:{let t=l[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);a[e]=r.fromArrayBuffer(um(t));break}case`URL`:case`URLSearchParams`:case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:a[e]=r.fromStringValue(n,l[1]);break;default:throw Error(`Unknown type ${n}`)}}else if(l[0]===-7){let t=l[1];Zp(t)||vm();let n=r.createSparseArray(t);a[e]=n;for(let e=2;e<l.length;e+=2){let i=l[e];(!Xp(i)||i>=t)&&vm(),r.set(n,i,c(l[e+1]))}}else{let t=r.createArray(l.length);a[e]=t;for(let e=0;e<l.length;e+=1){let n=l[e];n!==-2&&r.set(t,e,c(n))}}else{let t=r.createObject();a[e]=t;for(let e of Object.keys(l)){if(e===`__proto__`)throw Error(\"Cannot parse an object with a `__proto__` property\");r.set(t,e,c(l[e]))}}return a[e]}return c(0)}function xm(e,t,n){let r=Sm(!1,e,t,n);return typeof r==`string`?r:`[${r.join(`,`)}]`}function Sm(e,t,n,r){let i=dm(mm,r?.operations),a=[],o=new Map,s=[];if(n)for(let e of Object.getOwnPropertyNames(n))s.push({key:e,fn:n[e]});let c=[],l=0;function u(e,n){throw new Pp(e,Ip(c,e=>{let t=i.typeOf(e);return t!==`object`&&t!==`function`&&t!==`symbol`?Cm(i.toPrimitive(e)):`...`}),n,t)}function d(t,n){let r=i.typeOf(t);if(r===`undefined`)return-1;let f;if(r===`number`){if(f=i.toPrimitive(t),Number.isNaN(f))return-3;if(f===1/0)return-4;if(f===-1/0)return-5;if(f===0&&1/f<0)return-6}let p=i.identify(t);if(o.has(p))return o.get(p);n??(n=l++),o.set(p,n);for(let{key:e,fn:r}of s){let i=r(t);if(i)return a[n]=`[\"${e}\",${d(i)}]`,n}r===`function`?u(`Cannot stringify a function`,t):r===`symbol`&&u(`Cannot stringify a Symbol primitive`,t);let m=``;if(r!==`object`)m=Cm(r===`number`?f:i.toPrimitive(t));else if(i.isThenable(t)){e||u(`Cannot stringify a Promise or thenable — use stringifyAsync instead`,t);let r=c.slice();m=i.toPromise(t).then(e=>{c=r;let t=d(e,n);t<0&&(a[n]=t)}),m.catch(()=>{})}else{let e=i.tagOf(t);switch(e){case`Number`:case`String`:case`Boolean`:case`BigInt`:m=`[\"Object\",${d(i.unbox(t))}]`;break;case`Date`:m=`[\"Date\",\"${i.toISOString(t)}\"]`;break;case`URL`:m=`[\"URL\",${Up(i.toStringValue(t))}]`;break;case`URLSearchParams`:m=`[\"URLSearchParams\",${Up(i.toStringValue(t))}]`;break;case`RegExp`:let{source:n,flags:r}=i.regExpInfo(t);m=r?`[\"RegExp\",${Up(n)},\"${r}\"]`:`[\"RegExp\",${Up(n)}]`;break;case`Array`:{let e=!1,n=i.lengthOf(t);m=`[`;for(let r=0;r<n;r+=1)if(r>0&&(m+=`,`),i.hasOwn(t,r))c.push(r),m+=d(i.get(t,r)),c.pop();else if(e)m+=-2;else{let r=i.indicesOf(t),a=r.length,o=String(n).length;if((n-a)*3>4+o+a*(o+1)){m=`[-7,`+n;for(let e=0;e<r.length;e++){let n=r[e];c.push(+n),m+=`,`+n+`,`+d(i.get(t,n)),c.pop()}break}else e=!0,m+=-2}m+=`]`;break}case`Set`:m=`[\"Set\"`;for(let e of i.valuesOf(t))m+=`,${d(e)}`;m+=`]`;break;case`Map`:m=`[\"Map\"`;for(let[e,n]of i.entriesOf(t))c.push(Fp,e),m+=`,${d(e)},${d(n)}`,c.pop(),c.pop();m+=`]`;break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:{let n=i.viewInfo(t);m=`[\"`+e+`\",`+d(n.buffer),n.byteLength!==n.bufferByteLength&&(m+=`,${n.byteOffset},${n.length}`),m+=`]`;break}case`DataView`:{let n=i.viewInfo(t);m=`[\"`+e+`\",`+d(n.buffer),n.byteLength!==n.bufferByteLength&&(m+=`,${n.byteOffset},${n.byteLength}`),m+=`]`;break}case`ArrayBuffer`:m=`[\"ArrayBuffer\",\"${lm(i.toArrayBuffer(t))}\"]`;break;case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:m=`[\"${e}\",${Up(i.toStringValue(t))}]`;break;default:{let e=i.shapeOf(t);if(e.kind===`not-plain`&&u(`Cannot stringify arbitrary non-POJOs`,t),e.kind===`symbol-keys`&&u(`Cannot stringify POJOs with symbolic keys`,t),e.kind===`null-proto`){m=`[\"null\"`;for(let n of e.keys)n===`__proto__`&&u(`Cannot stringify objects with __proto__ keys`,t),c.push(n),m+=`,${Kp(n)},${d(i.get(t,n))}`,c.pop();m+=`]`}else{m=`{`;let n=!1;for(let r of e.keys)r===`__proto__`&&u(`Cannot stringify objects with __proto__ keys`,t),n&&(m+=`,`),n=!0,c.push(r),m+=`${Kp(r)}:${d(i.get(t,r))}`,c.pop();m+=`}`}}}}return a[n]=m,n}let f=d(t);return f<0?`${f}`:a}function Cm(e){let t=typeof e;return t===`string`?Up(e):e===void 0?`-1`:e===0&&1/e<0?`-6`:t===`bigint`?`[\"BigInt\",\"${e}\"]`:String(e)}var wm=new Map,Tm=new Map;function Em(e,t){wm.set(e,t),Tm.set(t,e)}function Dm(e){let t=Object.getPrototypeOf(e);return t===null?void 0:Tm.get(t.constructor)}var Om=`c:`,km=`E:`,Am=`S`,jm=`K`,Mm=new Map([Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.AggregateError].map(e=>[e.prototype,e.name])),Nm=new Map([...Mm].map(([e,t])=>[t,e.constructor])),Pm=[`message`,`cause`,`errors`],Fm=e=>typeof e==`object`&&!!e,Im=(e,t,n)=>{Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0})};function Lm(e){if(Object.getOwnPropertySymbols(e).length>0)throw TypeError(`spindle: Cannot save an object with symbol keys`)}function Rm(e){Lm(e);let t={};if(e instanceof Error)for(let n of Pm)G(e,n)&&Im(t,n,e[n]);for(let n of Object.keys(e))Im(t,n,e[n]);return t}function zm(e){for(let t of Pm)G(e,t)&&Object.defineProperty(e,t,{enumerable:!1})}var Bm=e=>e.length===1&&JSON.stringify(e).length>3;function Vm(){let e={};for(let[t,n]of wm)e[Om+t]=e=>Fm(e)&&Object.getPrototypeOf(e)===n.prototype&&Rm(e);for(let[t,n]of Mm)e[km+n]=e=>Fm(e)&&Object.getPrototypeOf(e)===t&&Rm(e);return e[Am]=e=>{if(typeof e!=`symbol`)return!1;let t=Symbol.keyFor(e);return t!==void 0&&[t]},e[jm]=e=>{if(!Fm(e)||Object.getPrototypeOf(e)!==Object.prototype)return!1;let t=Object.keys(e);if(!t.some(Bm))return!1;if(Lm(e),t.includes(`__proto__`))throw TypeError(`spindle: Cannot save a property named \"__proto__\"`);return t.flatMap(t=>[t,e[t]])},e}function Hm(e){return t=>{if(!Fm(t)||Object.getPrototypeOf(t)!==Object.prototype){if(Fm(t)&&Dm(t)===e)return t;throw TypeError(`spindle: Malformed data for class \"${e}\"`)}let n=wm.get(e);if(!n)throw TypeError(`spindle: The save holds an instance of class \"${e}\", which is not registered`);return Object.setPrototypeOf(t,n.prototype),t instanceof Error&&zm(t),t}}function Um(e){let t=Nm.get(e);if(t)return n=>{if(Object.getPrototypeOf(n)===t.prototype)return n;if(!Fm(n)||Object.getPrototypeOf(n)!==Object.prototype)throw TypeError(`spindle: Malformed data for \"${e}\"`);return Object.setPrototypeOf(n,t.prototype),zm(n),n}}var Wm=new WeakMap;function Gm(e){if(!Array.isArray(e)||e.length%2!=0)throw TypeError(`spindle: Malformed object entries`);let t=Wm.get(e);t||Wm.set(e,t={});for(let n=0;n<e.length&&G(e,n);n+=2){let r=e[n];if(typeof r!=`string`||r===`__proto__`)throw TypeError(`spindle: Malformed object entries`);Im(t,r,G(e,n+1)?e[n+1]:void 0)}return t}var Km=new Proxy({},{getOwnPropertyDescriptor(e,t){let n=qm(t);return n&&{value:n,enumerable:!0,configurable:!0}},get:(e,t)=>qm(t)});function qm(e){if(typeof e==`string`){if(e===Am)return e=>{if(!Array.isArray(e)||typeof e[0]!=`string`)throw TypeError(`spindle: Malformed symbol`);return Symbol.for(e[0])};if(e===jm)return Gm;if(e.startsWith(Om))return Hm(e.slice(2));if(e.startsWith(km))return Um(e.slice(2))}}function Jm(e,t){if(!(e instanceof Error)||e.name!==`DevalueError`)return e instanceof Error?e:Error(String(e));let{path:n,value:r}=e,i=n?` (at ${n})`:``,a=e.message;return typeof r==`function`?a=`Cannot save a function`:Fm(r)&&/non-POJO/.test(e.message)?a=`Cannot save an instance of class \"${Object.getPrototypeOf(r)?.constructor?.name??`?`}\", which is not registered (see Story.registerClass)`:typeof r==`symbol`?a=`Cannot save a unique symbol (only Symbol.for() symbols)`:/symbolic keys/.test(e.message)?a=`Cannot save an object with symbol keys`:/__proto__/.test(e.message)&&(a=`Cannot save a property named \"__proto__\"`),TypeError(`spindle: ${a}${i}`)}function Ym(e){try{return xm(e,Vm())}catch(t){throw Jm(t,e)}}function Xm(e){return ym(e,Km)}var Zm=class extends Error{constructor(){super(`This save was made by an incompatible version of Spindle`),this.name=`IncompatibleSaveError`}},Qm={};function $m(e){if(typeof e!=`number`||!Number.isInteger(e)||e<1||e>1)throw new Zm}function eh(e,t){$m(e);let n=t;for(let t=e;t<1;t++){let e=Qm[t];if(!e)throw new Zm;n=e(n)}return n}var th=e=>e&&new Map(Object.entries(e));function nh(e){if(!(e instanceof TypeError))return e;let t=e.message.replace(/\\(at \\.variables(?=[.[]|\\))/,`(at $`).replace(/\\(at \\.history\\[(\\d+)\\]\\.variables(.*)\\)$/,(e,t,n)=>`(at $${n} in history moment ${t})`).replace(/\\(at \\$\\.?/,`(at $`);return t===e.message?e:TypeError(t)}function rh(e){try{return{formatVersion:1,data:Ym({...e,visitCounts:th(e.visitCounts),renderCounts:th(e.renderCounts)})}}catch(e){throw nh(e)}}var ih=()=>Error(`Invalid save data`);function ah(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function oh(e){return e==null?!0:ah(e)&&typeof e.seed==`string`&&typeof e.pull==`number`&&Number.isInteger(e.pull)&&e.pull>=0}var sh=e=>ah(e)&&typeof e.passage==`string`&&ah(e.variables)&&typeof e.timestamp==`number`&&oh(e.prng),ch=e=>e===void 0||e instanceof Map&&[...e.keys()].every(e=>typeof e==`string`);function lh(e){if(!ah(e)||typeof e.passage!=`string`||!ah(e.variables))return!1;let{history:t,historyIndex:n}=e;return!Array.isArray(t)||t.length===0||!Array.from(t).every(sh)||typeof n!=`number`||!Number.isInteger(n)||n<0||n>=t.length||t[n].passage!==e.passage?!1:ch(e.visitCounts)&&ch(e.renderCounts)&&oh(e.prng)}var uh=e=>e instanceof Map?Rs(Object.fromEntries(e)):void 0;function dh(e){if(typeof e!=`object`||!e)throw ih();let{formatVersion:t,data:n}=e;if($m(t),typeof n!=`string`)throw ih();let r=Xm(eh(t,n));if(!lh(r))throw ih();let i={...r,visitCounts:uh(r.visitCounts),renderCounts:uh(r.renderCounts)};return i.visitCounts===void 0&&delete i.visitCounts,i.renderCounts===void 0&&delete i.renderCounts,i}var fh=`Invalid save file format`;function ph(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var mh=[`id`,`passage`,`ifid`,`playthroughId`,`createdAt`,`updatedAt`,`title`];function hh(e){let t=console.warn;console.warn=()=>{};try{dh(e)}finally{console.warn=t}}function gh(e){if(!ph(e))throw Error(fh);if(!G(e,`formatVersion`))throw e.version===1?new Zm:Error(fh);if($m(e.formatVersion),typeof e.ifid!=`string`)throw Error(fh);let t=e.save;if(!ph(t)||!ph(t.meta))throw Error(fh);let n=t.meta;if(mh.some(e=>typeof n[e]!=`string`))throw Error(fh);try{hh(t.payload)}catch(e){throw e instanceof Zm?e:Error(fh)}}function _h(e){try{return gh(e),!0}catch{return!1}}function vh(e){return JSON.stringify(e).length}function yh(e){return{saves:e(`saves`,{ifid:e=>e.meta.ifid,playthroughId:e=>e.meta.playthroughId}),playthroughs:e(`playthroughs`,{ifid:e=>e.ifid}),meta:e(`meta`,{})}}var bh={autosave:`autosave.`,slot:`slot.`,slotIndex:`slotIndex.`,playthroughCount:`playthroughCount.`,currentPlaythrough:`currentPlaythroughId.`};function xh(e,t){let{slot:n,...r}=bh;return Object.values(r).some(n=>e===n+t)||e.startsWith(n)&&e.endsWith(`.${t}`)}function Sh(e,{saves:t,playthroughs:n,meta:r},i){async function a(e,t,n,r){let i=(await e.find(n,r)).map(t);for(let t of i)await e.delete(t);return i}async function o(e){for(let t of await r.keys())e(t)&&await r.delete(t)}let s=e=>e.meta.id,c=e=>e.id;return{type:e,putSave:e=>t.put(e.meta.id,e),getSave:e=>t.get(e),deleteSave:e=>t.delete(e),getSavesByIfid:e=>t.find(`ifid`,e),deleteSavesByIfid:async e=>{await a(t,s,`ifid`,e)},deleteSavesByPlaythrough:e=>a(t,s,`playthroughId`,e),putPlaythrough:e=>n.put(e.id,e),getPlaythroughsByIfid:e=>n.find(`ifid`,e),deletePlaythroughsByIfid:async e=>{await a(n,c,`ifid`,e)},deletePlaythroughById:e=>n.delete(e),getMeta:e=>r.get(e),setMeta:(e,t)=>r.put(e,t),deleteMeta:e=>r.delete(e),deleteMetaByPrefix:e=>o(t=>t.startsWith(e)),deleteMetaByIfid:e=>o(t=>xh(t,e)),getAllMetaKeys:()=>r.keys(),destroy:i}}function Ch(){let e=e=>structuredClone(e),t=[];function n(n,r){let i=new Map;return t.push(i),{get:async t=>e(i.get(t)),put:async(t,n)=>{i.set(t,e(n))},delete:async e=>{i.delete(e)},find:async(t,n)=>[...i.values()].filter(e=>r[t](e)===n).map(e),keys:async()=>[...i.keys()]}}return Sh(`memory`,yh(n),async()=>{for(let e of t)e.clear()})}var wh={saves:`spindle.save.`,playthroughs:`spindle.pt.`,meta:`spindle.meta.`},Th={\"saves.ifid\":`spindle.idx.saves.`,\"saves.playthroughId\":`spindle.idx.saves-pt.`,\"playthroughs.ifid\":`spindle.idx.pt.`};function Eh(e){let t=localStorage.getItem(e);if(t!==null)try{return JSON.parse(t)}catch{return}}function Dh(e,t){localStorage.setItem(e,JSON.stringify(t))}function Oh(e){localStorage.removeItem(e)}function kh(e){return Eh(e)??[]}function Ah(e,t){let n=kh(e);n.includes(t)||(n.push(t),Dh(e,n))}function jh(e,t){let n=kh(e).filter(e=>e!==t);n.length>0?Dh(e,n):Oh(e)}var Mh=e=>Object.keys(localStorage).filter(t=>t.startsWith(e));function Nh(){function e(e,t){let n=wh[e],r=Object.entries(t).map(([t,n])=>({field:t,read:n,prefix:Th[`${e}.${t}`]})),i=e=>r.map(t=>`${t.prefix}${t.read(e)}`);return{get:async e=>Eh(`${n}${e}`),async put(e,t){let r=Eh(`${n}${e}`),a=i(t);if(r!==void 0)for(let t of i(r))a.includes(t)||jh(t,e);Dh(`${n}${e}`,t);for(let t of a)Ah(t,e)},async delete(e){let t=Eh(`${n}${e}`);if(t!==void 0)for(let n of i(t))jh(n,e);Oh(`${n}${e}`)},async find(e,t){let i=r.find(t=>t.field===e),a=[];for(let e of kh(`${i.prefix}${t}`)){let t=Eh(`${n}${e}`);t!==void 0&&a.push(t)}return a},keys:async()=>Mh(n).map(e=>e.slice(n.length))}}return Sh(`localstorage`,yh(e),async()=>{for(let e of Mh(`spindle.`))Oh(e)})}var Ph=`spindle`,Fh=1,Ih={saves:{keyPath:`meta.id`,indexes:{ifid:`meta.ifid`,playthroughId:`meta.playthroughId`}},playthroughs:{keyPath:`id`,indexes:{ifid:`ifid`}},meta:{keyPath:`key`,indexes:{}}};function Lh(){let e=null;function t(){return e||(e=new Promise((t,n)=>{let r=indexedDB.open(Ph,Fh);r.onupgradeneeded=()=>{let e=r.result;for(let[t,{keyPath:n,indexes:r}]of Object.entries(Ih)){if(e.objectStoreNames.contains(t))continue;let i=e.createObjectStore(t,{keyPath:n});for(let[e,t]of Object.entries(r))i.createIndex(e,t,{unique:!1})}},r.onsuccess=()=>{let n=r.result;n.onversionchange=()=>{n.close(),e=null},t(n)},r.onerror=()=>n(r.error)}),e)}function n(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function r(e){let r=e===`meta`,i=async(r,i)=>{let a=(await t()).transaction(e,r),o=n(i(a.objectStore(e)));if(r===`readonly`)return o;let s=new Promise((e,t)=>{a.oncomplete=()=>e(),a.onabort=()=>t(a.error??new DOMException(`Transaction aborted`,`AbortError`))}),[c]=await Promise.all([o,s]);return c};return{async get(e){let t=await i(`readonly`,t=>t.get(e));return r?t?.value:t},async put(e,t){await i(`readwrite`,n=>n.put(r?{key:e,value:t}:t))},async delete(e){await i(`readwrite`,t=>t.delete(e))},async find(e,t){return await i(`readonly`,n=>n.index(e).getAll(t))??[]},keys:async()=>await i(`readonly`,e=>e.getAllKeys())}}return Sh(`indexeddb`,yh(r),async()=>{(await t()).close(),e=null,await new Promise((e,t)=>{let n=indexedDB.deleteDatabase(Ph);n.onsuccess=()=>e(),n.onerror=()=>t(n.error),n.onblocked=()=>t(Error(`Cannot clear the saved data: another tab or window of this site still has it open. Close the other tabs and try again.`))})})}var Rh=null;async function zh(){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)}),Lh()}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 Nh()}catch{}return Ch()}var Bh=null;function Z(){if(Rh)return Promise.resolve(Rh);if(!Bh){let e=zh().then(t=>(Bh===e&&(Rh=t),t));Bh=e}return Bh}function Vh(){Rh=null,Bh=null}function Hh(){return Rh?.type??`memory`}var Uh=e=>Object.prototype.toString.call(e).slice(8,-1),Wh=e=>Uh(e).startsWith(`Temporal.`),Gh=e=>e instanceof Number||e instanceof String||e instanceof Boolean||Uh(e)===`BigInt`;function Kh(e){return e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof URL||e instanceof URLSearchParams||e instanceof Error||Gh(e)||Wh(e)}function qh(e){if(!Kh(e))return;let t=e instanceof Error?`Error`:Uh(e);return`${/^[AEIOU]/.test(t)?`an`:`a`} ${t}`}function Jh(e,t){let n=e;for(let e of t){if(n==null||e in Object.prototype&&!G(Object(n),e))return;n=n[e]}return n}var Yh=e=>e===`length`||/^(0|[1-9]\\d*)$/.test(e),Xh=qh;function Zh(e){let t=Array.isArray(e)?Array(e.length):Object.create(Object.getPrototypeOf(e));for(let n of Object.keys(e))Object.defineProperty(t,n,{value:e[n],enumerable:!0,writable:!0,configurable:!0});return t}function Qh(e,t,n,r={}){let i=ng(e,t,r.createMissing??!1);i[t[t.length-1]]=n}function $h(e,t){let n=t[t.length-1];eg(t);let r=e;for(let e of t.slice(0,-1)){if(typeof r!=`object`||!r||!G(r,e))return;r=r[e]}if(typeof r!=`object`||!r||!G(r,n))return;let i=ng(e,t,!1);if(Array.isArray(i)&&Mt(i)&&t.length>1){let r=Rn(i).slice();delete r[Number(n)];let a=ng(e,t.slice(0,-1),!1);a[t[t.length-2]]=r;return}delete i[n]}function eg(e){if(e.includes(`__proto__`))throw TypeError(`spindle: Cannot use \"__proto__\" in a variable path (\"${e.join(`.`)}\")`)}function tg(e,t,n,r){let i=Xh(e)??(Array.isArray(e)&&!Yh(t)?`an array`:``);if(i)throw TypeError(`spindle: Cannot set property \"${t}\" on ${i} (at \"${n.slice(0,r).join(`.`)}\")`)}function ng(e,t,n){eg(t);let r=Mt(e),i=e;for(let e=0;e<t.length-1;e++){let a=t[e];tg(i,a,t,e);let o=G(i,a)?i[a]:void 0;if(typeof o!=`object`||!o){if(!n)throw TypeError(`spindle: Cannot set property \"${t[e+1]}\" on ${o===null?`null`:typeof o} (at \"${t.slice(0,e+1).join(`.`)}\")`);o={},i[a]=o}else r&&!Mt(o)&&!Xh(o)&&(o=Zh(o),i[a]=o);i=o}return tg(i,t[t.length-1],t,t.length-1),i}function rg(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}var ig=[`message`,`cause`,`errors`];function ag(e,t={}){let n=t.seen??new Map,r=(e,t)=>(n.set(e,t),t);function i(e,t){for(let n of Object.keys(e))ks(t,n,s(e[n]));for(let n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=s(e[n]));return t}function a(e){if(e instanceof Date)return r(e,new Date(e.getTime()));if(e instanceof RegExp)return r(e,new RegExp(e.source,e.flags));if(e instanceof ArrayBuffer)return r(e,e.slice(0));if(ArrayBuffer.isView(e)){let t=s(e.buffer);if(e instanceof DataView)return r(e,new DataView(t,e.byteOffset,e.byteLength));let n=e.constructor,i=e.length;return r(e,new n(t,e.byteOffset,i))}if(e instanceof URL)return r(e,new URL(e.href));if(e instanceof URLSearchParams)return r(e,new URLSearchParams(e));if(Gh(e))return r(e,Object(e.valueOf()));if(Wh(e))return e;if(e instanceof Error){let t=r(e,Object.create(Object.getPrototypeOf(e)));for(let n of[...ig,`stack`])if(G(e,n)){let r=e[n];Object.defineProperty(t,n,{value:o(s(r),r),writable:!0,configurable:!0})}return i(e,t)}}function o(e,n){let r=t.settle;return r&&dg(e)&&dg(n)?r(e,n):e}function s(e){if(typeof e!=`object`||!e)return e;let c=e;if(n.has(c))return n.get(c);if(Array.isArray(e)){let t=r(c,Array(e.length));for(let n=0;n<e.length;n++)n in e&&(t[n]=s(e[n]));return t}if(e instanceof Map){let t=r(c,new Map);for(let[n,r]of e)t.set(o(s(n),n),s(r));return t}if(e instanceof Set){let t=r(c,new Set);for(let n of e)t.add(o(s(n),n));return t}let l=a(c);if(l!==void 0)return l;let u=Dm(c)!==void 0||rg(e);return!u&&t.keepUnregistered?e:i(c,r(c,u?Object.create(Object.getPrototypeOf(c)):{}))}return s(e)}function og(e,t){return hg(e,t,sg())}function sg(){let e=new Map;return(t,n)=>{let r=e.get(t);if(r?.has(n))return!0;r?r.add(n):e.set(t,new Set([n]))}}function cg(e=new Map,t=new Map){let n=[],r=((r,i)=>{let a=e.get(r);if(a!==void 0)return a===i;if(t.has(i))return!1;e.set(r,i),t.set(i,r),n.push([r,i])});return r.strict=!0,r.added=n,r}function lg(e,t){return hg(e,t,cg())}function ug(e,t){if(!dg(e)||!dg(t))return t;let n=new Map,r=new Map,i=e=>dg(e)?ag(e,{keepUnregistered:!0,seen:n}):e;function a(e,t){let i=cg(r,n);if(hg(e,t,i))return!0;for(let[e,t]of i.added)r.delete(e),n.delete(t);return!1}function o(e,t){if(!dg(t))return t;let r=n.get(t);if(r!==void 0)return r;if(!dg(e))return i(t);if(a(e,t))return e;if(t instanceof Map&&e instanceof Map){let r=new Map;n.set(t,r);for(let[n,a]of t)r.set(i(n),o(e.get(n),a));return r}if(Array.isArray(t)&&Array.isArray(e)){let r=Array(t.length);n.set(t,r);for(let n=0;n<t.length;n++)n in t&&(r[n]=o(e[n],t[n]));return r}if(_g(e,t,!1)){let r=Object.create(Object.getPrototypeOf(t));n.set(t,r);let i=t;for(let t of Object.keys(i))ks(r,t,o(G(e,t)?e[t]:void 0,i[t]));return r}return i(t)}return o(e,t)}var dg=e=>typeof e==`object`&&!!e;function fg(e,t){let n=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),r=ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t);if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==r[e])return!1;return!0}function pg(e,t,n){if(e instanceof Date)return Object.is(e.getTime(),t.getTime());if(e instanceof RegExp)return String(e)===String(t);if(ArrayBuffer.isView(e)){let r=t;return e.byteOffset===r.byteOffset&&e.byteLength===r.byteLength&&hg(e.buffer,r.buffer,n)}if(e instanceof ArrayBuffer)return fg(e,t);if(e instanceof URL||e instanceof URLSearchParams)return String(e)===String(t);if(Gh(e))return Object.is(e.valueOf(),t.valueOf());if(Wh(e))return String(e)===String(t);if(e instanceof Error)return ig.every(r=>G(e,r)===G(t,r)&&hg(e[r],t[r],n))&&mg(e,t,n)}function mg(e,t,n){let r=e,i=t,a=Object.keys(r);if(a.length!==Object.keys(i).length)return!1;for(let e of a)if(!G(i,e)||!hg(r[e],i[e],n))return!1;return!0}function hg(e,t,n){if(Object.is(e,t)&&!(n.strict&&dg(e)))return!0;if(e===null||t===null||typeof e!=`object`||typeof t!=`object`||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let r=n(e,t);if(r!==void 0)return r;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(!hg(e.value,t.value,n))return!1;return!0}let i=pg(e,t,n);if(i!==void 0)return i;if(Array.isArray(e)){let r=t;if(e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(t in e!=t in r||!hg(e[t],r[t],n))return!1;return!0}return mg(e,t,n)}function gg(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!Kh(e)}function _g(e,t,n){return n&&(Array.isArray(e)||Array.isArray(t))?Array.isArray(e)&&Array.isArray(t):gg(e)&&gg(t)&&Object.getPrototypeOf(e)===Object.getPrototypeOf(t)}function vg(e,t,n){let r=[],i=(e,t,i)=>{Object.is(t,i)||(_g(t,i,n)?r.push({key:e,kind:`nested`,before:t,after:i}):og(t,i)||r.push({key:e,kind:`changed`,after:i}))};if(Array.isArray(t)){let n=e,a=t;for(let e=0;e<Math.min(n.length,a.length);e++){let t=String(e);e in n&&e in a?i(t,n[e],a[e]):e in n?r.push({key:t,kind:`deleted`,hole:!0}):e in a&&r.push({key:t,kind:`added`,after:a[e]})}let o=n.length;for(let e=n.length;e<a.length;e++){if(!(e in a))continue;let t=e-o;r.push({key:String(e),kind:`added`,after:a[e],...t?{gap:t}:{}}),o=e+1}for(let e=a.length;e<n.length;e++)r.push({key:String(e),kind:`deleted`});return a.length>o&&r.push({key:`length`,kind:`holes`,after:a.length-o}),r}for(let n of Object.keys(t))G(e,n)?i(n,e[n],t[n]):r.push({key:n,kind:`added`,after:t[n]});for(let n of Object.keys(e))G(t,n)||r.push({key:n,kind:`deleted`});return r}function yg(e,t,n=!1){let r=[],i=new Set,a=new WeakMap,o=0;return(function e(t,s,c){if(i.has(s)){o++;return}if(a.get(s)?.has(t))return;i.add(s);let l=r.length,u=o;for(let i of vg(t,s,n)){let n=[...c,i.key];i.kind===`nested`?e(i.before,i.after,n):r.push(i.kind===`deleted`?{path:n,deleted:!0,...i.hole?{hole:!0}:{}}:{path:n,deleted:!1,value:i.after,...i.kind===`added`&&Array.isArray(s)&&Number(i.key)>=t.length?{appended:!0,...i.gap?{gap:i.gap}:{}}:{}})}if(r.length===l&&o===u){let e=a.get(s)??new Set;e.add(t),a.set(s,e)}i.delete(s)})(e,t,[]),r}var bg=e=>JSON.stringify(e);function xg(e,t){for(let n=1;n<=e.length;n++)if(t.has(bg(e.slice(0,n))))return!0;return!1}var Sg=(e,t)=>`\\0${e}${t}`,Cg=e=>e.startsWith(`\\0`);function wg(e){let t=[];if(e instanceof Map){let n=0;for(let[r,i]of e)t.push([Sg(`k`,n),r],[Sg(`v`,n),i]),n++}else if(e instanceof Set){let n=0;for(let r of e)t.push([Sg(`s`,n++),r])}else if(e instanceof Error)for(let n of[`cause`,`errors`])G(e,n)&&t.push([Sg(n===`cause`?`c`:`e`,0),e[n]]);else if(ArrayBuffer.isView(e))t.push([Sg(`b`,0),e.buffer]);else return;return t}function Tg(e,t){let n=e,r=0;for(let e=0;e<t.length;e++)if(Cg(t[e])){if(n=Jh(n,t.slice(r,e)),!dg(n))return;n=wg(n)?.find(([n])=>n===t[e])?.[1],r=e+1}return r===t.length?n:Jh(n,t.slice(r))}function Eg(e,t,n){let r=Tg(e,t.slice(0,-1)),i=/^\\0v(\\d+)$/.exec(t[t.length-1]);if(!(r instanceof Map)||!i)return!1;let a=[...r.keys()][Number(i[1])];return r.set(a,n),!0}function Dg(e,t=new Set,n=!1){let r=new Map,i=[];function a(e,t){let a=r.get(e);if(a){a.push(t);return}r.set(e,[t]),gg(e)||Array.isArray(e)?o(e,t):n&&wg(e)&&i.push([e,t])}function o(e,n){for(let r of Object.keys(e)){let i=e[r];if(!dg(i))continue;let o=[...n,r];t.has(bg(o))||a(i,o)}}o(e,[]);for(let[e,t]of i)for(let[n,r]of wg(e))dg(r)&&a(r,[...t,n]);return r}function Og(e,t,n){return new Map([...Dg(e,t,n)].map(([e,t])=>[e,t[0]]))}function kg(e){return[...Dg(e,void 0,!0).values()].filter(e=>e.length>1)}function Ag(e,t,n,r,i){let a=[],o=wg(e),s=wg(t);if(o&&s){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)||(e instanceof Map||e instanceof Set)&&e.size!==t.size)return!1;let n=new Map(s);for(let[e,t]of o)n.has(e)&&a.push([e,t,n.get(e)])}else if((gg(e)||Array.isArray(e))&&_g(e,t,!0))for(let n of Object.keys(t))G(e,n)&&a.push([n,e[n],t[n]]);return a.some(([e,t,a])=>{if(!dg(t)||!dg(a))return!1;let o=[...n,e],s=i.get(a);return bg(r.get(t))!==bg(s)||bg(s)===bg(o)&&Ag(t,a,o,r,i)})}function jg(e,t){let n=Og(e,void 0,!0),r=Og(t,void 0,!0),i=[];return(function e(t,a,o){for(let s of Object.keys(a)){if(!G(t,s))continue;let c=t[s],l=a[s];if(!dg(c)||!dg(l))continue;let u=[...o,s],d=n.get(c),f=r.get(l),p=bg(u);bg(d)===bg(f)?bg(f)===p&&wg(c)&&Ag(c,l,u,n,r)&&i.push({path:u,deleted:!1,value:l,alias:!0}):i.push({path:u,deleted:!1,value:l,alias:!0}),(gg(c)||Array.isArray(c))&&_g(c,l,!0)&&bg(f)===p&&bg(d)===p&&e(c,l,u)}})(e,t,[]),i}function Mg(e,t,n=!1){let r=yg(e,t,n),i=new Set(r.map(e=>bg(e.path))),a=[];for(let n of jg(e,t))xg(n.path,i)||(i.add(bg(n.path)),a.push(n));return[...a,...r]}function Ng(e,t){return Og(e,new Set(t.map(e=>bg(e.path))),!0)}function Pg(e,t){return new class extends Map{has(n){if(super.has(n))return!0;let r=e.get(n);if(!r)return!1;let i=Tg(t,r);return dg(i)&&(Array.isArray(i)?Array.isArray(n):Object.getPrototypeOf(i)===Object.getPrototypeOf(n))?(super.set(n,i),!0):!1}}}function Fg(e,t){let n=Jh(e,t.path.slice(0,-1));if(typeof n!=`object`||!n)return t.deleted;let r=t.path[t.path.length-1];return G(n,r)?!t.deleted&&og(n[r],t.value):t.deleted}function Ig(e,t,n){t.some(Cg)?Eg(e,t,n):Qh(e,t,n)}function Lg(e,t){let n=e;t.deleted?$h(n,t.path):Qh(n,t.path,t.value)}var Rg=new Set([`storyinit`,`beforerestart`,`actionsChanged`,`variableChanged`,`beforesave`,`aftersave`,`beforeload`,`afterload`,`beforenavigate`,`afternavigate`,`passagerender`,`dialogrender`]),zg=new Map;function Bg(e,t){if(!Rg.has(e))throw Error(`spindle: Unknown event \"${e}\".`);let n=zg.get(e);return n||(n=new Set,zg.set(e,n)),n.add(t),()=>{n.delete(t)}}function Vg(e,t){let n=zg.get(e);if(n)for(let e of[...n])t(e)}function Hg(e,...t){Vg(e,e=>e(...t))}function Ug(e,...t){Vg(e,n=>{try{n(...t)}catch(t){console.error(`spindle: Error in ${e} handler:`,t)}})}var Wg=null,Gg=null;function Kg(e){Wg=e}function qg(e){Gg=e}function Jg(e){if(Gg)try{let t=Function(`passage`,`variables`,Gg)(e.passage,e.variables);if(typeof t==`string`&&t.trim())return t.trim()}catch{}if(Wg)try{let t=Wg(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}`}var Yg=Promise.resolve();function Xg(e){let t=Yg.then(e);return Yg=t.catch(()=>{}),t}function Zg(e){return(...t)=>Xg(()=>e(...t))}var Qg=e=>Zg(async t=>e(await(await Z()).getSave(t))),$g=e=>Zg(async(t,n)=>e(await A_(t,n))),e_=Zg(t_);async function t_(e,t=bt()){let n=await Z(),r=await i_(e),i={id:t,ifid:e,createdAt:new Date().toISOString(),label:`Playthrough ${r}`};return await n.putPlaythrough(i),await n.setMeta(r_(e),r),await n.setMeta(a_(e),t),t}var n_=/^Playthrough (\\d+)$/;function r_(e){return`${bh.playthroughCount}${e}`}async function i_(e){let t=await Z(),n=await t.getMeta(r_(e))??0;for(let r of await t.getPlaythroughsByIfid(e)){let e=n_.exec(r.label);e&&(n=Math.max(n,Number(e[1])))}return n+1}function a_(e){return`${bh.currentPlaythrough}${e}`}var o_=Zg(s_);async function s_(e,t){let n=await Z();await c_(e,t,new Date().toISOString());let r=a_(e);await n.getMeta(r)!==t&&await n.setMeta(r,t)}async function c_(e,t,n){let r=await Z();(await r.getPlaythroughsByIfid(e)).some(e=>e.id===t)||await r.putPlaythrough({id:t,ifid:e,createdAt:n,label:`Imported`})}function l_(e){return Xg(async()=>({id:await(await Z()).getMeta(a_(e))??await t_(e),knownSaves:await B_(e)}))}function u_(e,t,n,r){try{let i=n();return vs(()=>Hg(`beforesave`,e,t)),r(i()).then(t=>(vs(()=>Hg(`aftersave`,e)),t))}catch(e){return Promise.reject(e)}}function d_(e,t){let n=rh(t);return{meta:{...e,estimatedBytes:vh(n)},payload:n}}var f_=Zg(p_);async function p_(e,t,n,r={}){let i=await t;if(!i)throw Error(`No playthrough`);let a=new Date().toISOString(),o=d_({id:bt(),ifid:e,playthroughId:i,createdAt:a,updatedAt:a,title:Jg(n),passage:n.passage,custom:r},n);return await(await Z()).putSave(o),o}var m_=Zg(h_);async function h_(e,t,n,r){let i=await r,a=await Z(),o=await a.getSave(e);if(!o)return;let s=d_({...o.meta,...i?{playthroughId:i}:{},updatedAt:new Date().toISOString(),title:o.meta.userTitle===!0?o.meta.title:Jg(t),passage:t.passage,...n==null?{}:{custom:{...o.meta.custom,...n}}},t);return await a.putSave(s),s}var g_=e=>e&&dh(e.payload),__=e=>dh(e);Qg(g_);function v_(e){return Xg(async()=>{let t=await Z(),n=await t.getSave(e);await t.deleteSave(e),n&&await N_(n.meta.ifid,t=>t===e)})}function y_(e,t){return Xg(async()=>{let n=await Z(),r=await n.getSave(e);if(!r)return;let i={...r,meta:{...r.meta,title:t,userTitle:!0,updatedAt:new Date().toISOString()}};await n.putSave(i)})}var b_=Zg(async function(e){let t=await Z(),[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}),x_=bh.autosave,S_=bh.slot,C_=bh.slotIndex;function w_(e){return e!=null&&e!==``}function T_(e,t){return w_(t)?`${S_}${t}.${e}`:`${x_}${e}`}var E_=e=>`${C_}${e}`;async function D_(e,t){let n=await Z(),r=await n.getMeta(E_(e))??[],i=t(r);i!==r&&await n.setMeta(E_(e),i)}async function O_(e){return[void 0,...(await(await Z()).getMeta(E_(e))??[]).filter(w_)]}async function k_(e,t){return(await Z()).getMeta(T_(e,t))}async function A_(e,t){let n=await k_(e,t);return n?(await Z()).getSave(n):void 0}async function j_(e,t,n){await(await Z()).setMeta(T_(e,t),n),w_(t)&&await D_(e,e=>e.includes(t)?e:[...e,t])}async function M_(e,t){await(await Z()).deleteMeta(T_(e,t)),w_(t)&&await D_(e,e=>e.filter(e=>e!==t))}async function N_(e,t){for(let n of await O_(e)){let r=await k_(e,n);r&&t(r)&&await M_(e,n)}}var P_=e=>({isAutosave:!w_(e),...w_(e)?{slot:e}:{}});function F_(e,t){return{slot:w_(t)?t:``,title:e.meta.title,passage:e.meta.passage,createdAt:e.meta.createdAt,updatedAt:e.meta.updatedAt,custom:e.meta.custom??{}}}function I_(e,t,n,r,i){return Xg(async()=>{let a=await t,o=await k_(e,r);if(o){let e=await h_(o,n,i,a);if(e)return e}let s=await p_(e,a,n,{...P_(r),...i});return await j_(e,r,s.meta.id),s})}async function L_(e,t){return await A_(e,t)!==void 0}$g(g_);function R_(e,t){return Xg(async()=>{let n=await A_(e,t);if(!n)return;let r=dh(n.payload),{playthroughId:i}=n.meta;return i&&await s_(e,i),{payload:r,playthroughId:i}})}var z_=Zg(B_);async function B_(e){let t=Object.create(null);for(let n of await O_(e))await L_(e,n)&&(t[n??``]=!0);return t}var V_=Zg(H_);async function H_(e,t){let n=await A_(e,t);return n?F_(n,t):null}var U_=Zg(async e=>{let t=[];for(let n of await O_(e)){let r=await H_(e,n);r&&t.push(r)}return t}),W_=Zg(async(e,t)=>{let n=await k_(e,t);n&&(await(await Z()).deleteSave(n),await M_(e,t))}),G_=`spindle.session.`;function K_(e,t){let n=JSON.stringify(rh(t));try{sessionStorage.setItem(`${G_}${e}`,n)}catch{}}function q_(e){try{let t=sessionStorage.getItem(`${G_}${e}`);return t?dh(JSON.parse(t)):void 0}catch(t){t instanceof Zm&&(console.warn(`spindle: ${t.message}; the session was not restored.`),J_(e));return}}function J_(e){try{sessionStorage.removeItem(`${G_}${e}`)}catch{}}function Y_(e){if(e)return{formatVersion:1,ifid:e.meta.ifid,exportedAt:new Date().toISOString(),save:e}}var X_=Qg(Y_);async function Z_(e,t){if(gh(e),e.ifid!==t)throw Error(`Save is from a different story (expected IFID ${t}, got ${e.ifid})`);let n=ag(e.save);return n.meta.id=bt(),n.meta.updatedAt=new Date().toISOString(),n.meta.ifid=t,await c_(t,n.meta.playthroughId,n.meta.createdAt),n}function Q_(e,t){return Xg(async()=>{let n=await Z_(e,t);return await(await Z()).putSave(n),n})}var $_=$g(Y_);function ev(e,t,n){return Xg(async()=>{let r=await Z_(e,t),{slot:i,...a}=r.meta.custom??{};r.meta.custom={...a,...P_(n)};let o=await Z(),s=await k_(t,n);return await o.putSave(r),await j_(t,n,r.meta.id),s&&await o.deleteSave(s),F_(r,n)})}var tv=Zg(async function(e){let t=await Z(),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=vh(e.payload);e.meta.estimatedBytes=n,await t.putSave(e),i+=n}return{saveCount:n.length,playthroughCount:r.length,totalBytes:i,backend:t.type}});function nv(e){return Xg(async()=>{let t=await Z();await t.deleteSavesByIfid(e),await t.deletePlaythroughsByIfid(e),await t.deleteMetaByIfid(e),J_(e)})}var rv=Zg(iv);async function iv(){if(await(await Z()).destroy(),Vh(),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)}}function av(e,t,n){return Xg(async()=>{let r=await Z(),i=await r.deleteSavesByPlaythrough(t);await r.deletePlaythroughById(t);let a=new Set(i);if(await N_(e,e=>a.has(e)),n&&await n.current===t)return await t_(e,n.id),!0;let o=a_(e);return await r.getMeta(o)===t&&await r.deleteMeta(o),!1})}var ov=null;function sv(){ov&&(ge(null,ov),ov.remove(),ov=null)}function cv(){sv();let e=Q.getState();if(!e.storyData)return;let t=e.storyData.passages.get(`StoryInit`);if(t){let e=Zo(t.content),n=document.createElement(`div`);n.style.display=`none`,document.body.appendChild(n),ov=n,ge(b(()=>jp(e),null),n),Jy()}let n=e.storyData.passages.get(`SaveTitle`);n&&qg(n.content)}function lv(e){cv(),e&&Q.getState().loadFromPayload(e),Hg(`storyinit`),e||Jy()}var uv=[`variables`,`temporary`,`transient`],dv=[];function fv(){return dv[dv.length-1]?.work}function pv(){let e=Q.getState(),t=fv();return t?{...e,...t}:e}var mv=e=>ag(e,{keepUnregistered:!0});function hv(e,t){let n=t?Pg(t,e):new Map,r=(r,i)=>{let a=t?.get(i);if(!a||!Mt(r))return r;let o=Rn(r);return a.some(Cg)||Qh(e,a,o),n.set(i,o),o};return e=>ag(e,{keepUnregistered:!0,seen:n,settle:r})}var gv=e=>{let t=new Map;return n=>{let r=t.get(n);return r||(r=hv(n,e?.(n)),t.set(n,r)),r}};function _v(e){return tn(mv(e),!0)}function vv(e,t,n=dv,r=yv){let[i,a]=t.path;for(let o of n)for(let n of[o.work,o.base])try{Lg(n,t.deleted?t:{...t,value:r(n)(t.value)})}catch{let t=e[i][a];G(e[i],a)?n[i][a]=mv(Mt(t)?Rn(t):t):delete n[i][a]}}var yv=e=>hv(e),bv=new Set(uv),xv=new In({autoFreeze:!1}),Sv=!1;function Cv(e,t){let n=[],r=e;for(let e of t){if(!gg(r))break;let t=String(e);n.push(t),r=G(r,t)?r[t]:void 0}return n}function wv(e,t){let n=Jh(e,t.slice(0,-1)),r=t[t.length-1];return gg(n)&&G(n,r)?{path:t,deleted:!1,value:n[r]}:{path:t,deleted:!0}}function Tv(e,t,n){if(n.some(e=>e.path.length===1))return[...new Set([...Object.keys(e),...Object.keys(t)])].filter(n=>!G(e,n)||e[n]!==t[n]).map(e=>wv(t,[e]));let r=new Set,i=[];for(let e of n){let n=Cv(t,e.path.slice(1)),a=JSON.stringify(n);r.has(a)||(r.add(a),i.push(wv(t,n)))}return i}function Ev(e){if(Sv){Sv=!1;return}if(dv.length===0)return;Av(Mv());let t=dv[dv.length-1],n={...Q.getState(),variables:t.work.variables,temporary:t.work.temporary,transient:t.work.transient},[r,i]=xv.produceWithPatches(n,e),a=uv.flatMap(e=>{let t=i.filter(t=>t.path[0]===e);return t.length?Tv(n[e],r[e],t).map(t=>({...t,path:[e,...t.path]})):[]}),o=Ng(kv(t.work),a),s=gv(()=>o),c=(e,t)=>e.deleted?e:{...e,value:s(t)(e.value)};for(let e of a)Lg(t.work,c(e,t.work));return e=>{let i=e;for(let e of Object.keys(r)){let t=r[e];!bv.has(e)&&t!==n[e]&&(i[e]=t)}let o=e;for(let e of a){let[n,r]=e.path;try{Lg(o,c(e,o))}catch{G(t.work[n],r)?o[n][r]=mv(t.work[n][r]):delete o[n][r]}vv(o,e,dv,s)}}}function Dv(e,t,n){let r=n.map(e=>bg(e.path).slice(0,-1));for(let[n,...i]of kg(t)){let t=[n,...i].map(e=>bg(e).slice(0,-1));if(r.some(e=>t.some(t=>e.startsWith(t))))try{let t=Tg(e,n);if(typeof t!=`object`||!t)continue;for(let n of i)Ig(e,n,t)}catch{}}}function Ov(e){let t=new Map;return{variables:ag(e.variables,{keepUnregistered:!0,seen:t}),temporary:ag(e.temporary,{keepUnregistered:!0,seen:t}),transient:ag(e.transient,{keepUnregistered:!0,seen:t})}}var kv=e=>({variables:e.variables,temporary:e.temporary,transient:e.transient});function Av(e){let t=e.map(({scope:e,keepRunning:t})=>({scope:e,keepRunning:t,changes:jv(e.base,e.work)})),n=t.filter(({changes:e})=>e.length>0);if(n.length===0)return;for(let{scope:e,keepRunning:t}of n)t&&(e.base=Ov(e.work));Sv=!0;try{Q.getState().updateVariables(r)}finally{Sv=!1}function r(e){t.forEach(({scope:n,changes:r},i)=>{let a=Ng(n.work,r),o=hv(e,a),s=t.slice(0,i).map(e=>e.scope),c=gv(()=>a),l=new Set;for(let t of r){let[r,i]=t.path,a=bg([r,i]);if(!l.has(a))try{if(t.deleted){Fg(e,t)||Lg(e,t);continue}let n=t.alias?o(t.value):void 0;if(t.alias?Object.is(Jh(e,t.path),n):Fg(e,t))continue;Lg(e,{...t,value:t.alias?n:o(t.value)})}catch{e[r][i]=o(n.work[r][i]),l.add(a)}}Dv(e,n.work,r);for(let t of r)vv(e,t,s,c)})}}var jv=(e,t)=>Mg(e,t),Mv=()=>dv.map(e=>({scope:e,keepRunning:!0}));function Nv(e){let t=Q.getState(),n=kv(t),r=Mg(e.base,n),i=hv(e.work,Ng(n,r));for(let t of r)try{Lg(e.work,t.deleted?t:{...t,value:i(t.value)})}catch{let[r,a]=t.path;G(n[r],a)?e.work[r][a]=i(n[r][a]):delete e.work[r][a]}e.base=Ov(t)}function Pv(e){if(dv.length===0)return e();Av(Mv());let t=dv.splice(0);try{return e()}finally{dv.push(...t);for(let e of t)Nv(e)}}function Fv(e){Av(Mv());let t=Ng(kv(fv()??Q.getState()),[]),n=Iv(),r=hv(n.work,t);try{e(n.work,r)}finally{dv.pop()}Av([...Mv(),{scope:n,keepRunning:!1}])}function Iv(){let e=fv()??Q.getState(),t={work:Ov(e),base:Ov(e)};return dv.push(t),t}function Lv(e,t,n){let r=Ms(ag(t,{keepUnregistered:!0})),i=Iv();try{ac(e,i.work.variables,i.work.temporary,r,i.work.transient)}finally{dv.pop()}Av([...Mv(),{scope:i,keepRunning:!1}]);let a=new Set(Mg(t,r,!0).map(e=>e.path[0]));for(let e of kg(r))if(e.some(e=>a.has(e[0])))for(let n of e)r[n[0]]!==t[n[0]]&&a.add(n[0]);for(let e of Object.keys(r))a.has(e)&&n(e,r[e]);for(let e of Object.keys(t))G(r,e)||n(e,void 0)}var Rv=[],zv=!1,Bv=[],Vv=null,Hv=null;function Uv(e){let t=pv();try{return!!ic(e,t.variables,t.temporary,{},t.transient)}catch{return!1}}function Wv(e,t,n){let r=typeof t==`function`,i=r?void 0:t,a=r?t:void 0,o={name:i?.name,condition:e,callback:a,options:i,lastResult:Uv(e),priority:i?.priority??0,macroKey:n};return Rv.push(o),Rv.sort((e,t)=>t.priority-e.priority),()=>{Rv=Rv.filter(e=>e!==o)}}function Gv(e,t){return Wv(e,t)}function Kv(e,t){let n=Object.fromEntries(Object.entries(t).sort(([e],[t])=>e<t?-1:1)),r=JSON.stringify([e,n]);Rv.some(e=>e.macroKey===r)||Wv(e,t,r)}function qv(e){Rv=Rv.filter(t=>t.name!==e)}function Jv(e){let{callback:t,options:n}=e;if(t){t();return}if(n){if(n.run)try{Lv(n.run,{},()=>{})}catch(t){console.error(`spindle: Error in watch run action for \"${e.condition}\":`,t)}n.dialog&&(Bv.push({passageName:n.dialog}),Vv?.()),n.goto&&Q.getState().navigate(n.goto)}}var Yv=10;function Xv(){for(let e=0;e<Yv;e++){let e=!1,t=[...Rv];for(let n of t){if(!Rv.includes(n))continue;let t=Uv(n.condition),r=!n.lastResult;n.lastResult=t,t&&r&&(e=!0,n.options?.once&&(Rv=Rv.filter(e=>e!==n)),Jv(n))}if(!e)break}}function Zv(){if(!zv){zv=!0;try{Xv()}finally{zv=!1}}}var Qv=0;function $v(){if(Qv===0)return;let e=zv;zv=!0;try{Xv()}finally{zv=e}}function ey(){let e=Q.getState();Qv++;let t=Q.subscribe(t=>{let n=e;e=t,t.navigationId===n.navigationId&&(t.variables===n.variables&&t.temporary===n.temporary&&t.transient===n.transient||Zv())}),n=!0;return()=>{n&&(n=!1,Qv--,t())}}function ty(){for(let e of Rv)e.lastResult=Uv(e.condition)}function ny(){Rv=[],Bv=[],Hv?.closeAll()}function ry(e){return Vv=e,Bv.length>0&&e(),()=>{Vv===e&&(Vv=null)}}function iy(){return Bv.shift()}function ay(){return Bv.length}function oy(e){Hv?Hv.push(e):(Bv.push(e),Vv?.())}function sy(){Bv=[]}function cy(e){return Hv=e,()=>{Hv===e&&(Hv=null)}}var ly=[];function uy(e){return ly.push(e),()=>{let t=ly.lastIndexOf(e);t>=0&&ly.splice(t,1)}}function dy(){let e=ly[ly.length-1];e?e():Hv?.close()}function fy(){sy();for(let e of[...ly].reverse())e();Hv?.closeAll()}function py(){return ly.length>0||(Hv?.isOpen()??!1)}var my=[],hy=1,gy=new Set;function _y(e){my=e;for(let e of gy)e()}function vy(e,t){let n=nl(t).replace(/^spindle: /,``),r=my.find(t=>t.context===e&&t.message===n);_y(r?my.map(e=>e===r?{...e,count:e.count+1}:e):[...my,{id:hy++,context:e,message:n,count:1}])}function yy(e,t){return Error(`No passage named ${JSON.stringify(e)} (in passage ${JSON.stringify(t)})`)}function by(e){_y(my.filter(t=>t.id!==e))}function xy(){return my}function Sy(e){return gy.add(e),()=>{gy.delete(e)}}Bn(),Vn();var Cy=new Set([`StoryInit`,`StoryInterface`,`StoryVariables`,`StoryTransients`,`StoryLoading`,`SaveTitle`,`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]),wy=K(),Ty=[],Ey=K();function Dy(e,t){let n=[];for(let r of Object.keys(e))G(t,r)||n.push({key:r,deleted:!0});let r=new Map,i=e=>n.push({key:e,deleted:!1,value:ag(t[e],{keepUnregistered:!0,seen:r})}),a=[];for(let n of Object.keys(t))!G(e,n)||!Object.is(e[n],t[n])?i(n):typeof t[n]==`object`&&t[n]!==null&&a.push(n);for(let e=r.size>0;e;){e=!1;for(let n of a){let o=new Map;if(ag(t[n],{keepUnregistered:!0,seen:o}),[...o.keys()].some(e=>r.has(e))){i(n),a.splice(a.indexOf(n),1),e=!0;break}}}return{forward:n}}function Oy(e,t){let n=Object.create(Object.getPrototypeOf(e));for(let t of Object.keys(e))ks(n,t,e[t]);for(let e of t)e.deleted?delete n[e.key]:ks(n,e.key,e.value);return n}function ky(e){let t=Ty.length-1;t<0?wy=e:Ty[t]=Dy(My(t),e)}function Ay(e,t){let n=wy;for(let r=0;r<e;r++)r>0&&(n=Oy(n,Ty[r-1].forward)),t(n,r)}function jy(e,t){return{passage:e.passage,variables:t,timestamp:e.timestamp,prng:e.prng}}function My(e){let t=wy;for(let n=0;n<e;n++)t=Oy(t,Ty[n].forward);return t}var Ny=[];function Py(e){let{storyData:t,currentPassage:n,variables:r,history:i,historyIndex:a,visitCounts:o,renderCounts:s}=e();if(t){if(Ny.length>i.length&&(Ny.length=i.length),Ny.length<i.length)if(i.length-Ny.length===1){let e=i.length-1;Ny[e]=jy(i[e],r)}else Ay(i.length,(e,t)=>{t>=Ny.length&&(Ny[t]=jy(i[t],e))});K_(t.ifid,{passage:n,variables:r,history:Ny,historyIndex:a,visitCounts:o,renderCounts:s,prng:ys()})}}var Fy=`The game could not be saved for a page reload; a reload goes back to the last passage it could save:`,Iy=`The story could not go to another passage:`;function Ly(e,t){let n;try{Py(e)}catch(e){n={error:e},vy(Fy,e)}try{t?.()}finally{if(n)throw n.error}}function Ry(e){let t=e.history.length-e.maxHistory;if(t<=0)return!1;let n=Math.min(e.historyIndex,t),r=n+e.maxHistory;for(let e=0;e<n;e++)wy=Oy(wy,Ty[e].forward);return e.history=e.history.slice(n,r),Ty=Ty.slice(n,r-1),Ny=Ny.slice(n,r),e.historyIndex-=n,!0}var zy=!1,By=[],Vy=null;function Hy(e,t){let n=Vy;if(Vy=null,!n||e().navigationId!==n.navigationId)return;e().variables!==n.variables&&ky(e().variables),Ey=e().variables;let r=ys(),i=e().history[e().historyIndex].prng;(r?.seed!==i?.seed||r?.pull!==i?.pull)&&t(e=>{e.history[e.historyIndex].prng=r})}var Uy=e=>({...e});function Wy(e){wy=e,Ty=[],Ey=e,Ny=[]}function Gy(e){let t=K(ag(e));return Wy(ag(t)),t}function Ky(e,t,n,r){e.currentPassage=t,e.navigationId++,e.variables=n,e.transient=K(ag(r)),e.temporary=K(),e.history=[{passage:t,timestamp:Date.now()}],e.historyIndex=0}function qy(e,t,n){let{historyIndex:r,history:i}=e(),a=r+n;if(a<0||a>=i.length)return;Hy(e,t);let o=e().currentPassage,s=i[a].passage;Hg(`beforenavigate`,s);let c=ag(My(a));t(e=>{e.historyIndex+=n,e.currentPassage=e.history[e.historyIndex].passage,e.navigationId++,e.variables=c,e.temporary=K()}),ty(),Ey=e().variables,bb(e().history[e().historyIndex]),Ly(e,()=>Hg(`afternavigate`,s,o))}function Jy(){let{history:e,historyIndex:t,variables:n}=Q.getState();if(e.length!==1||t!==0)return;Wy(n);let r=ys();Q.setState(e=>{e.history[0].prng=r})}var Yy=Promise.resolve(``),Xy=0,Zy=!1;function Qy(){return Zy?``:Q.getState().playthroughId}function $y(){let e=Qy();return Yy.then(t=>e||t)}function eb(e){Q.getState().playthroughId!==e&&Q.setState(t=>{t.playthroughId=e})}function tb(e){let t=++Xy;return Zy=!0,Yy=e.then(e=>(t===Xy&&(Zy=!1,eb(e)),e)),Yy}function nb(e,t){++Xy,Zy=!1,Yy=t.then(()=>e,()=>e),eb(e)}function rb(e){let t=bt();nb(t,e_(e,t).catch(e=>{console.error(`spindle: failed to start new playthrough`,e)}))}function ib(e,t){Qy()!==t&&nb(t,o_(e,t).catch(e=>{console.error(`spindle: failed to switch to the loaded playthrough`,e)}))}var ab=0,ob=0,sb=null;function cb(){ob=++ab}var lb=[],ub=!1;function db(e){ub&&lb.push(e)}function fb(){ub=!0}function pb(){for(let e of lb)e();lb=[],ub=!1}function mb(e){return typeof e==`string`&&e!==``?e:null}function hb(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 gb(e,t,n){let r=e.history[e.historyIndex];if(!r)return;let i=Mg(t,n,!0);if(i.length===0)return;let a=ag(r.variables),o=Pg(Ng(n,i),a),s=e=>ag(e,{seen:o});for(let e of i)_b(a,n,e,s);r.variables=ug(r.variables,a)}function _b(e,t,n,r){let{path:i}=n,a=e,o=0;for(;o<i.length-1;o++){let e=i[o],n=G(a,e)?a[e]:void 0,s=Jh(t,i.slice(0,o+1));if(!_g(n,s,!0)){vb(a,e,r(s));return}a=n}let s=i[o];n.deleted?vb(a,s,void 0,n):vb(a,s,r(n.value),n)}function vb(e,t,n,r){let i=r?.deleted??!1;if(Array.isArray(e)){let a=Number(t);i?r&&`hole`in r?delete e[a]:e.length=Math.min(e.length,a):r&&`appended`in r?(e.length+=r.gap??0,e.push(n)):t===`length`&&r?e.length+=n:a<e.length&&(e[a]=n)}else i?delete e[t]:ks(e,t,n)}function yb(e){e?hs(e.seed,e.pull):_s()}function bb(e){e&&yb(e.prng)}var xb=[`variables`,`temporary`,`transient`];function Sb(e){for(let t of xb){let n=e[t];js(n)||(e[t]=K(Mt(n)?Rn(n):n))}}var Cb=[`navigate`,`goBack`,`goForward`,`restart`,`save`,`load`,`getSavePayload`,`loadFromPayload`];function wb(e){return(t,n,r)=>{let i=((e,n)=>{if(n){t(e,!0);return}let r=typeof e==`function`?e:t=>{Object.assign(t,e)},i=Ev(r);t(e=>{(i??r)(e),Sb(e)})});r.setState=i;let a=e(i,n,r);for(let e of Cb){let t=a[e];a[e]=(...e)=>Pv(()=>t(...e))}return a}}var Tb=e=>Un(wb(e));function Eb(e){return e.catch(()=>{}),e}function Db(e,t,n){return Eb(e.catch(e=>{throw console.error(t,e),n?.(e),e}))}function Ob(e,t,n){e(e=>{let r=t??``;if(n)e.knownSaves={...e.knownSaves,[r]:!0};else{let{[r]:t,...n}=e.knownSaves;e.knownSaves=n}})}function kb(e,t,n,r){let i=n.then(()=>{t(e=>{e.knownSaves={}})});return e().restart(),Db(i,r)}var Q=yt()(Tb((e,t)=>({storyData:null,currentPassage:``,navigationId:0,variables:K(),variableDefaults:{},transient:K(),transientDefaults:{},temporary:K(),history:[],historyIndex:-1,visitCounts:Rs(),renderCounts:Rs(),knownSaves:{},playthroughId:``,maxHistory:40,quickSaveKey:`F6`,quickLoadKey:`F9`,saveError:null,loadError:null,transitionConfig:null,nextTransition:null,nobr:!1,renderDeferred:!1,setMaxHistory:n=>{let r=!1;e(e=>{e.maxHistory=Math.max(1,Math.round(n)),r=Ry(e)}),r&&Ly(t)},setQuickSaveKey:t=>{e(e=>{e.quickSaveKey=mb(t)})},setQuickLoadKey:t=>{e(e=>{e.quickLoadKey=mb(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=Gy(r);e(e=>{e.storyData=n,e.playthroughId=``,e.variableDefaults=r,e.transientDefaults=i,Ky(e,a.name,o,i),e.visitCounts=Rs(null,a.name),e.renderCounts=Rs(null,a.name)}),Ey=t().variables,cb(),tb(l_(n.ifid).then(({id:t,knownSaves:n})=>(e(e=>{e.knownSaves=n}),t)).catch(e=>(console.error(`spindle: failed to init save system`,e),``)))},navigate:n=>{if(zy){By.push(n);return}let{storyData:r}=t();if(!r)return;if(Cy.has(n)){console.error(`spindle: Cannot navigate to special passage \"${n}\".`);return}if(!r.passages.has(n)){let e=yy(n,t().currentPassage);console.error(`spindle: ${e.message}`),vy(Iy,e);return}let i=t().currentPassage;Hg(`beforenavigate`,n);let a=Dy(Ey,t().variables);e(e=>{e.temporary=K(),e.currentPassage=n,e.navigationId++,e.history=e.history.slice(0,e.historyIndex+1),Ty.length=e.historyIndex,Ny.length>e.historyIndex+1&&(Ny.length=e.historyIndex+1),Ty.push(a),e.history.push({passage:n,timestamp:Date.now(),prng:ys()}),e.historyIndex=e.history.length-1,Ry(e),e.visitCounts=Rs(e.visitCounts,n),e.renderCounts=Rs(e.renderCounts,n)}),Vy={navigationId:t().navigationId,variables:t().variables},zy=!0;try{$v()}finally{zy=!1}let o=By;By=[],Hy(t,e),Ly(t,()=>{Hg(`afternavigate`,n,i);for(let e of o)t().navigate(e)})},goBack:()=>qy(t,e,-1),goForward:()=>qy(t,e,1),setVariable:(t,n)=>{e(e=>{Ds(t,`$${t}`),e.variables[t]=n})},setTemporary:(t,n)=>{e(e=>{Ds(t,`_${t}`),e.temporary[t]=n})},deleteVariable:t=>{e(e=>{Ds(t,`$${t}`),delete e.variables[t]})},deleteTemporary:t=>{e(e=>{Ds(t,`_${t}`),delete e.temporary[t]})},setTransient:(t,n)=>{e(e=>{Ds(t,`%${t}`),e.transient[t]=n})},deleteTransient:t=>{e(e=>{Ds(t,`%${t}`),delete e.transient[t]})},updateVariables:t=>{e(e=>{t(e)})},trackRender:t=>{e(e=>{e.renderCounts=Rs(e.renderCounts,t)})},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}),Hg(`beforerestart`),rb(n.ifid),cb();let o=t().renderDeferred;pb(),_s(),ny();let s=Gy(r);e(e=>{Ky(e,a.name,s,i),e.visitCounts=Rs(null,a.name),e.renderCounts=Rs(null,a.name),o||(e.renderDeferred=!1)}),Ey=t().variables,fb(),cv(),J_(n.ifid),Hg(`storyinit`),Jy()},save:(n,r)=>{let{storyData:i}=t();if(!i)return Promise.resolve();let a=$y();return Db(u_(n,r,t().beginSave,async t=>{e(e=>{e.saveError=null}),await I_(i.ifid,a,t,n,r),Ob(e,n,!0)}),`spindle: failed to save`,t=>e(e=>{e.saveError=nl(t,`Failed to save`)}))},load:n=>{let{storyData:r}=t();if(!r)return Promise.resolve();e(e=>{e.loadError=null});let i=$y(),a=R_(r.ifid,n),o=tb(Promise.all([i,a.catch(()=>void 0)]).then(([e,t])=>t?.playthroughId||e)),s=++ab;return Db(a.then(async e=>{await o,e&&(ob>s||(sb=s,t().loadFromPayload(e.payload,n)))}),`spindle: failed to load save`,t=>e(e=>{e.loadError=nl(t,`Failed to load`)}))},hasSave:e=>{let{storyData:n,knownSaves:r}=t();return n?G(r,e??``):!1},getSaveInfo:async e=>{let{storyData:n}=t();return n?V_(n.ifid,e):null},listSaves:async()=>{let{storyData:e}=t();return e?U_(e.ifid):[]},deleteSave:n=>{let{storyData:r}=t();return r?Db(W_(r.ifid,n).then(()=>Ob(e,n,!1)),`spindle: failed to delete save`):Promise.resolve()},exportSave:async e=>{let{storyData:n}=t();return n?await $_(n.ifid,e)??null:null},importSave:async(n,r)=>{let{storyData:i}=t();if(!i)throw Error(`spindle: Story is not initialized.`);let a=await ev(n,i.ifid,r);return Ob(e,r,!0),a},clearGameData:()=>{let{storyData:n}=t();return n?kb(t,e,nv(n.ifid),`spindle: failed to clear game data`):Promise.resolve()},clearAllData:()=>kb(t,e,rv(),`spindle: failed to clear all data`),deletePlaythrough:n=>{let{storyData:r}=t();if(!r)return Promise.resolve();let i=r.ifid,a=Qy(),o=Yy,s=bt(),c=av(i,n,{current:a||o,id:s});return n!==``&&n===a?nb(s,c):a===``&&tb(c.then(e=>e?s:o,()=>o)),Db(c.then(async()=>{let t=await z_(r.ifid);e(e=>{e.knownSaves=t})}),`spindle: failed to delete playthrough`)},getSavePayload:()=>{let{currentPassage:e,variables:n,history:r,historyIndex:i,visitCounts:a,renderCounts:o}=t(),s=[];return Ay(r.length,(e,t)=>{let n=Uy(e);s.push(jy(r[t],t===0?n:ug(s[t-1].variables,n)))}),{passage:e,variables:ug(s[i]?.variables,Uy(n)),history:s,historyIndex:i,visitCounts:{...a},renderCounts:{...o},prng:ys()}},beginSave:()=>{let e=t().variables;return()=>{let n=t().getSavePayload();return gb(n,e,t().variables),n}},loadFromPayload:(n,r,i)=>{let a=sb??++ab;if(sb=null,n.history.length===0){console.warn(`loadFromPayload: rejecting payload with empty history`);return}ob=a,Hg(`beforeload`,r);let o=t().storyData?.ifid;i&&o&&ib(o,i);let s=hb(n),c=ag(n.history.map(e=>e.variables)).map(e=>K(e));wy=ag(c[0]),Ty=c.slice(1).map((e,t)=>Dy(c[t],e)),Ny=n.history.map((e,t)=>jy(e,c[t])),e(e=>{e.currentPassage=n.passage,e.navigationId++,e.variables=K(ag(s?.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)),Ry(e),e.visitCounts=Rs(n.visitCounts),e.renderCounts=Rs(n.renderCounts),e.temporary=K(),e.transient=K(ag(t().transientDefaults))}),ty(),Ey=My(t().historyIndex),yb(s?.prng===void 0?n.prng:s.prng),Ly(t,()=>vs(()=>Hg(`afterload`,r)))},getHistoryVariables:e=>ag(My(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})}}))),Ab=`<header class=\"story-menubar\">{story-title}{back}{forward}{restart}{quicksave}{quickload}{saves}{settings}</header>\n{passage}`;function jb(){let{storyData:e}=is(`storyData`),t=e?.passages.get(`StoryInterface`),n=t===void 0?Ab:t.content,r=t?.tags.includes(`nobr`)??!1,i=Pe(()=>{try{return q(S,{children:Cp(Zo(n))})}catch(e){return q(`span`,{class:`error`,children:[`Error in StoryInterface: `,nl(e)]})}},[n]);return r?q(If.Provider,{value:!0,children:i}):i}var Mb=[`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 Nb(e){return Array.from(e.querySelectorAll(Mb)).filter(e=>!e.hidden&&!e.closest(`[hidden], [inert]`))}var Pb=[];function Fb(e,t,n,r){Ne(()=>{let n=e.current;if(!n)return;let r=document.activeElement instanceof HTMLElement?document.activeElement:null,i={panel:n};Pb.push(i);let a=n.querySelector(t)??n;return(n.querySelector(`[autofocus]`)??Nb(a)[0]??n).focus(),()=>{let e=Pb.indexOf(i);e!==-1&&Pb.splice(e,1);let t=document.activeElement;(!t||t===document.body||n.contains(t))&&r?.isConnected&&r.focus()}},[]),Ne(()=>{let t=e.current;if(!t)return;let i=e=>{if(Pb[Pb.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=Nb(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 Ib=_e(null);function Lb({passageName:e,fallbackMarkup:t,panelClass:n,onClose:r,dismissible:i=!0,showCloseButton:a=i}){let o=j(r);o.current=r;let s=Fe(()=>o.current(),[]),{storyData:c}=is(`storyData`),l=e?c?.passages.get(e):void 0,u=l?.content??t,d=l?.tags.includes(`nobr`)??!1,f=Pe(()=>{if(!u)return q(`div`,{class:`error`,children:`Dialog: no content available`});try{let e=jp(Zo(u),d?{nobr:!0}:void 0);return d?q(If.Provider,{value:!0,children:e}):e}catch(e){return q(`div`,{class:`error`,children:[`Error in dialog: `,nl(e)]})}},[u,d]),p=j(null);Fb(p,`.dialog-body`,i,s),Ne(()=>uy(s),[s]),Ne(()=>{p.current&&Ug(`dialogrender`,e??``,p.current)},[]);let m=e=>{i&&e.target.classList.contains(`dialog-overlay`)&&s()},h=n?`dialog-panel ${n}`:`dialog-panel`;return q(Ib.Provider,{value:s,children:q(`div`,{class:`dialog-overlay`,onClick:m,children:q(`div`,{ref:p,class:h,role:`dialog`,\"aria-modal\":`true`,tabIndex:-1,children:[a&&q(`button`,{class:`dialog-close`,\"aria-label\":`Close`,onClick:s,children:`✕`}),q(`div`,{class:`dialog-body`,children:f})]})})})}function Rb(){let[e,t]=Ae([]),n=j(e);n.current=e;let r=Fe(e=>{t(t=>[...t,e])},[]),i=Fe(()=>{t(e=>e.slice(0,-1))},[]),a=Fe(()=>{t([])},[]);return Me(()=>cy({close:i,closeAll:a,push:r,isOpen:()=>n.current.length>0}),[i,a,r]),Me(()=>ry(()=>{let e=[];for(;ay()>0;){let t=iy();t&&e.push(t)}e.length>0&&t(t=>[...t,...e])}),[]),e.length===0?null:q(S,{children:e.map((e,t)=>q(Lb,{passageName:e.passageName,panelClass:e.panelClass,onClose:i,showCloseButton:e.showCloseButton,dismissible:e.dismissible},`${e.passageName}-${t}`))})}function zb(){let[e,t]=Ae(xy);return Me(()=>(t(xy()),Sy(()=>t(xy()))),[]),e.length===0?null:q(`div`,{class:`spindle-error-banners`,children:e.map(e=>q(`div`,{class:`spindle-error-banner`,role:`alert`,children:[q(`span`,{class:`spindle-error-banner-context`,children:e.context}),` `,q(`span`,{class:`spindle-error-banner-message`,children:e.message}),e.count>1&&q(`span`,{class:`spindle-error-banner-count`,children:` (×${e.count})`}),q(`button`,{type:`button`,class:`spindle-error-banner-dismiss`,\"aria-label\":`Dismiss`,onClick:()=>by(e.id),children:`✕`})]},e.id))})}function Bb(){let{storyData:e,currentPassage:t,nobr:n}=is(`storyData`,`currentPassage`,`nobr`);if(Me(()=>{let e=e=>{let{quickSaveKey:t,quickLoadKey:n,save:r,load:i}=Q.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 q(`div`,{class:`loading`,children:`Loading...`});let r=q(S,{children:[q(jb,{}),q(Rb,{}),q(zb,{})]});return q(If.Provider,{value:n,children:r})}var Vb=`http://www.w3.org/1999/xhtml`,Hb=new Set([`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`embed`,`frame`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`]);function Ub(e){let t=``;for(let n of Array.from(e.childNodes))n.nodeType===Node.TEXT_NODE?t+=n.data:n.nodeType===Node.COMMENT_NODE?t+=`\\x3C!--${n.data}-->`:n.nodeType===Node.ELEMENT_NODE&&(t+=Wb(n));return t}function Wb(e){let t=e.localName,n=`<${t}`;for(let t of Array.from(e.attributes))n+=` ${t.name}=${Gb(t.name,t.value)}`;if(n+=`>`,e.namespaceURI===Vb&&Hb.has(t))return n;let r=t===`template`?e.content:e;return`${n}${Ub(r)}</${t}>`}function Gb(e,t){let n=Wo(e),r=n?`on`:`a`;return[`\"${t}\"`,`'${t}'`].find(e=>{let t;try{t=Qo(`<i ${r}=${e}>`)}catch(e){if(e instanceof Jo)return!1;throw e}let n=t[0];return t.length===1&&n?.type===`html`&&n.attributes[r]===e.slice(1,-1)})??`\"${Kb(t,n)}\"`}function Kb(e,t){let n=e=>e.replace(/\"/g,`"`);if(t)return Go(e).map(e=>`text`in e?n(e.text):`expr`in e?`{${e.expr}}`:e.verbatim).join(``);let r;try{r=Qo(e,{text:!0})}catch(t){if(t instanceof Jo)return n(e);throw t}return r.map(t=>{let r=e.slice(t.start,t.end);return t.type===`text`?n(r):r}).join(``)}function qb(){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=Ub(t),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 Jb=new Map,Yb=K(),Xb=!1,Zb=null;function Qb(){return`spindle.${Q.getState().storyData?.ifid||`unknown`}.settings`}function $b(){localStorage.setItem(Qb(),JSON.stringify(Yb))}function ex(){if(!Xb){if(!Q.getState().storyData?.ifid){Zb||(Zb=Q.subscribe(e=>{e.storyData?.ifid&&(Zb?.(),Zb=null,ex())}));return}Xb=!0;try{let e=localStorage.getItem(Qb());if(e){let t=JSON.parse(e);typeof t==`object`&&t&&!Array.isArray(t)&&(Yb=K(Yb,t))}}catch{}}}function tx(e,t){Jb.set(e,t),G(Yb,e)||(Yb[e]=t.config.default),ex()}function nx(e,t){let n=Os(Yb,e);return typeof n==typeof t?n:t}var rx={addToggle(e,t){tx(e,{type:`toggle`,config:t})},addList(e,t){tx(e,{type:`list`,config:t})},addRange(e,t){tx(e,{type:`range`,config:t})},get(e){return Os(Yb,e)},getToggle(e){return nx(e,!1)},getList(e){return nx(e,``)},getRange(e){return nx(e,0)},set(e,t){Yb[e]=t,$b()},getAll(){return{...Yb}},getDefinitions(){return Jb},hasAny(){return Jb.size>0}},ix=[`target`,`variable`,`options`,`value`,`disabled`],ax=new Map,ox=new Map;function sx(e,t,n){if(n)return n;let r=`${e}:${t}`,i=ox.get(r)??0,a;do i++,a=i===1?r:`${r}:${i}`;while(ax.has(a));return ox.set(r,i),a}function cx(e){let t=e.id,n={action:e},r=ax.get(t);return r?(console.warn(`spindle: two mounted controls share the action ID \"${t}\"; Story.getActions() lists only the newer one.`),r.push(n)):ax.set(t,[n]),px(),{update(e){let r=ax.get(t);r?.includes(n)&&(n.action=e,r[r.length-1]===n&&px())},unregister(){let e=ax.get(t),r=e?e.indexOf(n):-1;!e||r===-1||(e.splice(r,1),e.length===0&&ax.delete(t),r===e.length&&px())}}}function lx(){return Array.from(ax.values(),dx)}function ux(e){let t=ax.get(e);return t&&dx(t)}function dx(e){return e[e.length-1].action}function fx(){ox.clear()}function px(){Hg(`actionsChanged`)}function mx(e){let t=j(``),n=j(e.perform);n.current=e.perform,t.current||(t.current=sx(e.type,e.key,e.authorId));let r=t.current,i=()=>{let t={id:r,type:e.type,label:e.label,perform:(...e)=>n.current(...e)};for(let n of ix)e[n]!==void 0&&Object.assign(t,{[n]:e[n]});return t},a=j(null);Ne(()=>{let e=cx(i());return a.current=e,()=>e.unregister()},[r]);let o=j(!1);return Ne(()=>{if(!o.current){o.current=!0;return}a.current?.update(i())},[e.type,e.label,e.target,e.variable,e.disabled,e.value,JSON.stringify(e.options)]),r}function hx(e){return e.map(e=>e.type===`text`?e.value:``).join(``)}function gx(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)}function _x(e){let t=[],n=0;for(let r of[...Fc(e,Ec),e.length])r>n&&t.push([n,r]),n=r+1;return t}var vx=(e,[t,n])=>e.slice(t,n);function yx(e){return jc(e)??Mc(e)}var bx=class extends Error{constructor(e,t){super(`The ${e.name} must be a quoted string (\"…\" or '…'), ${t?`not ${t}`:`but it has no value`}`),this.name=`MacroArgumentError`}};function xx(e,t,n){switch(n.spans?.set(e,[n.at,n.at+t.length]),e.type){case`string`:{let n=jc(t);if(n===null)throw new bx(e,t);return n}case`text`:return yx(t);case`names`:return t.split(`,`).map(e=>e.trim());case`delay`:return gx(t);case`number`:return Number(t);case`options`:return Dx(e.parameters??[],t,n);default:return t}}function Sx(e){return e.type===`flag`||e.type===`separator`?!1:e.type===`options`?{}:void 0}var Cx=/\\w+/y,wx=/[-+]?(?:\\d+\\.?\\d*|\\.\\d+)/y,Tx=/\\S+/y;function Ex(e,t,n){return e.lastIndex=n,e.exec(t)?.[0]??null}function Dx(e,t,{at:n,spans:r}){let i={},a=0;for(;a<t.length;){let o=Ex(Cx,t,a);if(!o){a=Ac(t,a)?.end??a+1;continue}a+=o.length;let s,c=a;for(;c<t.length&&Ec(t[c]);)c++;let l=Ac(t,c),u=l||c===a?null:Ex(wx,t,c);l?(s=l.value,a=l.end):u&&(s=u,a=c+u.length);let d=e.find(e=>e.name===o);if(d&&d.type!==`flag`&&s!==void 0&&r?.set(d,[n+c,n+a]),d?.type===`string`&&!l)throw new bx(d,Ex(Tx,t,c)??``);d?.type===`flag`?i[o]=!0:d?.type===`number`?i[o]=Number(s??0):d&&(i[o]=s)}return i}var Ox=/^(?:[-+*/&|^=<>?:,.]|%(?![A-Za-z_]))/;function kx(e,t){let n=_x(e);if(n.length<2)return null;if(vx(e,n[n.length-1])===t){let t=[0,n[n.length-2][1]];if(!Pc(vx(e,t)))return t}if(vx(e,n[0])===t){let t=[n[1][0],e.length];if(!Ox.test(vx(e,t)))return t}return null}function Ax(e,t){if(t===`=`){let t=Fc(e,e=>e===`=`);for(let n=0;n<t.length;n++){let r=t[n];if(e[r+1]===`=`){n++;continue}if(e[r-1]!==`!`)return[r,r+1]}return null}let n=_x(e);for(let r=1;r<n.length-1;r++)if(vx(e,n[r])===t)return[n[r-1][1],n[r+1][0]];return null}var jx=e=>e.type===`expression`||e.type===`statements`||e.type===`passage`||e.type===`text`;function Mx(e,t){let n=e.trim();return[n,n?t+e.indexOf(n):t]}function Nx(e,t,n,{at:r,spans:i}){let[a,o]=Mx(t??``,r);for(let r of e.filter(e=>e.type===`flag`)){let e=t===null?null:kx(a,r.name);n[r.name]=e!==null,e&&([a,o]=Mx(vx(a,e),o+e[0]))}let s=e.filter(e=>e.type!==`flag`);if(s.length===0)return;let c=s.findIndex((e,t)=>jx(e)&&!s.slice(t+1).some(jx)),l=c<0?s.length-1:c,u=(e,[t,n])=>t===n?Sx(e):xx(e,a.slice(t,n),{at:o+t,spans:i});if(s.length===1){n[s[0].name]=u(s[0],[0,a.length]);return}let d=_x(a),f=0,p=d.length;for(let e of s.slice(0,l))n[e.name]=f<p?u(e,d[f++]):Sx(e);let m=(e,t)=>{try{return u(e,t)}catch(e){if(e instanceof bx)return;throw e}};for(let e of s.slice(l+1).reverse()){let t=f<p&&!Pc(a.slice(0,d[p-1][0]))?m(e,d[p-1]):void 0;n[e.name]=t??Sx(e),t===void 0?i?.delete(e):p--}let h=s[l];n[h.name]=f<p?u(h,[d[f][0],d[p-1][1]]):Sx(h)}var Px={name:`delay`,type:`delay`,required:!0};function Fx(e,t,n){let r={},[i,a]=Mx(e,0),o=0;return t.forEach((e,s)=>{if(e.type!==`separator`)return;let c=i===null?null:Ax(i,e.name);r[e.name]=c!==null;let l=c?i.slice(0,c[0]):i;Nx(t.slice(o,s),l,r,{at:a,spans:n}),i=c?i.slice(c[1]):null,c&&(a+=c[1]),o=s+1}),Nx(t.slice(o),i,r,{at:a,spans:n}),r}function Ix(e){let t=e.trim(),n=Fo(t);return n===null?{kind:`expression`,expression:t}:{kind:`name`,name:n}}function Lx(e,t,{storyData:n,currentPassage:r}){let i=String(t(e??``));if(n&&!n.passages.has(i))throw yy(i,r);return i}function Rx(e){let t=e.trim(),n=_x(t)[0];return n?vx(t,n):``}function zx(e){let{variable:t=``,placeholder:n=``}=Fx(e,[{name:`variable`,type:`variable`},{name:`placeholder`,type:`string`}]);return{varName:t.replace(/[\"']/g,``),placeholder:n}}var Bx=[{name:`value`,type:`string`,holds:`text`,required:!0}],Vx=new Map([[`option`,Bx]]);function Hx(e){return Vx.get(e.toLowerCase())}function Ux(e){let t=[];for(let n of e)if(n.type===`macro`&&n.name===`option`){let{value:e}=Fx(n.rawArgs,Bx);t.push(e??``)}return t}function Wx(e,t){let n=`macro-${e}`;return t?`${n} ${t}`:n}var Gx={useState:Ae,useRef:j,useEffect:Me,useLayoutEffect:Ne,useCallback:Fe,useMemo:Pe,useContext:Ie};function $(e,t=`builtin`){let n=e.parameters??[];_c(e.name,n);function r(t){let r=t.className,i=t.id,a;e.interpolate&&(a=il(),r=a(r),i=a(i));let{update:o,getValues:s}=Ie(Ff),c=ll(),l=(e,t)=>jp(e,{...c,...t}),u;try{u=Fx(t.rawArgs,n)}catch(t){if(t instanceof bx)return b(Af,{macro:e.name,error:t});throw t}let d={args:u,collectText:hx,sourceLocation:kf,parseVarArgs:zx,extractOptions:Ux,h:b,renderNodes:l,renderInlineNodes:Cp,hooks:Gx,useAction:mx,className:r,id:i,resolve:a,cls:Wx(e.name,r),mutate:e=>Lv(e,s(),o),update:o,getValues:s,wrap:e=>Hc(r,i,e)};if(e.merged){d.merged=as();let e=d.merged;d.evaluate=t=>ic(t,e[0],e[1],e[2],e[3])}if(e.storeVar){let n=Rx(t.rawArgs).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(`.`);if(i.includes(`__proto__`))return b(`span`,{class:`error`},`{${e.name}}: \"$${r}\" cannot be bound: ${Ts} is reserved`);d.varName=r,d.value=Q(e=>Jh(e.variables,i)),d.getValue=()=>Jh(pv().variables,i),d.setValue=e=>{Fv((t,n)=>{Qh(t.variables,i,n(e),{createMissing:!0})})}}try{return e.render(t,d)}catch(t){if(t instanceof bx)return b(Af,{macro:e.name,error:t});throw t}}sc(e.name,r);let i=e.text;uc(e.name,i&&((e,t)=>i(e,{...t,args:Fx(e.rawArgs,n)})));let a=e.block===!0||e.block!==!1&&(e.subMacros?.length??0)>0;if(bc(e.name,{name:e.name,block:a,subMacros:e.subMacros??[],storeVar:e.storeVar,interpolate:e.interpolate,merged:e.merged,description:e.description,parameters:e.parameters&&[...e.parameters],source:t}),e.subMacros)for(let t of e.subMacros)pc(t);a&&Sr(e.name)}var Kx=null;function qx(e){Kx=e}function Jx(){return Kx}var Yx=null,Xx=null;function Zx(){return Xx}var Qx=!1;function $x(){if(Qx)return;Qx=!0;let e=Q.getState().variables,t=Q.getState().transient;Q.subscribe(n=>{let r={},i=(e,t,n)=>{for(let i of Fs(e,t))r[n+i]={from:Os(e,i),to:Os(t,i)}};i(e,n.variables,``),i(t,n.transient,`%`),e=n.variables,t=n.transient,Object.keys(r).length>0&&Hg(`variableChanged`,r)})}var eS=null,tS=null,nS=new Set;function rS(e,t=[]){eS=new Set(e),tS=new Set(t),nS.clear()}function iS(e){let t=e.startsWith(`%`),n=t||e.startsWith(`$`)?e.slice(1):e;return Ds(n.split(`.`)[0],e),{isTransient:t,key:n}}function aS(e,t){let n=e?tS:eS;if(!n)return;let r=t.split(`.`)[0];if(n.has(r))return;let i=(e?`%`:`$`)+r;nS.has(i)||(nS.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 oS(e,t,n){let{isTransient:r,key:i}=iS(t),a=r?e.transient:e.variables;i.includes(`.`)?Qh(a,i.split(`.`),n):a[i]=n}function sS(e){return((...t)=>Q.getState()[e](...t))}function cS(){return{get(e){let{isTransient:t,key:n}=iS(e),r=fv(),i=r??Q.getState(),a=t?i.transient:i.variables,o=n.includes(`.`)?Jh(a,n.split(`.`)):Os(a,n);return r?_v(o):o},set(e,t){let n=typeof e==`string`?[[e,t]]:Object.entries(e);for(let[e]of n){let{isTransient:t,key:n}=iS(e);aS(t,n)}if(n.some(([e])=>e.includes(`.`))){Fv((e,t)=>{for(let[r,i]of n)oS(e,r,t(i))});return}Q.getState().updateVariables(e=>{for(let[t,r]of n)oS(e,t,r)})},goto:sS(`navigate`),back:sS(`goBack`),forward:sS(`goForward`),restart:sS(`restart`),save:sS(`save`),load:sS(`load`),hasSave:sS(`hasSave`),getSaveInfo:sS(`getSaveInfo`),listSaves:sS(`listSaves`),deleteSave:sS(`deleteSave`),exportSave:sS(`exportSave`),importSave:sS(`importSave`),...Zs(()=>Q.getState().visitCounts,()=>Q.getState().renderCounts),get title(){return Q.getState().storyData?.name||``},get passage(){return Q.getState().currentPassage},settings:rx,registerClass(e,t){Em(e,t)},defineMacro(e){$(e,`user`)},getMacroRegistry(){return Sc()},saves:{setTitleGenerator(e){Kg(e)}},storage:{async getInfo(){let e=Q.getState().storyData?.ifid;return e?tv(e):{saveCount:0,playthroughCount:0,totalBytes:0,backend:Hh()}},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}},clearGameData:sS(`clearGameData`),clearAllData:sS(`clearAllData`),deletePlaythrough:sS(`deletePlaythrough`),get backend(){return Hh()}},getActions(){return lx()},performAction(e,t){let n=ux(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`&&$x();let n=Bg(e,t);return db(n),n},async waitForActions(){await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))});let e=()=>Jx()===Q.getState().navigationId;return Jx()!==null&&!e()&&!Q.getState().renderDeferred&&await new Promise(t=>{let n=Bg(`passagerender`,()=>{e()&&(n(),t())})}),lx()},watch(e,t){return Gv(e,t)},unwatch(e){qv(e)},openDialog(e,t){oy({passageName:e,panelClass:t?.panelClass,showCloseButton:t?.showCloseButton,dismissible:t?.dismissible})},closeDialog(){dy()},closeAllDialogs(){fy()},isDialogOpen(){return py()},setNobr(e){Q.setState({nobr:e})},setCSS(e){let t=document.getElementById(`spindle-styles`);t&&(t.disabled=!e)},setTransition(e){Q.getState().setTransition(e)},setNextTransition(e){Q.getState().setNextTransition(e)},deferRender(){Q.getState().deferRender(),Xx=new Promise(e=>{Yx=e})},ready(){Yx&&(Q.getState().clearDeferredRender(),Yx(),Yx=null,Xx=null)},random(){return bs()},randomInt(e,t){return xs(e,t)},config:{get maxHistory(){return Q.getState().maxHistory},set maxHistory(e){Q.getState().setMaxHistory(e)},get quickSaveKey(){return Q.getState().quickSaveKey},set quickSaveKey(e){Q.getState().setQuickSaveKey(e)},get quickLoadKey(){return Q.getState().quickLoadKey},set quickLoadKey(e){Q.getState().setQuickLoadKey(e)}},prng:{init(e,t){ms(e,t);let{historyIndex:n}=Q.getState();Q.setState(e=>{let t=e.history[n];t&&(t.prng=ys())})},isEnabled(){return Ss()},get seed(){return Cs()},get pull(){return ws()}}}}function lS(){window.Story=cS()}var uS=null;function dS(e){let t=uS;uS=new Map;try{return e()}finally{uS=t}}function fS(e,t){let n=t[0]+e,r=uS?.get(n);if(r)return r;try{r=go(e,t)}catch(e){if(!(e instanceof so))throw e;r=e}return uS?.set(n,r),r}var pS=new Set([`if`,`elseif`,`case`]),mS=new Set([`dialog`]);function hS(e,t){return e.map(e=>e.parameters?{...e,parameters:hS(e.parameters,t)}:(e.type===`string`||e.type===`text`)&&!e.holds?{...e,holds:t}:e)}function gS(e){let t=new vr;for(let{name:n,parameters:r,interpolate:i}of e)r&&t.set(n,hS(r,_S(i)));return e=>{let n=t.get(e);if(!n){let r=Hx(e);r&&t.set(e,n=hS(r,`text`))}return n}}var _S=e=>e?`markup`:`text`;function vS(e){if(e.type===`expression`||e.type===`passage`)return`expression`;if(e.type===`statements`)return`statements`}function yS(e){if(!(e.type!==`string`&&e.type!==`text`))return e.holds??`markup`}function*bS(e,t,n){let r=(e,n)=>t.findIndex((t,r)=>r>e&&t.type===`macro`&&t.isClose&&t.name.toLowerCase()===n);for(let i=0;i<t.length;i++){let a=t[i];if(a.type===`link`)yield{kind:`passage`,name:a.target,offset:a.targetStart,length:a.targetEnd-a.targetStart,macro:`link`,label:e.slice(a.start,a.end)},a.display.includes(`{`)&&(yield{kind:`text`,text:a.display,offset:SS(e,a.display,a.start),where:`In the label of a link: `});else if(a.type===`expression`)yield{kind:`code`,code:a.expression,offset:a.end-1-a.expression.length,goal:`expression`,label:`{${a.expression}}`};else if(a.type===`html`){let t=a.start;for(let[n,r]of Object.entries(a.attributes)){let i=SS(e,r,t);if(t=i+r.length,!Wo(n)){yield{kind:`text`,text:r,offset:i,where:`In the ${n} attribute of <${a.tag}>: `};continue}let o=0;for(let e of Go(r)){if(!(`expr`in e))continue;let t=SS(r,e.expr,o);o=t+e.expr.length,yield{kind:`code`,code:e.expr,offset:i+t,goal:`expression`,label:`{${e.expr}} in the ${n} attribute of <${a.tag}>`}}}}else if(a.type===`macro`&&!a.isClose){let o=a.name.toLowerCase();if(o===`do`){let n=r(i,o);if(n<0)continue;yield{kind:`code`,code:e.slice(a.end,t[n].start),offset:a.end,goal:`statements`,label:`{do}`},i=n;continue}let s=a.rawArgs;if(mS.has(o)){let n=r(i,o),s=t.slice(i+1,n);if(n>i+1&&s.every(e=>e.type===`text`)){let r=e.slice(a.end,t[n].start),i=r.trim();yield{kind:`passage`,name:i.replace(/^[\"']|[\"']$/g,``),offset:a.end+r.indexOf(i),length:i.length,macro:o,label:e.slice(a.start,a.end)}}}if(!s)continue;let c=`{${a.name} ${s}}`,l=e.slice(a.start,a.end-1),u=a.start+l.trimEnd().length-s.length;if(pS.has(o)){yield{kind:`code`,code:s,offset:u,goal:`expression`,label:c};continue}let d=n(o);d&&(yield*xS(s,u,d,a.name,c))}}}function*xS(e,t,n,r,i){let a,o=new Map;try{a=Fx(e,n,o)}catch(e){if(!(e instanceof bx))throw e;yield{kind:`argument-error`,message:e.message,offset:t,label:i};return}let s=r.toLowerCase();function*c(n,a){for(let l of n){let n=a[l.name];if(l.type===`options`&&l.parameters){yield*c(l.parameters,n??{});continue}let u=o.get(l);if(typeof n!=`string`||!n.trim()||!u)continue;let[d,f]=u,p=e.slice(d,f),m=e=>({kind:`passage`,name:e,offset:t+d,length:f-d,macro:s,label:i}),h=vS(l);if(l.type===`passage`){let e=Ix(n);if(e.kind===`name`){yield m(e.name);continue}}if(h){let e={kind:`code`,code:n,offset:t+d,goal:h,label:i};l.type===`passage`&&(e.passage=!0,e.macro=s),yield e;continue}let g=t+d+(n!==p&&/^[\"']/.test(p)?1:0),_=yS(l);_===`expression`||_===`statements`?yield{kind:`code`,code:n,offset:g,goal:_,label:i,inString:!0}:_===`passage`?yield m(n):_===`markup`&&(yield{kind:`text`,text:n,offset:g,where:`In the ${l.name} of {${r}}: `})}}yield*[...c(n,a)].sort((e,t)=>e.offset-t.offset)}function SS(e,t,n){let r=e.indexOf(t,n);if(r>=0)return r;let i=e.indexOf(t);return i>=0?i:n}var CS=[{name:`name`,type:`text`,holds:`text`,required:!0},{name:`parameters`,type:`text`,holds:`text`}];function wS({name:e=``,parameters:t=``}){return{name:e,params:t.split(/\\s+/).filter(e=>e.startsWith(`@`))}}function TS(e){return wS(Fx(e,CS))}var ES=/\\{widget\\s+[\"']?(\\w+)[\"']?[^}]*\\}([\\s\\S]*?)\\{\\/widget\\}/g;function DS(e){let t=[];for(let n of e)if(!(n.name!==`StoryInit`&&!n.tags?.includes(`widget`)))for(let e of n.content.matchAll(ES))/\\{@children\\}/.test(e[2])&&t.push(e[1]);return t}var OS=new Set([`StoryVariables`,`StoryTransients`,`SaveTitle`]),kS=[`script`,`stylesheet`],AS=new Set([`elseif`,`else`,`case`,`default`,`next`]);function jS(e){let t=e.file?` (${e.file}${e.fileLine?`:${e.fileLine}`:``})`:``;return`Passage \"${e.passage}\", line ${e.line}, column ${e.column}${t}: ${e.message}`}function MS(e,t){let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r++){let i=[r];for(let a=1;a<=t.length;a++)i[a]=Math.min(n[a]+1,i[a-1]+1,n[a-1]+(e[r-1]===t[a-1]?0:1));n=i}return n[t.length]}function NS(e,t,n){let r=e.toLowerCase(),i=``,a=Math.max(2,Math.floor(r.length/3))+1;for(let e of t){let t=MS(r,e.toLowerCase());t<a&&(i=e,a=t)}return i?` Did you mean ${n(i)}?`:``}var PS=` (a passage name is a quoted string or an expression)`,FS=/^[A-Za-z][\\w$]*$/;function IS(e){try{return TS(e).name.toLowerCase()||void 0}catch{return}}function LS(e,t){let n=[],r=t.isBlockMacro?{isBlock:t.isBlockMacro}:void 0,i=(e,t,r)=>{let{line:i,column:a}=Yo(e.content,t),o={passage:e.name,line:i,column:a,message:r},s=e.metadata?.[`data-source-file`];if(s){o.file=s;let t=Number(e.metadata?.[`data-source-line`]);t&&(o.fileLine=t+i)}n.push(o)},a=[],o=new Set,s=new Set;for(let n of e){if(s.add(n.name),OS.has(n.name)||n.tags?.some(e=>kS.includes(e)))continue;let e=!t.only||t.only(n);try{let t=Qo(n.content);for(let e of t){if(e.type!==`macro`||e.isClose||e.name.toLowerCase()!==`widget`)continue;let t=IS(e.rawArgs);t&&o.add(t)}if(!e)continue;Zo(n.content,{hooks:r}),a.push([n,t])}catch(t){if(!(t instanceof Jo))throw t;e&&i(n,t.offset,t.reason)}}let c=[...t.macroNames??[],...o],l=(e,n,r,a)=>{for(let s of n){if(s.type!==`macro`||s.isClose)continue;let n=s.name.toLowerCase();AS.has(n)||o.has(n)||t.isKnownMacro(n)||i(e,r+s.start,`${a}Unknown macro {${s.name}}.${NS(s.name,c,e=>`{${e}}`)}`)}},u=t.parametersOf??(()=>void 0),d=(e,n,a,o,c)=>{l(e,a,o,c);for(let l of bS(n,a,u)){let n=o+l.offset;if(l.kind===`argument-error`){i(e,n,`${c}${l.message} in ${l.label}`);continue}if(l.kind===`passage`){if(t.checkPassageNames!==!1&&!s.has(l.name)){let t=NS(l.name,s,JSON.stringify);i(e,n,`${c}No passage named ${JSON.stringify(l.name)} in ${l.label}.${t}`)}continue}if(l.kind===`code`){let t=fS(l.code,l.goal),r=l.code.trim();if(t instanceof so){let r=t.reasonIn(e.content,n);i(e,n+t.pos,`${c}${r} in ${l.label}`+(l.passage?PS:``))}else l.passage&&FS.test(r)&&i(e,n,`${c}Unquoted passage name in ${l.label}: write ${JSON.stringify(r)}${PS}`);continue}if(l.text.includes(`{`))try{Zo(l.text,{text:!0,hooks:r});let t=Qo(l.text,{text:!0});d(e,l.text,t,n,l.where)}catch(t){if(!(t instanceof Jo))throw t;i(e,n+t.offset,l.where+t.reason)}}};for(let[e,t]of a)dS(()=>d(e,e.content,t,0,``));return n}function RS(e,t){try{return Qo(e,{text:t})}catch(e){if(e instanceof Jo)return[];throw e}}function zS(e){let t=e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`);return RegExp(`^${t}(\\\\w+)\\\\s*=\\\\s*(.+)$`)}var BS=/\\$(\\w+(?:\\.\\w+)*)/y,VS=/^[\"']\\$(\\w+(?:\\.\\w+)*)[\"']?$/,HS=new Set([`number`,`string`,`boolean`]),US={string:Object(``),number:Object(0),boolean:Object(!1)};function WS(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,WS(r));return{type:`object`,fields:t}}let t=typeof e;if(!HS.has(t))throw Error(`Unsupported type \"${t}\" for value ${String(e)}. Expected number, string, boolean, array, or object.`);return{type:t}}function GS(e,t=`$`){let n=new Map,r=zS(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=Es(s,t+s);if(l)throw Error(`${i}: ${l}`);let u;try{u=Function(`return (`+c+`)`)()}catch(e){throw Error(`${i}: Failed to evaluate \"${t}${s} = ${c}\": ${nl(e)}`)}let d;try{d=WS(u)}catch(e){throw Error(`${i}: ${nl(e)}`)}n.set(s,{...d,name:s,default:u})}return n}function KS(e,t){let n=e.split(`.`),r=n[0],i=Es(r,`$`+r);if(i)return i;let a=t.get(r);if(!a)return`Undeclared variable: $${e}`;let o=a;for(let e=1;e<n.length;e++){let t=n[e];if(o.type===`array`)return null;let r=US[o.type];if(r&&t in r){let e=typeof r[t];if(!HS.has(e))return null;o={type:e};continue}if(o.type!==`object`||!o.fields)return`Cannot access field \"${t}\" on $${n.slice(0,e).join(`.`)} (type: ${o.type})`;let i=o.fields.get(t);if(!i)return null;o=i}return null}var qS=[`checkbox`,`cycle`,`listbox`,`numberbox`,`radiobutton`,`textarea`,`textbox`],JS=new Set;function YS(e,t){for(let n of Go(e))`expr`in n&&ZS(n.expr,t)}function XS(e,t,n=JS){e.includes(`{`)&&tC(e,RS(e,!0),n,t)}function ZS(e,t,n=`expression`){let r=fS(e,n);if(r instanceof so){QS(e,t,n);return}for(let n of r.refs)n.sigil===`$`&&(BS.lastIndex=n.start,t(BS.exec(e)[1]))}function QS(e,t,n){Ao(e,{variable(n,r,i){n===`$`&&(BS.lastIndex=i,t(BS.exec(e)[1]))},literal(){}},n)}function $S(e,t,n,r){dS(()=>tC(e,RS(e,!1),t,n,r))}function eC(e,t,n){if(e.rawArgs){if(t){let r=[...xS(e.rawArgs,0,t,e.name,``)];if(!r.some(e=>e.kind===`argument-error`)){for(let e of r)e.kind===`code`?ZS(e.code,n,e.goal):e.kind===`text`&&XS(e.text,n);return}}ZS(e.rawArgs,n)}}function tC(e,t,n,r,i=()=>void 0){for(let a=0;a<t.length;a++){let o=t[a];if(o.type===`variable`)o.scope===`variable`&&o.name&&r(o.name);else if(o.type===`link`)XS(o.display,r);else if(o.type===`expression`)ZS(o.expression,r);else if(o.type===`html`)for(let[e,t]of Object.entries(o.attributes))Wo(e)?YS(t,r):XS(t,r,n);else if(o.type===`macro`&&!o.isClose){if(eC(o,i(o.name),r),o.className&&XS(o.className,r),o.id&&XS(o.id,r),n.has(o.name.toLowerCase())){let e=o.rawArgs.trim().split(/\\s+/)[0]??``,t=VS.exec(e);t?r(t[1]):/^[\"'`]/.test(e)||ZS(e,r)}if(o.name.toLowerCase()===`do`){let n=a+1;for(;n<t.length;){let e=t[n];if(e.type===`macro`&&e.isClose&&e.name.toLowerCase()===`do`)break;n++}n<t.length&&(ZS(e.slice(o.end,t[n].start),r,`statements`),a=n)}}}}function nC(e,t,n=qS,r=xc){let i=[],a=new Set(Array.from(n,e=>e.toLowerCase()));for(let[n,o]of e)OS.has(n)||$S(o.content,a,e=>{let r=KS(e,t);r&&i.push(`Passage \"${n}\": ${r}`)},r);return i}function rC(e){let t=K();for(let[n,r]of e)t[n]=r.default;return t}function iC(e){for(let t of e){if(t.type===`variable`&&t.scope===`local`&&t.name===`children`||t.type===`html`&&iC(t.children))return!0;if(t.type===`macro`){if(iC(t.children))return!0;if(t.branches){for(let e of t.branches)if(iC(e.children))return!0}}}return!1}function aC({name:e,params:t},n){let r=iC(n);wc(e,n,t,r),r&&Sr(e)}$({name:`widget`,block:!0,parameters:CS,render({children:e=[]},t){let n,r;try{let e=wS(t.args);for(let t of e.params)Ds(t.slice(1),t);n=e}catch(e){r=e}let{name:i,params:a}=n??{name:``,params:[]},o=JSON.stringify(e),s=a.join(`,`);return t.hooks.useLayoutEffect(()=>{n&&aC(n,e)},[i,o,s]),r?q(Af,{macro:`widget`,error:r}):null}}),$({name:`set`,parameters:[{name:`code`,type:`statements`,required:!0}],render({rawArgs:e},t){return Mf(`set`,e,()=>t.mutate(e))}}),$({name:`print`,parameters:[{name:`expression`,type:`expression`,required:!0}],interpolate:!0,merged:!0,render({rawArgs:e},t){try{return t.wrap(Vc(t.evaluate(e)))}catch(e){return q(Af,{macro:`print`,error:e})}},text({rawArgs:e},t){return Vc(t.evaluate(e))}});var oC=Symbol(`unset`);function sC(e,t){if(!t[`=`])throw Error(`{computed}: expected \"target = expression\", got \"${e}\"`);let{target:n=``,expression:r=``}=t;if(!n.match(/^[$_@]\\w+$/))throw Error(`{computed}: target must be $name, _name, or @name, got \"${n}\"`);return Ds(n.slice(1),n),{target:n,expr:r}}function cC(e,t,n,r,i,a,o,s){let c=kf(),l;try{let{variables:t,temporary:n,transient:r}=pv();l=ic(e,t,n,i(),r)}catch(e){jf(`computed ${a}`,e,c);return}if(!lg(o.current,l))if(o.current=l,r)try{s(t,l)}catch(e){jf(`computed ${a}`,e,c)}else{let e=Q.getState();n?e.setTemporary(t,l):e.setVariable(t,l)}}$({name:`computed`,merged:!0,parameters:[{name:`target`,type:`variable`,required:!0},{name:`=`,type:`separator`},{name:`expression`,type:`expression`,required:!0}],render({rawArgs:e},t){let[n,r,i,a]=t.merged,o,s;try{({target:o,expr:s}=sC(e,t.args))}catch(e){return q(Af,{macro:`computed`,error:e})}let c=o.startsWith(`@`),l=o.startsWith(`_`),u=o.slice(1),d=c?t.update:null,f=t.hooks.useRef(oC),p=()=>cC(s,u,l,c,t.getValues,e,f,d),m=t.hooks.useRef(!1);return m.current||(m.current=!0,p()),t.hooks.useLayoutEffect(p,[n,r,i,a]),null}});function lC(e){if(e.current===void 0||e.max===void 0)throw Error(`meter requires two arguments: {meter currentExpr maxExpr}`);return{currentExpr:e.current,maxExpr:e.max,labelMode:e.label??``}}function uC(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,parameters:[{name:`current`,type:`expression`,required:!0},{name:`max`,type:`expression`,required:!0},{name:`label`,type:`string`,holds:`markup`}],render(e,t){try{let{currentExpr:e,maxExpr:n,labelMode:r}=lC({...t.args,label:t.resolve?.(t.args.label)}),i=Number(t.evaluate(e)),a=Number(t.evaluate(n)),o=a===0?0:Math.max(0,Math.min(100,i/a*100)),s=uC(i,a,r),c=t.cls;return q(`div`,{class:c,id:t.id,children:[q(`div`,{class:`macro-meter-fill`,style:`width: ${o}%`}),s!=null&&q(`span`,{class:`macro-meter-label`,children:s})]})}catch(e){return q(Af,{macro:`meter`,error:e})}}});function dC(e,t){let n=null;for(let r of e)if(r.rawArgs===``)n=r;else if(t(r.rawArgs))return r;return n}function fC(e,t){let n=e.findIndex(e=>e.rawArgs===``);return dC(n<0?e:e.slice(0,n+1),e=>!!t(e))}$({name:`if`,block:!0,interpolate:!0,merged:!0,render({branches:e=[]},t){let n;try{n=fC(e,t.evaluate)}catch(e){return q(Af,{macro:`if`,error:e})}return n?Hc(t.resolve(n.className),t.resolve(n.id),t.renderNodes(n.children)):null},text({branches:e=[]},t){let n=fC(e,t.evaluate);return n?t.renderText(n.children):``}});function pC(e){try{return mC(e,[])}catch{return`<unkeyable>`}}function mC(e,t){switch(typeof e){case`string`:return JSON.stringify(e);case`number`:return Number.isFinite(e)?JSON.stringify(e):String(e);case`boolean`:return String(e);case`bigint`:return`${e}n`;case`undefined`:return`undefined`;case`symbol`:return e.description===void 0?`Symbol()`:`Symbol(${JSON.stringify(e.description)})`;case`function`:return`<function ${JSON.stringify(e.name)}>`}if(e===null)return`null`;let n=e,r=t.indexOf(n);if(r!==-1)return`<cycle ${t.length-r}>`;if(e instanceof Date)return`Date(${e.getTime()})`;if(e instanceof RegExp)return`RegExp(${String(e)})`;t.push(n);try{if(Array.isArray(e))return`[${Array.from(e,e=>mC(e,t)).join(`,`)}]`;if(e instanceof Map)return`Map[${[...e].map(([e,n])=>`[${mC(e,t)},${mC(n,t)}]`).join(`,`)}]`;if(e instanceof Set)return`Set[${[...e].map(e=>mC(e,t)).join(`,`)}]`;let r=n,i=Object.keys(r).map(e=>`${JSON.stringify(e)}:${mC(r[e],t)}`).join(`,`),a=Dm(n);return a===void 0?`{${i}}`:`Class(${JSON.stringify(a)}){${i}}`}finally{t.pop()}}function hC(e,t){if(!t.of)throw Error(`{for} requires \"of\" keyword: {for ${e}}`);let[n=``,r=null]=t.variables??[],i=t.list??``;if(!n.startsWith(`@`))throw Error(`{for} loop variable must use @ prefix: got \"${n}\"`);if(r&&!r.startsWith(`@`))throw Error(`{for} index variable must use @ prefix: got \"${r}\"`);return Ds(n.slice(1),n),r&&Ds(r.slice(1),r),{itemVar:n.slice(1),indexVar:r?r.slice(1):null,listExpr:i}}function gC({parentValues:e,itemVar:t,itemValue:n,indexVar:r,indexValue:i,children:a}){return q(ul,{body:a,parentValues:e,ownKeys:Pe(()=>({[t]:n,...r?{[r]:i}:void 0}),[t,n,r,i])})}$({name:`for`,block:!0,interpolate:!0,merged:!0,parameters:[{name:`variables`,type:`names`,required:!0},{name:`of`,type:`separator`},{name:`list`,type:`expression`,required:!0}],render({rawArgs:e,children:t=[]},n){let r=Ie(Pf),i,a;try{i=hC(e,n.args);let t=n.evaluate(i.listExpr);if(!Array.isArray(t))return q(`span`,{class:`error`,children:`{for error: expression did not evaluate to an array}`});a=t}catch(e){return q(Af,{macro:`for`,error:e})}let{itemVar:o,indexVar:s}=i,c=a.map((e,n)=>q(gC,{parentValues:r,itemVar:o,itemValue:e,indexVar:s,indexValue:n,children:t},`${n}-${pC(e)}`));return n.wrap(c)},text({rawArgs:e,children:t=[]},n){let{itemVar:r,indexVar:i,listExpr:a}=hC(e,n.args),o=n.evaluate(a);if(!Array.isArray(o))throw Error(`expression did not evaluate to an array`);return o.map((e,a)=>n.renderText(t,{[r]:e,...i?{[i]:a}:void 0})).join(``)}}),$({name:`do`,block:!0,render({children:e=[]},t){let n=t.collectText(e);return t.hooks.useLayoutEffect(()=>{let e=t.sourceLocation();try{t.mutate(n)}catch(t){jf(`do`,t,e)}},[]),null}});function _C(e){return new Proxy(K(),{get:(t,n)=>typeof n==`string`?Os(e(),n):void 0,has:(t,n)=>typeof n==`string`&&G(e(),n),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>{let r=Object.getOwnPropertyDescriptor(e(),n);return r?{...r,configurable:!0}:void 0}})}var vC=_e({stop:()=>{}});$({name:`repeat`,block:!0,interpolate:!0,parameters:[Px],render({children:e=[]},t){let{useState:n,useEffect:r,useCallback:i}=t.hooks,a=t.args.delay??0,[o,s]=n(0),[c,l]=n(!1),u=i(()=>l(!0),[]);if(r(()=>{if(c)return;let e=setInterval(()=>{s(e=>e+1)},a);return()=>clearInterval(e)},[a,c]),o===0&&!c)return null;let d=q(vC.Provider,{value:{stop:u},children:q(`span`,{children:t.renderNodes(e)},o)});return t.className||t.id?q(`span`,{id:t.id,class:t.cls,children:d}):d}});function yC(){let e=Ie(Ff),{nobr:t,inline:n}=ll(),r=Ie(Hf),i=Ie(vC),a=Ie(Ib),o=o=>{let s=_C(e.getValues),c=document.createElement(`div`);ge(q(Ff.Provider,{value:e,children:q(Pf.Provider,{value:s,children:q(If.Provider,{value:t,children:q(Lf.Provider,{value:n,children:q(Hf.Provider,{value:r,children:q(vC.Provider,{value:i,children:q(Ib.Provider,{value:a,children:jp(o,{nobr:t,inline:n,locals:s})})})})})})})}),c),ge(null,c)};return e=>Pv(()=>o(e))}$({name:`button`,block:!0,interpolate:!0,parameters:[{name:`label`,type:`text`,holds:`markup`,required:!0}],render({rawArgs:e,children:t=[]},n){let r=n.resolve?.(n.args.label??``)??e,i=yC(),a=()=>i(t);return n.useAction({type:`button`,key:e,authorId:n.id,label:r,perform:a}),q(`button`,{id:n.id,class:n.cls,onClick:a,children:r})}}),$({name:`link`,block:!0,interpolate:!0,merged:!0,parameters:[{name:`text`,type:`string`,holds:`markup`,required:!0},{name:`passage`,type:`passage`}],render({children:e=[]},t){let n=t.resolve?.(t.args.text??``)??``,r=null,i;if(t.args.passage!==void 0)try{r=Lx(t.args.passage,t.evaluate,Q.getState())}catch(e){i={error:e}}let a=yC(),o=()=>{i||(a(e),r&&Q.getState().navigate(r))};return t.useAction({type:`link`,key:r||n,authorId:t.id,label:n,target:r??void 0,disabled:i?!0:void 0,perform:o}),i?q(Af,{macro:`link`,error:i.error}):q(`a`,{id:t.id,class:t.cls,href:`#`,onClick:e=>{e.preventDefault(),o()},children:n})}});function bC(e,t,n){return dC(t.slice(1),t=>e===n(t))}$({name:`switch`,subMacros:[`case`,`default`],parameters:[{name:`expression`,type:`expression`,required:!0}],merged:!0,render({rawArgs:e,branches:t=[]},n){let r;try{r=n.evaluate(e)}catch(e){return q(Af,{macro:`switch`,error:e})}let i;try{i=bC(r,t,n.evaluate)}catch(e){return q(Af,{macro:`case`,error:e})}return i&&q(S,{children:n.renderNodes(i.children)})},text({rawArgs:e,branches:t=[]},n){let r=bC(n.evaluate(e),t,n.evaluate);return r?n.renderText(r.children):``}});var xC=[Px];$({name:`timed`,subMacros:[`next`],interpolate:!0,parameters:xC,render({branches:e=[]},t){let{useState:n,useEffect:r,useMemo:i}=t.hooks,a=i(()=>e.map(e=>({delay:Fx(e.rawArgs,xC).delay??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];return t.wrap(Hc(t.resolve(c.className),t.resolve(c.id),t.renderNodes(c.nodes)))}}),$({name:`stop`,render(e,t){let{stop:n}=t.hooks.useContext(vC);return t.hooks.useLayoutEffect(()=>{n()},[n]),null}}),$({name:`type`,block:!0,interpolate:!0,parameters:[Px],render({children:e=[]},t){let{useState:n,useEffect:r,useRef:i}=t.hooks,a=t.args.delay??0,o=i(null),[s,c]=n(0),[l,u]=n(0),d=i(0);d.current=l,r(()=>{o.current&&c((o.current.textContent||``).length)}),r(()=>{if(s===0||d.current>=s)return;let e=setInterval(()=>{u(t=>t>=s?(clearInterval(e),t):t+1)},a);return()=>clearInterval(e)},[s,a]);let f=l>=s&&s>0,p=[`macro-type`,f?`macro-type-done`:``,t.className||``].filter(Boolean).join(` `);return q(`span`,{id:t.id,class:p,ref:o,style:{clipPath:void 0},children:[q(`span`,{class:`macro-type-inner`,style:{display:`inline`,visibility:s===0?`hidden`:`visible`,clipPath:s>0&&!f?`inset(0 ${(s-l)/s*100}% 0 0)`:void 0},children:t.renderInlineNodes(e)}),!f&&s>0&&q(`span`,{class:`macro-type-cursor`})]})}}),$({name:`story-title`,render(e,t){let n=Q(e=>e.storyData?.name||``),r=t.className?`story-title ${t.className}`:`story-title`;return q(`span`,{id:t.id,class:r,children:n})},text:()=>Q.getState().storyData?.name||``});function SC(e,t){return t?`${e} (${t})`:e}function CC(e){$({name:e.name,render(t,n){if(e.hidden?.())return null;let[r,i]=Ae(!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}),q(S,{children:[q(`button`,{id:n.id,class:c,onClick:l,disabled:o,title:s,children:e.label}),e.dialog&&r&&q(Lb,{passageName:e.dialog.passageName,fallbackMarkup:e.dialog.fallbackMarkup,panelClass:e.dialog.panelClass,onClose:()=>i(!1),showCloseButton:e.dialog.showCloseButton})]})}})}CC({name:`back`,label:`← Back`,actionType:`back`,setup:()=>({perform:Q(e=>e.goBack),disabled:!Q(e=>e.historyIndex>0)})}),CC({name:`forward`,label:`Forward →`,actionType:`forward`,setup:()=>({perform:Q(e=>e.goForward),disabled:!Q(e=>e.historyIndex<e.history.length-1)})}),CC({name:`quicksave`,label:`QuickSave`,actionType:`save`,setup:()=>{let{save:e,quickSaveKey:t}=is(`save`,`quickSaveKey`);return{perform:e,title:SC(`Quick Save`,t)}}}),CC({name:`quickload`,label:`QuickLoad`,actionType:`load`,confirm:`Load saved game? Current progress will be lost.`,setup:()=>{let{load:e,hasSave:t,quickLoadKey:n}=is(`load`,`hasSave`,`quickLoadKey`,`knownSaves`);return{perform:()=>e(),disabled:!t(),title:SC(`Quick Load`,n)}}}),CC({name:`restart`,label:`↺ Restart`,actionType:`restart`,confirm:`Restart the story? All progress will be lost.`,setup:()=>({perform:Q(e=>e.restart)})}),CC({name:`saves`,label:`Saves`,actionType:`dialog`,dialog:{passageName:`SaveLoad`,fallbackMarkup:`{save-manager}`,panelClass:`dialog-saves`}}),CC({name:`settings`,label:`Settings`,actionType:`dialog`,hidden:()=>!rx.hasAny(),dialog:{passageName:`Settings`,fallbackMarkup:`{settings-controls}`,panelClass:`dialog-settings`}}),$({name:`dialog`,block:!0,interpolate:!0,parameters:[{name:`label`,type:`text`,holds:`markup`,required:!0},{name:`noclose`,type:`flag`}],render({children:e=[]},t){let[n,r]=t.hooks.useState(!1),{noclose:i}=t.args,a=t.resolve(t.args.label??``),o=t.collectText(e).trim().replace(/^[\"']|[\"']$/g,``);return q(S,{children:[q(`button`,{id:t.id,class:t.cls,onClick:()=>r(!0),children:a}),n&&q(Lb,{passageName:o,onClose:()=>r(!1),showCloseButton:!i})]})}});function wC(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 TC(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function EC(){let[e,t]=Ae(`load`),[n,r]=Ae([]),[i,a]=Ae(!0),[o,s]=Ae(null),[c,l]=Ae(()=>new Set),[u,d]=Ae(null),[f,p]=Ae(``),m=j(null),h=j(null),g=Ie(Ib),{storyData:_,playthroughId:v,beginSave:y,loadFromPayload:b}=is(`storyData`,`playthroughId`,`beginSave`,`loadFromPayload`),x=_?.ifid??``,S=Fe(async()=>{x&&(r(await b_(x)),a(!1))},[x]);Me(()=>{S()},[S]),Me(()=>{u&&m.current&&(m.current.focus(),m.current.select())},[u]);let C=j(!0),w=j(),T=j(),E=(e,t=`success`)=>{C.current&&(clearTimeout(w.current),s({text:e,type:t}),w.current=window.setTimeout(()=>s(null),3e3))};Me(()=>(C.current=!0,()=>{C.current=!1,clearTimeout(w.current),clearTimeout(T.current)}),[]);let ee=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},D=async()=>{if(!x)return;let e=$y();try{await u_(void 0,void 0,y,async t=>f_(x,e,t)),E(`Save created`),await S()}catch{E(`Failed to create save`,`error`)}},te=async e=>{let t=$y();try{await u_(void 0,void 0,y,async n=>{if(!await m_(e,n,void 0,t))throw Error(`Save not found`)}),E(`Save overwritten`),await S()}catch{E(`Failed to overwrite save`,`error`)}},ne=async e=>{try{b(__(e.payload),void 0,e.meta.playthroughId),E(`Game loaded`),g&&(T.current=window.setTimeout(g,500)),await S()}catch{E(`Failed to load save`,`error`)}},re=async e=>{if(confirm(`Delete this save?`))try{await v_(e);let t=await z_(x);Q.setState(e=>{e.knownSaves=t}),E(`Save deleted`),await S()}catch{E(`Failed to delete save`,`error`)}},ie=e=>{d(e.meta.id),p(e.meta.title)},O=async()=>{if(!(!u||!f.trim()))try{await y_(u,f.trim()),d(null),E(`Save renamed`),await S()}catch{E(`Failed to rename`,`error`)}},ae=e=>{e.key===`Enter`?O():e.key===`Escape`&&d(null)},oe=async e=>{try{let t=await X_(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),E(`Save exported`)}catch{E(`Failed to export save`,`error`)}},se=()=>{h.current?.click()},ce=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(!_h(t))throw Error(`Invalid save file format`);await Q_(t,x),E(`Save imported`),await S()}catch(e){E(nl(e,`Failed to import save`),`error`)}}},le=n.reduce((e,t)=>e+t.saves.length,0);return q(`div`,{class:`save-manager`,children:[q(`div`,{class:`saves-header`,children:q(`div`,{class:`saves-header-left`,children:q(`div`,{class:`saves-mode-toggle`,children:[q(`button`,{class:e===`save`?`active`:``,onClick:()=>t(`save`),children:`Save`}),q(`button`,{class:e===`load`?`active`:``,onClick:()=>t(`load`),children:`Load`})]})})}),q(`div`,{class:`saves-toolbar`,children:[q(`button`,{class:`saves-toolbar-button`,onClick:se,children:`Import`}),q(`input`,{ref:h,type:`file`,accept:`.json`,style:`display:none`,onChange:ce})]}),q(`div`,{class:`saves-body`,children:[i?q(`div`,{class:`saves-empty`,children:`Loading...`}):le===0&&e===`load`?q(`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:q(`div`,{class:`playthrough-group`,children:[q(`div`,{class:`playthrough-header`,onClick:()=>ee(t.playthrough.id),children:[q(`span`,{class:`playthrough-chevron ${n?``:`open`}`,children:`▶`}),q(`span`,{class:`playthrough-label`,children:[t.playthrough.label,r?` (current)`:``]}),q(`span`,{class:`playthrough-date`,children:TC(t.playthrough.createdAt)})]}),!n&&q(`div`,{class:`playthrough-saves`,children:[t.saves.map(t=>q(`div`,{class:`save-slot`,children:[q(`div`,{class:`save-slot-info`,children:[u===t.meta.id?q(`input`,{ref:m,class:`save-rename-input`,value:f,onInput:e=>p(e.target.value),onKeyDown:ae,onBlur:O}):q(`div`,{class:`save-slot-title`,children:t.meta.title}),q(`div`,{class:`save-slot-meta`,children:[q(`span`,{children:t.meta.passage}),q(`span`,{children:wC(t.meta.updatedAt)})]})]}),q(`div`,{class:`save-slot-actions`,children:[e===`save`?q(`button`,{class:`save-slot-action primary`,onClick:()=>te(t.meta.id),children:`Save Here`}):q(`button`,{class:`save-slot-action primary`,onClick:()=>ne(t),children:`Load`}),q(`button`,{class:`save-slot-action`,onClick:()=>ie(t),children:`Rename`}),q(`button`,{class:`save-slot-action`,onClick:()=>oe(t.meta.id),children:`Export`}),q(`button`,{class:`save-slot-action danger`,onClick:()=>re(t.meta.id),children:`Delete`})]})]},t.meta.id)),e===`save`&&r&&q(`button`,{class:`save-slot-new`,onClick:D,children:`+ New Save`})]})]},t.playthrough.id)}),e===`save`&&!i&&!n.some(e=>e.playthrough.id===v)&&q(`div`,{class:`playthrough-group`,children:q(`div`,{class:`playthrough-saves`,children:q(`button`,{class:`save-slot-new`,onClick:D,children:`+ New Save`})})})]}),o&&q(`div`,{class:`saves-status ${o.type===`error`?`error`:``}`,children:o.text})]})}$({name:`save-manager`,render(){return q(EC,{})}});function DC({name:e,def:t}){let[n,r]=Ae(()=>rx.get(e)),i=t=>{r(t),rx.set(e,t)};switch(t.type){case`toggle`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:t.config.label}),q(`input`,{type:`checkbox`,checked:!!n,onChange:e=>i(e.target.checked)})]});case`list`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:t.config.label}),q(`select`,{value:String(n),onChange:e=>i(e.target.value),children:t.config.options.map(e=>q(`option`,{value:e,children:e},e))})]});case`range`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:[t.config.label,`: `,String(n)]}),q(`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 OC(){let e=rx.getDefinitions();return q(`div`,{class:`settings-controls`,children:Array.from(e.entries()).map(([e,t])=>q(DC,{name:e,def:t},e))})}$({name:`settings-controls`,render(){return q(OC,{})}}),$({name:`include`,interpolate:!0,merged:!0,parameters:[{name:`inline`,type:`flag`},{name:`passage`,type:`passage`,required:!0}],render(e,t){let{storyData:n}=is(`storyData`),{inline:r}=t.args,i=``,a;try{i=Lx(t.args.passage,t.evaluate,Q.getState())}catch(e){a={error:e}}let o=n?.passages.get(i),s=t.hooks.useMemo(()=>o?Zo(o.content):null,[o]),c=!a&&!!o;if(t.hooks.useEffect(()=>{c&&Q.getState().trackRender(i)},[c,i]),!n)return null;if(a)return q(Af,{macro:`include`,error:a.error});if(!o||!s)return null;let l=o.tags.includes(`nobr`),u=r?t.renderInlineNodes(s):t.renderNodes(s,l?{nobr:!0}:void 0);return l?t.wrap(t.h(If.Provider,{value:!0},u)):t.wrap(u)}}),$({name:`nobr`,block:!0,render({children:e=[]},t){return t.wrap(t.h(If.Provider,{value:!0},t.renderNodes(e,{nobr:!0})))},text:({children:e=[]},t)=>t.renderText(e)}),$({name:`goto`,merged:!0,parameters:[{name:`passage`,type:`passage`,required:!0}],render(e,t){let[n,r]=t.hooks.useState();return t.hooks.useLayoutEffect(()=>{let e=t.sourceLocation();try{let e=Q.getState();e.navigate(Lx(t.args.passage,t.evaluate,e))}catch(t){jf(`goto`,t,e),r({error:t})}},[]),n?q(Af,{macro:`goto`,error:n.error}):null}}),$({name:`unset`,parameters:[{name:`variable`,type:`variable`,required:!0}],render({rawArgs:e},t){return Mf(`unset`,e,()=>{let e=Q.getState(),n=t.args.variable??``;if(/^[$_%@][^.]*\\./.test(n))t.mutate(`delete ${n}`);else if(n.startsWith(`$`))e.deleteVariable(n.slice(1));else if(n.startsWith(`_`))e.deleteTemporary(n.slice(1));else if(n.startsWith(`%`))e.deleteTransient(n.slice(1));else if(n.startsWith(`@`))t.update(n.slice(1),void 0);else throw Error(`{unset} expects a variable ($name, _name, %name, or @name), got \"${n}\"`)})}});var kC={name:`variable`,type:`variable`,required:!0};function AC(e,t){return e.useAction({key:`$${e.varName}`,authorId:e.id,variable:e.varName,value:e.value,...t})}function jC(e,t,n=e=>e===void 0?``:String(e)){$({name:e,storeVar:!0,parameters:[kC,{name:`placeholder`,type:`string`,holds:`text`}],render(r,i){let a=i.args.placeholder??``;return AC(i,{type:e,label:a||i.varName,perform:e=>i.setValue(n(e))}),b(t?`input`:`textarea`,{type:t,id:i.id,class:i.cls,value:Vc(i.value),placeholder:a,onInput:e=>i.setValue(n(e.target.value))})}})}jC(`textbox`,`text`),jC(`numberbox`,`number`,e=>e===void 0?0:Number(e)),jC(`textarea`),$({name:`checkbox`,storeVar:!0,parameters:[kC,{name:`label`,type:`text`,holds:`text`}],render(e,t){let n=t.args.label??``;return AC(t,{type:`checkbox`,label:n||t.varName||``,value:!!t.value,perform:e=>t.setValue(e===void 0?!t.value:!!e)}),q(`label`,{id:t.id,class:t.cls,children:[q(`input`,{type:`checkbox`,checked:!!t.value,onChange:()=>t.setValue(!t.value)}),n?` ${n}`:null]})}}),$({name:`radiobutton`,storeVar:!0,parameters:[kC,{name:`value`,type:`text`,holds:`text`,required:!0},{name:`label`,type:`text`,holds:`text`}],render(e,t){let n=t.args.value??``,r=t.args.label??``;return AC(t,{type:`radiobutton`,key:`$${t.varName}:${n}`,label:r||n,perform:()=>t.setValue(n)}),q(`label`,{id:t.id,class:t.cls,children:[q(`input`,{type:`radio`,name:`radio-${t.varName}`,checked:t.value===n,onChange:()=>t.setValue(n)}),r?` ${r}`:null]})}}),$({name:`listbox`,subMacros:[`option`],storeVar:!0,parameters:[kC],render({children:e=[]},t){let n=t.extractOptions(e);return AC(t,{type:`listbox`,label:t.varName,options:n,perform:e=>{e!==void 0&&t.setValue(String(e))}}),q(`select`,{id:t.id,class:t.cls,value:Vc(t.value),onChange:e=>t.setValue(e.target.value),children:n.map(e=>q(`option`,{value:e,children:e},e))})}}),$({name:`cycle`,block:!0,storeVar:!0,parameters:[kC],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 AC(t,{type:`cycle`,label:t.value==null?n[0]||``:String(t.value),options:n,perform:e=>{e===void 0?r():t.setValue(e)}}),q(`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))},text:({children:e=[]},t)=>t.renderText(e)});var MC=new WeakMap;function NC(e){let t=MC.get(e);if(t&&t.content===e.content)return t.ast;let n=Zo(e.content);return MC.set(e,{content:e.content,ast:n}),n}function PC(e){return jp(NC(e),e.tags.includes(`nobr`)?{nobr:!0}:void 0)}function FC(e){if(!e)return null;try{return PC(e)}catch(t){return console.error(`spindle: Error in ${e.name}:`,t),null}}var IC=new Set([`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]);function LC({passage:e,dataTransition:t,navigationId:n}){let{storyData:r}=is(`storyData`),i=IC.has(e.name),[a,o]=Ae(!1),s=Pe(()=>{try{return PC(e)}catch(t){return q(`div`,{class:`error`,children:[`Error parsing passage “`,e.name,`”`,Of(e),`: `,nl(t)]})}},[e.content,e.name]),c=e=>i?void 0:r?.passages.get(e),l=c(`PassageHeader`),u=c(`PassageFooter`),d=c(`PassageDone`),f=Pe(()=>FC(l),[l?.content]),p=Pe(()=>FC(u),[u?.content]);Me(()=>(d&&o(!0),()=>o(!1)),[e.name]);let m=Pe(()=>a?FC(d):null,[a,d?.content]),h=j(null);Ne(()=>{n!==void 0&&qx(n),h.current&&Ug(`passagerender`,e.name,h.current)},[e.name,n]);let g=e.tags.includes(`nobr`),_=q(`div`,{ref:h,class:`passage`,\"data-passage\":e.name,\"data-tags\":e.tags.join(` `),\"data-transition\":t,children:[f&&q(`div`,{class:`passage-header`,children:f}),s,p&&q(`div`,{class:`passage-footer`,children:p}),m&&q(`div`,{hidden:!0,children:m})]});return g?q(If.Provider,{value:!0,children:_}):_}var RC=new Set([`none`,`fade`,`fade-through`,`crossfade`]),zC={type:`fade-through`,duration:300,pause:50};function BC(e){let t=e.find(e=>e.startsWith(`transition:`));if(!t)return null;let n=t.slice(11);if(!RC.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 VC(e){return{type:e.type,duration:e.duration??zC.duration,pause:e.pause??zC.pause}}function HC(e,t,n){let r=BC(e);return r?VC(r):t?VC(t):n?VC(n):{...zC}}function UC(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 WC(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 GC(e,t){if(!e)return null;WC(e,t);let n=e.querySelector(`.passage`);return n?UC(n,t.type):null}function KC(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{currentPassage:n,navigationId:r,storyData:i,renderDeferred:a}=is(`currentPassage`,`navigationId`,`storyData`,`renderDeferred`),[o,s]=Ae({passage:n,id:r}),c=o.passage,l=e=>s({passage:e,id:r}),u=j(`fade`),d=j(0),f=j(null),p=j([]),m=Fe(()=>{for(let e of p.current)clearTimeout(e);p.current=[],KC(f.current)},[]);Me(()=>m,[m]),Me(()=>{let e=Q.getState(),{history:t,historyIndex:a,transitionConfig:s}=e,h=d.current;d.current=t.length;let g=!c,_=t.length===1&&a===0&&h>1,v=t.length>1&&a===t.length-1&&h>1&&Math.abs(t.length-h)>1;if(r===o.id)return;let y=e.consumeNextTransition();m();let b=i?.passages.get(n);if(!b){u.current=`none`,l(n);return}if(g||_||v){u.current=`fade`,l(n);return}let x=HC(b.tags,y,s);u.current=x.type;let S=f.current;if(x.type===`none`){l(n);return}if(x.type===`fade`){S&&WC(S,x),l(n);return}let C=x.type===`fade-through`||x.type===`crossfade`?GC(S,x):null;if(!S||!C){l(n);return}if(x.type===`fade-through`){S.appendChild(C),l(``);let e=x.duration+x.pause,t=setTimeout(()=>{l(n)},e),r=e+x.duration;p.current=[t,setTimeout(()=>{KC(S)},r)];return}S.classList.add(`passage-container--crossfading`),S.appendChild(C),l(n),p.current=[setTimeout(()=>{KC(S)},x.duration)]},[r]);let h=a?i?.passages.get(`StoryLoading`)??null:c?i?.passages.get(c):null;if(!h&&c&&!a)return q(`div`,{class:`error`,children:[`Error: Passage “`,c,`” not found.`]});let g=i?.passages.get(`PassageReady`);return q(`div`,{id:t.id??`story`,class:t.className??`story`,children:[!a&&g&&q(`div`,{hidden:!0,children:PC(g)},`ready-${r}`),q(`div`,{class:`passage-container`,ref:f,children:h&&q(LC,{passage:h,dataTransition:a?`none`:u.current,navigationId:a?void 0:o.id},a?`loading`:`nav-${o.id}`)})]})}}),$({name:`watch`,parameters:[{name:`condition`,type:`string`,holds:`expression`,required:!0},{name:`options`,type:`options`,parameters:[{name:`goto`,type:`string`,holds:`passage`},{name:`dialog`,type:`string`,holds:`passage`},{name:`run`,type:`string`,holds:`statements`},{name:`name`,type:`string`,holds:`text`},{name:`priority`,type:`number`},{name:`once`,type:`flag`}]}],render(e,t){let{hooks:n}=t,{condition:r,options:i}=t.args;if(r===void 0)return null;let a=n.useRef(!1);return a.current||(a.current=!0,Kv(r,i)),null}}),$({name:`unwatch`,parameters:[{name:`name`,type:`text`,holds:`text`,required:!0}],render(e,t){let n=t.args.name??``,r=t.hooks.useRef(!1);return r.current||(r.current=!0,qv(n)),null}});var qC=`*,: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}.spindle-error-banners{z-index:300;flex-direction:column;gap:.5em;width:min(42em,100% - 1.5em);display:flex;position:fixed;top:.75em;left:50%;transform:translate(-50%)}.spindle-error-banner{color:#ffcdd2;background:#2b1a1e;border:1px solid #ef5350;border-radius:4px;padding:.75em 2.75em .75em 1em;font-size:.9em;line-height:1.5;position:relative;box-shadow:0 2px 12px #00000080}.spindle-error-banner-message{color:#ef9a9a;font-family:monospace}.spindle-error-banner-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;font-size:1em;position:absolute;top:.5em;right:.5em}.spindle-error-banner-dismiss:hover{color:#fff}.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 JC(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 YC(e){let t=document.getElementById(`root`);throw t&&JC(t,e),Error(`spindle: ${e.length} validation error(s):\\n${e.join(`\n`)}`)}function XC(e,t){let n=Sc().filter(e=>e.storeVar).map(e=>e.name);return nC(e.passages,t,n)}function ZC(e,t){let n=Sc();return LS(e.passages.values(),{isKnownMacro:e=>!!cc(e)||mc(e)||!!Tc(e),macroNames:n.map(e=>e.name),parametersOf:gS(n),only:t}).map(jS)}function QC(){let e=qb(),t=document.createElement(`style`);if(t.id=`spindle-styles`,t.textContent=qC,document.head.appendChild(t),lS(),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&&JC(t,[e]),Error(`spindle: ${e}`)}let i=GS(r.content);for(let t of DS(e.passages.values()))Sr(t);let a=XC(e,i);a.push(...ZC(e,e=>e.name===`StoryInit`));let o={},s=e.passages.get(`StoryTransients`);if(s){let e=GS(s.content,`%`);for(let t of e.keys())i.has(t)&&a.push(`StoryTransients: Variable \"${t}\" is already declared in StoryVariables. Names must be unique across scopes.`);o=rC(e)}a.length>0&&YC(a),n=rC(i),rS(Object.keys(n),Object.keys(o)),Q.getState().init(e,n,o),fb(),lv(q_(e.ifid));let c=[...XC(e,i),...ZC(e,e=>e.name!==`StoryInit`)];c.length>0&&YC(c);for(let[,t]of e.passages)if(t.tags.includes(`widget`)){let e=Zo(t.content);for(let n of e)if(n.type===`macro`&&n.name===`widget`&&n.rawArgs){let e=TS(n.rawArgs);try{aC(e,n.children)}catch(n){console.error(`spindle: widget \"${e.name}\" in passage \"${t.name}\" was not registered: ${nl(n)}`)}}}let l=Q.getState().navigationId;Q.subscribe(e=>{e.navigationId!==l&&(l=e.navigationId,fx())}),ey();let u=e.passages.get(`StoryInterface`);u&&!u.content.includes(`{passage}`)&&console.warn(`spindle: StoryInterface passage does not contain {passage}. The current passage will not be displayed.`);let d=document.getElementById(`root`);if(!d)throw Error(`spindle: No <div id=\"root\"> element found.`);ge(q(Bb,{}),d);let f=Zx();f?f.then(()=>{document.dispatchEvent(new CustomEvent(`:storyready`))}):document.dispatchEvent(new CustomEvent(`:storyready`))}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,QC):QC();</script>\n </head>\n <body>\n <div id=\"root\"></div>\n {{STORY_DATA}}\n </body>\n</html>\n"})
|