@danielx/civet 0.11.6 → 0.11.8
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/CHANGELOG.md +341 -0
- package/README.md +3 -7
- package/dist/browser.js +24020 -9187
- package/dist/browser.min.js +1 -0
- package/dist/cache.js +128 -0
- package/dist/cache.mjs +89 -0
- package/dist/civet +68 -16
- package/dist/main.js +37775 -12145
- package/dist/main.mjs +37775 -12145
- package/dist/ts-diagnostic.js +42 -1
- package/dist/ts-diagnostic.mjs +41 -1
- package/dist/ts-service/index.js +1239 -0
- package/dist/ts-service/index.js.map +7 -0
- package/dist/ts-service/index.mjs +1188 -0
- package/dist/ts-service/index.mjs.map +7 -0
- package/dist/types.d.ts +2 -14
- package/dist/unplugin/astro.mjs +3 -3
- package/dist/unplugin/esbuild.d.ts +1 -1
- package/dist/unplugin/esbuild.mjs +3 -3
- package/dist/unplugin/farm.mjs +3 -3
- package/dist/unplugin/rolldown.d.ts +1 -1
- package/dist/unplugin/rolldown.mjs +3 -3
- package/dist/unplugin/rollup.d.ts +1 -1
- package/dist/unplugin/rollup.mjs +3 -3
- package/dist/unplugin/rspack.d.ts +1 -1
- package/dist/unplugin/rspack.mjs +3 -3
- package/dist/unplugin/unplugin.d.ts +54 -3
- package/dist/unplugin/unplugin.js +289 -285
- package/dist/unplugin/unplugin.mjs +293 -294
- package/dist/unplugin/vite.d.ts +1 -1
- package/dist/unplugin/vite.mjs +3 -3
- package/dist/unplugin/webpack.d.ts +1 -1
- package/dist/unplugin/webpack.mjs +3 -3
- package/package.json +47 -23
- package/dist/esbuild-plugin.js +0 -131
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Civet=(()=>{var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__require=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),__esm=(e,t)=>function(){return e&&(t=(0,e[__getOwnPropNames(e)[0]])(e=0)),t},__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames(t))!__hasOwnProp.call(e,n)&&n!==r&&__defProp(e,n,{get:()=>t[n],enumerable:!(i=__getOwnPropDesc(t,n))||i.enumerable});return e},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,"default",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),require_machine=__commonJS({"node_modules/.pnpm/@danielx+hera@0.9.2/node_modules/@danielx/hera/dist/machine.js"(e,t){var r,i=Object.defineProperty,n=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,a={};function p(e,t){return function(r,i){let n=e(r,i);return n||r.fail(i.pos,t),n}}function s(e){return function(t,r){let{input:i,pos:n}=r,{length:l}=e,o=n+l;if(i.substring(n,o)===e)return{loc:{pos:n,length:l},pos:o,value:e}}}function u(e){return function(t,r){let i,n,l,{input:o,pos:a}=r;if(e.lastIndex=r.pos,n=o.match(e))return l=n[0],i=l.length,{loc:{pos:a,length:i},pos:a+i,value:n}}}function c(...e){return(t,r)=>{let i=0,n=e.length;for(;i<n;){let n=e[i++](t,r);if(n)return n}}}function m(...e){return(t,r)=>{let i,{input:n,pos:l}=r,o=0,a=[],p=l,s=e.length;for(;o<s;){let r=e[o++](t,{input:n,pos:l});if(!r)return;({pos:l,value:i}=r),a.push(i)}return{loc:{pos:p,length:l-p},pos:l,value:a}}}function d(e){return(t,r)=>{let i=e(t,r);if(i)return i;let{pos:n}=r;return{loc:{pos:n,length:0},pos:n,value:void 0}}}function f(e){return(t,r)=>{let i,{input:n,pos:l}=r,o=l,a=[];for(;;){let r=l,o=e(t,{input:n,pos:l});if(!o||(({pos:l,value:i}=o),l===r))break;a.push(i)}return{loc:{pos:o,length:l-o},pos:l,value:a}}}function $(e){return(t,r)=>{let i,{input:n,pos:l}=r,o=e(t,r);if(!o)return;let{pos:a}=o,p=[o.value];for(;;){let r=a,l=e(t,{input:n,pos:a});if(!l||(({pos:a,value:i}=l),a===r))break;p.push(i)}return{loc:{pos:l,length:a-l},value:p,pos:a}}}function b(e){return(t,r)=>{let i=e(t,r);if(i)return i.value=r.input.substring(r.pos,i.pos),i}}function S(e){return(t,r)=>{if(!e(t,r))return{loc:{pos:r.pos,length:0},value:!0,pos:r.pos}}}function y(e){return(t,r)=>{if(e(t,r))return{loc:{pos:r.pos,length:0},value:!0,pos:r.pos}}}function x(e,t){return function(r,i){let n=e(r,i);if(!n)return;if(r.tokenize)return n;let{value:l}=n,o=t(l);return n.value=o,n}}function h(e,t){return function(r,i){let n=e(r,i);if(!n)return;if(r.tokenize)return n;let{loc:l,value:o}=n,a=t(C,l,...o);return a!==C?(n.value=a,n):void 0}}function v(e,t){return function(r,i){let n=e(r,i);if(!n)return;if(r.tokenize)return n;let{loc:l,value:o}=n,a=t(C,l,o,...o);return a!==C?(n.value=a,n):void 0}}function _(e,t){return function(r,i){let n=e(r,i);if(!n)return;if(r.tokenize)return n;let{loc:l,value:o}=n,a=t(C,l,o,o);return a!==C?(n.value=a,n):void 0}}function g(e){return function(t,r){let i=e(t,r);if(!i)return;let n=i.value[0];return i.value=n,i}}function P(e,t,r,i){let n,l,o;if(l=e.enter){let e=l(r,t);if(e){if("cache"in e)return e.cache;n=e.data}}let a=i(e,t);return a&&e.tokenize&&(a=I(r,t,a)),(o=e.exit)&&o(r,t,a,n),a}function E(e,t,r,i){let n,l,o;if(l=e.enter){let e=l(r,t);if(e){if("cache"in e)return e.cache;n=e.data}}let a,p=0,s=i.length;for(;!a&&p<s&&!(a=i[p](e,t));)p++;return a&&e.tokenize&&(a=I(r,t,a)),(o=e.exit)&&o(r,t,a,n),a}function I(e,t,r){if(r)return r.value={type:e,children:[r.value].flat(),token:t.input.substring(t.pos,r.pos),loc:r.loc},r}((e,t)=>{for(var r in t)i(e,r,{get:t[r],enumerable:!0})})(a,{$C:()=>c,$E:()=>d,$EVENT:()=>P,$EVENT_C:()=>E,$EXPECT:()=>p,$L:()=>s,$N:()=>S,$P:()=>$,$Q:()=>f,$R:()=>u,$R$0:()=>g,$S:()=>m,$T:()=>x,$TEXT:()=>b,$TR:()=>h,$TS:()=>v,$TV:()=>_,$Y:()=>y,ParseError:()=>T,SKIP:()=>C,Validator:()=>k}),t.exports=(r=a,((e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let p of l(t))!o.call(e,p)&&p!==r&&i(e,p,{get:()=>t[p],enumerable:!(a=n(t,p))||a.enumerable});return e})(i({},"__esModule",{value:!0}),r));var C={};function k(){let e=/\S+|\s+|$/y,t=Array(16),r=0,i=0;function n(e,t){let[r,i]=e.split(/\n|\r\n|\r/).reduce(([e,r],i)=>{let n=i.length+1;return t>=n?(t-=n,[e+1,1]):t>=0?(r+=t,t=-1,[e,r]):[e,r]},[1,1]);return[r,i]}return{fail:function(e,n){e<i||(e>i&&(i=e,t.length=r=0),t[r++]=n)},validate:function(l,o,{filename:a}){if(o&&o.pos===l.length)return o.value;let p=Array.from(new Set(t.slice(0,r))),s=n(l,i),[u,c]=s;if(o&&o.pos>i)throw s=n(l,o.pos),new Error(`${a}:${u}:${c} Unconsumed input at #{l}\n\n${l.slice(o.pos)}\n`);if(p.length){e.lastIndex=i;let[t]=l.match(e);throw t=t.length?JSON.stringify(t):"EOF",new T("Failed to parse",`Expected:\n\t${p.join("\n\t")}\nFound: ${t}\n`,a,u,c,i)}throw o?new Error(`\nUnconsumed input at ${s}\n\n${l.slice(o.pos)}\n`):new Error("No result")},reset:function(){return r=0,i=0,t.length=0}}}var T=class extends Error{name="ParseError";constructor(e,t,r,i,n,l){let o=`${r}:${i}:${n} ${e}`;t&&(o+=`\n${t}`),super(o),this.header=e,this.body=t,this.filename=r,this.line=i,this.column=n,this.offset=l,this.message=o}}}});function toSlash(e){return e.replace(/\\/g,"/")}function normalize(e){let t,r=(e=toSlash(e)).startsWith("/");e=(e=e.replace(/\/{2,}/g,"/")).replace(/(^|\/)\.(\/|$)/g,"$1");do{t=e,e=e.replace(/(^|\/)(?!\.\.\/)[^/]+\/\.\.(\/|$)/g,"$1")}while(e!==t);return e=e.replace(/\/+$/,""),r&&(e="/"+e.replace(/^\/+/,"")),e||"."}function dirname(e){let t=(e=normalize(e)).lastIndexOf("/");return t<0?".":0===t?"/":e.slice(0,t)}function basename(e){return"/"===(e=normalize(e))?"":e.slice(e.lastIndexOf("/")+1)}function isAbsolute(e){return(e=toSlash(e)).startsWith("/")}function join(...e){return normalize(e.filter(Boolean).join("/"))}function resolve(...e){if(e.length<=1)return e[0]??"";let t="";for(let r of e)r&&(r=normalize(r),isAbsolute(r)?t=r:(t&&(t+="/"),t+=r));return normalize(t)}function relative(e,t){return t}function createRequire(e){return()=>{throw new ReferenceError("Civet comptime does not support 'require' on this platform")}}var browser_shim_default,init_browser_shim=__esm({"source/browser-shim.civet"(){browser_shim_default={dirname,basename,isAbsolute,join,normalize,resolve,relative,createRequire}}}),browser_exports={};__export(browser_exports,{ParseError:()=>import_lib2.ParseError,ParseErrors:()=>ParseErrors,SourceMap:()=>SourceMap,autoRunScripts:()=>autoRunScripts,compile:()=>compile,decode:()=>decode,generate:()=>generate_default,isCompileError:()=>isCompileError,lib:()=>lib_exports,parse:()=>parse,parseProgram:()=>parseProgram,prune:()=>prune,runScript:()=>runScript,runScripts:()=>runScripts,sourcemap:()=>sourcemap_exports});var import_lib2=__toESM(require_machine()),lib_exports={};function len(e,t){return e.length===t}__export(lib_exports,{addPostfixStatement:()=>addPostfixStatement,adjustBindingElements:()=>adjustBindingElements,adjustIndexAccess:()=>adjustIndexAccess,append:()=>append,assert:()=>assert,attachPostfixStatementAsExpression:()=>attachPostfixStatementAsExpression,blockWithPrefix:()=>blockWithPrefix,braceBlock:()=>braceBlock,bracedBlock:()=>bracedBlock,buildExportSplitClause:()=>buildExportSplitClause,convertArrowFunctionToMethod:()=>convertArrowFunctionToMethod,convertFunctionToMethod:()=>convertFunctionToMethod,convertNamedImportsToObject:()=>convertNamedImportsToObject,convertObjectToJSXAttributes:()=>convertObjectToJSXAttributes,convertWithClause:()=>convertWithClause,dedentBlockString:()=>dedentBlockString,dedentBlockSubstitutions:()=>dedentBlockSubstitutions,deepCopy:()=>deepCopy,duplicateBlock:()=>duplicateBlock,dynamizeImportDeclaration:()=>dynamizeImportDeclaration,dynamizeImportDeclarationExpression:()=>dynamizeImportDeclarationExpression,escapeIdentifier:()=>escapeIdentifier,expressionizeTypeIf:()=>expressionizeTypeIf,forRange:()=>forRange,gatherBindingCode:()=>gatherBindingCode,gatherBindingPatternTypeSuffix:()=>gatherBindingPatternTypeSuffix,gatherRecursive:()=>gatherRecursive,gatherRecursiveAll:()=>gatherRecursiveAll,gatherRecursiveWithinFunction:()=>gatherRecursiveWithinFunction,getHelperRef:()=>getHelperRef,getIndentLevel:()=>getIndentLevel,getPrecedence:()=>getPrecedence,getTrimmingSpace:()=>getTrimmingSpace,hasAwait:()=>hasAwait,hasExportDeclaration:()=>hasExportDeclaration,hasImportDeclaration:()=>hasImportDeclaration,hasTrailingComment:()=>hasTrailingComment,hasYield:()=>hasYield,insertTrimmingSpace:()=>insertTrimmingSpace,isComma:()=>isComma,isEmptyBareBlock:()=>isEmptyBareBlock,isFunction:()=>isFunction,isWhitespaceOrEmpty:()=>isWhitespaceOrEmpty,lastAccessInCallExpression:()=>lastAccessInCallExpression,literalValue:()=>literalValue,makeAmpersandFunction:()=>makeAmpersandFunction,makeEmptyBlock:()=>makeEmptyBlock,makeExpressionStatement:()=>makeExpressionStatement,makeGetterMethod:()=>makeGetterMethod,makeLeftHandSideExpression:()=>makeLeftHandSideExpression,makeRef:()=>makeRef,maybeRef:()=>maybeRef,maybeRefAssignment:()=>maybeRefAssignment,modifyString:()=>modifyString,negateCondition:()=>negateCondition,parenthesizeExpression:()=>parenthesizeExpression,precedenceCustomDefault:()=>precedenceCustomDefault,precedenceStep:()=>precedenceStep,prepend:()=>prepend,processAssignmentDeclaration:()=>processAssignmentDeclaration,processBinaryOpExpression:()=>processBinaryOpExpression,processCallMemberExpression:()=>processCallMemberExpression,processCoffeeDo:()=>processCoffeeDo,processCoffeeInterpolation:()=>processCoffeeInterpolation,processForInOf:()=>processForInOf,processProgram:()=>processProgram,processProgramAsync:()=>processProgramAsync,processRangeExpression:()=>processRangeExpression,processTryBlock:()=>processTryBlock,processUnaryExpression:()=>processUnaryExpression,processUnaryNestedExpression:()=>processUnaryNestedExpression,propertyKey:()=>propertyKey,quoteString:()=>quoteString,reorderBindingRestProperty:()=>reorderBindingRestProperty,replaceNode:()=>replaceNode,replaceNodes:()=>replaceNodes,rewriteDynamicImportCall:()=>rewriteDynamicImportCall,rewriteModuleSpecifier:()=>rewriteModuleSpecifier,skipImplicitArguments:()=>skipImplicitArguments,stripTrailingImplicitComma:()=>stripTrailingImplicitComma,trimFirstSpace:()=>trimFirstSpace,typeOfJSX:()=>typeOfJSX,typeSuffixForExpression:()=>typeSuffixForExpression,wrapIIFE:()=>wrapIIFE,wrapTypeInPromise:()=>wrapTypeInPromise});var assert=Object.assign((e,t)=>{if(!e)throw new Error(`Assertion failed [${t}]`)},{equal(e,t,r){if(e!==t)throw new Error(`Assertion failed [${r}]: ${e} !== ${t}`)},notEqual(e,t,r){if(e===t)throw new Error(`Assertion failed [${r}]: ${e} === ${t}`)},notNull(e,t){if(null==e)throw new Error(`Assertion failed [${t}]: got null`)}});function addParentPointers(e,t){if(null!=e&&"object"==typeof e){if(Array.isArray(e)){for(let r of e)addParentPointers(r,t);return}if(null!=t&&(e.parent=t),isParent(e))for(let t=e.children,r=0,i=t.length;r<i;r++){addParentPointers(t[r],e)}}}function clone(e){return removeParentPointers(e),deepCopy(e)}function removeParentPointers(e){if(null!=e&&"object"==typeof e){if(Array.isArray(e)){for(let t of e)removeParentPointers(t);return}if(e.parent=null,isParent(e))for(let t of e.children)removeParentPointers(t)}}function maybeWrap(e,t){return isASTNodeObject(e)||updateParentPointers(e={type:"Wrapper",children:[e],parent:t}),e}function maybeUnwrap(e){return"Wrapper"===e?.type?e.children[0]:e}function isASTNodeObject(e){return"object"==typeof e&&null!=e&&!Array.isArray(e)}function isParent(e){return null!=e&&"object"==typeof e&&"children"in e&&null!=e.children}function isToken(e){return null!=e&&"object"==typeof e&&"token"in e&&null!=e.token}function isEmptyBareBlock(e){let{bare:t,expressions:r}=e;return t&&(Array.isArray(r)&&len(r,0)||Array.isArray(r)&&len(r,1)&&Array.isArray(r[0])&&r[0].length>=2&&"object"==typeof r[0][1]&&null!=r[0][1]&&"type"in r[0][1]&&"EmptyStatement"===r[0][1].type)}function isFunction(e){if(e&&"object"==typeof e&&"type"in e){let{type:t}=e;return"FunctionExpression"===t||"ArrowFunction"===t||"MethodDefinition"===t}return!1}var statementTypes=new Set(["BlockStatement","BreakStatement","ComptimeStatement","ContinueStatement","DebuggerStatement","Declaration","DoStatement","ForStatement","IfStatement","IterationStatement","LabelledStatement","ReturnStatement","SwitchStatement","ThrowStatement","TryStatement"]);function isStatement(e){return isASTNodeObject(e)&&null!=e.type&&statementTypes.has(e.type)}function isWhitespaceOrEmpty(e){return!e||"Ref"!==e.type&&(e.token?/^\s*$/.test(e.token):(e.children&&(e=e.children),!e.length||("string"==typeof e?/^\s*$/.test(e):(assert(Array.isArray(e),"isWhitespaceOrEmpty: unexpected node shape"),e.every(isWhitespaceOrEmpty)))))}function firstNonSpace(e){if(null!=e){if(Array.isArray(e)){for(let t=0,r=e.length;t<r;t++){let r;if(r=firstNonSpace(e[t]))return r}return}if(isParent(e))return firstNonSpace(e.children);if(isToken(e)){let t;if(t=e.token,"string"==typeof t&&/^[ \t]*$/.test(t))return}else if("string"==typeof e&&"string"==typeof e&&/^[ \t]*$/.test(e))return;return e}}function isExit(e){if(null==e)return!1;let t,r;switch(e.type){case"ReturnStatement":case"ThrowStatement":case"BreakStatement":case"ContinueStatement":return!0;case"IfStatement":return"ReturnStatement"===(t=e.children)[t.length-1]?.type||"ReturnStatement"===(r=e.children)[r.length-1]?.[1]?.type||isExit(e.then)&&isExit(e.else?.block);case"PatternMatchingStatement":return isExit(e.children[0][1]);case"SwitchStatement":return(()=>{let t=!0;for(let r of e.caseBlock.clauses){let e;if(e=r.type,"CaseClause"===e||"WhenClause"===e||"DefaultClause"===e){if("WhenClause"===r.type&&r.break||gatherRecursiveWithinFunction(r.block,e=>"BreakStatement"===e.type).length){t=!1;break}}else if(!isExit(r.block)){t=!1;break}}return t})()&&(()=>{let t=!1,r=0;for(let i of e.caseBlock.clauses){let n=r++;if("DefaultClause"===i.type&&(()=>{let t=!1;for(let r of e.caseBlock.clauses.slice(n)){let e;if(e=r.type,("CaseClause"===e||"WhenClause"===e||"DefaultClause"===e)&&isExit(r.block)){t=!0;break}}return t})()){t=!0;break}}return t})();case"TryStatement":return e.blocks.every(isExit);case"BlockStatement":return e.expressions.some(e=>isExit(e[1]));case"IterationStatement":return isLoopStatement(e)&&0===gatherRecursiveWithinFunction(e.block,e=>"BreakStatement"===e.type).length;default:return!1}}function isLoopStatement(e){return"IterationStatement"===e.type&&"ParenthesizedExpression"===e.condition?.type&&"Literal"===e.condition.expression?.type&&"true"===e.condition.expression?.raw}function isComma(e){return","===e?.token?e:Array.isArray(e)&&","===e[e.length-1]?.token?e[e.length-1]:void 0}function stripTrailingImplicitComma(e){let t=e[e.length-1];return isComma(t)&&t.implicit?e.slice(0,-1):e}function hasTrailingComment(e){if(null==e)return!1;if("Comment"===e.type)return!0;if(Array.isArray(e))return hasTrailingComment(e[e.length-1]);if(!isParent(e))return!1;let t;return hasTrailingComment((t=e.children)[t.length-1])}function insertTrimmingSpace(e,t){if(null==e)return e;if(Array.isArray(e)){if(0===e.length)return t;let r=[];for(let i=0,n=e.length;i<n;i++){let n=i,l=e[i];0===n?r.push(insertTrimmingSpace(l,t)):r.push(l)}return r}if(isParent(e)){let r=e.children;e={...e,children:insertTrimmingSpace(e.children,t)};for(let t in e){let i=r.indexOf(e[t]);i>=0&&(e[t]=e.children[i])}return e}return isToken(e)?{...e,token:e.token.replace(/^ ?/,t)}:"string"==typeof e?e.replace(/^ ?/,t):e}function trimFirstSpace(e){return insertTrimmingSpace(e,"")}function inplaceInsertTrimmingSpace(e,t){if(null==e)return e;Array.isArray(e)?inplaceInsertTrimmingSpace(e[0],t):isParent(e)?inplaceInsertTrimmingSpace(e.children,t):isToken(e)&&(e.token=e.token.replace(/^ ?/,t))}function getTrimmingSpace(e){if(null!=e){if(Array.isArray(e))return getTrimmingSpace(e[0]);if(isParent(e))return getTrimmingSpace(e.children[0]);if(isToken(e))return e.token.match(/^ ?/)[0]}}function prepend(e,t){return!e||Array.isArray(e)&&len(e,0)?t:Array.isArray(t)?[e,...t]:(assert(isParent(t),"prepend: can't glom into an AST leaf"),{...t,children:[e,...t.children]})}function append(e,t){return!t||Array.isArray(t)&&len(t,0)?e:Array.isArray(e)?[...e,t]:isParent(e)?{...e,children:[...e.children,t]}:[e,t]}function inplacePrepend(e,t){e&&(Array.isArray(e)&&!e.length||(Array.isArray(t)?t.unshift(e):(assert(isParent(t),"inplacePrepend: can't prepend to a leaf node"),t.children.unshift(e))))}function literalValue(e){let t,{raw:r}=e;switch(r){case"null":return null;case"true":return!0;case"false":return!1}switch(e.subtype){case"StringLiteral":return assert.equal(r.startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'"),!0,"String literal should begin and end in single or double quotes"),r.slice(1,-1);case"NumericLiteral":if(r=r.replace(/_/g,""),r.endsWith("n"))return BigInt(r.slice(0,-1));if(r.match(/[\.eE]/))return parseFloat(r);if((t=r.match(/^[+-]?0(.)/))&&Array.isArray(t)&&len(t,2)){let[,e]=t;switch(e.toLowerCase()){case"x":return parseInt(r.replace(/0[xX]/,""),16);case"b":return parseInt(r.replace(/0[bB]/,""),2);case"o":return parseInt(r.replace(/0[oO]/,""),8)}}return parseInt(r,10);default:throw new Error("Unrecognized literal "+JSON.stringify(e))}}function literalType(e){let t;switch(e.type){case"RegularExpressionLiteral":t="RegExp";break;case"TemplateLiteral":t="string";break;case"Literal":switch(e.subtype){case"BooleanLiteral":t="boolean";break;case"NumericLiteral":t=e.raw.endsWith("n")?"bigint":"number";break;case"StringLiteral":t="string"}}return{type:"TypeLiteral",t,children:[t]}}function typeOfExpression(e){let t;if(isASTNodeObject(e)){switch(e.type){case"Literal":if("NullLiteral"===e.subtype)return;t=literalType(e);break;case"RegularExpressionLiteral":case"TemplateLiteral":t=literalType(e);break;case"Identifier":if("undefined"===e.name)return;case"MemberExpression":t={type:"TypeTypeof",children:["typeof ",e],expression:e};break;default:return}return t}}function typeSuffixForExpression(e){let t=typeOfExpression(e);if(null!=t)return{type:"TypeSuffix",ts:!0,t,children:[": ",t]}}function makeNumericLiteral(e){let t=e.toString();return{type:"Literal",subtype:"NumericLiteral",raw:t,children:[{type:"NumericLiteral",token:t}]}}function startsWith(e,t){if(e){if(Array.isArray(e)){let r=0,i=e.length;for(;r<i;){let t=e[r];if(t&&(t.length||t.token||t.children))break;r++}if(r<i)return startsWith(e[r],t)}if("string"==typeof e)return t.test(e);if(isParent(e))return startsWith(e.children,t);if(isToken(e))return t.test(e.token)}}function startsWithPredicate(e,t,r=isWhitespaceOrEmpty){if(null!=e&&"string"!=typeof e){if(Array.isArray(e)){let i=e.find(e=>!r(e));return null==i?void 0:startsWithPredicate(i,t)}if(t(e))return e;if(isParent(e))return startsWithPredicate(e.children,t)}}function hasAwait(e){return gatherRecursiveWithinFunction(e,e=>"Await"===e.type).length>0}function hasYield(e){return gatherRecursiveWithinFunction(e,e=>"Yield"===e.type).length>0}function hasImportDeclaration(e){return gatherRecursiveWithinFunction(e,e=>"ImportDeclaration"===e.type).length>0}function hasExportDeclaration(e){return gatherRecursiveWithinFunction(e,e=>"ExportDeclaration"===e.type).length>0}function deepCopy(e){let t=new Map;return function e(r){if(null==r||"object"!=typeof r)return r;if(!t.has(r))if(Array.isArray(r)){let i=new Array(r.length);t.set(r,i);for(let t=0,n=r.length;t<n;t++){let n=t,l=r[t];i[n]=e(l)}}else if("Ref"===r?.type)t.set(r,r);else{let i={};t.set(r,i);for(let n in r){let l=r[n];"parent"===n?i.parent=t.get(l)??l:i[n]=e(l)}}return t.get(r)}(e)}function replaceNode(e,t,r){r??=e?.parent,assert.notNull(r,"replaceNode: node has no parent"),assert.notEqual(function r(i){for(let n=0,l=i.length;n<l;n++){let l=n,o=i[n];if(o===e)return i[l]=t,!0;if(Array.isArray(o)&&r(o))return!0}return!1}(r.children),!1,"replaceNode: didn't find child node in parent");for(let i in r)r[i]===e&&(r[i]=t);isASTNodeObject(t)&&(t.parent=r)}function replaceNodes(e,t,r){if(null==e)return e;let i=Array.isArray(e)?e:e.children;if(!i)return t(e)?r(e,e):e;for(let n=0,l=i.length;n<l;n++){let l=n,o=i[n];if(null==o)return;t(o)?i[l]=r(o,e):replaceNodes(o,t,r)}return e}function removeHoistDecs(e){if(null!=e&&"object"==typeof e){if("hoistDec"in e&&(e.hoistDec=void 0),Array.isArray(e)){for(let t of e)removeHoistDecs(t);return}if(e.children)for(let t of e.children)removeHoistDecs(t)}}var skipParens=new Set(["AmpersandRef","ArrayExpression","CallExpression","Identifier","JSXElement","JSXFragment","Literal","ParenthesizedExpression","Ref","Placeholder","StatementExpression"]);function makeLeftHandSideExpression(e){for(;e&&Array.isArray(e)&&len(e,1);){let[t]=e;e=t}return isASTNodeObject(e)&&(e.token||e.parenthesized||skipParens.has(e.type)||"NewExpression"===e.type&&e.expression.children.some(e=>"Call"===e?.type)||"MemberExpression"===e.type&&!startsWithPredicate(e,e=>"ObjectExpression"===e.type))?e:parenthesizeExpression(e)}function parenthesizeExpression(e){return makeNode({type:"ParenthesizedExpression",children:["(",e,")"],expression:e,implicit:!0})}function checkValidLHS(e){let t;switch(e?.type){case"UnaryExpression":return e.children.unshift({type:"Error",message:"Unary expression is not a valid left-hand side"}),!0;case"CallExpression":{let r=(t=e.children)[t.length-1]?.type;switch(r){case"PropertyAccess":case"SliceExpression":case"Index":break;default:return e.children.splice(-1,0,{type:"Error",message:`Call expression ending with ${r} is not a valid left-hand side`}),!0}break}case"Placeholder":return e.children.unshift({type:"Error",message:`Lone placeholder (${e.subtype}) is not a valid left-hand side`}),!0}return!1}function updateParentPointers(e,t,r=1){if(null!=e&&"object"==typeof e){if(Array.isArray(e)){for(let i=0,n=e.length;i<n;i++){updateParentPointers(e[i],t,r)}return}if(null!=t&&(e.parent=t),r&&isParent(e))for(let t=e.children,i=0,n=t.length;i<n;i++){updateParentPointers(t[i],e,r-1)}}}function makeNode(e){return updateParentPointers(e),e}function skipIfOnlyWS(e){return e?Array.isArray(e)?1===e.length?skipIfOnlyWS(e[0]):e.every(e=>void 0===skipIfOnlyWS(e))?void 0:e:null==e.token||""!==e.token.trim()?e:void 0:e}function spliceChild(e,t,r,...i){let{children:n}=e;assert(Array.isArray(n),"spliceChild: non-array node has no children field");let l=n.indexOf(t);return assert.notEqual(l,-1,"spliceChild: child not found"),n.splice(l,r,...i)}function convertOptionalType(e){if("TypeAsserts"===e.t?.type)return void spliceChild(e,e.optional,1,e.optional={type:"Error",message:"Can't use optional ?: syntax with asserts type"});spliceChild(e,e.optional,1,e.optional=void 0);let t="ReturnTypeAnnotation"===e.type;spliceChild(e,e.t,1,e.t=[getTrimmingSpace(e.t),t?"(":void 0,"undefined | ",parenthesizeType(trimFirstSpace(e.t)),t?")":void 0])}var typeNeedsNoParens=new Set(["TypeIdentifier","ImportType","TypeLiteral","TypeTuple","TypeParenthesized"]);function parenthesizeType(e){return typeNeedsNoParens.has(e.type)?e:makeNode({type:"TypeParenthesized",ts:!0,children:["(",e,")"]})}function wrapIIFE(e,t,r){let i,n=r?[r]:[],l=[];t?l.push("async "):hasAwait(e)&&(l.push("async "),i={type:"Await",children:["await "]});let o=!1;n.length||hasYield(e)&&(n.push("*"),o=!0);let a,p=makeNode({type:"BlockStatement",expressions:e,children:["{",e,"}"],bare:!1,root:!1}),s=[],u={type:"Parameters",children:["(",s,")"],parameters:s,names:[]},c={type:"FunctionSignature",modifier:{async:!!l.length,generator:!!n.length},parameters:u,returnType:void 0,implicitReturn:!0,children:n.length?[l,"function",n,u]:[l,u]};a=n.length?makeNode({type:"FunctionExpression",signature:c,parameters:u,returnType:void 0,async:l,block:p,generator:n,children:[...c.children,p]}):makeNode({type:"ArrowFunction",signature:c,parameters:u,returnType:void 0,async:l,block:p,children:[...c.children,"=>",p]});let m=[makeLeftHandSideExpression(a),"()"];if("FunctionExpression"===a.type&&(gatherRecursiveWithinFunction(p,e=>"object"==typeof e&&null!=e&&"token"in e&&"this"===e.token).length&&m.splice(1,0,".bind(this)"),gatherRecursiveWithinFunction(p,e=>"object"==typeof e&&null!=e&&"token"in e&&"arguments"===e.token).length)){let e={type:"Identifier",name:"arguments",names:["arguments"],children:["arguments"]};s.push({type:"Parameter",children:[e],names:["arguments"],binding:e}),m[m.length-1]="(arguments)"}let d=makeNode({type:"CallExpression",children:m});return o?d=makeLeftHandSideExpression(makeNode({type:"YieldExpression",star:"*",expression:d,children:[{type:"Yield",children:["yield"]},"*"," ",d]})):i&&(d=makeLeftHandSideExpression([i,d])),d}function wrapWithReturn(e,t=e?.parent,r=!1){let i=e?["return ",e]:["return"];return r&&i.unshift(";"),makeNode({type:"ReturnStatement",children:i,expression:e,parent:t})}function flatJoin(e,t){let r=[];for(let i=0,n=e.length;i<n;i++){let n=i,l=e[i];n&&r.push(t),r.push(...l)}return r}function gatherRecursiveWithinFunction(e,t){return gatherRecursive(e,t,isFunction)}function findChildIndex(e,t){let r=Array.isArray(e)?e:e.children;function i(e){for(let r=0,n=e.length;r<n;r++){let n=e[r];if(n===t||Array.isArray(n)&&i(n))return!0}return!1}for(let e=0,n=r.length;e<n;e++){let n=e,l=r[e];if(l===t||Array.isArray(l)&&i(l))return n}return-1}function findAncestor(e,t,r){let{parent:i}=e;for(;i&&!r?.(i,e);){if(t(i,e))return{ancestor:i,child:e};e=i,({parent:i}=e)}return{ancestor:void 0,child:e}}function gatherNodes(e,t){if(null==e||"string"==typeof e)return[];if(Array.isArray(e))return e.flatMap(e=>gatherNodes(e,t));if(t(e))return[e];switch(e.type){case"BlockStatement":return[];case"ForStatement":{let r="Declaration"===e.declaration?.type;return e.children.flatMap(i=>r&&i===e.declaration?[]:gatherNodes(i,t))}default:return gatherNodes(e.children,t)}}function gatherRecursive(e,t,r){return null==e||"string"==typeof e?[]:Array.isArray(e)?e.flatMap(e=>gatherRecursive(e,t,r)):r?.(e)?[]:t(e)?[e]:gatherRecursive(e.children,t,r)}function gatherRecursiveAll(e,t){if(null==e||"string"==typeof e)return[];if(Array.isArray(e))return e.flatMap(e=>gatherRecursiveAll(e,t));let r=gatherRecursiveAll(e.children,t);return t(e)&&r.push(e),r}var range=(e,t)=>{let r=t-e;if(r<=0)return[];let i=Array(r);for(let t=0;t<r;++t)i[t]=t+e;return i};function makeRef(e="ref",t=e){return{type:"Ref",base:e,id:t}}function needsRef(e,t="ref"){if(Array.isArray(e)){let r=range(0,e.length).filter(t=>!isWhitespaceOrEmpty(e[t]));if(1===r.length){let i;return(i=needsRef(e[r[0]],t))?i:void 0}return makeRef(t)}switch(e.type){case"Ref":case"Identifier":case"Literal":case"Placeholder":return}return makeRef(t)}function maybeRef(e,t="ref"){return needsRef(e,t)||e}function makeRefAssignment(e,t){let r=makeNode({type:"AssignmentExpression",children:[e," = ",t],hoistDec:{type:"Declaration",children:["let ",e],names:[]}});return{refAssignment:r,refAssignmentComma:[r,","]}}function maybeRefAssignment(e,t="ref"){let r=maybeRef(e,t);return r===e?{ref:r,refAssignmentComma:[]}:{ref:r,...makeRefAssignment(r,e)}}function populateRefs(e){let t=gatherRecursive(e,e=>"Ref"===e.type);if(!t.length)return;let r=gatherRecursive(e,e=>"Identifier"===e.type),i=new Set(r.flatMap(({names:e})=>e||[]));for(let e=0,r=t.length;e<r;e++){let r=t[e];if("Ref"!==r.type)continue;let{base:n}=r;r.type="Identifier";let l=0,o=n;for(;i.has(o);)l++,o=`${n}${l}`;if(i.add(o),r.$loc){let e=r.$loc;delete r.$loc,r.children=[{$loc:e,token:o}],r.names=[o]}else r.children=r.names=[o]}}function adjustAtBindings(e,t=!1){for(let r=gatherRecursiveAll(e,e=>"AtBindingProperty"===e.type),i=0,n=r.length;i<n;i++){let e=r[i],{ref:n}=e;if(t){let t=e.binding;t.children.pop(),t.type=void 0;let r,i=t.at?.$loc;r=i?{$loc:i,token:"this."}:"this.";let l=r;e.children.splice(1,0,n.id,": ",l,n.base),e.type="Property",e.ref=void 0}else n.names[0]!==n.base&&e.children.unshift(n.base,": ")}}function adjustBindingElements(e){let t,r=e.flatMap(e=>e.names||[]),{length:i}=e,n=-1,l=0;for(let t=0,r=e.length;t<r;t++){let r=t,{type:i}=e[t];"BindingRestElement"===i&&(n<0&&(n=r),l++)}if(0===l)return{children:e,names:r,blockPrefix:t,length:i};if(1===l){let l=e[n],o=e.slice(n+1),a=l.binding.ref||l.binding;r.push(...l.names||[]);let p=o.length;if(p){arrayElementHasTrailingComma(o[p-1])&&p++;let e=trimFirstSpace(o);t={type:"PostRestBindingElements",elements:e,children:["[",e,"] = ",a,".splice(-",p.toString(),")"],names:o.flatMap(e=>e.names)}}return{names:r,children:[...e.slice(0,n),{...l,children:l.children.slice(0,-1)}],blockPrefix:t,length:i}}return{names:r,children:[...e,{type:"Error",children:["Multiple rest elements in array pattern"]}],blockPrefix:t,length:i}}function gatherSubbindings(e,t=[]){for(let r=gatherRecursiveAll(e,e=>null!=e.subbinding),i=0,n=r.length;i<n;i++){let e=r[i],{subbinding:n}=e;t.push(", ",n),gatherSubbindings(n,t)}return t}function simplifyBindingProperties(e){let t=[];for(let r=gatherRecursiveAll(e,e=>"BindingProperty"===e.type),i=0,n=r.length;i<n;i++){let e=r[i],{name:n,value:l}=e;if("NamedBindingPattern"===l?.type&&l.binding===n){let[r]=e.children;t.push(e.children=[r,n,e.delim])}else t.push(void 0)}return t}function gatherBindingCode(e,t){let r=[],i=[];return function e(r,i,n){let l;for(let o=gatherRecursiveAll(r,e=>e.blockPrefix||t?.injectParamProps&&e.accessModifier||"AtBinding"===e.type||t?.assignPins&&(l=e.type,"PinPattern"===l||"PinProperty"===l)),a=0,p=o.length;a<p;a++){let r=o[a];if("AtBinding"===r.type){let{ref:e,at:t}=r,{id:i,unicode:l}=e,o=t?.$loc,a=l?"this[":"this.",p=l?`"${l}"]`:i;o?(e.$loc={pos:o.pos+1,length:(l??i).length},n.push([{$loc:o,token:a},{$loc:e.$loc,token:p}," = ",e])):n.push([`${a}${p} = `,e]);continue}if(t?.assignPins&&("PinProperty"===r.type&&(r.children=r.children.flatMap(e=>e===r.name?[r.name,": ",r.value]:e),updateParentPointers(r),r=r.value),"PinPattern"===r.type)){r.ref=makeRef("Identifier"===r.expression.type?r.expression.name:"pin"),r.children=[r.ref],updateParentPointers(r),n.push({type:"AssignmentExpression",children:[r.expression," = ",r.ref],names:[],lhs:r.expression,assigned:r.expression,expression:r.ref});continue}if(t?.injectParamProps&&"Parameter"===r.type&&r.accessModifier){for(let e=r.names,t=0,i=e.length;t<i;t++){let r=e[t];n.push({type:"AssignmentExpression",children:[`this.${r} = `,r],js:!0})}continue}let{blockPrefix:l}=r;i.push(l),e(l,i,n)}}(e,i,r),[i,r]}function arrayElementHasTrailingComma(e){let t,r=(t=e.children)[t.length-1];return r&&","===r[r.length-1]?.token}function gatherBindingPatternTypeSuffix(e){let t=0;switch(e.type){case"ArrayBindingPattern":{let r=[];for(let i=e.elements,n=0,l=i.length;n<l;n++){let e=i[n],{typeSuffix:l,initializer:o}=e;l??=e.binding?.typeSuffix,l&&t++,null!=o&&(l??=typeSuffixForExpression(trimFirstSpace(o.expression)));let a=[l?.t,e.delim];l?.optional&&(a[0]=parenthesizeType(a[0]),a.unshift("undefined |")),"BindingRestElement"===e.type?(a[0]??="unknown[]",a.unshift(e.dots)):a[0]??="unknown",r.push(a)}if(t){let t=[": [",r,"]"];e.typeSuffix={type:"TypeSuffix",ts:!0,t,children:[t]}}}break;case"ObjectBindingPattern":{let r,i=[];for(let n=e.properties,l=0,o=n.length;l<o;l++){let e=n[l],{typeSuffix:o,initializer:a}=e;switch(o??=e.value?.typeSuffix,o&&t++,null!=a&&(o??=typeSuffixForExpression(trimFirstSpace(a.expression))),o??={type:"TypeSuffix",ts:!0,children:[": unknown"]},e.initializer&&!o.optional&&o.children.unshift(o.optional="?"),e.type){case"BindingProperty":case"PinProperty":{let t=e.children.slice(0,e.children.indexOf(e.name));i.push([...t,e.name,o,e.delim]);break}case"AtBindingProperty":{let t=e.children.slice(0,e.children.indexOf(e.binding));i.push([...t,e.ref.id.replace(/^#/,""),o,e.delim]);break}case"BindingRestProperty":r=e.typeSuffix?.t;continue}}if(t){let t=["{",i,"}"];null!=r&&t.push(" & ",parenthesizeType(trimFirstSpace(r))),e.typeSuffix={type:"TypeSuffix",ts:!0,t,children:[": ",t]}}}}return e}init_browser_shim(),init_browser_shim(),init_browser_shim();var preludeVar="var ";function ts(e){return{ts:!0,children:Array.isArray(e)?e:[e]}}var asAny=ts(" as any"),declareHelper={indexOf(e){state.prelude.push(["",[preludeVar,e,ts([": <T>(this: T[], searchElement: T) => number"])," = [].indexOf",asAny],";\n"])},hasProp(e){state.prelude.push(["",[preludeVar,e,ts(": <T>(object: T, prop: PropertyKey) => boolean")," = ({}.constructor",asAny,").hasOwn"],";\n"])},is(e){state.prelude.push(["",[preludeVar,e,ts(": { <B, A extends B> (a: A, b: B): b is A, <A, B> (a: A, b: B): a is A & B }")," = Object.is",asAny],";\n"])},len(e){state.prelude.push(["",[ts(["function ",e,"<T extends readonly unknown[], N extends number>(arr: T, length: N): arr is T & { length: N } { return arr.length === length }"]),{js:!0,children:["function ",e,"(arr, length) { return arr.length === length }"]},"\n"]])},RSliceable(e){state.prelude.push(["",ts(["type ",e,"<R> = string | {length: number; slice(start: number, end: number): {reverse(): R}}\n"])])},rslice(e){let t=getHelperRef("RSliceable");state.prelude.push(["",[preludeVar,e,ts([": <R, T extends string | ",t,"<R>>(a: T, start?: number, end?: number) => T extends string ? string : T extends ",t,"<infer R> ? R : never"])," = ((a, start = -1, end = -1) => {\n"," const l = a.length\n"," if (start < 0) start += l\n"," if (++end < 0) end += l\n"," if (typeof a === 'string') {\n",' let r = ""\n'," if (start > l-1) start = l-1\n"," if (end < 0) end = 0\n"," for (let i = start; i >= end; --i) r += a[i]\n"," return r",asAny,"\n"," } else {\n"," return a.slice(end, start + 1).reverse()\n"," }\n","})"],";\n"])},range(e){state.prelude.push(["",[preludeVar,e,ts([": (start: number, end: number) => number[]"])," ","= (start, end) => {\n const length = end - start;\n if (length <= 0) return [];\n const arr = Array(length);\n for (let i = 0; i < length; ++i) {\n arr[i] = i + start;\n }\n return arr;\n}"],";\n"])},revRange(e){state.prelude.push(["",[preludeVar,e,ts([": (start: number, end: number) => number[]"])," ","= (start, end) => {\n const length = start - end;\n if (length <= 0) return [];\n const arr = Array(length);\n for (let i = 0; i < length; ++i) {\n arr[i] = start - i;\n }\n return arr;\n}"],";\n"])},stringRange(e){state.prelude.push(["",[preludeVar,e,ts([": (start: number, length: number) => string[]"])," ","= (start, length) => {\n if (length <= 0) return [];\n const arr = Array(length);\n for (let i = 0; i < length; ++i) {\n arr[i] = String.fromCharCode(start + i);\n }\n return arr;\n}"],";\n"])},revStringRange(e){state.prelude.push(["",[preludeVar,e,ts([": (start: number, length: number) => string[]"])," ","= (start, length) => {\n if (length <= 0) return [];\n const arr = Array(length);\n for (let i = 0; i < length; ++i) {\n arr[i] = String.fromCharCode(start - i);\n }\n return arr;\n}"],";\n"])},div(e){state.prelude.push(["",[preludeVar,e,ts(": (a: number, b: number) => number")," = (a, b) => Math.floor(a / b)"],";\n"])},modulo(e){state.prelude.push(["",[preludeVar,e," = ",ts("("),"(a",ts(": number"),", b",ts(": number"),") => (a % b + b) % b",ts(") as ((a: number, b: number) => number) & ((a: bigint, b: bigint) => bigint)")],";\n"])},Falsy(e){state.prelude.push(["",ts(["type ",e," = false | 0 | '' | 0n | null | undefined"]),";\n"])},xor(e){let t=getHelperRef("Falsy");state.prelude.push(["",[preludeVar,e,ts([": <A, B>(a: A, b: B) => A extends ",t," ? B : B extends ",t," ? A : (false | (A & ",t," extends never ? never : B) | (B & ",t," extends never ? never : A))"])," = (a, b) => (a ? !b && a : b)",asAny],";\n"])},xnor(e){let t=getHelperRef("Falsy");state.prelude.push(["",[preludeVar,e,ts([": <A, B>(a: A, b: B) => A & ",t," extends never ? B : (true | (B extends ",t," ? never : A) | (A extends ",t," ? never : B))"])," = (a, b) => (a ? b : !b || a)",asAny],";\n"])},concatAssign(e){state.prelude.push(["",[preludeVar,e,ts([": <B, A extends {push: (this: A, b: B) => void} | (B extends unknown[] ? {push: (this: A, ...b: B) => void} : never)>(lhs: A, rhs: B) => A"])," = (lhs, rhs) => (((rhs",asAny,")?.[Symbol.isConcatSpreadable] ?? Array.isArray(rhs)) ? (lhs",asAny,").push.apply(lhs, rhs",asAny,") : (lhs",asAny,").push(rhs), lhs)"],";\n"])},AutoPromise(e){state.prelude.push(["",ts(["type ",e,"<T> = Promise<Awaited<T>>"]),";\n"])},JSX(e){state.prelude.push(["",ts(["import type { JSX as ",e," } from 'solid-js'"]),";\n"])},IntrinsicElements(e){let t=getHelperRef("JSX");state.prelude.push(["",ts(["type ",e,"<K extends keyof ",t,".IntrinsicElements> =\n"," ",t,".IntrinsicElements[K] extends ",t,".DOMAttributes<infer T> ? T : unknown"]),";\n"])}};function getHelperRef(e){if(e in state.helperRefs)return state.helperRefs[e];let t=makeRef(e);if(!(e in declareHelper))throw new Error(`Unknown helper function: ${e}`);return declareHelper[e](t),state.helperRefs[e]=t}function peekHelperRef(e){return state.helperRefs[e]}function extractPreludeFor(e){if(!state.prelude.length)return state.prelude;let t=new Set(Object.values(state.helperRefs)),r=t.has.bind(t),i=new Set(gatherRecursive(e,r));for(;;){let e=state.prelude.filter(e=>gatherRecursive(e,i.has.bind(i)).length),t=!1;for(let n=gatherRecursive(e,r),l=0,o=n.length;l<o;l++){let e=n[l];i.has(e)||(i.add(e),t=!0)}if(!t)return e}}function stringify(e){try{return removeParentPointers(e),JSON.stringify(e)}catch{return`${e}`}}function gen(e,t){let r,i=(r=t?.sourceMap)?.updateSourceMap.bind(r);return function e(r){if("string"==typeof r)return i?.(r),r;if(Array.isArray(r))return r.map(e).join("");if("object"==typeof r){if(t.js&&"ts"in r&&r.ts||!t.js&&"js"in r&&r.js)return"";if("Error"===r.type){let e,i,n=t?.filename??"unknown",l="?",o="?";if(i=t.sourceMap){let t=i;null!=r.$loc&&t.updateSourceMap("",r.$loc.pos),l=t.srcLine+1,o=t.srcColumn+1,e=t.srcOffset}return t.errors??=[],t.errors.push(new import_lib2.ParseError(r.message,void 0,n,l,o,e)),""}if("$loc"in r){let{token:e,$loc:t}=r;return null!=t&&i?.(e,t.pos),e}if(!isParent(r)){if(isToken(r))return r.token;if("Ref"===r.type)throw new Error(`Unpopulated ref ${stringify(r)}`);throw new Error(`Unknown node ${stringify(r)}`)}return e(r.children)}throw new Error(`Unknown node ${stringify(r)}`)}(e)}var generate_default=gen;function prune(e){if(null!=e&&("string"!=typeof e||0!==e.length)){if(null!=e.parent&&delete e.parent,Array.isArray(e)){let t=e.map(prune).filter(e=>e);return t.length>1?t:1===t.length?t[0]:void 0}return null!=e.children&&(e.children=prune(e.children)||[]),e}}function expressionizeComptime(e){let{expressions:t}=e.block,r=wrapIIFE(t,hasAwait(t));return makeNode({type:"ComptimeExpression",expression:r,children:[r]})}function processComptime(e){if(!getInitialConfig()?.comptime)return;let t=runComptime(e);return getSync()?void 0:(async()=>{await Promise.all(t)})()}function runComptime(statements){let sync2=getSync();return gatherRecursive(statements,e=>"ComptimeStatement"===e.type||"ComptimeExpression"===e.type).map(exp=>{let content="ComptimeStatement"===exp.type?exp.block:exp.expression;content=[...extractPreludeFor(content),content];let options={js:!0},js=generate_default(prune(content),options),output,context,contextGlobal,promise;if(js=`"use strict";${js}`,null==options.errors){try{context=browser_shim_default.createContext?.()??globalThis;let filename2=context.__filename=resolve(getFilename());if(context.__dirname=dirname(filename2),context.require=createRequire(filename2),null!=browser_shim_default.runInContext){contextGlobal=browser_shim_default.runInContext("globalThis",context);let e=new Set(Object.getOwnPropertyNames(contextGlobal));for(let t of Object.getOwnPropertyNames(globalThis))e.has(t)||Object.defineProperty(contextGlobal,t,{__proto__:null,...Object.getOwnPropertyDescriptor(globalThis,t)});output=browser_shim_default.runInContext(js,context,{filename:filename2,importModuleDynamically:browser_shim_default.constants?.USE_MAIN_CONTEXT_DEFAULT_LOADER})}else output=eval?.(js)}catch(e){return void(exp.children=[{type:"Error",message:`comptime block failed to execute: ${e}\n${js}`}])}if("ComptimeExpression"===exp.type){let e=()=>{let e;try{e=serialize(output,contextGlobal)}catch(e){return void(exp.children=[{type:"Error",message:`comptime result ${output} not serializable: ${e}`}])}return exp.children=[e]};sync2?e():promise=(async()=>(output=await output,e()))()}else{let e;promise=output,exp.children=[],e=exp.parent,"object"==typeof e&&null!=e&&"type"in e&&"BlockStatement"===e.type&&"bare"in e&&!0===e.bare&&!exp.parent.root&&exp.children.push(";")}return promise}})}function serialize(e,t){let r=new Set;return function e(i){if("string"==typeof i)return JSON.stringify(i);if("number"==typeof i)return Object.is(-0,i)?"-0":i.toString();if("boolean"==typeof i||null==i)return String(i);if("bigint"==typeof i)return`${i}n`;if("function"==typeof i){let t=Function.prototype.toString.call(i);if(/\{\s+\[native code]\s+\}$/.test(t))throw new TypeError("cannot serialize native function");if(/^class[\s{]/u.test(t))return Object.isExtensible(i)||(t=`Object.preventExtensions(${t})`),t;if(r.has(i))throw new Error("circular reference detected");if(r.add(i),/^(?:async\s*)?(?:\*\s*|[gs]et\s+)?\[/.test(t))throw new Error("cannot serialize method with computed name");let n=!(void 0===i.prototype||Object.prototype===Object.getPrototypeOf(i.prototype)&&Object.getOwnPropertyNames(i.prototype).length<=1&&0===Object.getOwnPropertySymbols(i.prototype).length&&[i,void 0].includes(i.prototype.constructor)),l=/^(?:async\s*)?(?:function\s*)?\*/u.test(t);if(n&&!l)throw new TypeError("cannot serialize function with modified prototype");/^(?:async\s+)?(?:(function|class)(?!\p{ID_Continue})|\(|(?:\p{ID_Start}|[_$])(?:\p{ID_Continue}|[\u200C\u200D$])*\s*=>)/u.test(t)||(t=t.replace(/^(async\s+)?(?:[gs]et\s+(?=\p{ID_Start}))?/u,(e,t="")=>t+"function "));let o=["length","name","arguments","caller","prototype"];if(!Object.getOwnPropertyNames(i).every(e=>o.includes(e))||0!==Object.getOwnPropertySymbols(i).length){let r=Object.getOwnPropertyDescriptors(i);for(let e of o)delete r[e];t=`Object.defineProperties(${t},${e(r)})`}return Object.isExtensible(i)||(t=`Object.preventExtensions(${t})`),r.delete(i),t}if("symbol"==typeof i){let e;if(null!=(e=Symbol.keyFor(i)))return`Symbol.for(${JSON.stringify(e)})`;for(let e of Object.getOwnPropertyNames(Symbol)){let t=Symbol[e];if(i===t)return`Symbol.${e}`}throw new TypeError("cannot serialize unique symbol")}if("object"==typeof i){if(r.has(i))throw new Error("circular reference detected");let n;switch(r.add(i),Object.getPrototypeOf(i)){case RegExp.prototype:case t?.RegExp.prototype:{let e=i;n=`/${e.source}/${e.flags}`;break}case Date.prototype:case t?.Date.prototype:n=`new Date(${i.getTime()})`;break;case Set.prototype:case t?.Set.prototype:n="new Set(["+(()=>{let t=[];for(let r of i)t.push(e(r));return t})().join(",")+"])";break;case Map.prototype:case t?.Map.prototype:n="new Map(["+(()=>{let t=[];for(let[r,n]of i)t.push(`[${e(r)},${e(n)}]`);return t})().join(",")+"])";break;case Object.prototype:case t?.Object.prototype:{let t="{",r="";for(let n=Object.getOwnPropertyNames(i).concat(Object.getOwnPropertySymbols(i)),l=0,o=n.length;l<o;l++){let o=n[l],a=Object.getOwnPropertyDescriptor(i,o);a.enumerable&&a.configurable&&a.writable?(t+="symbol"==typeof o?`[${e(o)}]`:JSON.stringify(o),t+=`:${e(a.value)},`):(r+="symbol"==typeof o?`[${e(o)}]`:JSON.stringify(o),r+=`:${e(a)},`)}t.length>1&&(t=t.slice(0,-1)),t+="}",""!==r&&(t=`Object.defineProperties(${t},{${r.slice(0,-1)}})`),Object.isExtensible(i)||(t=`Object.preventExtensions(${t})`),n=t;break}case URL.prototype:case t?.URL.prototype:n=`new URL(${JSON.stringify(i.href)})`;break;case null:n=`Object.create(null,${e(Object.getOwnPropertyDescriptors(i))})`;break;case Int8Array.prototype:case Uint8Array.prototype:case Int16Array.prototype:case Uint16Array.prototype:case Int32Array.prototype:case Uint32Array.prototype:case Float32Array.prototype:case Float64Array.prototype:case Uint8ClampedArray.prototype:case t?.Int8Array.prototype:case t?.Uint8Array.prototype:case t?.Int16Array.prototype:case t?.Uint16Array.prototype:case t?.Int32Array.prototype:case t?.Uint32Array.prototype:case t?.Float32Array.prototype:case t?.Float64Array.prototype:case t?.Uint8ClampedArray.prototype:n=`new ${i.constructor.name}([${i.join(",")}])`;break;case BigInt64Array.prototype:case BigUint64Array.prototype:case t?.BigInt64Array.prototype:case t?.BigUint64Array.prototype:n=`new ${i.constructor.name}([${Array.from(i,e=>`${e}n`).join(",")}])`;break;case globalThis.Buffer?.prototype:case t?.Buffer?.prototype:n=`Buffer.from([${i.join(",")}])`;break;default:if(!Array.isArray(i))throw new TypeError(`cannot serialize object with prototype ${i.constructor?.name??Object.getPrototypeOf(i)}`);n=`[${i.map(e).join(",")}]`}let l=n;return r.delete(i),l}}(e)}var concatAssign=(e,t)=>(t?.[Symbol.isConcatSpreadable]??Array.isArray(t)?e.push.apply(e,t):e.push(t),e);function getTypeArguments(e){return e.filter(e=>"object"==typeof e&&null!=e&&"type"in e&&"TypeArgument"===e.type)}function isVoidType(e){return"object"==typeof e&&null!=e&&"type"in e&&"TypeLiteral"===e.type&&"t"in e&&"object"==typeof e.t&&null!=e.t&&"type"in e.t&&"VoidType"===e.t.type}function isPromiseType(e){return"object"==typeof e&&null!=e&&"type"in e&&"TypeIdentifier"===e.type&&"raw"in e&&"Promise"===e.raw}function isPromiseVoidType(e){if(!isPromiseType(e))return!1;let t=getTypeArguments(e.args?.args);return 1===t.length&&isVoidType(t[0].t)}function wrapTypeInPromise(e){return isPromiseType(e)?e:wrapTypeInApplication(e,getHelperRef("AutoPromise"),"Promise")}function wrapTypeInApplication(e,t,r){let i=getTrimmingSpace(e),n=[{type:"TypeArgument",ts:!0,t:e=trimFirstSpace(e),children:[e]}],l={type:"TypeArguments",ts:!0,args:n,children:["<",n,">"]};return r??=t,{type:"TypeIdentifier",raw:r,args:l,children:[i,t,l]}}function implicitFunctionBlock(e){if(!(e.abstract||e.block||e.signature?.optional))if(followingOverloads(e).length)e.ts=!0;else{let t,r=[(t=e.parameters?.children)?.[t.length-1]].flat(1/0).at(-1),i=makeEmptyBlock(r?.$loc);i.parent=e,e.block=i,e.children.push(i),e.ts=!1}}function overloadsInDirection(e,t){if(null==e.name)return[];let r=e.parent,i=e;if("ExportDeclaration"===r?.type&&(i=r,r=r.parent),"BlockStatement"!==r?.type)return[];let{expressions:n}=r,l=findChildIndex(n,i);if(t<0){let t=[];for(;--l>=0;){let r=n[l][1];if("ExportDeclaration"===r.type&&(r=r.declaration),!r||r.type!==e.type||r.name!==e.name)break;t.push(r)}return t}{let t=[];for(;++l<n.length;){let r=n[l][1];if("ExportDeclaration"===r.type&&(r=r.declaration),!r||r.type!==e.type||r.name!==e.name)break;t.push(r)}return t}}function precedingOverloads(e){return overloadsInDirection(e,-1)}function followingOverloads(e){return overloadsInDirection(e,1)}function processReturn(e,t){let{returnType:r}=e.signature;if(r&&r.optional&&convertOptionalType(r),!processReturnValue(e)&&(t||e.signature.implicitReturn)){let{signature:t,block:r}=e,{modifier:i,name:n,returnType:l}=t,{async:o,generator:a,set:p}=i,s="MethodDefinition"===e.type&&"constructor"===n,u=a||isVoidType(l?.t)||o&&isPromiseVoidType(l?.t);"BlockStatement"===r?.type&&(u||p||s?r.bare&&r.implicitlyReturned&&braceBlock(r):r.implicitlyReturned||insertReturn(r))}}function processReturnValue(e){let{block:t}=e,r=gatherRecursiveWithinFunction(t,e=>"ReturnValue"===e.type);if(!r.length)return!1;let i,n=makeRef("ret");for(let e=0,t=r.length;e<t;e++){let t=r[e];t.children=[n];let{ancestor:l,child:o}=findAncestor(t,e=>"Declaration"===e.type,isFunction);l&&(i??=o)}let l,o=e.returnType??e.signature?.returnType;if(o){let e,{t}=o;if(e=t.type,"TypePredicate"===e){let e={token:"boolean"},t={type:"TypeLiteral",t:e,children:[e]};o={type:"ReturnTypeAnnotation",ts:!0,t,children:[": ",t]}}else"TypeAsserts"===e&&(o=void 0)}if(o&&(o=deepCopy(o),addParentPointers(o),e.signature.modifier.async&&replaceNode(o.t,makeNode(wrapTypeInApplication(o.t,"Awaited")),o)),i?null==i.typeSuffix&&(i.children[1]=i.typeSuffix=o):t.expressions.unshift([getIndent(t.expressions[0]),makeNode({type:"Declaration",children:["let ",n,o],names:[]}),";"]),gatherRecursiveWithinFunction(t,e=>"ReturnStatement"===e.type&&!e.expression).forEach(e=>(e.expression=n,e.children.splice(-1,1," ",n))),"ReturnStatement"!==(l=t.children)[l.length-2]?.type){let e,r=getIndent((e=t.expressions)[e.length-1]);t.expressions.push([r,wrapWithReturn(n,t,!r)])}return!0}function patternAsValue(e){switch(e.type){case"ArrayBindingPattern":{let t=[...e.children],r=t.indexOf(e.elements);assert(r>=0,"failed to find elements in ArrayBindingPattern");let i=t[r]=e.elements.map(patternAsValue);return{...e,elements:i,children:t}}case"ObjectBindingPattern":{let t=[...e.children],r=t.indexOf(e.properties);assert(r>=0,"failed to find elements in ArrayBindingPattern");let i=t[r]=e.properties.map(patternAsValue);return{...e,properties:i,children:t}}case"BindingProperty":{let t;if("Identifier"===e.value?.type)t=[e.value,e.delim],isWhitespaceOrEmpty(e.children[0])&&t.unshift(e.children[0]);else{if(t=[...e.children],null!=e.initializer){let r=t.indexOf(e.initializer);assert.notEqual(r,-1,"failed to find initializer in BindingElement"),t.splice(r,1)}null!=e.value&&(t=t.map(t=>t===e.value?patternAsValue(e.value):t))}return{...e,children:t}}case"AtBindingProperty":{let t=[...e.children];if(null!=e.initializer){let r=t.indexOf(e.initializer);assert.notEqual(r,-1,"failed to find initializer in AtBindingProperty"),t.splice(r,1)}return{...e,children:t}}case"BindingElement":{let t=[...e.children];if(null!=e.initializer){let r=t.indexOf(e.initializer);assert.notEqual(r,-1,"failed to find initializer in BindingElement"),t.splice(r,1)}let r=t.indexOf(e.binding);return assert.notEqual(r,-1,"failed to find binding in BindingElement"),t[r]=patternAsValue(e.binding),{...e,children:t}}default:return e}}function patternBindings(e){let t=[];return function e(r){switch(r.type){case"ArrayBindingPattern":for(let t=r.elements,i=0,n=t.length;i<n;i++){let r=t[i];e(r)}break;case"ObjectBindingPattern":for(let t=r.properties,i=0,n=t.length;i<n;i++){let r=t[i];e(r)}break;case"BindingElement":e(r.binding);break;case"BindingProperty":e(r.value??r.name);break;case"Binding":e(r.pattern);break;case"Identifier":case"AtBinding":t.push(r)}}(e),t}function nameAbstractClass(e){if(e.id)return trimFirstSpace(e.id);let t=makeRef("Class"),r=e.children.findIndex(e=>isToken(e)&&"class"===e.token);return assert.notEqual(r,-1,"Could not find class keyword in ClassExpression children"),e.children.splice(r+1,0," ",t),t}function assignResults(e,t){switch(e.type){case"BlockStatement":if(e.expressions.length){let r;assignResults((r=e.expressions)[r.length-1],t)}else e.expressions.push(["",t("void 0"),";"]),updateParentPointers(e);return;case"CaseClause":return;case"WhenClause":case"DefaultClause":case"PatternClause":return void assignResults(e.block,t)}assert(Array.isArray(e),"assignResults: node must be a statement tuple or a handled node type");let[,r,i]=e;if("SemicolonDelimiter"===i?.type||isExit(r))return;let n,l,o=r;if("LabelledStatement"===r.type&&(r=r.statement),"ParenthesizedExpression"===r.type&&"ClassExpression"===r.expression?.type&&r.expression.abstract){let t=r.expression;t.parent=r.parent,o===r&&(e[1]=t),r=t}switch(r.type){case"DebuggerStatement":case"EmptyStatement":return;case"Declaration":{let e;if(r.bindings?.length){let t;e=patternAsValue((t=r.bindings)[t.length-1].pattern)}else e="void 0";let i=e;return r.children.push(["",[";",t(i)]]),void updateParentPointers(r)}case"FunctionExpression":if(r.id)return r.children.push(["",[";",t(r.id)]]),void updateParentPointers(r);break;case"ClassExpression":if(r.abstract){let e=nameAbstractClass(r);return r.children.push(["",[";",t(e)]]),void updateParentPointers(r)}break;case"ForStatement":case"IterationStatement":case"DoStatement":case"ComptimeStatement":return void wrapIterationReturningResults(r,t);case"BlockStatement":return void assignResults((n=r.expressions)[n.length-1],t);case"IfStatement":return assignResults(r.then,t),void(r.else?assignResults(r.else.block,t):(braceBlock(r.then),r.children.push([" else {",t("void 0"),"}"]),updateParentPointers(r)));case"PatternMatchingStatement":return void assignResults(r.children[0],t);case"SwitchStatement":for(let e=r.caseBlock.clauses,i=0,n=e.length;i<n;i++){assignResults(e[i],t)}return;case"TryStatement":for(let e=r.blocks,i=0,n=e.length;i<n;i++){assignResults(e[i],t)}return;case"PipelineExpression":{if(l=r.children[1]?.type,"ReturnStatement"===l||"ThrowStatement"===l)return;let e=r.children.lastIndexOf(";");if(0<=e&&e<r.children.length-1)return r.children.splice(e+1,1/0,t(r.children.slice(e+1))),void updateParentPointers(r);break}}let a=e[1].parent;e[1]=t(e[1]),null!=a&&updateParentPointers(a)}function insertReturn(e){switch(e.type){case"BlockStatement":if(e.expressions.length){if(e.expressions.some(([,e])=>isExit(e)))return;insertReturn(e.expressions[e.expressions.length-1])}else{let t;t=e.parent?.type,("CatchClause"===t||"WhenClause"===t)&&e.expressions.push(["",wrapWithReturn(void 0,e)])}return;case"CaseClause":return;case"WhenClause":if(e.break){let t=e.children.indexOf(e.break);assert.notEqual(t,-1,"Could not find break in when clause"),e.children.splice(t,1),e.break=void 0}if(insertReturn(e.block),!isExit(e.block)){let t,r=hasTrailingComment(e.block.expressions);e.block.expressions.push([r?(t=e.block.expressions)[t.length-1][0]||"\n":"",wrapWithReturn(void 0,e,!r)])}return;case"DefaultClause":return void insertReturn(e.block)}assert(Array.isArray(e),"insertReturn: node must be a statement tuple or a handled node type");let[,t,r]=e;if("SemicolonDelimiter"===r?.type)return;assert(t,"insertReturn: statement tuple missing expression");let i,n=t;if("LabelledStatement"===t.type&&(t=t.statement),"ParenthesizedExpression"===t.type&&"ClassExpression"===t.expression?.type&&t.expression.abstract){let r=t.expression;r.parent=t.parent,n===t&&(e[1]=r),t=r}switch(t.type){case"DebuggerStatement":case"EmptyStatement":case"ReturnStatement":case"ThrowStatement":return;case"Declaration":{let e;if(t.bindings?.length){let r;e=[" ",patternAsValue((r=t.bindings)[r.length-1].pattern)]}else e=[];let r=e,i=n.parent,l=findChildIndex(i?.expressions,n);return assert.notEqual(l,-1,"Could not find declaration in parent"),i.expressions.splice(l+1,0,["",{type:"ReturnStatement",expression:r,children:[";"!==i.expressions[l][2]?";":void 0,"return",r],parent:t}]),void braceBlock(i)}case"FunctionExpression":if(t.id){let e=n.parent,r=findChildIndex(e?.expressions,n);return assert.notEqual(r,-1,"Could not find function declaration in parent"),e.expressions.splice(r+1,0,["",wrapWithReturn(t.id,t,!0)]),void braceBlock(e)}break;case"ClassExpression":if(t.abstract){let e=t.parent;assert(e,"ClassExpression has no parent");let r=e.expressions.findIndex(e=>e[1]===t);assert.notEqual(r,-1,"Could not find class declaration in parent");let i=nameAbstractClass(t);return e.expressions.splice(r+1,0,["",wrapWithReturn(i,t,!0)]),void braceBlock(e)}break;case"ForStatement":case"IterationStatement":case"DoStatement":case"ComptimeStatement":return void wrapIterationReturningResults(t);case"BlockStatement":return void insertReturn(t.expressions[t.expressions.length-1]);case"IfStatement":return insertReturn(t.then),void(t.else?insertReturn(t.else.block):t.children.push(["",wrapWithReturn(void 0,t,!0)]));case"PatternMatchingStatement":return void insertReturn(t.children[0]);case"SwitchStatement":for(let e=t.caseBlock.clauses,r=0,i=e.length;r<i;r++){insertReturn(e[r])}return;case"TryStatement":for(let e=t.blocks,r=0,i=e.length;r<i;r++){insertReturn(e[r])}return;case"PipelineExpression":{if(i=t.children[1]?.type,"ReturnStatement"===i||"ThrowStatement"===i)return;let e=t.children.lastIndexOf(";");if(0<=e&&e<t.children.length-1)return void t.children.splice(e+1,1/0,wrapWithReturn(t.children.slice(e+1)));break}}e[1]=wrapWithReturn(e[1])}function processBreakContinueWith(e){let t=!1;for(let r of gatherRecursiveWithinFunction(e.block,e=>"BreakStatement"===e.type||"ContinueStatement"===e.type))if(r.with){if(r.label){let t;if(t=e.parent,!("object"==typeof t&&null!=t&&"type"in t&&"LabelledStatement"===t.type&&"label"in t&&"object"==typeof t.label&&null!=t.label&&"name"in t.label&&t.label.name===r.label.name))continue}else{let{ancestor:t}=findAncestor(r,t=>t===e||"IterationStatement"===t.type||"ForStatement"===t.type||"SwitchStatement"===t.type&&"BreakStatement"===r.type);if(t!==e)continue}r.children.unshift("BreakStatement"===r.type?(t=!0,[e.resultsRef," =",r.with,";"]):[e.resultsRef,".push(",trimFirstSpace(r.with),");"]),updateParentPointers(r.with,r);let i=r.children.findIndex(e=>"Error"===e?.type);i>=0&&r.children.splice(i,1);let n=r.parent;assert("BlockStatement"===n?.type,`Expected parent of ${r.type.toLowerCase().replace("statement","")} to be BlockStatement`),braceBlock(n)}return t}function wrapIterationReturningResults(e,t){if("DoStatement"===e.type||"ComptimeStatement"===e.type){let r;if("ComptimeStatement"===e.type){insertReturn(e.block);let t=expressionizeComptime(e);replaceNode(e,t);let i=t.parent;r=i?.expressions?.[findChildIndex(i?.expressions,t)],assert.equal(r?.[1],t,"comptime statement found outside statement tuple")}else r=e.block;return void(t?assignResults(r,t):insertReturn(r))}if(null!=e.resultsRef)return;if(e.resultsParent){let{ancestor:t}=findAncestor(e,e=>"ForStatement"===e.type||"IterationStatement"===e.type,isFunction);if(!t)return void e.children.unshift({type:"Error",message:"Could not find ancestor of spread iteration"});let r=e.resultsRef=t.resultsRef;iterationDefaultBody(e);let{block:i}=e;return void(i.empty||assignResults(i,e=>[r,".push(",e,")"]))}let r=e.resultsRef??=makeRef("results"),i=iterationDeclaration(e),{ancestor:n,child:l}=findAncestor(e,e=>"BlockStatement"===e.type);assert.notNull(n,`Could not find block containing ${e.type}`);let o=findChildIndex(n.expressions,l);assert.notEqual(o,-1,`Could not find ${e.type} in containing block`);let a=n.expressions[o];n.expressions.splice(o,0,[a[0],i,";"]),a[0]="",braceBlock(n),t?e.children.push(t(r)):e.children.push(";return ",r,";")}function iterationDeclaration(e){let{resultsRef:t,block:r}=e,i="ForStatement"===e.type&&e.reduction,n=i?"let":"const";("IterationStatement"===e.type||"ForStatement"===e.type)&&processBreakContinueWith(e)&&(n="let");let l="let"===n&&isLoopStatement(e)&&0===gatherRecursive(r,e=>"BreakStatement"===e.type&&!e.with,e=>isFunction(e)||"IterationStatement"===e.type).length,o={type:"Declaration",children:[n," ",t],decl:n,names:[],bindings:[]};if(i?o.children.push("="+(()=>{switch(i.subtype){case"some":return"false";case"every":return"true";case"first":return"undefined";case"min":return"Infinity";case"max":return"-Infinity";case"product":return"1";case"join":return'""';case"concat":return"[]";default:return"0"}})()):e.object?o.children.push("={}"):"const"===n?o.children.push("=[]"):l||o.children.push(";",t,"=[]"),!l){if(iterationDefaultBody(e))return o;r.empty||assignResults(r,r=>{if(e.object)return["Object.assign(",t,",",r,")"];if(!i)return[t,".push(",r,")"];switch(i.subtype){case"some":return["if (",r,") {",t," = true; break}"];case"every":return["if (!",makeLeftHandSideExpression(r),") {",t," = false; break}"];case"count":return["if (",r,") ++",t];case"first":return[t," = ",r,"; break"];case"sum":case"join":return[t," += ",r];case"concat":return[getHelperRef("concatAssign"),"(",t,", ",r,")"];case"product":return[t," *= ",r];case"min":return[t," = Math.min(",t,", ",r,")"];case"max":return[t," = Math.max(",t,", ",r,")"]}})}return o}function iterationDefaultBody(e){let{block:t,resultsRef:r}=e;if(!t.empty)return!1;let i="ForStatement"===e.type&&e.reduction;function n(e){let r,i;return i=(r=t.expressions)[r.length-1],Array.isArray(i)&&i.length>=2&&"object"==typeof i[1]&&null!=i[1]&&"type"in i[1]&&"EmptyStatement"===i[1].type&&"implicit"in i[1]&&!0===i[1].implicit&&t.expressions.pop(),t.expressions.push(e),t.empty=!1,braceBlock(t)}if(i)switch(i.subtype){case"some":return n(["",[r," = true; break"]]),t.empty=!1,braceBlock(t),!0;case"every":return n(["",[r," = false; break"]]),t.empty=!1,braceBlock(t),!0;case"count":return n(["",["++",r]]),t.empty=!1,braceBlock(t),!0}if("ForStatement"===e.type){let r=e.eachDeclaration??e.declaration;if("ForDeclaration"===r?.type){if(i){let e=patternBindings(r.binding.pattern);if(e.length){n(["",e[0]]);for(let t of e.slice(1))t.children.unshift({type:"Error",subtype:"Warning",message:"Ignored binding in reduction loop with implicit body"})}else n(["",{type:"Error",message:"Empty binding pattern in reduction loop with implicit body"}])}else n(["",patternAsValue(r.binding.pattern)]);t.empty=!1}}return!1}function processParams(e){let{type:t,parameters:r,block:i}=e,n="constructor"===e.name;"ArrowFunction"===t&&r&&r.tp&&1===r.tp.parameters.length&&r.tp.parameters.push(",");let l,o,a=[],p=[];function s(e){(o?p:a).push(e)}for(let e=r.parameters,t=0,i=e.length;t<i;t++){let r=e[t];switch(r.type){case"ThisType":if(l)s({type:"Error",message:"Only one typed this parameter is allowed"}),s(r);else if(l=trimFirstSpace(r),a.length||o){let e,t=(e=l.children)[e.length-1];Array.isArray(t)&&(t=t[t.length-1]),"object"==typeof t&&null!=t&&"token"in t&&","===t.token||(l={...l,children:[...l.children,", "]})}break;case"FunctionRestParameter":o?(s({type:"Error",message:"Only one rest parameter is allowed"}),s(r)):o=r;break;default:s(r)}}if(r.names=a.flatMap(e=>e.names),r.parameters.splice(0,1/0),l&&r.parameters.push(l),r.parameters.push(...a),o){let e=o.binding.ref||o.binding;if(r.names.push(...o.names??[]),o.children.pop(),p.length){let t;t=o.binding.type,("ArrayBindingPattern"===t||"ObjectBindingPattern"===t||"NamedBindingPattern"===t)&&r.parameters.push({type:"Error",message:"Non-end rest parameter cannot be binding pattern"}),p=trimFirstSpace(p);let i=p.flatMap(e=>e.names),n=p.map(e=>"Error"===e.type?e:{...e,children:e.children.filter(t=>t!==e.typeSuffix),type:"BindingElement"}),l=gatherBindingPatternTypeSuffix(makeNode({type:"ArrayBindingPattern",elements:n,length:p.length,children:["[",n,"]"],names:i})),{typeSuffix:a}=l,s=r.blockPrefix=makeNode({type:"PostRestBindingElements",children:[l," = ",e,".splice(-",p.length.toString(),")"],elements:n,names:i});if(o.typeSuffix){let t=function(e,t){let r=e?.t??t;return e?.optional?[r,{type:"Error",message:"Optional parameter not allowed in/after rest parameter"}]:r};let r=makeRef("rest"),i=[{children:[r],ts:!0},{children:[e],js:!0}];s.children[s.children.indexOf(e)]=i,s.children.push({ts:!0,children:[", ",e," = ",r," as ",trimFirstSpace(o.typeSuffix.t)]});let n=o.rest.children.indexOf(o.rest.binding);assert.notEqual(n,-1,"Could not find binding in rest parameter"),o.rest.children[n]=o.rest.binding={...o.rest.binding,js:!0},o.rest.children.splice(n+1,0,{children:[r],ts:!0});let l=o.typeSuffix;assert(l.colon,"rest type suffix missing colon");let{colon:a}=l,u=p.flatMap(e=>[",",t(e.typeSuffix," unknown")]),c=["[","...",t(l,"unknown[]"),...u,"]"],m=makeNode({type:"TypeSuffix",ts:!0,colon:a,t:c,children:[...l.children.filter(e=>e!==l.optional&&e!==l.t),c]}),d=o.children.indexOf(o.typeSuffix);assert.notEqual(d,-1,"Could not find typeSuffix in rest parameter"),o.children[d]=o.typeSuffix=m,s.children.splice(-1,0,{ts:!0,children:[" as [",u.slice(1),"]"]})}}r.parameters.push(o)}if(!i)return;let u,{expressions:c}=i;assert(c,"block is missing expressions"),u=c.length?c[0][0]:"";let[m,d]=gatherBindingCode(r,{injectParamProps:n,assignPins:!0}),f=gatherSubbindings(r.parameters);if(simplifyBindingProperties(r.parameters),simplifyBindingProperties(f),n){let{ancestor:t}=findAncestor(e,e=>"ClassExpression"===e.type);if(null!=t){let i=new Set(gatherRecursiveWithinFunction(t,e=>"FieldDefinition"===e.type).map(e=>e.id).filter(e=>"object"==typeof e&&null!=e&&"type"in e&&"Identifier"===e.type).map(e=>e.name)),n=t.body.expressions,l=findChildIndex(n,e);assert.notEqual(l,-1,"Could not find constructor in class"),l-=precedingOverloads(e).length;let o=n[l];for(let e=gatherRecursive(r,e=>"Parameter"===e.type),t=0,a=e.length;t<a;t++){let r=e[t],{accessModifier:a}=r;if(a||r.typeSuffix)for(let e=gatherRecursive(r,e=>"AtBinding"===e.type),t=0,p=e.length;t<p;t++){let p=e[t],s=p.parent?.typeSuffix;if(!a&&!s)continue;r.accessModifier&&(replaceNode(r.accessModifier,void 0),r.accessModifier=void 0);let u=p.ref.id;i.has(u)||(n.splice(l++,0,[o[0],{type:"FieldDefinition",id:u,typeSuffix:s,children:[a,u,s]},";"]),o[0]="")}}}}let $={type:"SemicolonDelimiter",children:[";"]},b=[];f.length&&b.push(makeNode({type:"Declaration",children:["const ",f.slice(1)],names:f.flatMap(e=>e.names??[]),bindings:[],decl:"const"}));for(let e=m,t=0,r=e.length;t<r;t++){let r=e[t];assert.equal(r.type,"PostRestBindingElements","splice should be of type Binding"),b.push(makeNode({type:"Declaration",children:["let ",r],names:r.names,bindings:[],decl:"let"}))}if(concatAssign(b,d),b=b.map(e=>e?.js?["",makeNode({...e,children:[u,...e.children,$]})]:[u,e,$]),!b.length)return;let S=-1;n&&(S=findSuperCall(i)),c.splice(S+1,0,...b),updateParentPointers(i),braceBlock(i)}function findSuperCall(e){let{expressions:t}=e,r=gatherNodes(t,e=>"object"==typeof e&&null!=e&&"type"in e&&"CallExpression"===e.type&&"children"in e&&Array.isArray(e.children)&&e.children.length>=1&&"object"==typeof e.children[0]&&null!=e.children[0]&&"token"in e.children[0]&&"super"===e.children[0].token);if(r.length){let{child:i}=findAncestor(r[0],t=>t===e),n=findChildIndex(t,i);return assert.notEqual(n,-1,"Could not find super call within top-level expressions"),n}return-1}function processSignature(e){let{block:t,signature:r}=e,i=!1,n=!1;if(!e.async?.length&&hasAwait(t))if(null!=e.async)i=!0;else for(let e=gatherRecursiveWithinFunction(t,e=>"Await"===e.type),i=0,n=e.length;i<n;i++){let t=e[i],n=findChildIndex(t.parent,t);t.parent.children.splice(n+1,0,{type:"Error",message:`await invalid in ${r.modifier.get?"getter":r.modifier.set?"setter":r.name}`})}if(!e.generator?.length&&hasYield(t))if(null!=e.generator)n=!0;else for(let i=gatherRecursiveWithinFunction(t,e=>"YieldExpression"===e.type),n=0,l=i.length;n<l;n++){let t=i[n],l=t.children.findIndex(e=>"Yield"===e.type);t.children.splice(l+1,0,{type:"Error",message:`yield invalid in ${"ArrowFunction"===e.type?"=> arrow function":r.modifier.get?"getter":r.modifier.set?"setter":r.name}`})}for(let t=[e,...precedingOverloads(e)],r=0,l=t.length;r<l;r++){let e=t[r];i&&null!=e.async&&!e.async.length&&(e.async.push("async "),e.signature.modifier.async=!0),n&&null!=e.generator&&!e.generator.length&&(e.generator.push("*"),e.signature.modifier.generator=!0),e.signature.modifier.async&&!e.signature.modifier.generator&&e.signature.returnType&&!isPromiseType(e.signature.returnType.t)&&replaceNode(e.signature.returnType.t,wrapTypeInPromise(e.signature.returnType.t),e.signature.returnType)}}function processFunctions(e,t){for(let r=gatherRecursiveAll(e,e=>"FunctionExpression"===e.type||"ArrowFunction"===e.type||"MethodDefinition"===e.type),i=0,n=r.length;i<n;i++){let e=r[i];("FunctionExpression"===e.type||"MethodDefinition"===e.type)&&implicitFunctionBlock(e),processSignature(e),processParams(e),processReturn(e,t.implicitReturns)}}function expressionizeIteration(e){let t,r,{async:i,generator:n,block:l,children:o,statement:a}=e,p=o.indexOf(a);if(assert.notEqual(p,-1,"Could not find iteration statement in iteration expression"),"DoStatement"===a.type||"ComptimeStatement"===a.type)return o.splice(p,1,wrapIIFE([["",a,void 0]],i,n)),void updateParentPointers(e);if(n)iterationDefaultBody(a),assignResults(l,e=>{let t;if(e&&"object"==typeof e&&"type"in e&&"SpreadElement"===e.type&&"expression"in e){let{expression:r}=e;t="*",e=r}return{type:"YieldExpression",expression:e,star:t,children:[{type:"Yield",children:["yield"]},t," ",e]}}),t=[["",a]];else{let e=a.resultsRef??=makeRef("results");t=[["",iterationDeclaration(a),";"],["",a,a.block.bare?";":void 0],["",e]]}if(!i){let i;if((i=blockContainingStatement(e))&&"object"==typeof i&&"block"in i&&"index"in i){let{block:e,index:n}=i;t[0][0]=e.expressions[n][0],e.expressions.splice(n,n+1-n,...t),updateParentPointers(e),braceBlock(e),r=!0}}r||(n||(t[t.length-1][1]=wrapWithReturn(t[t.length-1][1])),o.splice(p,1,wrapIIFE(t,i,n)),updateParentPointers(e))}function processIterationExpressions(e){for(let t=gatherRecursiveAll(e,e=>"IterationExpression"===e.type),r=0,i=t.length;r<i;r++){expressionizeIteration(t[r])}}function skipImplicitArguments(e){if(1===e.length){let t=e[0];return"Argument"===t.type&&(t=t.expression),"StatementExpression"===t.type&&(t=t.statement),"IterationExpression"===t.type&&"DoStatement"!==t.subtype&&!t.async&&isEmptyBareBlock(t.block)}return!1}function processCoffeeDo(e,t){e=trimFirstSpace(e);let r=[];if("object"==typeof t&&null!=t&&"type"in t&&"ArrowFunction"===t.type||"object"==typeof t&&null!=t&&"type"in t&&"FunctionExpression"===t.type){let{parameters:e}=t,i=e.parameters,n=[];for(let e=0,t=i.length;e<t;e++){let t=i[e];if("object"==typeof t&&null!=t&&"type"in t&&"Parameter"===t.type){let e;if(e=t.initializer){let i=e;r.push(i.expression,t.delim),t={...t,initializer:void 0,children:t.children.filter(e=>e!==i)}}else r.push(t.children.filter(e=>e!==t.typeSuffix))}n.push(t)}let l=n,o={...e,parameters:l,children:e.children.map(e=>e===i?l:e)};t={...t,parameters:o,children:t.children.map(t=>t===e?o:t)}}return{type:"CallExpression",children:[e,makeLeftHandSideExpression(t),{type:"Call",args:r,children:["(",r,")"]}]}}function makeAmpersandFunction(e){let{ref:t,typeSuffix:r,body:i}=e;null==t&&(t=makeRef("$"),inplacePrepend(t,i)),startsWithPredicate(i,e=>"ObjectExpression"===e.type)&&(i=makeLeftHandSideExpression(i));let n=[r?[t,r]:t],l=makeNode({type:"Parameters",children:r?["(",n,")"]:[n],parameters:n,names:[]}),o=[[" ",i]],a=makeNode({type:"BlockStatement",bare:!0,expressions:o,children:[o],implicitlyReturned:!0}),p=[],s=makeNode({type:"ArrowFunction",async:p,signature:{modifier:{async:!!p.length}},children:[p,l," =>",a],ref:t,block:a,parameters:l,ampersandBlock:!0,body:i});return isStatement(i)&&(braceBlock(a),s.ampersandBlock=!1),gatherRecursiveWithinFunction(a,e=>e===t).length>1&&(s.ampersandBlock=!1),s}function blockWithPrefix(e,t){if(e&&e.length){let r=[...e,...t.expressions];updateParentPointers(e,t),braceBlock(t={...t,expressions:r,children:t.children.map(e=>e===t.expressions?r:e)}),updateParentPointers(t)}return t}function braceBlock(e){if(e.bare&&!e.root){e.children.unshift(" {"),e.children.push("}");let{implicitlyReturned:t}=e;e.bare=e.implicitlyReturned=!1,t&&processReturn(e.parent,!0)}}function unbraceBlock(e){if(e.bare)return;let t,r;t=e.children[0],(" {"===t||"{"===t)&&"}"===(r=e.children)[r.length-1]&&(e.children.shift(),e.children.pop(),e.bare=!0)}function duplicateBlock(e){let t=[...e.expressions],r=[...e.children];return r.splice(r.indexOf(e.expressions),1,t),{...e,expressions:t,children:r}}function bracedBlock(e){return braceBlock(e=duplicateBlock(e)),e}function makeEmptyBlock(e){let t,r=[];t=e?{$loc:e,token:"{"}:"{";let i,n=t;return i=e?{$loc:{pos:e.pos+e.length,length:0},token:"}"}:"}",{type:"BlockStatement",expressions:r,children:[n,r,i],bare:!1,empty:!0}}function replaceBlockExpression(e,t,r){let i=!1,{expressions:n}=e;for(let l=0,o=n.length;l<o;l++){let o=n[l],[,a]=o;if(a===t){o[1]=r,r.parent=e,i=!0;break}}if(!i)throw new Error("Could not find child to replace")}function getIndent(e){let t=e?.[0];return Array.isArray(t)?(t=t.flat(1/0),t.filter(e=>e&&"Comment"!==e.type).map(e=>e.token)):t}function hoistRefDecs(e){gatherRecursiveAll(e,e=>e.hoistDec).forEach(e=>{let{hoistDec:t}=e;e.hoistDec=null;let{ancestor:r,child:i}=findAncestor(e,e=>"BlockStatement"===e.type&&(!e.bare||e.root));assert(r,"hoistRefDecs: ancestor not found"),insertHoistDec(r,i,t)})}function insertHoistDec(e,t,r){insertBeforeInBlock(e,t,["",r,";"])}function insertBeforeInBlock(e,t,...r){let i=findChildIndex(e.expressions,t);assert(i>=0,"insertBeforeInBlock: node not found in block"),insertBlockStatements(e,i,...r)}function insertBlockStatements(e,t,...r){let{expressions:i}=e,n=i[t];r[0][0]||=n?.[0],n[0]="",i.splice(t,0,...r),updateParentPointers(e),braceBlock(e)}function processBlocks(e){insertSemicolon(e);for(let t=gatherRecursive(e,e=>"BlockStatement"===e.type),r=0,i=t.length;r<i;r++){let e,i=t[r];if(i.unwrapObject&&1===i.expressions.length&&(e=i.expressions[0][1],"object"==typeof e&&null!=e&&"type"in e&&"ParenthesizedExpression"===e.type&&"implicit"in e&&!0===e.implicit&&"expression"in e&&"object"==typeof e.expression&&null!=e.expression&&"type"in e.expression&&"ObjectExpression"===e.expression.type)){let e=i.expressions[0][1].expression;if(!(()=>{let t=!0;for(let r of e.properties)if("Property"!==r.type||!r.implicitName){t=!1;break}return t})())continue;i.expressions[0][1]=i.expressions[0][1].expression,unbraceBlock(i);for(let t=e.properties,r=0,i=t.length;r<i;r++){let e,i=t[r];e=i.name,"object"==typeof e&&null!=e&&"type"in e&&"ComputedPropertyName"===e.type&&"implicit"in e&&!0===e.implicit&&replaceNode(i.name,i.name.expression,i),i.delim?.implicit&&(replaceNode(i.delim,void 0,i),i.delim=void 0);let n=i.children.indexOf(": ");n<0||(assert(i.children[n-1]===i.name,"unwrapObject: expected prop.name right before ': '"),i.children.splice(n-1,2))}}processBlocks(i.expressions)}}function insertSemicolon(e){let t=e.length;for(let r=0,i=e.length;r<i;r++){let i=r,n=e[r];if(i<t-1&&needsPrecedingSemicolon(e[i+1][1])){let e=n[2];e?"string"==typeof e&&!e.match(/;/)&&(n[2]=`;${e}`):n[2]=";"}}}function needsPrecedingSemicolon(e){if(!e)return!1;if(Array.isArray(e)){for(let t=0,r=e.length;t<r;t++){let r=e[t];if(null!=r)return needsPrecedingSemicolon(r)}return!1}if(isToken(e)&&(e=e.token),"string"==typeof e)return/^\s*[\(\[\`\+\-\/]/.test(e);switch(e.type){case"ParenthesizedExpression":case"ArrayExpression":case"ArrowFunction":case"TemplateLiteral":case"RegularExpressionLiteral":case"RangeExpression":case"ComputedPropertyName":return!0;case"AssignmentExpression":return startsWith(e,/^(\[|\()/);case"Literal":return e.raw?.startsWith("-")||e.raw?.startsWith("+");case"PipelineExpression":case"UnwrappedExpression":return needsPrecedingSemicolon(e.children[1]);default:return e.children?needsPrecedingSemicolon(e.children):void 0}}function blockContainingStatement(e){let t,r=e,i=e.parent;for(;null!=i&&(t=i.type,"StatementExpression"===t||"PipelineExpression"===t||"UnwrappedExpression"===t);)r=i,i=i.parent;if("BlockStatement"!==i?.type)return;let n=findChildIndex(i.expressions,r);return assert.notEqual(n,-1,"Could not find statement in parent block"),i.expressions[n][1]===r?{block:i,index:n,child:r}:void 0}function escapeIdentifier(e){let t="",r="";for(let i of e.matchAll(/\\u\{([\dA-Fa-f]+)\}|\\u([\dA-Fa-f]{4})|./gsu)){let e,[n,l,o]=i;e=null!=l||null!=o?parseInt(l??o,16):n.codePointAt(0);let a=e,p=String.fromCodePoint(a);if(a>127&&!/\p{ID_Continue}/u.test(p)){let e=`u$${a.toString(16).toUpperCase()}$`;t+=e,r+=e}else t+=p,r+=n}return{name:t,token:r}}function propertyKey(e){return e?.unicode?{$loc:e.children?.[0]?.$loc,token:`"${e.unicode}"`}:e}function buildExportSplitClause(e){if(!Array.isArray(e?.names))return;let t=new Map;for(let r of gatherRecursive(e,e=>"Identifier"===e.type&&!!e.unicode))t.set(r.name,r.unicode);return t.size?`; export { ${e.names.map(e=>{let r=t.get(e);return r?`${e} as "${r}"`:e}).join(", ")} }`:void 0}var precedenceOrder=[["||","??"],["^^"],["&&"],["|"],["^"],["&"],["chain"],["==","!=","===","!==","<","<=",">",">=","in","instanceof"],["custom"],["<<",">>",">>>"],["+","-"],["*","/","%"],["**"]],precedenceMap=new Map;for(let e=0,t=precedenceOrder.length;e<t;e++){let t=e,r=precedenceOrder[e];for(let e=0,i=r.length;e<i;e++){let i=r[e];precedenceMap.set(i,t)}}var precedenceStep=1/64,precedenceAnd=precedenceMap.get("&&"),precedenceRelational=precedenceMap.get("=="),precedenceCustomDefault=precedenceMap.get("custom");function getPrecedence(e){return"PatternTest"===e.type?precedenceRelational:"number"==typeof e.prec?e.prec:precedenceMap.get(e.prec??e.token)??(e.relational?precedenceRelational:precedenceCustomDefault)}function isShortCircuitOp(e){if(e&&"object"==typeof e&&"token"in e){let{token:t}=e;return isShortCircuitOp(t)}return e.endsWith("=")&&!e.endsWith("==")&&(e=e.slice(0,-1)),"||"===e||"&&"===e||"??"===e}function processBinaryOpExpression(e){return processExpandedBinaryOpExpression(expandChainedComparisons(e))}function processExpandedBinaryOpExpression(e){let t=2;for(;t<e.length;){let r=e[t];if(r.special){let i=function(t){for(;o>=4;){let r=getPrecedence(e[o-2]);if(!(r>p||t&&r===p))return r===p;o-=4}return!1},n=function(t){for(;a+4<e.length;){let r=getPrecedence(e[a+2]);if(!(r>p||t&&r===p))return r===p;a+=4}return!1};let l,o=t-2,a=t+2,p=getPrecedence(r);switch(r.assoc){case"left":case void 0:i(!0),n(!1);break;case"right":i(!1),n(!0);break;case"non":(i(!1)||n(!1))&&(l={type:"Error",message:`non-associative operator ${r.token} used at same precedence level without parenthesization`});break;case"arguments":i(!1)&&(l={type:"Error",message:`arguments operator ${r.token} used at same precedence level as ${e[o-2].token} to the left`}),n(!0)}let s,u,c=o===t-2?e[o]:e.slice(o,t-1),m=e[t-1],d=e[t+1],f=a===t+2?e[t+2]:e.slice(t+2,a+1);if("arguments"===r.assoc){let e=2;for(;e<f.length;)p===getPrecedence(f[e])&&(f[e].token!==r.token&&(l??={type:"Error",message:`arguments operator ${r.token} used at same precedence level as ${f[e].token} to the right`}),f[e]=","),e+=4}else f=processExpandedBinaryOpExpression(f);"instanceof"===r.token&&(0===m.length&&(m=" "),0===d.length&&(d=" "),"object"==typeof f&&null!=f&&"type"in f&&"Literal"===f.type&&"children"in f&&Array.isArray(f.children)&&f.children.length>=1&&"object"==typeof f.children[0]&&null!=f.children[0]&&"type"in f.children[0]&&"StringLiteral"===f.children[0].type&&(c=["typeof ",makeLeftHandSideExpression(c)],r=r.negated?{...r,token:"!==",negated:!1}:{...r,token:"==="})),r.asConst&&(c=makeAsConst(c),f=makeAsConst(f)),"PatternTest"===r.type?s=[processPatternTest(c,f)]:"ChainOp"===r.type?(s=[c,m,"&&",d,f],(o-2>=0&&getPrecedence(e[o-2])>=precedenceAnd&&"&&"!==e[o-2].token||a+2<e.length&&getPrecedence(e[a+2])>=precedenceAnd&&"&&"!==e[a+2].token)&&(s=["(",...s,")"])):r.call?(m=trimFirstSpace(m),r.reversed?(d=trimFirstSpace(d),s=[m,r.call,"(",d,f,", ",c,")",r.suffix]):s=[m,r.call,"(",c,",",d,f,")",r.suffix],u="CallExpression"):r.method?(m=trimFirstSpace(m),d=trimFirstSpace(d),r.reversed?("CallExpression"!==f.type&&(f=makeLeftHandSideExpression(f)),f=dotNumericLiteral(f),s=[d,f,m,".",r.method,"(",c,")"]):("CallExpression"!==c.type&&(c=makeLeftHandSideExpression(c)),c=dotNumericLiteral(c),s=[c,m,".",r.method,"(",d,f,")"]),u="CallExpression"):(s=[c,m,r,d,f],r.negated&&(s=["(",...s,")"])),r.negated&&s.unshift("!"),null!=l&&s.push(l),e.splice(o,a-o+1,{type:u,children:s}),t=o+2}else t+=4}return e}function dotNumericLiteral(e){return"Literal"===e?.type&&/^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(e.raw)&&(e.children.push("."),e.raw+="."),e}var asConst={ts:!0,children:[" as const"]};function makeAsConst(e){return"Literal"===e.type&&"null"!==e.raw||"ArrayExpression"===e.type||"ObjectExpression"===e.type?{...e,children:[...e.children,asConst]}:e}function isExistence(e){if("ParenthesizedExpression"===e?.type&&e.implicit&&(e=e.expression),"Existence"===e?.type)return e}function isRelationalOp(e){return e.relational||getPrecedence(e)===precedenceRelational}var chainOp={type:"ChainOp",special:!0,prec:precedenceMap.get("chain"),assoc:"right"};function expandChainedComparisons([e,t]){assert(t.length>0,"binops must have at least one element");let r=[],i=0,n=[];var l=0;for(let i=0,p=t.length;i<p;i++){l=i;var[,o]=t[i];isRelationalOp(o)?n.push(l):getPrecedence(o)<precedenceRelational&&(a(),e=r.pop())}return a(),r;function a(){if(n.length>0){e=p(e);for(let o=0,a=n.length;o<a;o++){let a=o,s=n[o];a>0&&r.push(" ",chainOp," ");let u=t[s],c=u[3]=p(u[3]);if(r.push(e),a+1<n.length){let l,o=n[a+1];l=s+1<o?processExpandedBinaryOpExpression([c].concat(t.slice(s+1,o).flat())):c;let p=l,{ref:u,refAssignment:m}=maybeRefAssignment(p);t[s][3]=makeLeftHandSideExpression(m??p),r.push(...t.slice(i,s+1).flat()),e=u,i=o}else r.push(...t.slice(i,l+1).flat())}}else r.push(e),r.push(...t.slice(i,l+1).flat());i=l+1,n.length=0}function p(e){let t;if(t=isExistence(e)){let e=t,{ref:i,refAssignment:n}=maybeRefAssignment(e.expression);return null!=n&&replaceNode(e.expression,makeLeftHandSideExpression(n),e),r.push(e," ",chainOp," "),i}return e}}function processPatternTest(e,t){let{ref:r,refAssignmentComma:i}=maybeRefAssignment(e,"m");return makeLeftHandSideExpression(makeNode({type:"PatternTest",children:[...i,flatJoin(t.map(e=>getPatternConditions(e,r)).map(e=>flatJoin(e," && "))," || ")]}))}function processPatternMatching(e){gatherRecursiveAll(e,e=>"SwitchStatement"===e.type).forEach(e=>{let{caseBlock:t}=e,{clauses:r}=t;for(let e=0,t=r.length;e<t;e++){let t=r[e];"WhenClause"===t.type&&t.break&&isExit(t.block)&&(t.children.splice(t.children.indexOf(t.break),1),t.break=void 0)}let i=!1,n=!1;if(r.some(e=>"PatternClause"===e.type)){n=!0;for(let e=0,t=r.length;e<t;e++){let t=r[e];"PatternClause"===t.type||"DefaultClause"===t.type||(i=!0,t.children.push({type:"Error",message:"Can't mix pattern matching and non-pattern matching clauses"}))}}if(i||!n)return;let{condition:l}=e;"ParenthesizedExpression"===l.type&&(l=l.expression);let o,{ref:a,refAssignmentComma:p}=maybeRefAssignment(l,"m"),s=[],u=s,c=r.length;for(let e=0,t=r.length;e<t;e++){let t=e,i=r[e];if("DefaultClause"===i.type){null!=o?replaceNode(o.block,i.block,o):u.push(i.block);break}let{patterns:n,block:l}=i,s=n[0],m=flatJoin(n.map(e=>getPatternConditions(e,a)).map(e=>flatJoin(e," && "))," || "),d=makeNode({type:"ParenthesizedExpression",children:["(",...p,m,")"],expression:m});if(braceBlock(l),l=blockWithPrefix(getPatternBlockPrefix(s,a),l),t<c-1){let e=[],t=makeNode({type:"BlockStatement",expressions:e,children:[e],bare:!0});o=makeNode({type:"ElseClause",block:t,children:["\n","else ",t]})}else o=void 0;u.push(["",makeNode({type:"IfStatement",children:["if",d,l,o],then:l,else:o})]),p=[],null!=o&&(u=o.block.expressions)}return e.type="PatternMatchingStatement",e.children=s,updateParentPointers(e)}),gatherRecursiveAll(e,e=>"ContinueStatement"===e.type&&"switch"===e.special).forEach(e=>{let t;if(t=e.parent,!("object"==typeof t&&null!=t&&"type"in t&&"BlockStatement"===t.type&&"parent"in t&&"object"==typeof t.parent&&null!=t.parent&&"type"in t.parent&&"WhenClause"===t.parent.type&&"expressions"in t&&Array.isArray(t.expressions)&&t.expressions.length>=1&&Array.isArray(t.expressions[t.expressions.length-1])&&t.expressions[t.expressions.length-1].length>=2&&t.expressions[t.expressions.length-1][1]===e))return e.children.push({type:"Error",message:"'continue switch' can only be used at end of 'when' clause"})})}function getPatternConditions(e,t,r=[]){switch(e.type){case"ArrayBindingPattern":{let{elements:i,length:n}=e,l=i.some(e=>e.rest),o=(n-+l).toString(),a=l?[t,".length >= ",o]:[getHelperRef("len"),"(",t,", ",o,")"];r.push(["Array.isArray(",t,")"],a),i.forEach(({children:[,e]},i)=>getPatternConditions(e,[t,"[",i.toString(),"]"],r));let{blockPrefix:p}=e;if(p){let e=p.children[1],{length:i}=e;e.forEach(({children:[,e]},n)=>getPatternConditions(e,[t,"[",t,".length - ",(i+n).toString(),"]"],r))}break}case"ObjectBindingPattern":r.push(["typeof ",t," === 'object'"],[t," != null"]);for(let i=e.properties,n=0,l=i.length;n<l;n++){let e=i[n];switch(e.type){case"PinProperty":case"BindingProperty":{let i,{name:n,value:l}=e;switch(n.type){case"ComputedPropertyName":r.push([n.expression," in ",t]),i=[t,n];break;case"StringLiteral":case"NumericLiteral":r.push([n," in ",t]),i=[t,"[",n,"]"];break;case"Identifier":{let e=n.unicode??n.name;r.push(["'",e,"' in ",t]),i=n.unicode?[t,"[",`"${n.unicode}"`,"]"]:[t,".",n.name];break}}l&&getPatternConditions(l,i,r);break}}}break;case"ConditionFragment":{let{rhs:i}=e;if(i.length){let[e,...t]=i,[r,...n]=e;r=[" "].concat(r),e=[r,...n],i=[e,...t]}r.push(processBinaryOpExpression([t,i]));break}case"RegularExpressionLiteral":r.push(["typeof ",t," === 'string'"],[e,".test(",t,")"]);break;case"PinPattern":r.push([t," === ",e.expression]);break;case"NamedBindingPattern":getPatternConditions(e.pattern,t,r);break;case"Literal":r.push([t," === ",e])}return r}function getPatternBlockPrefix(e,t,r="const ",i){switch(e.type){case"ArrayBindingPattern":if(!e.length)return;break;case"ObjectBindingPattern":if(!e.properties.length)return;break;case"Literal":case"RegularExpressionLiteral":case"PinPattern":return;case"ConditionFragment":if(!e.binding)return}let[n,l]=gatherBindingCode(e),o=nonMatcherBindings(e);"typeSuffix"in o&&(i=o.typeSuffix);let a=gatherSubbindings(o);simplifyBindingProperties(o),simplifyBindingProperties(a),n=n.flatMap(e=>[", ",nonMatcherBindings(e)]),l=l.map(e=>["",e,";"]);let p=aggregateDuplicateBindings([o,n,a]),s=[];if(t||a.length||n.length){let e=[r];t&&e.push(o,i," = ",t),e.push(...a),e.push(...n),t||e.splice(1,1),s.push(["",{type:"Declaration",children:e,decl:r,names:[],bindings:[]},";"])}if(s.push(...l),s.push(...p.map(e=>["",e,";"])),s.length)return s}function elideMatchersFromArrayBindings(e){let t=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];switch(i.type){case"BindingRestElement":case"ElisionElement":t.push(i);break;case"BindingElement":switch(i.binding.type){case"Literal":case"RegularExpressionLiteral":case"StringLiteral":case"PinPattern":t.push(i.delim);break;default:{let e=nonMatcherBindings(i.binding);t.push(makeNode({...i,binding:e,children:i.children.map(t=>t===i.binding?e:t)}))}}}}return t}function elideMatchersFromPropertyBindings(e){let t=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];switch(i.type){case"BindingProperty":case"PinProperty":{let{children:e,name:r,value:n}=i,[l]=e;if("NumericLiteral"===r.type&&!n?.name||"ComputedPropertyName"===r.type&&"NumericLiteral"===n?.subtype)continue;{let e,o;switch(n?.type){case"ArrayBindingPattern":case"ObjectBindingPattern":{let t=nonMatcherBindings(n);e={...i,value:t,children:[l,propertyKey(r),t&&": ",t,i.delim]};break}case"Identifier":case void 0:e=i;break;case"NamedBindingPattern":{let t=nonMatcherBindings(n.pattern);e={...i,subbinding:(o=t?.type,"ArrayBindingPattern"===o||"ObjectBindingPattern"===o||"Identifier"===o?[t," = ",r]:void 0)},i.name===n.binding&&(e.children=[l,propertyKey(r),i.delim]);break}default:e=void 0}if(!e)continue;t.push(e)}break}default:t.push(i)}}return t}function nonMatcherBindings(e){let t;switch(e.type){case"ArrayBindingPattern":case"PostRestBindingElements":{let t=elideMatchersFromArrayBindings(e.elements),r=makeNode({...e,elements:t,children:e.children.map(r=>r===e.elements?t:r)}),i={...r,typeSuffix:void 0,elements:t.filter(e=>null!=e?.type)};return r.typeSuffix=gatherBindingPatternTypeSuffix(i).typeSuffix,r}case"ObjectBindingPattern":{let t=elideMatchersFromPropertyBindings(e.properties);return gatherBindingPatternTypeSuffix(makeNode({...e,typeSuffix:void 0,properties:t,children:e.children.map(r=>r===e.properties?t:r)}))}case"NamedBindingPattern":{let r=nonMatcherBindings(e.pattern);return makeNode({...e,typeSuffix:r?.typeSuffix,subbinding:(t=r?.type,"ArrayBindingPattern"===t||"ObjectBindingPattern"===t||"Identifier"===t?[r," = ",e.binding]:void 0)})}case"ConditionFragment":return e.binding;default:return e}}function aggregateDuplicateBindings(e){let t=gatherRecursiveAll(e,e=>"BindingProperty"===e.type||"Identifier"===e.type&&"BindingElement"===e.parent?.type||"BindingRestElement"===e.type),r=[],i=new Map;for(let e=0,r=t.length;e<r;e++){let r,n=t[e],{name:l,value:o}=n;if(r=o?.type,"ArrayBindingPattern"===r||"ObjectBindingPattern"===r)continue;let a=o?.name||l?.name||l;"NumericLiteral"===a?.type||"ComputedPropertyName"===a?.type||(i.has(a)?i.get(a).push(n):i.set(a,[n]))}return i.forEach((e,t)=>{if(!t)return;if(ReservedWord({fail(){}},{pos:0,input:t})){for(let r=0,i=e.length;r<i;r++){aliasBinding(e[r],makeRef(`_${t}`,t))}return}if(1===e.length)return;let i=e.map(e=>{let r=makeRef(t);return aliasBinding(e,r),r});return r.push({type:"Declaration",children:["const ",t," = [",...i.map((e,t)=>0===t?e:[", ",e]),"]"],names:[],bindings:[]})}),r}function aliasBinding(e,t){if("Identifier"===e.type)e.children[0]=t;else if("BindingRestElement"===e.type)aliasBinding(e.binding,t);else if("Identifier"===e.value?.type)aliasBinding(e.value,t);else{e.value=t;let r=e.children.indexOf(e.name);e.children.splice(r+1,0,": ",t)}}function len2(e,t){return e.length===t}function processAssignmentDeclaration(e,t,r,i,n,l){e={...e,$loc:{pos:n.$loc.pos-1,length:n.$loc.length+1}};let[o,a]=gatherBindingCode(t);o=o.map(e=>[", ",e]);let p=a.map(e=>["",e,";"]);"typeSuffix"in t&&(r??=t.typeSuffix);let s=makeNode({type:"Initializer",expression:l,children:[i,n,l]}),u=makeNode({type:"Binding",pattern:t,initializer:s,splices:o,typeSuffix:r,thisAssignments:p,children:[t,r,s]}),c=[e,u];return makeNode({type:"Declaration",names:t.names,decl:e,bindings:[u],splices:o,thisAssignments:p,children:c})}function processDeclarations(e){for(let t=gatherRecursiveAll(e,e=>"Declaration"===e.type),r=0,i=t.length;r<i;r++){let e=t[r],{bindings:i}=e;if(null!=i){for(let t=i.length+-1;t>=0;--t){let r=i[t],n=gatherSubbindings(r);n.length&&(simplifyBindingProperties(r),simplifyBindingProperties(n),spliceChild(e,r,1,r,n))}for(let t=0,r=i.length;t<r;t++){let r=i[t],{typeSuffix:n,initializer:l}=r;if(n&&n.optional){if(l&&!n.t){let e=trimFirstSpace(l.expression);if(n.t=typeOfExpression(e),null==n.t){spliceChild(r,n,1,{type:"Error",message:"object"==typeof e&&null!=e&&"type"in e&&"Literal"===e.type&&"subtype"in e&&"NullLiteral"===e.subtype?"Optional type can't be inferred from null":"object"==typeof e&&null!=e&&"type"in e&&"Identifier"===e.type&&"name"in e&&"undefined"===e.name?"Optional type can't be inferred from undefined":`Optional type can only be inferred from literals or member expressions, not ${e.type}`});continue}n.children.push(": ",n.t)}n.t?convertOptionalType(n):(spliceChild(r,n,1),r.children.push(l=r.initializer={type:"Initializer",expression:"undefined",children:[" = ","undefined"]}))}l&&blockContainingStatement(e)&&prependStatementExpressionBlock(l,e)}}}for(let t=gatherRecursiveAll(e,e=>"ForStatement"===e.type),r=0,i=t.length;r<i;r++){let e=t[r],{declaration:i}=e;if("ForDeclaration"!==i?.type)continue;let{binding:n}=i,l=getPatternBlockPrefix(n.pattern,void 0,append(i.decl," "),n.typeSuffix);simplifyBindingProperties(n),null!=l&&(e.block.expressions.unshift(...l),braceBlock(e.block))}}function prependStatementExpressionBlock(e,t){let r,{expression:i}=e;if(Array.isArray(i)&&2===i.length&&isWhitespaceOrEmpty(i[0])&&(r=i[0],i=i[1]),"object"!=typeof i||null==i||!("type"in i)||"StatementExpression"!==i.type)return;let n,l=i.statement,o=[r||"",l,";"],a=[o];if("IterationExpression"===l.type){if(l.async||l.generator)return;let t=l.statement;if(o[1]=t,"ComptimeStatement"===t.type)return;if("DoStatement"===t.type){n=e.expression=e.children[2]=makeRef(),assignResults(o,e=>makeNode({type:"AssignmentExpression",children:[n," = ",e]}));let t={type:"Declaration",children:["let ",n]};a.unshift(["",t,";"])}else wrapIterationReturningResults(t,()=>{}),n=e.expression=e.children[2]=t.resultsRef}else{n=e.expression=e.children[2]=makeRef(),assignResults(o,e=>makeNode({type:"AssignmentExpression",children:[n," = ",e]}));let t={type:"Declaration",children:["let ",n]};a.unshift(["",t,";"])}let p=blockContainingStatement(t);assert(p,"Missing block node for declaration statement");let{block:s,index:u}=p;return assert(s,"Missing block for declaration statement"),assert(u>=0,"Missing index for declaration statement"),insertBlockStatements(s,u,...a),n}function processDeclarationCondition(e,t,r){if("DeclarationCondition"!==e.type)return;let{decl:i,bindings:n}=e.declaration,l=n[0],{pattern:o,typeSuffix:a,initializer:p}=l,s=a?.optional&&!a.t&&!a.nonnull;if(null==p)return void(e.children=[{type:"Error",message:"Missing initializer in declaration condition"}]);let u=prependStatementExpressionBlock(p,r);if(u)Object.assign(e,{type:"AssignmentExpression",children:[u],pattern:o,ref:u,statementDeclaration:!0});else{let{expression:t}=p;u=maybeRef(t);let r,i=u===t;if(i)u=trimFirstSpace(u),r=[u];else{r=[u,p];let t=e.parent?.parent;"Identifier"===o.type&&("IfStatement"===t?.type||"IterationStatement"===t?.type)&&!s&&(r.unshift("("),r.push(")"))}s&&(r.unshift("("),r.push(") != null"),a=void 0),Object.assign(e,{type:"AssignmentExpression",children:r,hoistDec:i?void 0:{type:"Declaration",children:["let ",u,a],names:[]},pattern:o,ref:u})}updateParentPointers(e,r),t.blockPrefix=getPatternBlockPrefix(o,u,i,a)}function processDeclarationConditions(e){gatherRecursiveAll(e,e=>"IfStatement"===e.type||"IterationStatement"===e.type||"SwitchStatement"===e.type).forEach(e=>processDeclarationConditionStatement(e))}function processDeclarationConditionStatement(e){let{condition:t}=e;if(!t?.expression)return;let{expression:r}=t;if(r&&"object"==typeof r&&"type"in r&&"UnaryExpression"===r.type&&"children"in r&&Array.isArray(r.children)&&len2(r.children,2)&&Array.isArray(r.children[0])&&len2(r.children[0],1)&&"!"===r.children[0][0]&&"object"==typeof r.children[1]&&null!=r.children[1]&&"type"in r.children[1]&&"ParenthesizedExpression"===r.children[1].type&&"expression"in r.children[1]){let{children:[[],{expression:e}]}=r;r=e}processDeclarationCondition(r,t.expression,e);let{ref:i,pattern:n}=r;if(n){let r=getPatternConditions(n,i).filter(e=>{if(Array.isArray(e)&&len2(e,2)&&e[0]===i&&" != null"===e[1]){let[,]=e;return!1}return!0});if(r.length){let i=t.children;if(e.negated){let e;assert((e=t.expression,"object"==typeof e&&null!=e&&"type"in e&&"UnaryExpression"===e.type&&"children"in e&&Array.isArray(e.children)&&len2(e.children,2)&&Array.isArray(e.children[0])&&len2(e.children[0],1)&&"!"===e.children[0][0]&&"object"==typeof e.children[1]&&null!=e.children[1]&&"type"in e.children[1]&&"ParenthesizedExpression"===e.children[1].type),"Unsupported negated condition"),({children:i}=t.expression.children[1])}i.unshift("(");for(let e=0,t=r.length;e<t;e++){let t=r[e];i.push(" && ",t)}i.push(")")}}let{blockPrefix:l}=t.expression;if(e.negated&&l&&("IfStatement"===e.type&&isExit(e.then)||"IterationStatement"===e.type)){let{ancestor:t,child:r}=findAncestor(e,e=>"BlockStatement"===e.type);assert(t,"Couldn't find block for postfix declaration");let i,n=findChildIndex(t.expressions,r);switch(assert(n>=0,"Couldn't find where in block to put postfix declaration"),t.expressions.splice(n+1,0,...l),updateParentPointers(t),braceBlock(t),e.type){case"IfStatement":{if(i=e.else?.block){let r=i;r.bare&&!r.semicolon&&r.children.push(r.semicolon=";"),t.expressions.splice(n+1+l.length,0,["",r]),e.children=e.children.filter(t=>t!==e.else),e.else=void 0}let r=e.then;r.bare&&!r.semicolon&&r.children.push(r.semicolon=";");break}}return}switch(e.type){case"IfStatement":{let{else:t}=e;if(e.negated){if(null!=t){let e=blockWithPrefix(l,t.block);t.children=t.children.map(r=>r===t.block?e:r),t.block=e,updateParentPointers(t)}}else{let t=blockWithPrefix(l,e.then);e.children=e.children.map(r=>r===e.then?t:r),e.then=t,updateParentPointers(e)}break}case"IterationStatement":{if(!l)return;let{children:t,block:r}=e,i=blockWithPrefix(l,r);e.children=t.map(e=>e===r?i:e),updateParentPointers(e);break}case"SwitchStatement":{let{ref:r,statementDeclaration:i}=t.expression;if(!l)return;if(replaceNode(e.condition,parenthesizeExpression(r),e),!i&&t.expression.hoistDec){let e=["",[{type:"Declaration",children:["let ",...t.expression.children]}],";"];l.unshift(e)}let n=blockWithPrefix(l,makeEmptyBlock());updateParentPointers(n,e.parent),"StatementExpression"===e.parent?.type?replaceNode(e,n,e.parent):replaceBlockExpression(e.parent,e,n),n.expressions.push(["",e]),e.parent=n;break}}}function dynamizeFromClause(e){let t;if(e=trimFirstSpace(e=e.slice(1)),t=e[e.length-1]?.assertion){let r,i=t;r=e[e.length-1],r.children=r.children.filter(e=>e!==i),e.push(", {",i.keyword,":",i.object,"}")}return["(",...e,")"]}function dynamizeImportDeclaration(e){let t,{imports:r}=e,{star:i,binding:n,specifiers:l}=r,o=n&&!l&&!i;t=n?l?makeRef():n:convertNamedImportsToObject(r,!0);let a=t,p="const",s=[o?"(":void 0,{type:"Await",children:["await"]}," ",e.children[0],dynamizeFromClause(e.from),o?").default":void 0],u={type:"Initializer",expression:s,children:[" ","= ",s]},c=[{type:"Binding",names:a.names,pattern:a,initializer:u,children:[a,u]}];if(n&&l){let e=n,t={type:"Initializer",expression:s,children:[" ","= ",[a,".default"]]};c.push({type:"Binding",names:n.names,pattern:e,initializer:t,children:[e,t]});let i=convertNamedImportsToObject(r.children.at(-1),!0),o={type:"Initializer",expression:a,children:[" ","= ",a]};c.push({type:"Binding",names:l.names,pattern:i,initializer:o,children:[i,o]})}return{type:"Declaration",names:r.names,bindings:c,decl:p,children:[p," ",c.flatMap((e,t)=>t>0?[", ",e]:[e])]}}function dynamizeImportDeclarationExpression(e){let[t,r,i,n,l]=e,o={type:"AwaitExpression",children:[{type:"Await",children:["await"]}," ",t,trimFirstSpace(n),dynamizeFromClause(l)]},a={type:"AccessStart",children:["."],optional:!1};switch(i?.type){case"Identifier":return processCallMemberExpression({type:"CallExpression",children:[parenthesizeExpression(o),{type:"PropertyAccess",dot:a,name:"default",children:[r,a,"default"]}]});case"Star":return parenthesizeExpression(o);case"Declaration":{let e=convertNamedImportsToObject(i);return processCallMemberExpression({type:"CallExpression",children:[parenthesizeExpression(o),{type:"PropertyGlob",dot:a,object:e,children:[r,a,e],reversed:!0}]})}default:throw new Error("Unsupported dynamic import")}}function convertWithClause(e,t){let r,i,n;t?[r,n,i]=t:(r={type:"Extends",children:[" extends"]},n="",i="Object");let l=e.targets.reduce((e,[t,r])=>{let i=[e],l={type:"CallExpression",children:[makeLeftHandSideExpression(r),{type:"Call",args:i,children:["(",trimFirstSpace(n),i,")"]}]};return n=t,l},i);return[r,insertTrimmingSpace(n," "),l]}function processUnaryExpression(e,t,r){if(!e.length&&!r)return t;if("?"===r?.token){if(r={$loc:r.$loc,token:" != null"},e.length){let t=e[e.length-1];("!"===t.token||2===t.length&&"!"===t[0].token)&&(r.token=" == null",e=e.slice(0,-1))}return t=makeLeftHandSideExpression({type:"Existence",expression:t,children:[t,r],parent:void 0}),e.length?{type:"UnaryExpression",children:[e,t],pre:e,expression:t}:t}if("Literal"===t?.type&&e.length){let i,[...n]=e,[l]=n.splice(-1);if(i=l?.token,!("+"!==i&&"-"!==i||(t={...t,children:[l,...t.children],raw:`${l.token}${t.raw}`},e=e.slice(0,-1),e.length||r)))return t}let i;for(;i=e.length;){let r=e[i-1];if("Await"!==r.type)break;if(r.op)"ParenthesizedExpression"!==t.type&&(t=["(",t,")"]),t={type:"CallExpression",children:[...r.children,"Promise",r.op,t]},e=e.slice(0,-1);else{let i;i=firstNonSpace(t),("string"==typeof i&&/^[ \t]*\n/.test(i)||"object"==typeof i&&null!=i&&"token"in i&&"string"==typeof i.token&&/^[ \t]*\n/.test(i.token))&&(t=parenthesizeExpression(t)),t={type:"AwaitExpression",children:[...r.children,t]},e=e.slice(0,-1)}}return{type:"UnaryExpression",children:[e,t,r],pre:e,expression:t,post:r}}function processUnaryNestedExpression(e,t,r){let i="ArrayExpression"===t.type;if(i||(t=stripTrailingImplicitComma(t)),i||t.length>2){let r=e[e.length-1];if("object"!=typeof r||null==r||!("type"in r)||"Await"!==r.type)return;r.op?i||(t={type:"ArrayExpression",children:["[",t,"]"]}):(e.pop(),i?(t=trimFirstSpace(t),t={...t,children:t.children.map(e=>{if("object"==typeof e&&null!=e&&"type"in e&&"ArrayElement"===e.type&&"expression"in e&&"children"in e){let{expression:t,children:i}=e,n=processUnaryExpression([r],trimFirstSpace(t));return n=prepend(getTrimmingSpace(t),n),{...e,expression:n,children:i.map(e=>e===t?n:e)}}return e})}):t={type:"ArrayExpression",children:["[",...(()=>{let e=[];for(let i=0,n=t.length;i<n;i++){let n=t[i];if("object"==typeof n&&null!=n&&"type"in n&&"Argument"===n.type){let t=processUnaryExpression([r],n.expression);e.push({...n,expression:t,children:n.children.map(e=>e===n.expression?t:e)})}else e.push(n)}return e})(),"]"]})}return processUnaryExpression(e,t,r)}function constructInvocation(e,t){let r=e.expr;for(;"ParenthesizedExpression"===r.type;)r=r.expression;if(r.ampersandBlock){let{ref:i,body:n}=r;return i.type="PipedExpression",i.children=[makeLeftHandSideExpression(t)],updateParentPointers(i),makeNode({type:"UnwrappedExpression",expression:n,children:[skipIfOnlyWS(e.leadingComment),n,skipIfOnlyWS(e.trailingComment)]})}r=e.expr;let i=r;"NewExpression"!==i.type&&(i=makeLeftHandSideExpression(i));let n=skipIfOnlyWS(e.trailingComment);n&&i.children.push(n),n=skipIfOnlyWS(e.leadingComment),n&&i.children.splice(1,0,n);let l=[t],o={type:"Call",args:l,children:["(",l,")"]};if("NewExpression"===i.type){let{expression:e}=i;return e={type:"CallExpression",children:[e,o]},{...i,expression:e,children:i.children.map(t=>t===i.expression?e:t)}}return{type:"CallExpression",children:[i,o]}}function constructPipeStep(e,t,r){r||(r=null);let i=[[e.leadingComment,e.expr,e.trailingComment].map(skipIfOnlyWS)," ",t];switch(e.expr.token){case"await":i=processUnaryExpression([e.expr],t,void 0);case"yield":return[i,r];case"throw":{let e={type:"ThrowStatement",children:i};return[{type:"StatementExpression",statement:e,children:[e]},null]}case"return":return[{type:"ReturnStatement",children:i},null]}return[constructInvocation(e,t),r]}function processPipelineExpressions(e){for(let t=gatherRecursiveAll(e,e=>"PipelineExpression"===e.type),r=0,i=t.length;r<i;r++){let e=t[r],[i,,n]=e.children,[,l]=e.children,o=[i],a=blockContainingStatement(e)?";":",",p=null;for(let t=0,r=n.length;t<r;t++){let r,i,s=t,u=n[t],[c,m,d,f]=u,$="||>"===m.token,b=$?l:null;if("|>="===m.token){let t;if(0===s){switch(checkValidLHS(l),l.type){case"MemberExpression":if(l.children.length<=2)break;case"CallExpression":{let e=l.children.pop();p=makeRef(),t={type:"AssignmentExpression",children:[p," = ",l,a]},l={type:"MemberExpression",children:[p,e]};break}}let r=[[[t],l,[],{token:"=",children:[" = "]}]];Object.assign(e,{type:"AssignmentExpression",children:[r,o],names:null,lhs:r,assigned:l,expression:o}),l=clone(l),removeHoistDecs(l),"Ref"===l.children[0].type&&(l.children[0]=p)}else o.unshift({type:"Error",$loc:m.token.$loc,message:"Can't use |>= in the middle of a pipeline"})}else 0===s&&(e.children=o);if($&&(r=needsRef(l))&&(p=p||r,l={type:"ParenthesizedExpression",children:["(",{type:"AssignmentExpression",children:[p," = ",l]},")"]},b=p),[i,b]=constructPipeStep({leadingComment:skipIfOnlyWS(c),trailingComment:skipIfOnlyWS(d),expr:f},l,b),"ReturnStatement"===i.type){s<n.length-1&&i.children.push({type:"Error",message:"Can't continue a pipeline after returning"}),l=i,","===o[o.length-1]&&(o.pop(),o.push(";"));break}b?(l=b,o.push(i,a)):l=i}if(p&&(e.hoistDec={type:"Declaration",children:["let ",p],names:[]}),o.push(l),!o.some(e=>"ReturnStatement"===e?.type)&&o.some(e=>","===e)){let{parent:t}=e,r=makeLeftHandSideExpression({...e});Object.assign(e,r,{parent:t,hoistDec:void 0})}addParentPointers(e,e.parent)}}function processRangeExpression(e,t,r,i){t=[t,r.children[0]];let n,l=r.children[1],o={$loc:r.$loc,token:","};switch(r.increasing){case!0:n=e=>e;break;case!1:n=e=>-e;break;default:n=Math.abs}let a,p=n,s=1-+!r.left.inclusive-+!r.right.inclusive;if("object"==typeof e&&null!=e&&"type"in e&&"Literal"===e.type&&"object"==typeof i&&null!=i&&"type"in i&&"Literal"===i.type){let t=literalValue(e),n=literalValue(i);if("string"==typeof t&&"string"==typeof n){if(1!==t.length||1!==n.length)throw new Error("String range start and end must be a single character");let e=t.charCodeAt(0),i=n.charCodeAt(0),l=e<=i?1:-1,o=p(i-e)+s;r.left.inclusive||(e+=l),a=o<=26?["[",Array.from({length:o},(t,r)=>JSON.stringify(String.fromCharCode(e+r*l))).join(", "),"]"]:[getHelperRef(e<=i?"stringRange":"revStringRange"),"(",e.toString(),", ",o.toString(),")"],null!=r.error&&a.unshift(r.error)}else if("number"==typeof t&&"number"==typeof n){let e=t<=n?1:-1,i=p(n-t)+s;r.left.inclusive||(t+=e),i<=20&&(a=["[",Array.from({length:i},(r,i)=>t+i*e).join(", "),"]"],null!=r.error&&a.unshift(r.error))}}if(null==a)if(null!=r.increasing){let n=r.increasing?"+":"-";i=makeLeftHandSideExpression(i),a=[getHelperRef(r.increasing?"range":"revRange"),"(",r.left.inclusive?e:[makeLeftHandSideExpression(e),` ${n} 1`],",",r.right.inclusive?[makeLeftHandSideExpression(i),` ${n} 1`]:i,...t,")"]}else a=["((s, e) => s > e ? ",getHelperRef("revRange"),"(s, e",r.right.inclusive?" - 1":void 0,") : ",getHelperRef("range"),"(s, e",r.right.inclusive?" + 1":void 0,"))","(",e,...t,o,l,i,")"];return{type:"RangeExpression",children:a,start:e,end:i,error:r.error,left:r.left,right:r.right,increasing:r.increasing}}function forRange(e,t,r,i,n){let l,o,a,{start:p,end:s,left:u,right:c,increasing:m}=r,d=makeRef("i"),f="object"==typeof s&&null!=s&&"type"in s&&"Identifier"===s.type&&"name"in s&&"Infinity"===s.name;i?l=maybeRef(i=trimFirstSpace(i),"step"):f?i=l=makeNumericLiteral(1):null!=m&&(m?(i=l=makeNumericLiteral(1),o=!0):(i=l=makeNumericLiteral(-1),o=!1)),a="Literal"===i?.type?literalValue(i):void 0;let $,b=a;"number"==typeof b&&(o=b>0),$=l?p:maybeRef(p,"start");let S,y=$,x=maybeRef(s,"end"),h=y!==p?[y," = ",p,", "]:[],v=x!==s?[x," = ",s,", "]:[],_=[];if(i&&l!==i&&(_=[", ",l," = ",i]),"Literal"===p?.type&&"Literal"===s?.type){let e;if(o=literalValue(p)<=literalValue(s),"StringLiteral"===(e=p.subtype)&&e===s.subtype){let e=literalValue(p).charCodeAt(0).toString();y={type:"Literal",subtype:"NumericLiteral",raw:e,children:[e]},x=literalValue(s).charCodeAt(0).toString()}}else i||(S=makeRef("asc"),_=[", ",S," = ",y," <= ",x]);u.inclusive||(y=[makeLeftHandSideExpression(y)," + ",l]);let g,P=[],E=P,I=P,C=t?.names??[];if(null!=t)if("AssignmentExpression"===t.type)P=E=[t," = "],C=[];else if("let"===t.decl){let e=t.children.splice(1);P=[...trimFirstSpace(e)," = "],I=[",",...e," = ",d]}else{g=[["",[t," = ","StringLiteral"===p?.subtype?["String.fromCharCode(",d,")"]:d],";"]]}let k={type:"Declaration",children:["let ",...h,...v,d," = ",...E,y,...I,..._],names:C},T=c.inclusive?[d," <= ",x," : ",d," >= ",x]:[d," < ",x," : ",d," > ",x],B=f||0===b?[]:null!=o?o?T.slice(0,3):T.slice(4):l?[l," !== 0 && (",l," > 0 ? ",...T,")"]:[S," ? ",...T],A=1===b?[...P,"++",d]:-1===b?[...P,"--",d]:l?[...P,d," += ",l]:S?[...P,S," ? ++",d," : --",d]:[...P,o?"++":"--",d];return{declaration:t,children:[r.error,e,k,"; ",...B,"; ",...A,n],blockPrefix:g}}function processForInOf(e){let[t,r,i,n,l,o,a,p,s,u]=e;"boolean"==typeof r&&(r=void 0);for(let e=[n,l?.[l.length-1]],t=0,r=e.length;t<r;t++){let r=e[t];null!=r&&"ForDeclaration"!==r.type&&checkValidLHS(r)}if(startsWith(p,/^\s/)||(p=prepend(" ",p)),"RangeExpression"===p.type&&"of"===a.token&&!l)return forRange(i,n,p,s&&prepend(trimFirstSpace(s[0]),trimFirstSpace(s[2])),u);if(s)throw new Error("for..of/in cannot use 'by' except with range literals");let c,m,d=[];if(r&&"each"===r[0].token){if("of"===a.token){let e=makeRef("i"),t=makeRef("len"),r=maybeRef(p),o="++",a=[...n.names];if(l){let[,,t,r]=l;d.push(["",[trimFirstSpace(t),r," = ",e],";"]),a.push(...r.names)}let s=r!==p?[trimFirstSpace(r)," = ",trimFirstSpace(p),", "]:[];d.push(["",{type:"Declaration",children:[n," = ",trimFirstSpace(r),"[",e,"]"],names:a,implicitLift:!0},";"]);let c=n;return n={type:"Declaration",children:["let ",...s,e," = 0, ",t," = ",trimFirstSpace(r),".length"],decl:"let",names:[]},{declaration:n,eachDeclaration:c,children:[i,n,"; ",[e," < ",t,"; "],e,o,u],blockPrefix:d}}c={type:"Error",message:"'each' is only meaningful in for..of loops"}}let f=r&&"own"===r[0].token;f&&"in"!==a.token&&(f=!1,c={type:"Error",message:"'own' is only meaningful in for..in loops"});let $,b,{binding:S}=n,y=S?.pattern;if("NamedBindingPattern"===y?.type&&(y=y.binding),S?.typeSuffix||"in"===a.token&&l&&"Identifier"!==y.type){let e=makeRef("in"===a.token?"key":"item");d.push(["",{type:"Declaration",children:[n," = ",e],names:n.names},";"]),n={type:"ForDeclaration",binding:{type:"Binding",pattern:e,children:[e],names:[]},children:["const ",e],names:[]},"Identifier"!==y.type&&(y=e)}if(!l&&!f)return{declaration:n,blockPrefix:d,children:[t,c,i,n,o,a,p,u]};switch(l&&([,,$,b]=l),a.token){case"of":{let e=makeRef("i");m={type:"Declaration",children:["let ",e," = 0"],decl:"let",names:[]},d.push(["",{type:"Declaration",children:[trimFirstSpace($),b," = ",e,"++"],names:b.names,decl:b.decl},";"]);break}case"in":{let e=maybeRef(p);if(e!==p&&(m={type:"Declaration",children:["let ",e],names:[],decl:"let"},p={type:"AssignmentExpression",children:[" ",e," =",p]}),f){let t=getHelperRef("hasProp");d.push(["",["if (!",t,"(",trimFirstSpace(e),", ",trimFirstSpace(y),")) continue"],";"])}if(b){let t=trimFirstSpace(y),r=makeNode({type:"MemberExpression",children:[trimFirstSpace(e),makeNode({type:"Index",expression:t,children:["[",t,"]"]})]});d.push(["",(()=>{if("ForDeclaration"===b.type){let{binding:e,children:t}=b;return e.children.push(e.initializer=makeNode({type:"Initializer",expression:r,children:[" = ",r]})),makeNode({type:"Declaration",children:[trimFirstSpace($),...t],bindings:[b.binding],decl:b.decl,names:b.names})}return makeNode({type:"AssignmentExpression",children:[trimFirstSpace($),b," = ",trimFirstSpace(e),"[",trimFirstSpace(y),"]"],names:b.names,lhs:b,assigned:b})})(),";"])}break}}return{declaration:n,children:[t,c,i,n,o,a,p,u],blockPrefix:d,hoistDec:m}}var concatAssign2=(e,t)=>(t?.[Symbol.isConcatSpreadable]??Array.isArray(t)?e.push.apply(e,t):e.push(t),e);function findDecs(e){let t=gatherNodes(e,e=>"Declaration"===e.type).flatMap(e=>e.names),r=getConfig().globals||[];return new Set(r.concat(t))}function createConstLetDecs(e,t,r){let i=function(e){let t=gatherRecursive(e,e=>"Declaration"===e.type&&e.children&&e.children.length>0&&e.children[0].token&&e.children[0].token.startsWith("var")||"FunctionExpression"===e.type).filter(e=>"Declaration"===e.type).flatMap(e=>e.names);return new Set(t)}(e);function n(e){return i.has(e)||t.some(t=>t.has(e))}function l(e){return gatherNodes(e,e=>"BlockStatement"===e.type||"AssignmentExpression"===e.type||"Declaration"===e.type).flatMap(e=>"BlockStatement"===e.type?e.bare?l(e.expressions):e:[...l(e.children),e])}let o=new Set;t.push(o);let a=gatherNodes(e,isFunction),p=gatherNodes(e,e=>"ForStatement"===e.type);function s(e){let t=e[1];if("ExportDeclaration"!==t?.type)return!1;let r=t.declaration;if(!r?.autoExport)return!1;let i=r.names;if(!i?.length||!i.some(n))return!1;let l,a=i.filter(e=>!n(e)),p=r.children.slice(1),s=!!r.bindings?.some(e=>"ObjectBindingPattern"===e.pattern?.type),u=buildExportSplitClause(r)??`; export { ${i.join(", ")} }`,c=a.length?[`let ${a.join(", ")}; `]:[];l=s?[...c,"(",p,")",u]:[...c,p,u],t.children=l;for(let e=0,t=a.length;e<t;e++){let t=a[e];o.add(t)}return!0}let u=[];for(let i=0,c=e.length;i<c;i++){let c=e[i];if(s(c)){u.push(c);continue}let m=l(c),d=[];for(let e=0,i=m.length;e<i;e++){let i=m[e];if("BlockStatement"===i.type){let e=i,n=a.find(t=>t.block===e),l=p.find(t=>t.block===e);null!=n?(t.push(new Set(n.parameters.names)),createConstLetDecs(e.expressions,t,r),t.pop()):null!=l?(t.push(new Set(l.declaration.names)),createConstLetDecs(e.expressions,t,r),t.pop()):createConstLetDecs(e.expressions,t,r);continue}let l=i.names.filter(e=>!n(e));"AssignmentExpression"===i.type&&d.push(...l);for(let e=0,t=l.length;e<t;e++){let t=l[e];o.add(t)}}if(d.length){let e=c[0],t=gatherNodes(c[1],e=>"Identifier"===e.type)[0];if(1===d.length&&"AssignmentExpression"===c[1].type&&1===c[1].names.length&&c[1].names[0]===d[0]&&t&&t.names==d[0]&&0===gatherNodes(c[1],e=>"ObjectBindingPattern"===e.type).length)c[1].children.unshift([`${r} `]);else{let t="\n";gatherNodes(e,e=>e.token&&e.token.endsWith("\n")).length&&(t=void 0),u.push([e,{type:"Declaration",children:["let ",...d.join(", ")],names:d},t])}}u.push(c)}t.pop(),e.splice(0,e.length,...u)}function createVarDecs(e,t,r){r??=e=>(l.push(e),n.add(e));let{expressions:i}=e,n=findDecs(i);t.push(n);let l=[];(function e(t,r){let i=gatherNodes(t,e=>"AssignmentExpression"===e.type);return i.length&&concatAssign2(i,e(i.map(e=>e.children),r)),i.filter(e=>"CoffeeClassPublic"!==e.parent?.type)})(i,t).flatMap(e=>e?.names||[]).filter((e,r,i)=>{if(n=e,!t.some(e=>e.has(n)))return i.indexOf(e)===r;var n}).forEach(r);let o=gatherNodes(i,isFunction),a=gatherNodes(i,e=>"ForStatement"===e.type),p=new Set(gatherNodes(i,e=>"BlockStatement"===e.type));if(o.forEach(({block:e})=>p.delete(e)),a.forEach(({block:e})=>p.delete(e)),p.forEach(e=>createVarDecs(e,t,r)),a.forEach(({block:e,declaration:i})=>(t.push(new Set(i?.names)),createVarDecs(e,t,r),t.pop())),o.forEach(({block:e,parameters:r})=>(t.push(new Set(r.names)),createVarDecs(e,t),t.pop())),l.length){let t=getIndent(i[0]),r=";";i[0][1]?.parent?.root&&(r=";\n"),braceBlock(e),i.unshift([t,{type:"Declaration",children:["var ",l.join(", ")]},r])}t.pop()}function getIndentLevel(e,t){if(null!=t&&1!=t){let r=e.match(/\t/g),i=r?r.length:0;return i*t+(e.length-i)}return e.length}function reduceIndentLevel(e,t,r){if(null!=r&&1!=r){for(let i=0,n=e.length;i<n;i++){let n=i,l=e[i];if(!t)return e.slice(n);if("\t"==l){if((t-=r)<0)return"".padStart(-t," ")+e.slice(n+1)}else t--}return""}return e.slice(t)}var indentRe=/\n([ \t]*)(?![ \t]|\r?\n|$)/g;function getIndentOfBlockString(e,t){let r,i=1/0;for(;r=indentRe.exec(e);){let e=getIndentLevel(r[1],t);e<i&&(i=e)}return i===1/0&&(i=0),i}function dedentBlockString({$loc:e,token:t},r,i,n=!0,l=!0){return null==i&&/^[ \t]*\r?\n/.test(t)&&(i=getIndentOfBlockString(t,r)),i&&(t=t.replace(/(\n)([ \t]*)/g,(e,t,n)=>t+reduceIndentLevel(n,i,r))),n&&(t=t.replace(/^[ \t]*\r?\n/,"")),l&&(t=t.replace(/(\r?\n|\n)[ \t]*$/,"")),{$loc:e,token:t=t.replace(/(\\.|`|\$\{)/g,e=>"\\"===e[0]?e:`\\${e}`)}}function dedentBlockSubstitutions(e,t){let[r,i,n]=e;if(!i.length)return e;let l,o=(()=>{let e=[];for(let t=0,r=i.length;t<r;t++){let r=i[t];e.push(r.token??"s")}return e})().join("");l=/^[ \t]*\r?\n/.test(o)?getIndentOfBlockString(o,t):void 0;let a=l,p=[r];for(let e=0,r=i.length;e<r;e++){let r=e,n=i[e];null!=n.token&&(n=dedentBlockString(n,t,a,0===r,r===i.length-1)),p.push(n)}return p.push(n),{type:"TemplateLiteral",children:p}}function processCoffeeInterpolation(e,t,r,i){if(0===t.length)return{type:"StringLiteral",token:'""',$loc:i};if(1===t.length){let e;if((e=t[0])&&"object"==typeof e&&"token"in e){let{token:t}=e;return{type:"StringLiteral",token:`"${modifyString(t)}"`,$loc:i}}}let n=[];for(let e=0,r=t.length;e<r;e++){let r=t[e];if("token"in r){let e=modifyString(r.token.replace(/(`|\$\{)/g,"\\$1"));n.push({...r,token:e})}else n.push(r)}return t=n,e.token=r.token="`",{type:"TemplateLiteral",children:[e,t,r]}}function modifyString(e){return e.replace(/((?:\\.|[^\r\n])*)(\r\n|\n|\r)?/gsu,function(e,t,r){return r?t+"\\n":t})}function quoteString(e){return JSON.stringify(e)}var xor=(e,t)=>e?!t&&e:t;function len1(e,t){return e.length===t}function addPostfixStatement(e,t,r){let i=[...r.blockPrefix||[],["",e]],n=makeNode({type:"BlockStatement",children:[" { ",i," }"],expressions:i,bare:!1}),l=[...r.children,n];return isWhitespaceOrEmpty(t)||l.push(t),"IfStatement"===(r=makeNode({...r,children:l,block:n})).type&&(r.then=n),r}function adjustIndexAccess(e){return e.optional?{...e,children:[...e.children,"["]}:e=replaceNodes(deepCopy(e),e=>"."===e.token,e=>({...e,token:"["}))}function rewriteModuleSpecifier(e){if("Literal"===e.type){if("StringLiteral"!==e.subtype)return e;let t=e.children[0],r=rewriteModuleSpecifier(t);return r===t?e:{...e,raw:r.token,children:[r]}}let{token:t}=e,r=getConfig();return r.rewriteTsImports&&(t=t.replace(/\.([mc])?ts(['"])$/,".$1js$2")),r.rewriteCivetImports&&(t=t.replace(/\.civet(['"])$/,`${r.rewriteCivetImports.replace(/\$/g,"$$")}$1`)),t===e.token?e:{...e,token:t,input:e.token}}function rewriteDynamicImportCall(e){let t=e.args.findIndex(e=>!isWhitespaceOrEmpty(e)&&!isComma(e));if(t<0)return e;let r=e.args[t];assert("Argument"===r?.type,"rewriteDynamicImportCall: expected firstArg to be an Argument");let i=r.expression;if("Literal"!==i?.type)return e;let n=rewriteModuleSpecifier(i);if(n===i)return e;n={...r,expression:n,children:[n]};let l=e.args.slice(0);return l[t]=n,{...e,args:l,children:e.children.map(t=>t===e.args?l:t)}}function negateCondition(e){let{expression:t}=e,r=e.children.slice(),i=r.indexOf(t);assert.notEqual(i,-1,"negateCondition: expression must be directly in condition.children");let n=["!"];return t=makeLeftHandSideExpression(t),r[i]=t={type:"UnaryExpression",children:[n,t],pre:n,expression:t},{...e,expression:t,children:r}}function isExpression(e){if(Array.isArray(e))return e.every(isExpression);switch(e?.type){case"BlockStatement":case"DebuggerStatement":case"Declaration":case"ForStatement":case"IfStatement":case"IterationStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":return!1}return!0}function expressionizeBlock(e){if(e&&"object"==typeof e&&"expressions"in e){let{expressions:t}=e,r=t.length,i=[],n=0;for(let[e,l,o]of t){let t=n++;if(!isExpression(l))return;let o=makeLeftHandSideExpression(l);t===r-1?i.push([e,o]):i.push([e,o,","])}return i.length>1?makeLeftHandSideExpression(i):i.length?i:["void 0"]}return e}function expressionizeIfStatement(e){let{condition:t,then:r,else:i}=e,[...n]=t.children,[l]=n.splice(-1),o=expressionizeBlock(r);if(!o)return wrapIIFE([["",e]]);let a=[...n,"?",o];if(i){let t=expressionizeBlock(i.block);if(!t)return wrapIIFE([["",e]]);a.push(i.children[0],":",t,...i.children.slice(3))}else a.push(":void 0");return a.push(l),makeNode({type:"IfExpression",children:a})}function expressionizeTypeIf([e,t,r,i]){let n=["(",trimFirstSpace(t),"?"];return xor(e.negated,t.negated)?(i?n.push(...i.slice(2),i[0],":"):n.push("never:"),n.push(r)):(n.push(r),i?n.push(i[0],":",...i.slice(2)):n.push(":never")),n.push(")"),n}function handleThisPrivateShorthands(e){if(e.privateShorthand)return[e=e.children[1].children[1],!1];if("MemberExpression"===e.type||"CallExpression"===e.type){let t=e.thisShorthand;return[e={...e,children:e.children.map((e,r)=>{if(0===r){let r;[e,r]=handleThisPrivateShorthands(e),t||=r}return e})},t]}return[e,e.thisShorthand]}function processTryBlock(e){let t,r,i,[n,,l,o,a,p]=e;if(o.some(e=>(r=e.binding?.parameter,"object"==typeof r&&null!=r&&"type"in r&&"CatchPattern"===r.type))){let e=makeRef("e"),r={type:"CatchBinding",children:["(",e,")"],parameter:e},i={type:"ParenthesizedExpression",children:["(",e,")"],expression:e},n=!1,l=o.map(t=>{let r;if((r=t.binding?.parameter)&&"object"==typeof r&&"type"in r&&"CatchPattern"===r.type&&"patterns"in r){let{patterns:e}=r;return{type:"PatternClause",patterns:e,block:t.block,children:[e,t.block]}}{n=!0;let r=t.binding?.parameter;if(null!=r){assert.equal(r.type,"CatchParameter",`Invalid catch parameter ${r.type}`);let{binding:i,typeSuffix:n}=r,l={type:"Initializer",expression:e,children:[""," = ",e]},o=[{type:"Binding",names:i.names,pattern:i,typeSuffix:n,initializer:l,children:[i,n,l],splices:[],thisAssignments:[]}];t.block.expressions.unshift(["",{type:"Declaration",children:["let"," ",o],bindings:o,names:o[0].names,decl:"let"},";"])}return{type:"DefaultClause",block:t.block,children:["default: ",t.block]}}});if(!n){let t=[["",{type:"ThrowStatement",children:["throw"," ",e]}]],r={type:"BlockStatement",expressions:t,children:[" {",t,"}"],bare:!1};l.push({type:"DefaultClause",block:r,children:["default: ",r]})}let a={type:"CaseBlock",clauses:l,children:[" {",l,"}"]},p={type:"SwitchStatement",condition:i,caseBlock:a,children:["switch",i,a]},s={type:"BlockStatement",bare:!1,expressions:[["",p]],children:[" {",p,"}"]};t=makeNode({type:"CatchClause",children:[o[0].children[0],o[0].children[1],r,s],binding:r,block:s})}else t=o[0],o.length>1&&(t=append(t,{type:"Error",message:"Only one catch clause allowed unless using pattern matching"}));if(!t&&(a||!p)){let e=makeEmptyBlock();t={type:"CatchClause",children:[" ","catch(e) ",e],block:e}}if(a){let e=makeRef("ok");i={type:"Declaration",children:["let ",e," = true"],names:[]},replaceNode(t.block,blockWithPrefix([["","ok = false"]],t.block),t);let r={type:"ParenthesizedExpression",children:["(",e,")"],expression:e},n=makeNode({type:"IfStatement",children:["if",r,a.block],condition:r,then:a.block,else:void 0});if(!p){let e=makeEmptyBlock();p={type:"FinallyClause",children:[" ","finally ",e],block:e}}replaceNode(p.block,blockWithPrefix([["",n]],p.block),p)}let s=[l];return t&&s.push(t.block),{type:"TryStatement",blocks:s,children:[n,l,t,p],hoistDec:i}}function processCallMemberExpression(e){let{children:t}=e;if(Array.isArray(t)&&t.length>=2&&"object"==typeof t[0]&&null!=t[0]&&"parenthesizedOp"in t[0]&&"object"==typeof t[0].parenthesizedOp&&null!=t[0].parenthesizedOp&&"token"in t[0].parenthesizedOp&&"object"==typeof t[1]&&null!=t[1]&&"type"in t[1]&&"Call"===t[1].type){let e=t[0].parenthesizedOp,r=t[1],i=[...r.args];r={...r,args:i,children:r.children.map(e=>e===r.args?i:e)},isComma(i[i.length-1])&&(i[i.length-1]=deepCopy(i[i.length-1]),isComma(i[i.length-1]).token="");let n=0;for(let t=0,r=i.length;t<r;t++){let r=t,l=i[t];isComma(l)&&(l=i[r]=deepCopy(l),isComma(l).token=`)${e.token}(`,n++)}if(i.length){if(n)t.splice(0,2,{type:"ParenthesizedExpression",children:["(",r.children,")"],expression:r.children});else{let e,i=r.children.slice(1,-1);t.splice(0,2,{type:"ParenthesizedExpression",expression:i,children:[r.children[0],i,(e=r.children)[e.length-1]]})}if(1===t.length)return t[0]}}for(let r=0,i=t.length;r<i;r++){let i=r,n=t[r];if("PropertyGlob"===n?.type){let r,l=t.slice(0,i),o=[];if(needsRef(l)&&n.object.properties.length>1){Array.isArray(l)&&len1(l,1)&&"object"==typeof l[0]&&null!=l[0]&&"type"in l[0]&&"ParenthesizedExpression"===l[0].type&&"implicit"in l[0]&&!0===l[0].implicit&&(l=[l[0].expression]),r=makeRef();let{refAssignment:e}=makeRefAssignment(r,l);l=[makeLeftHandSideExpression(e)]}let a=[...l,n.dot];for(let e of n.object.properties){if("Error"===e.type){o.push(e);continue}if("MethodDefinition"===e.type){o.push({type:"Error",message:"Glob pattern cannot have method definition"});continue}if(e.value&&!["CallExpression","MemberExpression","Identifier","StringLiteral","ComputedPropertyName"].includes(e.value.type)){o.push({type:"Error",message:`Glob pattern must have call or member expression value, found ${JSON.stringify(e.value)}`});continue}let t=!1,i=e.name,p=e.value??i,s=getTrimmingSpace(e.value);[p,t]=handleThisPrivateShorthands(p),n.reversed&&([i,p]=[p,i]),t||(p="StringLiteral"===p.type?[...l,{type:"Index",children:["[",trimFirstSpace(p),"]"]}]:"ComputedPropertyName"===p.type?[...l,{type:"Index",children:[trimFirstSpace(p)]}]:[...a,trimFirstSpace(p)],null!=r&&(l=[r],a=[...l,n.dot])),s&&p.unshift(s),"SpreadProperty"===e.type?o.push({type:e.type,value:p,dots:e.dots,delim:e.delim,names:e.names,children:e.children.slice(0,2).concat(p,e.delim),usesRef:!!r}):o.push({type:e.type,name:i,value:p,delim:e.delim,names:e.names,children:[isWhitespaceOrEmpty(e.children[0])&&e.children[0],i,isWhitespaceOrEmpty(e.children[2])&&e.children[2],":"===e.children[3]?.token?e.children[3]:":",p,e.delim],usesRef:!!r})}let p,s={type:"ObjectExpression",children:[n.object.children[0],...o,(p=n.object.children)[p.length-1]],properties:o};return i===t.length-1?s:processCallMemberExpression({...e,children:[s,...t.slice(i+1)]})}if("PropertyBind"===n?.type){assert.notEqual(i,0,"@ bind must be preceded by an expression");let r=1===i?t[0]:t.slice(0,i),{ref:l,refAssignment:o}=maybeRefAssignment(r);return processCallMemberExpression({...e,children:[makeLeftHandSideExpression(o??r),{...n,type:"PropertyAccess",children:[...n.children,".bind(",l,...n.args.length>0?[", "]:[],...n.args,")"]},...t.slice(i+1)]})}if("object"==typeof n&&null!=n&&"type"in n&&"Index"===n.type&&"mod"in n&&!0===n.mod){assert.notEqual(i,0,"Index access must be preceded by an expression");let r,l=1===i?t[0]:t.slice(0,i),{ref:o,refAssignment:a}=maybeRefAssignment(l),p=[n.children.slice(1,-1),",",[" ",o,".length"]],s=makeNode({type:"CallExpression",implicit:!0,children:[getHelperRef("modulo"),makeNode({type:"Call",args:p,children:["(",p,")"]})]});return processCallMemberExpression({...e,children:[makeLeftHandSideExpression(a??l),makeNode({...n,mod:!1,expression:s,children:[n.children[0],s,(r=n.children)[r.length-1]]}),...t.slice(i+1)]})}if("object"==typeof n&&null!=n&&"type"in n&&"SliceExpression"===n.type&&"reversed"in n&&!0===n.reversed){let r,l=[{...e,children:e.children.slice(0,i)},{...n.children[0],token:", "},...n.children.slice(1,-1)],o=makeNode({type:"CallExpression",implicit:!0,children:[getHelperRef("rslice"),makeNode({type:"Call",args:l,children:["(",l,(r=n.children)[r.length-1]]})]});return i+1>=t.length?o:processCallMemberExpression(makeNode({...e,children:[o,...t.slice(i+1)]}))}}return e}function makeExpressionStatement(e){return Array.isArray(e)&&","===e[1]?.[0]?.[0]?.[1]?.token?[makeExpressionStatement(e[0]),e[1].map(([e,t])=>[e,makeExpressionStatement(t)])]:"ObjectExpression"===e?.type||"FunctionExpression"===e?.type&&!e.id||"UnaryExpression"===e?.type&&!e.pre?.length&&e.expression!==makeExpressionStatement(e.expression)?makeLeftHandSideExpression(e):e}function lastAccessInCallExpression(e){for(;"MemberExpression"===e.type||"CallExpression"===e.type;){let{children:t}=e,r=t.length-1;for(;r>=0&&"object"==typeof t[r]&&("Call"===t[r].type||"NonNullAssertion"===t[r].type||"Optional"===t[r].type);)r--;assert(r>=0,"lastAccessInCallExpression: no base access found"),e=t[r]}if("Identifier"===e.type||"PropertyAccess"===e.type||"Index"===e.type)return e}function convertMethodToFunction(e){let{signature:t,block:r}=e,{async:i,modifier:n,optional:l}=t;if(n?.get||n?.set)return;let o=["function "];null!=i&&(o.unshift(i),i.length&&!i[i.length-1]?.length&&i.push(" "));let a=t.children.slice(1);if(l){let e=a.indexOf(l);e>=0&&a.splice(e,1)}return{...t,id:t.name,signature:t,type:"FunctionExpression",children:[[...o,...a],r],block:r}}function convertFunctionToMethod(e,t){let r=t.children.findIndex(function(e){return e?.token?.startsWith("function")}),i=t.children.slice();return i.splice(r,2,i[r+1],e),{...t,type:"MethodDefinition",name:e.name,signature:{...t.signature,id:e,name:e.name},children:i}}function convertArrowFunctionToMethod(e,t){let r={...t.block},i=t.children.filter(function(e){return!(Array.isArray(e)&&e[e.length-1]?.token?.includes("=>"))}).map(function(e){return e===t.block?r:e});return i.unshift(e),t={...t,type:"MethodDefinition",name:e.name,signature:{...t.signature,id:e,name:e.name},block:r,children:i,autoBind:!0},r.parent=t,braceBlock(r),t}function convertNamedImportsToObject(e,t){let r,i=e.specifiers.map(e=>{if(e.ts)return{type:"Error",message:"cannot use `type` in dynamic import"};{let r,{source:i,binding:n}=e,l=(r=e.children)[r.length-1];return{type:t?"BindingProperty":"Property",name:i,value:i!==n?n:void 0,delim:l,children:i===n?[i,l]:[i,":",n,l]}}});return{type:t?"ObjectBindingPattern":"ObjectExpression",names:e.names,properties:i,children:[e.children[0],i,(r=e.children)[r.length-1]]}}function convertObjectToJSXAttributes(e){let t=[],r=[],i=0;for(let n of e.properties){let e=i++;if(n.usesRef)r.push(n);else switch(e>0&&t.push(" "),n.type){case"Property":"ComputedPropertyName"===n.name.type?r.push(n):t.push([n.name,"={",trimFirstSpace(n.value),"}"]);break;case"SpreadProperty":t.push(["{",n.dots,n.value,"}"]);break;case"MethodDefinition":convertMethodToFunction(n)?t.push([n.name,"={",convertMethodToFunction(n),"}"]):r.push(n)}}return r.length&&(t.length&&" "!==t[t.length-1]&&t.push(" "),t.push(["{...{",...r,"}}"])),t}function makeGetterMethod(e,t,r,i,n,l={token:"get"},o=!0){let{token:a}=l;t=trimFirstSpace(t);let p,s=[],u="get"===a;u||s.push(p=makeRef("value"));let c,m={type:"Parameters",children:["(",s,")"],parameters:s,implicit:u};if(n?c=(n=duplicateBlock(n)).expressions:(c=[],n={type:"BlockStatement",expressions:c,children:["{ ",c," }"],bare:!1}),o){let e=u?[[c[0]?.[0]||"",t],wrapWithReturn(r)]:[[c[0]?.[0]||"",t],[r," = ",p]];c.push(e)}return{type:"MethodDefinition",children:[l," ",e,m,i,n],name:e,signature:{type:"MethodSignature",modifier:{get:"get"===a,set:"set"===a,async:!1},name:e,returnType:i},block:n,parameters:m}}function processBindingPatternLHS(e,t){adjustAtBindings(e,!0);for(let t=gatherRecursiveAll(e,e=>"AtBinding"===e.type),r=0,i=t.length;r<i;r++){let i=t[r],{ref:n}=i,l=["this.",n.id];i.type=void 0,i.children=l;for(let t=gatherRecursiveAll(e,e=>e.blockPrefix),r=0,i=t.length;r<i;r++){let e=t[r],{blockPrefix:i}=e;i.children=i.children.map(e=>e===n?l:e)}}for(let t=gatherRecursiveAll(e,e=>e.blockPrefix),r=0,i=t.length;r<i;r++){let e=t[r],{blockPrefix:i}=e;for(let e=gatherRecursiveAll(i,e=>"AtBinding"===e.type),t=0,r=e.length;t<r;t++){let r=e[t];r.type=void 0,r.children=["this.",r.ref.id]}}let[r,i]=gatherBindingCode(e),n=gatherSubbindings(e);simplifyBindingProperties(e),simplifyBindingProperties(n),t.push(...r.map(e=>[", ",e]),...i.map(e=>[", ",e]),...n)}function processAssignments(e){for(let t=gatherRecursiveAll(e,e=>"AssignmentExpression"===e.type||"UpdateExpression"===e.type),r=0,i=t.length;r<i;r++){let e=function(e){let t,r=e;for(;"ParenthesizedExpression"===r.type;)r=r.expression;if(t=r.type,"AssignmentExpression"===t||"UpdateExpression"===t){let t="UpdateExpression"===r.type&&r.children[0]===r.assigned,n=[];t?(l.push("("),o.push([", ",e,")"])):(l.push(["(",e,", "]),o.push(")"));let{assigned:a}=r;if(!a?.children)return a;let p,{children:s}=a,u=s.findLastIndex(e=>(p=e?.type,"PropertyAccess"===p||"Index"===p));if(u<=0)return a;let{ref:c,refAssignment:m}=maybeRefAssignment(s.slice(0,u));if(m){let e=makeLeftHandSideExpression(t?c:m);s.splice(0,u,e),e.parent=a,u=1,t&&(m.parent=i,n.push(m,", "))}let d,f=s[u],$=f;if("Index"===f?.type){let{ref:e,refAssignment:r}=maybeRefAssignment(f.expression);r&&(replaceNode(f.expression,t?e:r,f),$={type:"Index",children:["[",e,"]"],expression:e},t&&(r.parent=i,n.push(r,", ")))}return n.length&&l.push(...n),m||$!==f?(d=m?[c]:s.slice(0,u),{...a,children:[...d,$,...s.slice(u+1)]}):a}};let i=t[r];checkValidLHS(i.assigned);let n,l=[],o=[];switch(i.type){case"AssignmentExpression":if(!i.lhs)continue;for(let t=i.lhs,r=0,n=t.length;r<n;r++){let i,n=t[r];if(i=e(n[1])){let e=i;n[1]=e}}break;case"UpdateExpression":if(n=e(i.assigned)){let e=n,t=i.children.indexOf(i.assigned);i.assigned=i.children[t]=e}}if(l.length&&i.children.unshift(...l),o.length&&i.children.push(...o),"UpdateExpression"===i.type){let{assigned:e}=i,t=makeRef(),r=unchainOptionalMemberExpression(e,t,t=>i.children.map(r=>r===e?t:r));r!==e&&(r.usesRef&&(r.hoistDec={type:"Declaration",children:["let ",t],names:[]}),replaceNode(i,r))}}for(let t=gatherRecursiveAll(e,e=>"AssignmentExpression"===e.type),r=0,i=t.length;r<i;r++){let e=t[r];if(null!==e.names)continue;let i,n,{lhs:l,expression:o}=e,a=[],p=l.length;if(blockContainingStatement(e)&&!(i=l[l.length-1])?.[i.length-1]?.special&&!isShortCircuitOp((n=l[l.length-1])?.[n.length-1])){let t;if(t=prependStatementExpressionBlock({type:"Initializer",expression:o,children:[void 0,void 0,o]},e)){let r=t;replaceNode(o,r,e),o=r}}if(l.some(e=>e[e.length-1].special)){let[,t,,r]=l[0],{call:i,omitLhs:n}=r,a=e.children.indexOf(o);if(assert.notEqual(a,-1,"processAssignments: $2 must be directly in exp.children"),e.children.splice(a,1,e.expression=o=[i,"(",t,", ",o,")"]),n){replaceNode(e,o);continue}}let s=!1,u="ParenthesizedExpression"===e.parent?.type,c=0;for(;c<p;){let e,t=l[c++],[,r,,i]=t;"="===i.token&&(e=r.type,("ObjectExpression"===e||"ObjectBindingPattern"===e)&&(s||u||(s=!0,r.children.splice(0,0,"("),a.push(")"))))}let m=new Set;for(c=p-1;c>=0;){let t=l[c];if("="===t[3].token){let r,i=t[1];if("MemberExpression"===i.type){let r=i.children,n=r[r.length-1];if("SliceExpression"===n.type){let{start:r,end:a,children:p}=n;if(p[0].token=".splice(",p[1]=r,p[2]=", ",p[3]=a?[makeLeftHandSideExpression(a)," - ",makeLeftHandSideExpression(r)]:["1/0"],p[4]=[", ...",o],p[5]=")",t.pop(),isWhitespaceOrEmpty(t[2])&&t.pop(),l.length>1){i.children.push({type:"Error",message:"Not implemented yet! TODO: Handle multiple splice assignments"});break}e.children=[l],e.names=[];break}}else{if("object"==typeof i&&null!=i&&"type"in i&&"CallExpression"===i.type&&"children"in i&&Array.isArray(i.children)&&i.children.length>=1&&i.children[0]===peekHelperRef("rslice")){i.children.push({type:"Error",message:"Slice range cannot be decreasing in assignment"});break}r=i.type,("ObjectBindingPattern"===r||"ArrayBindingPattern"===r||"NamedBindingPattern"===r)&&(processBindingPatternLHS(i,a),gatherRecursiveAll(i,e=>"Ref"===e.type).forEach(m.add.bind(m)))}}c--}c=p-1;let d=makeRef();for(;c>=0;){let t=l[c],[r,i,n,a]=t;if("MemberExpression"===i.type||"CallExpression"===i.type){let t=unchainOptionalMemberExpression(i,d,e=>{let t=l.splice(c+1,p-1-c);return l.pop(),[r,...e,n,a,...t,o]});t!==i&&(t.usesRef&&(e.hoistDec={type:"Declaration",children:["let ",d],names:[]}),replaceNode(o,t),o=t)}c--}if(m.size&&(e.hoistDec?e.hoistDec.children.push([...m].map(e=>[",",e])):e.hoistDec={type:"Declaration",children:["let ",[...m].map((e,t)=>t?[",",e]:e)],names:[]}),e.names=l.flatMap(([,e])=>e.names||[]),a.length){let t=e.children.indexOf(o);assert.notEqual(t,-1,"processAssignments tail: $2 must be directly in exp.children"),e.children.splice(t+1,0,...a)}}}function unchainOptionalMemberExpression(e,t,r){let i,n=0,{children:l}=e,o=!1,a=[];for(;n<l.length;){let e=l[n],r=e?.type,i=!1;switch(r){case"PropertyAccess":e.dot?.optional&&(i=!0,e.dot.children.shift(),e.dot.optional=!1);break;case"Call":case"Index":e.optional&&(i=!0,e.children.shift(),e.optional=void 0)}if(i){let r;n>1||needsRef(l[0])?(o=!0,r=makeLeftHandSideExpression({type:"AssignmentExpression",children:[t," = ",l.splice(0,n)]}),r.parent=e,l.unshift(t),n=0):r=l[0],a.push([r," != null"])}n++}if(i=a.length){let t=flatJoin(a," && ");return{...e,children:[...t," ? ",r(l)," : void 0"],usesRef:o}}return e}function attachPostfixStatementAsExpression(e,t){let r=t[1];switch(r.type){case"ForStatement":case"IterationStatement":case"DoStatement":{let r=addPostfixStatement(e,...t);return{type:"IterationExpression",children:[r],block:r.block,statement:r,generator:r.generator}}case"IfStatement":return expressionizeIfStatement({...r,then:e})}}function processTypes(e){let t=[];for(let r=gatherRecursiveAll(e,e=>"TypeUnary"===e.type),i=0,n=r.length;i<n;i++){let e=r[i],n=e.suffix.length-1,l=[];for(;n>=0;){let t=e.suffix[n];if("object"==typeof t&&null!=t&&"token"in t&&"?"===t.token){let r,i,{}=t,o=0;for(;r=e.suffix[n],"object"==typeof r&&null!=r&&"token"in r&&"?"===r.token;)e.suffix.splice(n--,1),o++;for(;i=e.suffix[n],"object"==typeof i&&null!=i&&"type"in i&&"NonNullAssertion"===i.type;)e.suffix.splice(n--,1);let{parent:a,prefix:p}=e;e.prefix=[],e.children=e.children.filter(e=>e!==p);let s,u=e.suffix.splice(n+1,1/0),c=getTrimmingSpace(e);if("TypeElement"!==e.parent?.type||e.parent.name){inplaceInsertTrimmingSpace(e,""),s=makeNode({type:"TypeParenthesized",ts:!0,children:[c,"(",parenthesizeType(e.suffix.length?e:e.t),1===o?" | undefined":" | undefined | null",")"]})}else{if(1===o){e.suffix.splice(n+1,0,t);continue}inplaceInsertTrimmingSpace(e,""),s=[c,"(",parenthesizeType(e.t)," | null)",t]}(p.length||u.length)&&(s=makeNode({type:"TypeUnary",ts:!0,t:s,prefix:p,suffix:u,children:[p,s,u]})),l.push(replaceNode(e,s,a))}else if("object"==typeof t&&null!=t&&"type"in t&&"NonNullAssertion"===t.type){let r,i,{}=t;for(;r=e.suffix[n],"object"==typeof r&&null!=r&&"type"in r&&"NonNullAssertion"===r.type;)e.suffix.splice(n--,1);for(;i=e.suffix[n],"object"==typeof i&&null!=i&&"token"in i&&"?"===i.token;)e.suffix.splice(n--,1);let{parent:o,prefix:a}=e;e.prefix=[],e.children=e.children.filter(e=>e!==a);let p,s=e.suffix.splice(n+1,1/0),u=getTrimmingSpace(e);inplaceInsertTrimmingSpace(e,""),p=e.suffix.length?e:e.t;let c=[makeNode({type:"TypeArgument",ts:!0,t:p,children:[p]})],m=makeNode({type:"TypeArguments",ts:!0,args:c,children:["<",c,">"]}),d=makeNode({type:"TypeIdentifier",raw:"NonNullable",args:m,children:[u,"NonNullable",m]});(a.length||s.length)&&(d=makeNode({type:"TypeUnary",ts:!0,t:d,prefix:a,suffix:s,children:[a,d,s]})),l.push(replaceNode(e,d,o))}else l.push(n--)}t.push(l)}return t}function processStatementExpressions(e){for(let t=gatherRecursiveAll(e,e=>"StatementExpression"===e.type),r=0,i=t.length;r<i;r++){let e=t[r],{maybe:i,statement:n}=e;if(!i&&"ThrowStatement"!==n.type||!blockContainingStatement(e))switch(n.type){case"IfStatement":replaceNode(n,expressionizeIfStatement(n),e);break;case"IterationExpression":"ComptimeStatement"===n.subtype&&replaceNode(n,expressionizeComptime(n.statement),e);break;default:replaceNode(n,wrapIIFE([["",n]]),e)}else replaceNode(e,n)}}function processNegativeIndexAccess(e){gatherRecursiveAll(e,e=>"NegativeIndex"===e.type).forEach(e=>{let{children:t}=e.parent,r=0;for(;r<t.length&&isWhitespaceOrEmpty(t[r]);)r++;let i,n,l=t.indexOf(e);if(l===r+1){let e=t[r];i=maybeRef(e),i!==e&&(n=t.splice(r,1))}else assert(l>r+1,"Invalid parse tree for negative index access"),i=makeRef(),n=t.splice(r,l-r);if(n){let{refAssignment:l}=makeRefAssignment(i,n);t.splice(r,0,makeLeftHandSideExpression(l)),l.parent=e}e.len.children=[i,".length"]})}function processFinallyClauses(e){for(let t=gatherRecursiveAll(e,e=>"FinallyClause"===e.type&&"TryStatement"!==e.parent?.type),r=0,i=t.length;r<i;r++){let e=t[r],i=blockContainingStatement(e);assert(i,"finally clause must be inside try statement or block");let{block:n,index:l}=i,o=n.expressions[l][0],a=n.expressions.slice(l+1),p=makeNode({type:"BlockStatement",expressions:a,children:["{",a,"}"],bare:!1});e=prepend(" ",e);let s=[o,makeNode({type:"TryStatement",blocks:[p],children:["try ",p,e],parent:n})];n.expressions.splice(l,1/0,s)}}function processBreaksContinues(e){for(let t of gatherRecursive(e,e=>!("BreakStatement"!==e.type&&"ContinueStatement"!==e.type||!e.label?.special))){let e=t.label,r=e.special,{ancestor:i}=findAncestor(t,e=>"for"===r?"ForStatement"===e.type:"IterationStatement"===e.type&&e.subtype.startsWith(r),isFunction);if(null==i){t.children.push({type:"Error",message:`No matching '${r}' iteration found above '${t.type.toLowerCase().replace("statement","")} ${r}'`});continue}let{parent:n}=i;if("LabelledStatement"!==n?.type){let e=makeRef(`_${r.replace("-","_")}`),t=makeNode({type:"Label",name:e,children:[e,":"]});replaceNode(i,makeNode({type:"LabelledStatement",label:t,statement:i,children:[t," ",i]}),n),n=i.parent}e.children.push(e.name=n.label.name),delete e.special}}function processCoffeeClasses(e){for(let t=gatherRecursiveAll(e,e=>"ClassExpression"===e.type),r=0,i=t.length;r<i;r++){let e=t[r],{expressions:i}=e.body,n=i[0]?.[0]??"\n",l=i.filter(e=>e[1]?.autoBind);if(l.length){let e;for(let[,t]of i)if("object"==typeof t&&null!=t&&"type"in t&&"MethodDefinition"===t.type&&"name"in t&&"constructor"===t.name&&t.block){e=t;break}if(!e){let t=[],r={type:"Parameters",children:[t],parameters:t,names:[]},l={type:"MethodSignature",children:["constructor(",r,")"],parameters:r,modifier:{},returnType:void 0},o=makeEmptyBlock();e={...l,type:"MethodDefinition",name:"constructor",block:o,signature:l,children:[...l.children,o]},i.unshift([n,e])}let t=findSuperCall(e.block);e.block.expressions.splice(t+1,0,...(()=>{let e=[];for(let t=0,r=l.length;t<r;t++){let[,r]=l[t];e.push([n,["this.",r.name," = this.",r.name,".bind(this)"],";"])}return e})())}let o=i.filter(e=>"CoffeeClassPublic"===e[1]?.type&&"FunctionExpression"===e[1].assignment?.expression?.type).map(e=>e[1].assignment);for(let e of o){replaceNode(e,convertFunctionToMethod(e.lhs[0][1],e.expression))}let a=i.filter(e=>"CoffeeClassPublic"===e[1]?.type&&"ArrowFunction"===e[1].assignment?.expression?.type).map(e=>e[1].assignment);for(let e of a){replaceNode(e,convertArrowFunctionToMethod(e.lhs[0][1],e.expression))}let p=i.filter(e=>"CoffeeClassPrivate"===e[1]?.type);if(!p.length)continue;let{parent:s}=e;for(let e=i.length+-1;e>=0;--e){let t=e;"CoffeeClassPrivate"===i[t][1]?.type&&i.splice(t,1)}let u=wrapIIFE([...p,[n,wrapWithReturn(e)]]);if(e&&"object"==typeof e&&"binding"in e){let{binding:t}=e;t=trimFirstSpace(t),u=makeNode({type:"AssignmentExpression",children:[t," = ",u],lhs:t,assigned:t,expression:u,names:[e.name]})}replaceNode(e,u,s)}}function processProgram(e){let t=getState(),r=getConfig();assert.equal(t.forbidBracedApplication.length,1,"forbidBracedApplication"),assert.equal(t.forbidClassImplicitCall.length,1,"forbidClassImplicitCall"),assert.equal(t.forbidIndentedApplication.length,1,"forbidIndentedApplication"),assert.equal(t.forbidNestedBinaryOp.length,1,"forbidNestedBinaryOp"),assert.equal(t.forbidNewlineBinaryOp.length,1,"forbidNewlineBinaryOp"),assert.equal(t.forbidTrailingMemberProperty.length,1,"forbidTrailingMemberProperty"),assert.equal(t.JSXTagStack.length,1,"JSXTagStack"),addParentPointers(e);let i,{expressions:n}=e;processPlaceholders(n),processNegativeIndexAccess(n),processTypes(n),processDeclarationConditions(n),processPipelineExpressions(n),processDeclarations(n),processAssignments(n),processStatementExpressions(n),processPatternMatching(n),processIterationExpressions(n),processFinallyClauses(n),processBreaksContinues(n),e.topLevelAwait=hasAwait(n),e.topLevelYield=hasYield(n),(r.iife||r.repl)&&(i=wrapIIFE(e.expressions,e.topLevelAwait,e.topLevelYield?"*":void 0),n=[["",i]],e.children=e.children.map(t=>t===e.expressions?n:t),e.expressions=n),hoistRefDecs(n),processFunctions(n,r),r.coffeeClasses&&processCoffeeClasses(n),n.unshift(...extractPreludeFor(n)),r.autoLet?createConstLetDecs(n,[],"let"):r.autoConst?createConstLetDecs(n,[],"const"):r.autoVar&&createVarDecs(e,[]),r.repl&&processRepl(e,i),processBlocks(n),populateRefs(n),adjustAtBindings(n),getSync()&&processComptime(n)}async function processProgramAsync(e){let{expressions:t}=e;await processComptime(t)}function processRepl(e,t){let r=gatherRecursive(t,e=>"BlockStatement"===e.type)[0],i=0;for(let t=gatherRecursiveWithinFunction(r,e=>"Declaration"===e.type),n=0,l=t.length;n<l;n++){let l=t[n];l.names?.length&&(l.parent===r||"var"===l.decl)&&(l.children.shift(),"ObjectBindingPattern"===l.bindings[0]?.pattern?.type&&(l.children.unshift("("),l.children.push(")")),e.expressions.splice(i++,0,["",`var ${l.names.join(",")}`,";"]))}for(let t=gatherRecursive(r,e=>"FunctionExpression"===e.type),n=0,l=t.length;n<l;n++){let l=t[n];l.name&&"BlockStatement"===l.parent?.type&&(l.parent===r?(replaceNode(l,void 0),e.expressions.splice(i++,0,["",l]),l.parent=e):(l.children.unshift(l.name,"="),e.expressions.splice(i++,0,["",`var ${l.name}`,";"])))}for(let t=gatherRecursiveWithinFunction(r,e=>"ClassExpression"===e.type),n=0,l=t.length;n<l;n++){let l,o=t[n];(o.name&&o.parent===r||(l=o.parent,"object"==typeof l&&null!=l&&"type"in l&&"ReturnStatement"===l.type&&"parent"in l&&l.parent===r))&&(o.children.unshift(o.name,"="),e.expressions.splice(i++,0,["",`var ${o.name}`,";"]))}}function processPlaceholders(e){let t=new Map,r=new Set;for(let i=gatherRecursiveAll(e,e=>"Placeholder"===e.type),n=0,l=i.length;n<l;n++){let e,l=i[n];if("."===l.subtype){let t;for(({ancestor:e}=findAncestor(l,e=>"Call"===e.type&&!e.parent?.implicit)),e=e?.parent;null!=e?.parent&&(t=e.parent.type,"UnaryExpression"===t||"NewExpression"===t||"AwaitExpression"===t||"ThrowStatement"===t||"StatementExpression"===t);)e=e.parent;if(!e)return void replaceNode(l,{type:"Error",message:"Partial placeholder . outside of call expression"})}else{let t,i;switch(({ancestor:e,child:t}=findAncestor(l,(e,t)=>{let n=i;if(({implicitLift:i}=e),n)return;let l,o,{type:a}=e;return"IfStatement"===a&&r.add(e),"Call"===a&&!e.parent?.implicit||"BlockStatement"===a&&(l=e.parent,!("object"==typeof l&&null!=l&&"type"in l&&"IfStatement"===l.type&&r.has(e.parent)))&&(o=e.parent,!("object"==typeof o&&null!=o&&"type"in o&&"ElseClause"===o.type&&"parent"in o&&"object"==typeof o.parent&&null!=o.parent&&"type"in o.parent&&"IfStatement"===o.parent.type&&r.has(e.parent.parent)))||"PipelineExpression"===a||"Initializer"===a||"AssignmentExpression"===a&&findChildIndex(e,t)===e.children.indexOf(e.expression)||"ReturnStatement"===a||"YieldExpression"===a})),e?.type){case"Call":{let r=findChildIndex(e.args,t);r>=0?(e.args[r]=maybeWrap(e.args[r],e),e=e.args[r]):e=void 0;break}case"BlockStatement":{let r=findChildIndex(e.expressions,t);r>=0?(e.expressions[r][1]=maybeWrap(e.expressions[r][1],e),e=e.expressions[r][1]):e=void 0;break}case"PipelineExpression":{let r=findChildIndex(e,t);if(1===r);else if(2===r){let i=findChildIndex(e.children[r],t);e.children[r][i][3]=maybeWrap(e.children[r][i][3],e),e=e.children[r][i][3]}else e=void 0;break}case"AssignmentExpression":case"Initializer":case"ReturnStatement":case"YieldExpression":{let r=findChildIndex(e,t);r>=0&&e.expression===e.children[r]?(e.expression=e.children[r]=maybeWrap(e.expression,e),e=e.expression):e=void 0;break}}e||replaceNode(l,{type:"Error",message:"Ampersand placeholder & outside of block"})}null!=e&&(t.has(e)?t.get(e).push(l):t.set(e,[l]))}for(let[e,r]of t){let t,i=makeRef("$");for(let e=0,n=r.length;e<n;e++){let n,l=r[e];t??=l.typeSuffix,(n=l.children)[n.length-1]=i}let n,l,{parent:o}=e,a=maybeUnwrap(e),p=makeAmpersandFunction({ref:i,typeSuffix:t,body:a});switch(o?.type){case"Argument":case"AssignmentExpression":case"Initializer":case"ReturnStatement":case"YieldExpression":n=e===o.expression;break;case"Call":n=e===o.args[findChildIndex(o.args,e)];break;case"BlockStatement":n=e===o.expressions[findChildIndex(o.expressions,e)][1];break;case"PipelineExpression":{let t,r=findChildIndex(o,e);t=1===r?e===o.children[r]:2===r?e===o.children[r][findChildIndex(o.children[r],e)][3]:void 0,n=t}}if(n||(p=makeLeftHandSideExpression(p)),replaceNode(e,p,o),"object"==typeof o&&null!=o&&"type"in o&&"BlockStatement"===o.type&&"parent"in o&&"object"==typeof o.parent&&null!=o.parent&&"type"in o.parent&&"ArrowFunction"===o.parent.type&&"ampersandBlock"in o.parent&&!0===o.parent.ampersandBlock&&"body"in o.parent&&o.parent.body===a&&(o.parent.body=p),l=getTrimmingSpace(a)){let e=l;inplaceInsertTrimmingSpace(a,""),inplacePrepend(e,p)}}}function reorderBindingRestProperty(e){let t=e.flatMap(e=>e.names),r=-1,i=0;if(e.forEach(({type:e},t)=>{if("BindingRestProperty"===e)return r<0&&(r=t),i++}),0===i)return{children:e,names:t};let n,l=e.slice(r+1),o=e[r];if(e=e.slice(0,r),l.length){let{delim:e}=o,t=l[l.length-1],{delim:r,children:i}=t;o={...o,delim:r,children:[...o.children.slice(0,-1),r]},l=[...l.slice(0,-1),{...t,delim:e,children:[...i.slice(0,-1),e]}]}Array.isArray(o.delim)&&","===(n=o.delim)[n.length-1]?.token&&(o.delim=o.delim.slice(0,-1),o.children=[...o.children.slice(0,-1),o.delim]);let a=[...e,...l,o];return i>1&&a.push({type:"Error",message:"Multiple rest properties in object pattern"}),{children:a,names:t}}function typeOfJSX(e,t){switch(e.type){case"JSXElement":return typeOfJSXElement(e,t);case"JSXFragment":return typeOfJSXFragment(e,t)}}function typeOfJSXElement(e,t){if(t.solid){if(t.server&&!t.client)return["string"];let{tag:r}=e,i=r[0]===r[0].toLowerCase()?[getHelperRef("IntrinsicElements"),'<"',r,'">']:["ReturnType<typeof ",r,">"];return t.server?["string"," | ",i]:i}}function collectJSXFragmentTypes(e,t){let r,i=[];for(let n of e.jsxChildren){switch(n.type){case"JSXText":"JSXText"!==r&&i.push("string");break;case"JSXElement":i.push(typeOfJSXElement(n,t));break;case"JSXFragment":i.push(...collectJSXFragmentTypes(n,t));break;case"JSXChildExpression":n.expression&&i.push(["typeof ",n.expression])}r=n.type}return i}function typeOfJSXFragment(e,t){if(t.solid){let r=collectJSXFragmentTypes(e,t);return 1===r.length?r[0]:(r=r.flatMap(e=>[e,", "]),r.pop(),["[",r,"]"])}}var grammar={Program,TopLevelStatements,NestedTopLevelStatements,TopLevelSingleLineStatements,TopLevelStatement,Expression,SingleLineExpression,NonPipelineExpression,NestedExpressionizedStatement,ExpressionizedStatementWithTrailingCallExpressions,ExpressionizedStatement,StatementExpression,CommaExpression,CommaExpressionSpread,AssignmentExpressionSpread,Arguments,ImplicitArguments,ExplicitArguments,ApplicationStart,ForbiddenImplicitCalls,ReservedBinary,ArgumentsWithTrailingCallExpressions,TrailingCallExpressions,IndentedTrailingCallExpressions,NestedTrailingCallExpression,AllowedTrailingCallExpressions,CommaDelimiter,OptionalCommaDelimiter,ArgumentList,PostfixedArgumentList,NestedArguments,NestedArgumentList,NestedArgument,SingleLineArgumentExpressions,WArgumentPart,SingleLinePostfixedArgumentExpressions,WPostfixedArgumentPart,ArgumentPart,PostfixedArgumentPart,BinaryOpExpression,BinaryOpNotDedented,BinaryOpRHS,IsLike,WRHS,SingleLineBinaryOpRHS,RHS,UnaryExpression,UnaryWithoutParenthesizedAssignment,UnaryBody,MaybeNestedCoffeeDoBody,CoffeeDoBody,UnaryWithoutParenthesizedAssignmentBody,ParenthesizedAssignment,UnaryPostfix,TypePostfix,Tuple,NWTypePostfix,UpdateExpression,UpdateExpressionPattern,UpdateExpressionSymbol,AssignmentExpression,NonPipelineAssignmentExpression,SingleLineAssignmentExpression,NonPipelineSingleLineAssignmentExpression,AssignmentExpressionTail,NonPipelineAssignmentExpressionTail,ActualAssignment,NonPipelineActualAssignment,YieldExpression,ArrowFunction,FatArrow,FatArrowToken,TrailingOperator,TrailingDeclaration,TrailingPipe,TrailingPostfix,FatArrowBody,ConditionalExpression,TernaryRest,NestedTernaryRest,ShortCircuitExpression,PipelineExpression,PipelineExpressionBody,PipelineExpressionBodySameLine,PipelineHeadItem,PipelineTailItem,PrimaryExpression,OptimizedParenthesizedExpression,ParenthesizedExpression,Placeholder,PlaceholderTypeSuffix,ClassDeclaration,ClassExpression,ClassBinding,ClassHeritage,ExtendsClause,WithClause,ExtendsToken,ExtendsShorthand,NotExtendsToken,OmittedNegation,ExtendsTarget,ImplementsClause,ImplementsToken,ImplementsShorthand,ImplementsTarget,ClassBody,ClassBracedContent,NestedClassElements,NestedClassElement,ClassElement,ClassElementDefinition,ClassSignature,ClassSignatureBody,NestedClassSignatureElements,NestedClassSignatureElement,ClassSignatureElement,AbstractModifier,DeclareModifier,OverrideModifier,ReadonlyModifier,StaticModifier,AccessModifier,FieldDefinition,ThisLiteral,BasicThisLiteral,HashThis,LengthShorthand,AtThis,LeftHandSideExpression,CallExpression,CallExpressionRest,ExplicitCallExpressionRest,OptionalShorthand,OptionalDot,NonNullAssertion,MemberExpression,ActualMemberExpression,MemberBase,MemberExpressionRest,MemberExpressionRestBody,MemberBracketContent,SliceParameters,AccessStart,ExplicitAccessStart,ImplicitAccessStart,PropertyAccessModifier,PropertyAccess,ExplicitPropertyGlob,PropertyGlob,PropertyBind,PropertyBindExplicitArguments,SuperProperty,MetaProperty,ReturnValue,AfterReturnShorthand,Parameters,ShortArrowParameters,ESArrowIdentifierParameters,ArrowParameters,ThinArrowParameters,NonEmptyParameters,ParameterList,NestedParameterList,NestedParameter,Parameter,FunctionRestParameter,ParameterElement,ParameterElementDelimiter,BindingIdentifier,NWBindingIdentifier,AtIdentifierRef,PinPattern,NamedBindingPattern,BindingPattern,ObjectBindingPattern,ObjectBindingPatternContent,BindingPropertyList,ArrayBindingPattern,ArrayBindingPatternContent,BindingElementList,NestedBindingElementList,Elision,NestedBindingProperties,NestedBindingPropertyList,BindingProperty,BindingRestProperty,BindingTypeSuffix,NestedBindingElements,BindingElement,BindingRestElement,EmptyBindingPattern,FunctionDeclaration,FunctionSignature,FunctionExpression,OperatorDeclaration,OperatorSignature,OperatorBehavior,OperatorPrecedence,OperatorAssociativity,ThinArrowFunction,ThinArrow,ExplicitBlock,EmptyBracedContent,ImplicitNestedBlock,Block,BareNestedBlock,BareBlock,ThenClause,ThenBlock,BracedThenClause,BracedOrEmptyBlock,NoCommaBracedOrEmptyBlock,NoPostfixBracedOrEmptyBlock,EmptyBlock,BlockOrEmptyStatement,BlockOrEmpty,EmptyStatementBareBlock,EmptyBareBlock,NoBlock,BracedBlock,NoPostfixBracedBlock,NoCommaBracedBlock,NonSingleBracedBlock,DeclarationOrStatement,SingleLineStatements,ObjectSingleLineStatements,BracedObjectSingleLineStatements,PostfixedSingleLineStatements,PostfixedSingleLineNoCommaStatements,NestedBlockStatements,NestedBlockStatement,BlockStatementPart,Literal,LiteralContent,NullLiteral,BooleanLiteral,_BooleanLiteral,CoffeeScriptBooleanLiteral,SymbolLiteral,SymbolElement,Identifier,IdentifierName,IdentifierReference,UpcomingAssignment,ArrayLiteral,_ArrayLiteral,RangeDots,OptionalRangeEnd,RangeEnd,RangeExpression,ArrayLiteralContent,NestedElementList,NestedElement,ArrayElementDelimiter,ElementListWithIndentedApplicationForbidden,ElementList,SingleLineElementList,ElementListRest,ArrayElementExpression,NestedBulletedArray,BulletedArray,NestedArrayBullet,ArrayBullet,ArrayBulletDelimiter,BulletIndent,Bullet,BulletedArrayWithTrailing,ObjectLiteral,BracedObjectLiteral,SingleLineObjectProperties,BracedObjectLiteralContent,NestedImplicitObjectLiteral,NestedImplicitPropertyDefinitions,NestedImplicitPropertyDefinition,NestedPropertyDefinitions,NestedPropertyDefinition,ImplicitObjectLiteral,ImplicitObjectPropertyDelimiter,InlineObjectLiteral,InlineObjectPropertyDelimiter,ObjectPropertyDelimiter,PropertyDefinition,NamedProperty,SnugNamedProperty,PropertyName,ComputedPropertyName,Decorator,Decorators,MethodDefinition,MethodModifier,MethodSignature,ClassElementName,PrivateIdentifier,WAssignmentOp,AssignmentOp,OperatorAssignmentOp,AssignmentOpSymbol,CoffeeWordAssignmentOp,NotDedentedBinaryOp,IdentifierBinaryOp,BinaryOp,_BinaryOp,BinaryOpSymbol,ActualIn,CoffeeOfOp,NotOp,Xor,Xnor,UnaryOp,AwaitOp,ModuleItem,StatementListItem,PostfixedStatement,NoCommaStatementListItem,PostfixedNoCommaStatement,PostfixedExpression,CommaLoop,PostfixedExpressionOrCommaLoop,PostfixedCommaExpression,PostfixStatement,_PostfixStatement,Statement,IterationActualStatement,ShouldExpressionize,NoCommaStatement,EmptyStatement,InsertEmptyStatement,BlockStatement,LabelledStatement,Label,LabelIdentifier,LabelledItem,IfStatement,ElseClause,IfClause,IterationStatement,_IterationStatement,IterationExpression,LoopStatement,LoopClause,DoWhileStatement,DoStatement,ComptimeStatement,WhileStatement,WhileClause,ForStatement,ForClause,ForStatementControlWithWhen,ForStatementControlWithReduction,ForReduction,ForStatementControl,WhenCondition,CoffeeForStatementParameters,CoffeeForIndex,CoffeeForDeclaration,ForStatementParameters,ForRangeParameters,ForInOfDeclaration,ForDeclaration,ForBinding,SwitchStatement,EmptyCondition,CaseBlock,NestedCaseClauses,NestedCaseClause,CaseClause,PatternExpressionList,PatternExpression,CaseExpressionList,CaseExpression,ImpliedColon,IgnoreColon,TryStatement,CatchClause,CatchBinding,WFinallyClause,FinallyClause,CatchParameter,Condition,BoundedCondition,DeclarationCondition,ExpressionWithIndentedApplicationForbidden,SingleLineExpressionWithIndentedApplicationForbidden,ExpressionWithObjectApplicationForbidden,LeftHandSideExpressionWithObjectApplicationForbidden,ForbidClassImplicitCall,AllowClassImplicitCall,RestoreClassImplicitCall,ClassImplicitCallForbidden,ForbidBracedApplication,AllowBracedApplication,RestoreBracedApplication,BracedApplicationAllowed,ForbidIndentedApplication,AllowIndentedApplication,RestoreIndentedApplication,IndentedApplicationAllowed,ForbidTrailingMemberProperty,AllowTrailingMemberProperty,RestoreTrailingMemberProperty,TrailingMemberPropertyAllowed,AllowNestedBinaryOp,ForbidNestedBinaryOp,RestoreNestedBinaryOp,NestedBinaryOpAllowed,AllowNewlineBinaryOp,ForbidNewlineBinaryOp,RestoreNewlineBinaryOp,NewlineBinaryOpAllowed,AllowImplicitFragment,ForbidImplicitFragment,RestoreImplicitFragment,ImplicitFragmentAllowed,AllowPipeline,ForbidPipeline,RestorePipeline,PipelineAllowed,AllowAll,RestoreAll,CommaExpressionStatement,ExpressionStatement,KeywordStatement,DebuggerStatement,ThrowStatement,Break,Continue,Debugger,MaybeNestedNonPipelineExpression,MaybeNestedPostfixedExpression,MaybeNestedPostfixedExpressionOrCommaLoop,MaybeNestedPostfixedCommaExpression,NestedPostfixedExpressionNoTrailing,MaybeNestedExpression,MaybeParenNestedExpression,ImportDeclaration,ImpliedImport,ImportClause,NameSpaceImport,NamedImports,OperatorNamedImports,DynamicNamedImports,DynamicImportContents,FromClause,ImportAssertion,TypeAndImportSpecifier,ImportSpecifier,OperatorImportSpecifier,DynamicImportSpecifier,DynamicModuleExportName,ImportAsToken,ModuleExportName,ModuleSpecifier,UnprocessedModuleSpecifier,UnquotedSpecifier,ImportedBinding,ExportDeclaration,ExportVarDec,ExportFromClause,TypeAndNamedExports,NamedExports,ExportSpecifier,ImplicitExportSpecifier,Declaration,HoistableDeclaration,LexicalDeclaration,ConstAssignment,LetAssignment,TypeAssignment,LexicalBinding,Initializer,VariableStatement,VariableDeclarationList,NumericLiteral,NumericLiteralKind,DecimalBigIntegerLiteral,DecimalLiteral,ExponentPart,BinaryIntegerLiteral,OctalIntegerLiteral,HexIntegerLiteral,IntegerLiteral,IntegerLiteralKind,DecimalIntegerLiteral,StringLiteral,DoubleStringCharacters,SingleStringCharacters,SingleLineStringLiteral,UnclosedSingleLineStringLiteral,TripleDoubleStringContents,CoffeeTripleDoubleStringCharacters,TripleDoubleStringCharacters,TripleSingleStringCharacters,CoffeeStringSubstitution,CoffeeInterpolatedDoubleQuotedString,CoffeeDoubleQuotedStringCharacters,RegularExpressionLiteral,RegularExpressionClass,RegularExpressionClassCharacters,HeregexLiteral,HeregexBody,HeregexPart,HeregexComment,RegularExpressionBody,RegExpPart,RegExpCharacter,RegularExpressionFlags,TemplateLiteral,_TemplateLiteral,TemplateSubstitution,TemplateCharacters,TemplateBlockCharacters,ReservedWord,Comment,_Comment,SingleLineComment,JSSingleLineComment,MultiLineComment,JSMultiLineComment,CoffeeSingleLineComment,CoffeeMultiLineComment,CoffeeHereCommentStart,InlineComment,RestOfLine,TrailingComment,_,NonNewlineWhitespace,Trimmed_,__,Whitespace,ExpressionDelimiter,SimpleStatementDelimiter,StatementDelimiter,ClosingDelimiter,SemicolonDelimiter,NonIdContinue,Loc,Abstract,Ampersand,As,At,AtAt,Async,Await,Backtick,By,Caret,Case,Catch,Class,CloseAngleBracket,CloseBrace,CloseBracket,CloseParen,CoffeeSubstitutionStart,Colon,Comma,Comptime,ConstructorShorthand,Declare,Default,Delete,Do,Dot,DotDot,DotDotDot,InsertDotDotDot,DoubleColon,DoubleColonAsColon,DoubleQuote,Each,Else,Equals,ExclamationPoint,Export,Extends,Finally,For,From,Function:Function2,GetOrSet,Hash,If,Import,In,Infer,LetOrConst,Const,Is,LetOrConstOrVar,Like,Loop,New,Not,Of,OpenAngleBracket,OpenBrace,OpenBracket,OpenParen,Operator,Override,Own,Public,Private,Protected,Pipe,QuestionMark,Readonly,Return,Satisfies,Semicolon,SingleQuote,Star,Static,SubstitutionStart,Super,Switch,Target,Then,This,Throw,TripleDoubleQuote,TripleSingleQuote,TripleSlash,TripleTick,Try,Typeof,Undefined,Unless,Until,Using,Var,Void,When,While,With,Yield,JSXImplicitFragment,JSXTag,_JSXTag,JSXElement,JSXSelfClosingElement,PushJSXOpeningElement,PopJSXStack,JSXOpeningElement,JSXOptionalClosingElement,JSXClosingElement,JSXFragment,PushJSXOpeningFragment,JSXOptionalClosingFragment,JSXClosingFragment,JSXElementName,JSXIdentifierName,JSXAttributes,JSXAttribute,JSXAttributeSpace,JSXShorthandString,JSXAttributeName,JSXAttributeInitializer,JSXAttributeValue,InlineJSXAttributeValue,InlineJSXBinaryOpRHS,InlineJSXUnaryExpression,InlineJSXUnaryOp,InlineJSXUnaryPostfix,InlineJSXUpdateExpression,InlineJSXCallExpression,InlineJSXCallExpressionRest,InlineJSXMemberExpression,InlineJSXMemberExpressionRest,InlineJSXPrimaryExpression,JSXMixedChildren,JSXSameLineChildren,JSXChildren,JSXNestedChildren,JSXEOS,JSXNested,JSXChild,JSXChildForcedCode,JSXChildForcedNoCode,JSXChildGeneral,JSXComment,JSXCommentContent,JSXText,JSXChildExpression,IndentedJSXChildExpression,NestedJSXChildExpression,JSXAngleChild,JSXCodeChild,JSXCodeChildExpression,UsingDeclaration,UsingBinding,UsingJSModeError,TypeDeclaration,TypeDeclarationRest,TypeAliasDeclaration,InterfaceDeclaration,NamespaceDeclaration,OptionalEquals,TypeLexicalDeclaration,TypeLetOrConstDeclaration,TypeDeclarationBinding,InterfaceExtendsClause,InterfaceExtendsTarget,TypeKeyword,Enum,Interface,Global,Module,Namespace,InterfaceOrEmptyBlock,InterfaceBlock,NestedInterfaceBlock,NestedInterfaceProperties,NestedInterfaceProperty,InterfaceProperty,BasicInterfaceProperty,InterfacePropertyDelimiter,ModuleOrEmptyBlock,NestedModuleItems,NestedModuleItem,DeclareBlock,NestedDeclareElements,NestedDeclareElement,DeclareElement,EnumDeclaration,EnumBlock,NestedEnumProperties,NestedEnumPropertyLine,EnumProperty,TypeProperty,TypeIndexSignature,TypeIndex,TypeSuffix,MaybeNestedType,MaybeNestedTypePrimary,MaybeNestedTypeUnary,ReturnTypeSuffix,ReturnType,TypePredicate,Type,TypeBinary,NestedTypeBinaryChain,NestedTypeBinary,TypeUnary,TypeUnarySuffix,TypeUnaryOp,TypeIndexedAccess,UnknownAlias,TypePrimary,TypeIdentifier,ImportType,TypeTuple,TypeTupleContent,TypeElementListWithIndentedApplicationForbidden,TypeElementList,TypeElement,NestedTypeElementList,NestedTypeElement,NestedTypeBulletedTuple,TypeBulletedTuple,NestedTypeBullet,TypeBullet,TypeWithPostfix,TypeConditional,TypeCondition,TypeIfThenElse,TypeIfClause,TypeElse,TypeBlock,TypeTemplateSubstitution,TypeTemplateLiteral,CoffeeStringTypeSubstitution,CoffeeInterpolatedDoubleQuotedTypeLiteral,TypeLiteral,InlineInterfaceLiteral,InlineBasicInterfaceProperty,InlineInterfacePropertyDelimiter,TypeBinaryOp,TypeFunction,TypeFunctionArrow,TypeArguments,ImplicitTypeArguments,TypeApplicationStart,ForbiddenImplicitTypeCalls,TypeArgumentList,NestedTypeArgumentList,NestedTypeArgument,SingleLineTypeArgumentList,WTypeArgument,TypeArgumentDelimited,TypeArgument,TypeArgumentDelimiter,TypeParameters,TypeParameter,TypeConstraint,TypeInitializer,TypeParameterDelimiter,ThisType,Shebang,CivetPrologue,CivetPrologueContent,CivetOption,UnknownPrologue,TripleSlashDirective,DirectivePrologue,PrologueString,EOS,EOL,DebugHere,InsertColon,InsertSemicolon,InsertOpenParen,InsertCloseParen,InsertOpenBrace,InsertInlineOpenBrace,InsertCloseBrace,InsertOpenBracket,InsertCloseBracket,InsertOpenAngleBracket,InsertCloseAngleBracket,InsertComma,InsertSpaceEquals,InsertConst,InsertLet,InsertReadonly,InsertNewline,InsertIndent,InsertSpace,InsertDot,InsertBreak,InsertVar,InsertType,CoffeeBinaryExistentialEnabled,CoffeeBooleansEnabled,CoffeeClassesEnabled,CoffeeCommentEnabled,CoffeeDivEnabled,CoffeeDoEnabled,CoffeeForLoopsEnabled,CoffeeInterpolationEnabled,CoffeeIsntEnabled,CoffeeJSXEnabled,CoffeeLineContinuationEnabled,CoffeeNotEnabled,CoffeeOfEnabled,CoffeePrototypeEnabled,ESArrowFunctionEnabled,JSXCodeNestedEnabled,JSXCodeSameLineEnabled,ObjectIsEnabled,IsBare,Reset,Init,Prologue,ProloguePrefix,Indent,TrackIndented,PushIndent,PopIndent,Nested,IndentedFurther,IndentedAtLeast,NotDedented,SameLineOrIndentedFurther,Dedented,PushExtraIndent1},$L0=(0,import_lib2.$L)(""),$L1=(0,import_lib2.$L)("{"),$L2=(0,import_lib2.$L)("/ "),$L3=(0,import_lib2.$L)("="),$L4=(0,import_lib2.$L)("("),$L5=(0,import_lib2.$L)("... "),$L6=(0,import_lib2.$L)("?"),$L7=(0,import_lib2.$L)("."),$L8=(0,import_lib2.$L)("tuple"),$L9=(0,import_lib2.$L)("++"),$L10=(0,import_lib2.$L)("--"),$L11=(0,import_lib2.$L)("⧺"),$L12=(0,import_lib2.$L)("—"),$L13=(0,import_lib2.$L)("=>"),$L14=(0,import_lib2.$L)("⇒"),$L15=(0,import_lib2.$L)(":"),$L16=(0,import_lib2.$L)(" "),$L17=(0,import_lib2.$L)("<"),$L18=(0,import_lib2.$L)("implements"),$L19=(0,import_lib2.$L)("<:"),$L20=(0,import_lib2.$L)("^"),$L21=(0,import_lib2.$L)("<?"),$L22=(0,import_lib2.$L)("-"),$L23=(0,import_lib2.$L)("import.meta"),$L24=(0,import_lib2.$L)("return.value"),$L25=(0,import_lib2.$L)(","),$L26=(0,import_lib2.$L)("tighter"),$L27=(0,import_lib2.$L)("looser"),$L28=(0,import_lib2.$L)("same"),$L29=(0,import_lib2.$L)("left"),$L30=(0,import_lib2.$L)("right"),$L31=(0,import_lib2.$L)("non"),$L32=(0,import_lib2.$L)("relational"),$L33=(0,import_lib2.$L)("arguments"),$L34=(0,import_lib2.$L)("->"),$L35=(0,import_lib2.$L)("→"),$L36=(0,import_lib2.$L)("}"),$L37=(0,import_lib2.$L)("null"),$L38=(0,import_lib2.$L)("true"),$L39=(0,import_lib2.$L)("false"),$L40=(0,import_lib2.$L)("yes"),$L41=(0,import_lib2.$L)("on"),$L42=(0,import_lib2.$L)("no"),$L43=(0,import_lib2.$L)("off"),$L44=(0,import_lib2.$L)(">"),$L45=(0,import_lib2.$L)("]"),$L46=(0,import_lib2.$L)("•"),$L47=(0,import_lib2.$L)("//"),$L48=(0,import_lib2.$L)("**="),$L49=(0,import_lib2.$L)("*="),$L50=(0,import_lib2.$L)("%/"),$L51=(0,import_lib2.$L)("÷"),$L52=(0,import_lib2.$L)("%%"),$L53=(0,import_lib2.$L)("/="),$L54=(0,import_lib2.$L)("%="),$L55=(0,import_lib2.$L)("+="),$L56=(0,import_lib2.$L)("-="),$L57=(0,import_lib2.$L)("<<="),$L58=(0,import_lib2.$L)("≪="),$L59=(0,import_lib2.$L)(">>>="),$L60=(0,import_lib2.$L)("⋙="),$L61=(0,import_lib2.$L)(">>="),$L62=(0,import_lib2.$L)("≫="),$L63=(0,import_lib2.$L)("&&="),$L64=(0,import_lib2.$L)("&="),$L65=(0,import_lib2.$L)("^="),$L66=(0,import_lib2.$L)("||="),$L67=(0,import_lib2.$L)("‖="),$L68=(0,import_lib2.$L)("|="),$L69=(0,import_lib2.$L)("??="),$L70=(0,import_lib2.$L)("⁇="),$L71=(0,import_lib2.$L)("?="),$L72=(0,import_lib2.$L)("and="),$L73=(0,import_lib2.$L)("or="),$L74=(0,import_lib2.$L)("*"),$L75=(0,import_lib2.$L)("**"),$L76=(0,import_lib2.$L)("/"),$L77=(0,import_lib2.$L)("%"),$L78=(0,import_lib2.$L)("+"),$L79=(0,import_lib2.$L)("<="),$L80=(0,import_lib2.$L)("≤"),$L81=(0,import_lib2.$L)(">="),$L82=(0,import_lib2.$L)("≥"),$L83=(0,import_lib2.$L)("!<?"),$L84=(0,import_lib2.$L)("<<"),$L85=(0,import_lib2.$L)("≪"),$L86=(0,import_lib2.$L)(">>>"),$L87=(0,import_lib2.$L)("⋙"),$L88=(0,import_lib2.$L)(">>"),$L89=(0,import_lib2.$L)("≫"),$L90=(0,import_lib2.$L)("!=="),$L91=(0,import_lib2.$L)("≢"),$L92=(0,import_lib2.$L)("!="),$L93=(0,import_lib2.$L)("≠"),$L94=(0,import_lib2.$L)("isnt"),$L95=(0,import_lib2.$L)("==="),$L96=(0,import_lib2.$L)("≣"),$L97=(0,import_lib2.$L)("⩶"),$L98=(0,import_lib2.$L)("=="),$L99=(0,import_lib2.$L)("≡"),$L100=(0,import_lib2.$L)("⩵"),$L101=(0,import_lib2.$L)("and"),$L102=(0,import_lib2.$L)("&&"),$L103=(0,import_lib2.$L)("or"),$L104=(0,import_lib2.$L)("||"),$L105=(0,import_lib2.$L)("‖"),$L106=(0,import_lib2.$L)("^^"),$L107=(0,import_lib2.$L)("xor"),$L108=(0,import_lib2.$L)("xnor"),$L109=(0,import_lib2.$L)("??"),$L110=(0,import_lib2.$L)("⁇"),$L111=(0,import_lib2.$L)("instanceof"),$L112=(0,import_lib2.$L)("∈"),$L113=(0,import_lib2.$L)("∋"),$L114=(0,import_lib2.$L)("∌"),$L115=(0,import_lib2.$L)("∉"),$L116=(0,import_lib2.$L)("&"),$L117=(0,import_lib2.$L)("|"),$L118=(0,import_lib2.$L)(";"),$L119=(0,import_lib2.$L)("some"),$L120=(0,import_lib2.$L)("every"),$L121=(0,import_lib2.$L)("count"),$L122=(0,import_lib2.$L)("first"),$L123=(0,import_lib2.$L)("sum"),$L124=(0,import_lib2.$L)("product"),$L125=(0,import_lib2.$L)("min"),$L126=(0,import_lib2.$L)("max"),$L127=(0,import_lib2.$L)("join"),$L128=(0,import_lib2.$L)("concat"),$L129=(0,import_lib2.$L)("break"),$L130=(0,import_lib2.$L)("continue"),$L131=(0,import_lib2.$L)("debugger"),$L132=(0,import_lib2.$L)("require"),$L133=(0,import_lib2.$L)("with"),$L134=(0,import_lib2.$L)("assert"),$L135=(0,import_lib2.$L)(":="),$L136=(0,import_lib2.$L)("≔"),$L137=(0,import_lib2.$L)(".="),$L138=(0,import_lib2.$L)("::="),$L139=(0,import_lib2.$L)("/*"),$L140=(0,import_lib2.$L)("*/"),$L141=(0,import_lib2.$L)("\\"),$L142=(0,import_lib2.$L)(")"),$L143=(0,import_lib2.$L)("abstract"),$L144=(0,import_lib2.$L)("as"),$L145=(0,import_lib2.$L)("@"),$L146=(0,import_lib2.$L)("@@"),$L147=(0,import_lib2.$L)("async"),$L148=(0,import_lib2.$L)("await"),$L149=(0,import_lib2.$L)("`"),$L150=(0,import_lib2.$L)("by"),$L151=(0,import_lib2.$L)("case"),$L152=(0,import_lib2.$L)("catch"),$L153=(0,import_lib2.$L)("class"),$L154=(0,import_lib2.$L)("#{"),$L155=(0,import_lib2.$L)("comptime"),$L156=(0,import_lib2.$L)("declare"),$L157=(0,import_lib2.$L)("default"),$L158=(0,import_lib2.$L)("delete"),$L159=(0,import_lib2.$L)("do"),$L160=(0,import_lib2.$L)(".."),$L161=(0,import_lib2.$L)("‥"),$L162=(0,import_lib2.$L)("..."),$L163=(0,import_lib2.$L)("…"),$L164=(0,import_lib2.$L)("::"),$L165=(0,import_lib2.$L)('"'),$L166=(0,import_lib2.$L)("each"),$L167=(0,import_lib2.$L)("else"),$L168=(0,import_lib2.$L)("!"),$L169=(0,import_lib2.$L)("export"),$L170=(0,import_lib2.$L)("extends"),$L171=(0,import_lib2.$L)("finally"),$L172=(0,import_lib2.$L)("for"),$L173=(0,import_lib2.$L)("from"),$L174=(0,import_lib2.$L)("function"),$L175=(0,import_lib2.$L)("get"),$L176=(0,import_lib2.$L)("set"),$L177=(0,import_lib2.$L)("#"),$L178=(0,import_lib2.$L)("if"),$L179=(0,import_lib2.$L)("import"),$L180=(0,import_lib2.$L)("in"),$L181=(0,import_lib2.$L)("infer"),$L182=(0,import_lib2.$L)("let"),$L183=(0,import_lib2.$L)("const"),$L184=(0,import_lib2.$L)("is"),$L185=(0,import_lib2.$L)("var"),$L186=(0,import_lib2.$L)("like"),$L187=(0,import_lib2.$L)("loop"),$L188=(0,import_lib2.$L)("new"),$L189=(0,import_lib2.$L)("not"),$L190=(0,import_lib2.$L)("of"),$L191=(0,import_lib2.$L)("["),$L192=(0,import_lib2.$L)("operator"),$L193=(0,import_lib2.$L)("override"),$L194=(0,import_lib2.$L)("own"),$L195=(0,import_lib2.$L)("public"),$L196=(0,import_lib2.$L)("private"),$L197=(0,import_lib2.$L)("protected"),$L198=(0,import_lib2.$L)("||>"),$L199=(0,import_lib2.$L)("|▷"),$L200=(0,import_lib2.$L)("|>="),$L201=(0,import_lib2.$L)("▷="),$L202=(0,import_lib2.$L)("|>"),$L203=(0,import_lib2.$L)("▷"),$L204=(0,import_lib2.$L)("readonly"),$L205=(0,import_lib2.$L)("return"),$L206=(0,import_lib2.$L)("satisfies"),$L207=(0,import_lib2.$L)("'"),$L208=(0,import_lib2.$L)("static"),$L209=(0,import_lib2.$L)("${"),$L210=(0,import_lib2.$L)("super"),$L211=(0,import_lib2.$L)("switch"),$L212=(0,import_lib2.$L)("target"),$L213=(0,import_lib2.$L)("then"),$L214=(0,import_lib2.$L)("this"),$L215=(0,import_lib2.$L)("throw"),$L216=(0,import_lib2.$L)('"""'),$L217=(0,import_lib2.$L)("'''"),$L218=(0,import_lib2.$L)("///"),$L219=(0,import_lib2.$L)("```"),$L220=(0,import_lib2.$L)("try"),$L221=(0,import_lib2.$L)("typeof"),$L222=(0,import_lib2.$L)("undefined"),$L223=(0,import_lib2.$L)("unless"),$L224=(0,import_lib2.$L)("until"),$L225=(0,import_lib2.$L)("using"),$L226=(0,import_lib2.$L)("void"),$L227=(0,import_lib2.$L)("when"),$L228=(0,import_lib2.$L)("while"),$L229=(0,import_lib2.$L)("yield"),$L230=(0,import_lib2.$L)("/>"),$L231=(0,import_lib2.$L)("</"),$L232=(0,import_lib2.$L)("<>"),$L233=(0,import_lib2.$L)("</>"),$L234=(0,import_lib2.$L)("\x3c!--"),$L235=(0,import_lib2.$L)("--\x3e"),$L236=(0,import_lib2.$L)("type"),$L237=(0,import_lib2.$L)("enum"),$L238=(0,import_lib2.$L)("interface"),$L239=(0,import_lib2.$L)("global"),$L240=(0,import_lib2.$L)("module"),$L241=(0,import_lib2.$L)("namespace"),$L242=(0,import_lib2.$L)("asserts"),$L243=(0,import_lib2.$L)("keyof"),$L244=(0,import_lib2.$L)("???"),$L245=(0,import_lib2.$L)("unique"),$L246=(0,import_lib2.$L)("symbol"),$L247=(0,import_lib2.$L)("[]"),$L248=(0,import_lib2.$L)("civet"),$R0=(0,import_lib2.$R)(new RegExp("(?=async|debugger|if|unless|comptime|do|for|loop|until|while|switch|throw|try)","suy")),$R1=(0,import_lib2.$R)(new RegExp("&(?=\\s)","suy")),$R2=(0,import_lib2.$R)(new RegExp("(as|of|by|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])","suy")),$R3=(0,import_lib2.$R)(new RegExp("[0-9]","suy")),$R4=(0,import_lib2.$R)(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])","suy")),$R5=(0,import_lib2.$R)(new RegExp("[ \\t]","suy")),$R6=(0,import_lib2.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#{=]","suy")),$R7=(0,import_lib2.$R)(new RegExp("[&=]","suy")),$R8=(0,import_lib2.$R)(new RegExp("[@#]","suy")),$R9=(0,import_lib2.$R)(new RegExp("(?=['\"`])","suy")),$R10=(0,import_lib2.$R)(new RegExp("(?=[\\/?])","suy")),$R11=(0,import_lib2.$R)(new RegExp("(?=[\\/\\[{?.!@#'’:])","suy")),$R12=(0,import_lib2.$R)(new RegExp("%%?","suy")),$R13=(0,import_lib2.$R)(new RegExp("[.\\s]","suy")),$R14=(0,import_lib2.$R)(new RegExp("[)\\]}]","suy")),$R15=(0,import_lib2.$R)(new RegExp("[+-]","suy")),$R16=(0,import_lib2.$R)(new RegExp("\\+\\+|--|⧺|—|[\\+\\-&]\\S","suy")),$R17=(0,import_lib2.$R)(new RegExp("(?=[0-9.'\"tfyno])","suy")),$R18=(0,import_lib2.$R)(new RegExp("(?=true|false|yes|no|on|off)","suy")),$R19=(0,import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$\\\\]|[^\\u0000-\\u007F\\p{ID_Continue}\\s÷—‖’•‥…⁇→⇒∈∉∋∌≔≠≡≢≣≤≥≪≫⋙▷⧺⩵⩶])","suy")),$R20=(0,import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$]|\\\\u\\{0*(?:[\\dA-Fa-f]{1,5}|10[\\dA-Fa-f]{4})\\}|\\\\u[\\dA-Fa-f]{4}|[^\\u0000-\\u007F\\p{ID_Continue}\\s÷—‖’•‥…⁇→⇒∈∉∋∌≔≠≡≢≣≤≥≪≫⋙▷⧺⩵⩶])(?:\\p{ID_Continue}|[\\u200C\\u200D$]|\\\\u\\{0*(?:[\\dA-Fa-f]{1,5}|10[\\dA-Fa-f]{4})\\}|\\\\u[\\dA-Fa-f]{4}|[^\\u0000-\\u007F\\p{ID_Continue}\\s÷—‖’•‥…⁇→⇒∈∉∋∌≔≠≡≢≣≤≥≪≫⋙▷⧺⩵⩶])*","suy")),$R21=(0,import_lib2.$R)(new RegExp("(?=\\[|\\s*[.•\\/])","suy")),$R22=(0,import_lib2.$R)(new RegExp("([<>])(=?)|([≤≥])","suy")),$R23=(0,import_lib2.$R)(new RegExp("[ \\t]*","suy")),$R24=(0,import_lib2.$R)(new RegExp("[ \\t]+","suy")),$R25=(0,import_lib2.$R)(new RegExp("[!+-]?","suy")),$R26=(0,import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*","suy")),$R27=(0,import_lib2.$R)(new RegExp("[=>]","suy")),$R28=(0,import_lib2.$R)(new RegExp("(?=\\p{ID_Start}|[_$^≪≫⋙≤≥∈∋∉∌≣≡≢≠=⩶⩵‖⁇&|*\\/!?%÷<>⧺+-])","suy")),$R29=(0,import_lib2.$R)(new RegExp("!\\^\\^?","suy")),$R30=(0,import_lib2.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)","suy")),$R31=(0,import_lib2.$R)(new RegExp("[:.]","suy")),$R32=(0,import_lib2.$R)(new RegExp("(?=for|if|loop|unless|until|while)","suy")),$R33=(0,import_lib2.$R)(new RegExp("(?:loop|while|until|for|do)(?!\\p{ID_Continue})","suy")),$R34=(0,import_lib2.$R)(new RegExp("(?=loop|comptime|do|for|until|while)","suy")),$R35=(0,import_lib2.$R)(new RegExp("\\s","suy")),$R36=(0,import_lib2.$R)(new RegExp("[^;\"'\\s=>]+","suy")),$R37=(0,import_lib2.$R)(new RegExp("(?=[0-9.])","suy")),$R38=(0,import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n","suy")),$R39=(0,import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))","suy")),$R40=(0,import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?","suy")),$R41=(0,import_lib2.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)","suy")),$R42=(0,import_lib2.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)","suy")),$R43=(0,import_lib2.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?","suy")),$R44=(0,import_lib2.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?","suy")),$R45=(0,import_lib2.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?","suy")),$R46=(0,import_lib2.$R)(new RegExp("(?=[0-9])","suy")),$R47=(0,import_lib2.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)","suy")),$R48=(0,import_lib2.$R)(new RegExp('(?:\\\\.|[^"])*',"suy")),$R49=(0,import_lib2.$R)(new RegExp("(?:\\\\.|[^'])*","suy")),$R50=(0,import_lib2.$R)(new RegExp('(?:\\\\.|[^"\\n])*',"suy")),$R51=(0,import_lib2.$R)(new RegExp("(?:\\\\.|[^'\\n])*","suy")),$R52=(0,import_lib2.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+',"suy")),$R53=(0,import_lib2.$R)(new RegExp('(?:"(?!"")|\\\\.|[^"])+',"suy")),$R54=(0,import_lib2.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*","suy")),$R55=(0,import_lib2.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+',"suy")),$R56=(0,import_lib2.$R)(new RegExp("(?:\\\\.|[^\\]])*","suy")),$R57=(0,import_lib2.$R)(new RegExp("(?:\\\\.)","suy")),$R58=(0,import_lib2.$R)(new RegExp("[\\s]+","suy")),$R59=(0,import_lib2.$R)(new RegExp("\\/(?!\\/\\/)","suy")),$R60=(0,import_lib2.$R)(new RegExp("[^[\\/\\s#$\\\\]+|[#$]","suy")),$R61=(0,import_lib2.$R)(new RegExp("[*\\/\\r\\n]","suy")),$R62=(0,import_lib2.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+","suy")),$R63=(0,import_lib2.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*","suy")),$R64=(0,import_lib2.$R)(new RegExp("(?=[`'\"])","suy")),$R65=(0,import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+","suy")),$R66=(0,import_lib2.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+","suy")),$R67=(0,import_lib2.$R)(new RegExp("(?:off|yes|on|no)","suy")),$R68=(0,import_lib2.$R)(new RegExp("isnt","suy")),$R69=(0,import_lib2.$R)(new RegExp("by","suy")),$R70=(0,import_lib2.$R)(new RegExp("of","suy")),$R71=(0,import_lib2.$R)(new RegExp("(?:instanceof|interface|protected|continue|debugger|function|default|extends|finally|private|delete|export|import|public|return|static|switch|typeof|unless|await|break|catch|class|const|false|super|throw|until|while|yield|case|else|enum|loop|null|this|true|void|with|and|for|let|new|not|try|var|do|if|in|is|or)","suy")),$R72=(0,import_lib2.$R)(new RegExp("(?=\\/|#)","suy")),$R73=(0,import_lib2.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*","suy")),$R74=(0,import_lib2.$R)(new RegExp(".","suy")),$R75=(0,import_lib2.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)","suy")),$R76=(0,import_lib2.$R)(new RegExp("[^]*?###","suy")),$R77=(0,import_lib2.$R)(new RegExp("###(?!#)","suy")),$R78=(0,import_lib2.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/","suy")),$R79=(0,import_lib2.$R)(new RegExp("(?=[ \\t\\/\\\\#])","suy")),$R80=(0,import_lib2.$R)(new RegExp("(?=\\s|\\/|#)","suy")),$R81=(0,import_lib2.$R)(new RegExp("(?!\\p{ID_Continue}|[^\\u0000-\\u007F\\p{ID_Continue}\\s÷—‖’•‥…⁇→⇒∈∉∋∌≔≠≡≢≣≤≥≪≫⋙▷⧺⩵⩶])","suy")),$R82=(0,import_lib2.$R)(new RegExp("[=:]","suy")),$R83=(0,import_lib2.$R)(new RegExp("['’]s","suy")),$R84=(0,import_lib2.$R)(new RegExp("(?=[<])","suy")),$R85=(0,import_lib2.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*","suy")),$R86=(0,import_lib2.$R)(new RegExp("[!+-]","suy")),$R87=(0,import_lib2.$R)(new RegExp("[\\s>]|\\/>","suy")),$R88=(0,import_lib2.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+","suy")),$R89=(0,import_lib2.$R)(new RegExp("\"[^\"]*\"|'[^']*'","suy")),$R90=(0,import_lib2.$R)(new RegExp("[<>]","suy")),$R91=(0,import_lib2.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)","suy")),$R92=(0,import_lib2.$R)(new RegExp("(?:-[^-]|[^-]*)*","suy")),$R93=(0,import_lib2.$R)(new RegExp("[^{}<>\\r\\n]+","suy")),$R94=(0,import_lib2.$R)(new RegExp("[+-]?","suy")),$R95=(0,import_lib2.$R)(new RegExp("(?=if|unless)","suy")),$R96=(0,import_lib2.$R)(new RegExp("[|&<!=\\-⇒→]","suy")),$R97=(0,import_lib2.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])","suy")),$R98=(0,import_lib2.$R)(new RegExp("const|in|out","suy")),$R99=(0,import_lib2.$R)(new RegExp("#![^\\r\\n]*","suy")),$R100=(0,import_lib2.$R)(new RegExp("[\\t ]*","suy")),$R101=(0,import_lib2.$R)(new RegExp("[\\s]*","suy")),$R102=(0,import_lib2.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?","suy")),$R103=(0,import_lib2.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*","suy")),$R104=(0,import_lib2.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)","suy")),$R105=(0,import_lib2.$R)(new RegExp("\\r\\n|\\n|\\r|$","suy")),$R106=(0,import_lib2.$R)(new RegExp("[^]*","suy")),Program$parser=(0,import_lib2.$S)(Reset,Init,(0,import_lib2.$E)(EOS),TopLevelStatements,__);function Program(e,t){let r=e.enter&&e.enter("Program",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Program$parser(e,t);if(!n)return void(e.exit&&e.exit("Program",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Program",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Program",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a){let p={type:"BlockStatement",expressions:o,children:[i,n,l,o,a],bare:!0,root:!0};return processProgram(p),p}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Program",t,l,i),l}var TopLevelStatements$0$parser=(0,import_lib2.$S)(TrackIndented,TopLevelSingleLineStatements,(0,import_lib2.$Q)(NestedTopLevelStatements),PopIndent),TopLevelStatements$1$parser=(0,import_lib2.$S)(TopLevelSingleLineStatements,(0,import_lib2.$Q)(NestedTopLevelStatements)),TopLevelStatements$2$parser=(0,import_lib2.$EXPECT)($L0,'TopLevelStatements ""');function TopLevelStatements$0(e,t){let r=TopLevelStatements$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],n[3],u=p,[[o,...(s=a)[0]],...s.slice(1).map(e=>["",...e]),...u.flat()]);var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TopLevelStatements$1(e,t){let r=TopLevelStatements$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=a,[...o.map(e=>["",...e]),...p.flat()]);var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TopLevelStatements$2(e,t){let r=TopLevelStatements$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return[]}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function TopLevelStatements(e,t){let r=e.enter&&e.enter("TopLevelStatements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TopLevelStatements$0(e,t);return n||(n=TopLevelStatements$1(e,t)),n||(n=TopLevelStatements$2(e,t)),n&&e.tokenize&&(n.value={type:"TopLevelStatements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TopLevelStatements",t,n,i),n}var NestedTopLevelStatements$parser=(0,import_lib2.$S)(Nested,TopLevelSingleLineStatements);function NestedTopLevelStatements(e,t){let r=e.enter&&e.enter("NestedTopLevelStatements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTopLevelStatements$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTopLevelStatements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTopLevelStatements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTopLevelStatements",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[[p,...(u=s)[0]],...u.slice(1).map(e=>["",...e])]);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTopLevelStatements",t,l,i),l}var TopLevelSingleLineStatements$parser=(0,import_lib2.$P)(TopLevelStatement);function TopLevelSingleLineStatements(e,t){let r=e.enter&&e.enter("TopLevelSingleLineStatements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TopLevelSingleLineStatements$parser(e,t);return n&&e.tokenize&&(n.value={type:"TopLevelSingleLineStatements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TopLevelSingleLineStatements",t,n,i),n}var TopLevelStatement$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),(0,import_lib2.$E)(_),ModuleItem,StatementDelimiter);function TopLevelStatement(e,t){let r=e.enter&&e.enter("TopLevelStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TopLevelStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("TopLevelStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TopLevelStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TopLevelStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],p=o[1],s=o[2],u=o[3],c=u,[prepend(p,s),c]);var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TopLevelStatement",t,l,i),l}function Expression(e,t){let r=e.enter&&e.enter("Expression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AssignmentExpression(e,t);return n&&e.tokenize&&(n.value={type:"Expression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Expression",t,n,i),n}function SingleLineExpression(e,t){let r=e.enter&&e.enter("SingleLineExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineAssignmentExpression(e,t);return n&&e.tokenize&&(n.value={type:"SingleLineExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("SingleLineExpression",t,n,i),n}function NonPipelineExpression(e,t){let r=e.enter&&e.enter("NonPipelineExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonPipelineAssignmentExpression(e,t);return n&&e.tokenize&&(n.value={type:"NonPipelineExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NonPipelineExpression",t,n,i),n}var NestedExpressionizedStatement$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,ExpressionizedStatementWithTrailingCallExpressions)),PopIndent,(0,import_lib2.$E)(AllowedTrailingCallExpressions));function NestedExpressionizedStatement(e,t){let r=e.enter&&e.enter("NestedExpressionizedStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedExpressionizedStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedExpressionizedStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedExpressionizedStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedExpressionizedStatement",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],o[1],s=o[2],o[3],u=o[4],m=u,(c=s)?m?{type:"CallExpression",children:[c,...m]}:c:p);var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedExpressionizedStatement",t,l,i),l}var ExpressionizedStatementWithTrailingCallExpressions$parser=(0,import_lib2.$S)(ExpressionizedStatement,(0,import_lib2.$E)(AllowedTrailingCallExpressions));function ExpressionizedStatementWithTrailingCallExpressions(e,t){let r=e.enter&&e.enter("ExpressionizedStatementWithTrailingCallExpressions",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExpressionizedStatementWithTrailingCallExpressions$parser(e,t);if(!n)return void(e.exit&&e.exit("ExpressionizedStatementWithTrailingCallExpressions",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExpressionizedStatementWithTrailingCallExpressions",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExpressionizedStatementWithTrailingCallExpressions",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],(s=o[1])?{type:"CallExpression",children:[makeLeftHandSideExpression(p),...s]}:p);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExpressionizedStatementWithTrailingCallExpressions",t,l,i),l}var ExpressionizedStatement$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R0,"ExpressionizedStatement /(?=async|debugger|if|unless|comptime|do|for|loop|until|while|switch|throw|try)/"),StatementExpression);function ExpressionizedStatement(e,t){let r=e.enter&&e.enter("ExpressionizedStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExpressionizedStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("ExpressionizedStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExpressionizedStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExpressionizedStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return{type:"StatementExpression",statement:n,children:[n]}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExpressionizedStatement",t,l,i),l}function StatementExpression$0(e,t){return DebuggerStatement(e,t)}function StatementExpression$1(e,t){return IfStatement(e,t)}function StatementExpression$2(e,t){return IterationExpression(e,t)}function StatementExpression$3(e,t){return SwitchStatement(e,t)}function StatementExpression$4(e,t){return ThrowStatement(e,t)}function StatementExpression$5(e,t){return TryStatement(e,t)}function StatementExpression(e,t){let r=e.enter&&e.enter("StatementExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=StatementExpression$0(e,t);return n||(n=StatementExpression$1(e,t)),n||(n=StatementExpression$2(e,t)),n||(n=StatementExpression$3(e,t)),n||(n=StatementExpression$4(e,t)),n||(n=StatementExpression$5(e,t)),n&&e.tokenize&&(n.value={type:"StatementExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("StatementExpression",t,n,i),n}var CommaExpression$parser=(0,import_lib2.$S)(AssignmentExpression,(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,AssignmentExpression)));function CommaExpression(e,t){let r=e.enter&&e.enter("CommaExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CommaExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("CommaExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CommaExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CommaExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,s=o[0],o[1].length?p:s);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CommaExpression",t,l,i),l}var CommaExpressionSpread$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot,(0,import_lib2.$E)(_),IterationActualStatement),CommaExpressionSpread$1$parser=(0,import_lib2.$S)(AssignmentExpressionSpread,(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,AssignmentExpressionSpread)));function CommaExpressionSpread$0(e,t){let r=CommaExpressionSpread$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],n[1],a=n[2],p=n[3],s=p,prepend(o||a,s={...s,resultsParent:!0}));var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CommaExpressionSpread$1(e,t){let r=CommaExpressionSpread$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,a=n[0],n[1].length?o:a);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CommaExpressionSpread(e,t){let r=e.enter&&e.enter("CommaExpressionSpread",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CommaExpressionSpread$0(e,t);return n||(n=CommaExpressionSpread$1(e,t)),n&&e.tokenize&&(n.value={type:"CommaExpressionSpread",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CommaExpressionSpread",t,n,i),n}var AssignmentExpressionSpread$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot,AssignmentExpression),AssignmentExpressionSpread$1$parser=(0,import_lib2.$S)(AssignmentExpression,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot))),AssignmentExpressionSpread$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot,AssignmentExpression),AssignmentExpressionSpread$3$parser=(0,import_lib2.$S)(AssignmentExpression,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot)));function AssignmentExpressionSpread$0(e,t){let r=AssignmentExpressionSpread$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],{type:"SpreadElement",children:o,expression:a,names:a.names});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentExpressionSpread$1(e,t){let r=AssignmentExpressionSpread$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=o,a?{type:"SpreadElement",children:[...a,o],expression:p,names:p.names}:o);var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentExpressionSpread$2(e,t){let r=AssignmentExpressionSpread$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],{type:"SpreadElement",children:o,expression:a,names:a.names});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentExpressionSpread$3(e,t){let r=AssignmentExpressionSpread$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=o,a?{type:"SpreadElement",children:[...a,o],expression:p,names:p.names}:o);var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentExpressionSpread(e,t){let r=e.enter&&e.enter("AssignmentExpressionSpread",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AssignmentExpressionSpread$0(e,t);return n||(n=AssignmentExpressionSpread$1(e,t)),n||(n=AssignmentExpressionSpread$2(e,t)),n||(n=AssignmentExpressionSpread$3(e,t)),n&&e.tokenize&&(n.value={type:"AssignmentExpressionSpread",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("AssignmentExpressionSpread",t,n,i),n}var Arguments$1$parser=(0,import_lib2.$S)(ForbidTrailingMemberProperty,(0,import_lib2.$E)(ImplicitArguments),RestoreTrailingMemberProperty);function Arguments$0(e,t){return ExplicitArguments(e,t)}function Arguments$1(e,t){let r=Arguments$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Arguments(e,t){let r=e.enter&&e.enter("Arguments",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Arguments$0(e,t);return n||(n=Arguments$1(e,t)),n&&e.tokenize&&(n.value={type:"Arguments",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Arguments",t,n,i),n}var ImplicitArguments$parser=(0,import_lib2.$S)(ApplicationStart,InsertOpenParen,(0,import_lib2.$E)(Trimmed_),ForbidNestedBinaryOp,ForbidPipeline,(0,import_lib2.$E)(ArgumentList),RestorePipeline,RestoreNestedBinaryOp,InsertCloseParen);function ImplicitArguments(e,t){let r=e.enter&&e.enter("ImplicitArguments",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplicitArguments$parser(e,t);if(!n)return void(e.exit&&e.exit("ImplicitArguments",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImplicitArguments",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImplicitArguments",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],u=o[2],o[3],o[4],c=o[5],o[6],o[7],m=o[8],d=s,f=u,b=m,!($=c)||skipImplicitArguments($)?p:{type:"Call",args:$,children:[d,f,$,b]});var p,s,u,c,m,d,f,$,b;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ImplicitArguments",t,l,i),l}var ExplicitArguments$parser=(0,import_lib2.$S)(OpenParen,AllowAll,(0,import_lib2.$E)((0,import_lib2.$S)(PostfixedArgumentList,(0,import_lib2.$E)((0,import_lib2.$S)(__,Comma)))),__,RestoreAll,CloseParen);function ExplicitArguments(e,t){let r=e.enter&&e.enter("ExplicitArguments",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExplicitArguments$parser(e,t);if(!n)return void(e.exit&&e.exit("ExplicitArguments",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExplicitArguments",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExplicitArguments",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],o[1],s=o[2],u=o[3],o[4],c=o[5],m=p,f=u,$=c,{type:"Call",args:d=(d=s)?d[1]?[...d[0],d[1]]:d[0]:[],children:[m,d,f,$]});var p,s,u,c,m,d,f,$;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExplicitArguments",t,l,i),l}var ApplicationStart$0$parser=(0,import_lib2.$S)(IndentedApplicationAllowed,(0,import_lib2.$Y)((0,import_lib2.$S)(IndentedFurther,(0,import_lib2.$N)(IdentifierBinaryOp),(0,import_lib2.$N)(ReservedBinary))),(0,import_lib2.$N)(IndentedTrailingCallExpressions)),ApplicationStart$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),(0,import_lib2.$Y)((0,import_lib2.$S)(_,(0,import_lib2.$C)(BracedApplicationAllowed,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($L1,'ApplicationStart "{"'))),(0,import_lib2.$N)(ForbiddenImplicitCalls))));function ApplicationStart$0(e,t){return ApplicationStart$0$parser(e,t)}function ApplicationStart$1(e,t){return ApplicationStart$1$parser(e,t)}function ApplicationStart(e,t){let r=e.enter&&e.enter("ApplicationStart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ApplicationStart$0(e,t);return n||(n=ApplicationStart$1(e,t)),n&&e.tokenize&&(n.value={type:"ApplicationStart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ApplicationStart",t,n,i),n}var ForbiddenImplicitCalls$1$parser=(0,import_lib2.$EXPECT)($L2,'ForbiddenImplicitCalls "/ "'),ForbiddenImplicitCalls$2$parser=(0,import_lib2.$S)((0,import_lib2.$Y)((0,import_lib2.$S)((0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R1,"ForbiddenImplicitCalls /&(?=\\s)/")),(0,import_lib2.$N)((0,import_lib2.$S)(NotDedented,ReservedBinary)),(0,import_lib2.$N)((0,import_lib2.$S)((0,import_lib2.$Y)((0,import_lib2.$S)(NotDedented,Ampersand,(0,import_lib2.$C)(IndentedFurther,(0,import_lib2.$N)(EOS)))),BinaryOpRHS)),(0,import_lib2.$C)(IndentedFurther,(0,import_lib2.$N)(EOS)))),BinaryOpRHS),ForbiddenImplicitCalls$3$parser=(0,import_lib2.$S)(ClassImplicitCallForbidden,(0,import_lib2.$C)(Class,AtAt)),ForbiddenImplicitCalls$4$parser=(0,import_lib2.$S)(Identifier,(0,import_lib2.$EXPECT)($L3,'ForbiddenImplicitCalls "="'),Whitespace),ForbiddenImplicitCalls$5$parser=(0,import_lib2.$S)(Identifier,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($L4,'ForbiddenImplicitCalls "("'))),ForbiddenImplicitCalls$6$parser=(0,import_lib2.$S)(OmittedNegation,(0,import_lib2.$E)(_),Identifier),ForbiddenImplicitCalls$7$parser=(0,import_lib2.$S)(PostfixStatement,NoBlock),ForbiddenImplicitCalls$8$parser=(0,import_lib2.$EXPECT)($L5,'ForbiddenImplicitCalls "... "');function ForbiddenImplicitCalls$0(e,t){return ReservedBinary(e,t)}function ForbiddenImplicitCalls$1(e,t){return ForbiddenImplicitCalls$1$parser(e,t)}function ForbiddenImplicitCalls$2(e,t){return ForbiddenImplicitCalls$2$parser(e,t)}function ForbiddenImplicitCalls$3(e,t){return ForbiddenImplicitCalls$3$parser(e,t)}function ForbiddenImplicitCalls$4(e,t){return ForbiddenImplicitCalls$4$parser(e,t)}function ForbiddenImplicitCalls$5(e,t){let r=ForbiddenImplicitCalls$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n,p=n[0],n[1],s=p,state.operators.has(s.name)?a:o);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForbiddenImplicitCalls$6(e,t){let r=ForbiddenImplicitCalls$6$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n,n[0],n[1],p=n[2],s=p,state.operators.has(s.name)?a:o);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForbiddenImplicitCalls$7(e,t){return ForbiddenImplicitCalls$7$parser(e,t)}function ForbiddenImplicitCalls$8(e,t){return ForbiddenImplicitCalls$8$parser(e,t)}function ForbiddenImplicitCalls(e,t){let r=e.enter&&e.enter("ForbiddenImplicitCalls",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbiddenImplicitCalls$0(e,t);return n||(n=ForbiddenImplicitCalls$1(e,t)),n||(n=ForbiddenImplicitCalls$2(e,t)),n||(n=ForbiddenImplicitCalls$3(e,t)),n||(n=ForbiddenImplicitCalls$4(e,t)),n||(n=ForbiddenImplicitCalls$5(e,t)),n||(n=ForbiddenImplicitCalls$6(e,t)),n||(n=ForbiddenImplicitCalls$7(e,t)),n||(n=ForbiddenImplicitCalls$8(e,t)),n&&e.tokenize&&(n.value={type:"ForbiddenImplicitCalls",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ForbiddenImplicitCalls",t,n,i),n}var ReservedBinary$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R2,"ReservedBinary /(as|of|by|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));function ReservedBinary(e,t){let r=e.enter&&e.enter("ReservedBinary",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ReservedBinary$parser(e,t);return n&&e.tokenize&&(n.value={type:"ReservedBinary",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ReservedBinary",t,n,i),n}var ArgumentsWithTrailingCallExpressions$parser=(0,import_lib2.$S)(Arguments,(0,import_lib2.$E)(AllowedTrailingCallExpressions));function ArgumentsWithTrailingCallExpressions(e,t){let r=e.enter&&e.enter("ArgumentsWithTrailingCallExpressions",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArgumentsWithTrailingCallExpressions$parser(e,t);if(!n)return void(e.exit&&e.exit("ArgumentsWithTrailingCallExpressions",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ArgumentsWithTrailingCallExpressions",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ArgumentsWithTrailingCallExpressions",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[p,...s??[]]);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ArgumentsWithTrailingCallExpressions",t,l,i),l}var TrailingCallExpressions$parser=(0,import_lib2.$S)((0,import_lib2.$Q)(ExplicitCallExpressionRest),(0,import_lib2.$E)(IndentedTrailingCallExpressions));function TrailingCallExpressions(e,t){let r=e.enter&&e.enter("TrailingCallExpressions",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TrailingCallExpressions$parser(e,t);if(!n)return void(e.exit&&e.exit("TrailingCallExpressions",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TrailingCallExpressions",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TrailingCallExpressions",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o[0],u=o[1],(s=s.flat()).length||u?u?[...s,...u]:s:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TrailingCallExpressions",t,l,i),l}var IndentedTrailingCallExpressions$0$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedTrailingCallExpression),PopIndent),IndentedTrailingCallExpressions$1$parser=(0,import_lib2.$P)(NestedTrailingCallExpression);function IndentedTrailingCallExpressions$0(e,t){let r=IndentedTrailingCallExpressions$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,n[0],a=n[1],n[2],a.length?a.flat():o);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function IndentedTrailingCallExpressions$1(e,t){let r=IndentedTrailingCallExpressions$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n.flat());return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function IndentedTrailingCallExpressions(e,t){let r=e.enter&&e.enter("IndentedTrailingCallExpressions",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IndentedTrailingCallExpressions$0(e,t);return n||(n=IndentedTrailingCallExpressions$1(e,t)),n&&e.tokenize&&(n.value={type:"IndentedTrailingCallExpressions",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("IndentedTrailingCallExpressions",t,n,i),n}var NestedTrailingCallExpression$parser=(0,import_lib2.$S)(Nested,(0,import_lib2.$Y)((0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$EXPECT)($L6,'NestedTrailingCallExpression "?"')),(0,import_lib2.$EXPECT)($L7,'NestedTrailingCallExpression "."'),(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R3,"NestedTrailingCallExpression /[0-9]/")))),(0,import_lib2.$P)(CallExpressionRest));function NestedTrailingCallExpression(e,t){let r=e.enter&&e.enter("NestedTrailingCallExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTrailingCallExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTrailingCallExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTrailingCallExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTrailingCallExpression",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){var o=i,a=l;let[p,...s]=a.flat();return[prepend(o,p),...s]}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTrailingCallExpression",t,l,i),l}var AllowedTrailingCallExpressions$parser=(0,import_lib2.$S)(TrailingMemberPropertyAllowed,TrailingCallExpressions);function AllowedTrailingCallExpressions(e,t){let r=e.enter&&e.enter("AllowedTrailingCallExpressions",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowedTrailingCallExpressions$parser(e,t);if(!n)return void(e.exit&&e.exit("AllowedTrailingCallExpressions",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AllowedTrailingCallExpressions",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AllowedTrailingCallExpressions",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("AllowedTrailingCallExpressions",t,l,i),l}var CommaDelimiter$parser=(0,import_lib2.$S)(NotDedented,Comma);function CommaDelimiter(e,t){let r=e.enter&&e.enter("CommaDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CommaDelimiter$parser(e,t);return n&&e.tokenize&&(n.value={type:"CommaDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CommaDelimiter",t,n,i),n}var OptionalCommaDelimiter$1$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),InsertComma);function OptionalCommaDelimiter$0(e,t){return CommaDelimiter(e,t)}function OptionalCommaDelimiter$1(e,t){let r=OptionalCommaDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OptionalCommaDelimiter(e,t){let r=e.enter&&e.enter("OptionalCommaDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OptionalCommaDelimiter$0(e,t);return n||(n=OptionalCommaDelimiter$1(e,t)),n&&e.tokenize&&(n.value={type:"OptionalCommaDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OptionalCommaDelimiter",t,n,i),n}var ArgumentList$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),ArgumentPart,(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,(0,import_lib2.$N)(EOS),(0,import_lib2.$E)(_),ArgumentPart)),(0,import_lib2.$S)(CommaDelimiter,NestedArguments),(0,import_lib2.$Q)((0,import_lib2.$S)(OptionalCommaDelimiter,NestedArguments))),ArgumentList$1$parser=(0,import_lib2.$S)(NestedArguments,(0,import_lib2.$Q)((0,import_lib2.$S)(OptionalCommaDelimiter,NestedArguments))),ArgumentList$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),ArgumentPart,(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,(0,import_lib2.$E)(_),ArgumentPart)));function ArgumentList$0(e,t){let r=ArgumentList$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],a=n[2],p=n[3],s=n[4],[o,...a.flatMap(([e,t,r,i])=>[e,prepend(r,i)]),...Array.isArray(p[1])?[p[0],...p[1]]:p,...s.flatMap(([e,t])=>Array.isArray(t)?[e,...t]:[e,t])]);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArgumentList$1(e,t){let r=ArgumentList$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],Array.isArray(o)||(o=[o]),[...trimFirstSpace(o),...a.flatMap(([e,t])=>Array.isArray(t)?[e,...t]:[e,t])]);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArgumentList$2(e,t){let r=ArgumentList$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],[prepend(o,a),...p.flatMap(([e,t,r])=>[e,prepend(t,r)])]);var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArgumentList(e,t){let r=e.enter&&e.enter("ArgumentList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArgumentList$0(e,t);return n||(n=ArgumentList$1(e,t)),n||(n=ArgumentList$2(e,t)),n&&e.tokenize&&(n.value={type:"ArgumentList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ArgumentList",t,n,i),n}var PostfixedArgumentList$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),PostfixedArgumentPart,(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,(0,import_lib2.$N)(EOS),(0,import_lib2.$E)(_),PostfixedArgumentPart)),(0,import_lib2.$S)(CommaDelimiter,NestedArguments),(0,import_lib2.$Q)((0,import_lib2.$S)(OptionalCommaDelimiter,NestedArguments))),PostfixedArgumentList$1$parser=(0,import_lib2.$S)(NestedArguments,(0,import_lib2.$Q)((0,import_lib2.$S)(OptionalCommaDelimiter,NestedArguments))),PostfixedArgumentList$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),PostfixedArgumentPart,(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,(0,import_lib2.$E)(_),PostfixedArgumentPart)));function PostfixedArgumentList$0(e,t){let r=PostfixedArgumentList$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],a=n[2],p=n[3],s=n[4],[o,...a.flatMap(([e,t,r,i])=>[e,prepend(r,i)]),...Array.isArray(p[1])?[p[0],...p[1]]:p,...s.flatMap(([e,t])=>Array.isArray(t)?[e,...t]:[e,t])]);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PostfixedArgumentList$1(e,t){let r=PostfixedArgumentList$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],Array.isArray(o)||(o=[o]),[...trimFirstSpace(o),...a.flatMap(([e,t])=>Array.isArray(t)?[e,...t]:[e,t])]);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PostfixedArgumentList$2(e,t){let r=PostfixedArgumentList$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],[prepend(o,a),...p.flatMap(([e,t,r])=>[e,prepend(t,r)])]);var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PostfixedArgumentList(e,t){let r=e.enter&&e.enter("PostfixedArgumentList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixedArgumentList$0(e,t);return n||(n=PostfixedArgumentList$1(e,t)),n||(n=PostfixedArgumentList$2(e,t)),n&&e.tokenize&&(n.value={type:"PostfixedArgumentList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PostfixedArgumentList",t,n,i),n}function NestedArguments$0(e,t){return NestedBulletedArray(e,t)}function NestedArguments$1(e,t){return NestedImplicitObjectLiteral(e,t)}function NestedArguments$2(e,t){return NestedArgumentList(e,t)}function NestedArguments(e,t){let r=e.enter&&e.enter("NestedArguments",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedArguments$0(e,t);return n||(n=NestedArguments$1(e,t)),n||(n=NestedArguments$2(e,t)),n&&e.tokenize&&(n.value={type:"NestedArguments",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedArguments",t,n,i),n}var NestedArgumentList$parser=(0,import_lib2.$S)(PushIndent,AllowPipeline,AllowTrailingMemberProperty,(0,import_lib2.$Q)(NestedArgument),RestoreTrailingMemberProperty,RestorePipeline,PopIndent);function NestedArgumentList(e,t){let r=e.enter&&e.enter("NestedArgumentList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedArgumentList$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedArgumentList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedArgumentList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedArgumentList",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],o[1],o[2],s=o[3],o[4],o[5],o[6],(u=s).length?stripTrailingImplicitComma(u.flat()):p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedArgumentList",t,l,i),l}var NestedArgument$parser=(0,import_lib2.$S)((0,import_lib2.$N)(NestedImplicitPropertyDefinition),Nested,(0,import_lib2.$N)(Bullet),SingleLinePostfixedArgumentExpressions,ParameterElementDelimiter);function NestedArgument(e,t){let r=e.enter&&e.enter("NestedArgument",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedArgument$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedArgument",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedArgument",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedArgument",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a){var p=n,s=o,u=a;let[c,...m]=s;return c=prepend(p,c),[c,...m,u]}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedArgument",t,l,i),l}var SingleLineArgumentExpressions$parser=(0,import_lib2.$S)(WArgumentPart,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma),WArgumentPart)));function SingleLineArgumentExpressions(e,t){let r=e.enter&&e.enter("SingleLineArgumentExpressions",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineArgumentExpressions$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLineArgumentExpressions",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLineArgumentExpressions",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLineArgumentExpressions",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[p,...s.flat()]);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SingleLineArgumentExpressions",t,l,i),l}var WArgumentPart$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),ArgumentPart);function WArgumentPart(e,t){let r=e.enter&&e.enter("WArgumentPart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WArgumentPart$parser(e,t);if(!n)return void(e.exit&&e.exit("WArgumentPart",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"WArgumentPart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("WArgumentPart",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],prepend(p,s));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("WArgumentPart",t,l,i),l}var SingleLinePostfixedArgumentExpressions$parser=(0,import_lib2.$S)(WPostfixedArgumentPart,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma),WPostfixedArgumentPart)));function SingleLinePostfixedArgumentExpressions(e,t){let r=e.enter&&e.enter("SingleLinePostfixedArgumentExpressions",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLinePostfixedArgumentExpressions$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLinePostfixedArgumentExpressions",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLinePostfixedArgumentExpressions",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLinePostfixedArgumentExpressions",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[p,...s.flat()]);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SingleLinePostfixedArgumentExpressions",t,l,i),l}var WPostfixedArgumentPart$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),PostfixedArgumentPart);function WPostfixedArgumentPart(e,t){let r=e.enter&&e.enter("WPostfixedArgumentPart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WPostfixedArgumentPart$parser(e,t);if(!n)return void(e.exit&&e.exit("WPostfixedArgumentPart",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"WPostfixedArgumentPart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("WPostfixedArgumentPart",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],prepend(p,s));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("WPostfixedArgumentPart",t,l,i),l}var ArgumentPart$0$parser=(0,import_lib2.$S)(DotDotDot,Expression),ArgumentPart$1$parser=(0,import_lib2.$S)(Expression,(0,import_lib2.$E)(DotDotDot));function ArgumentPart$0(e,t){let r=ArgumentPart$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"Argument",children:r,expression:n,spread:i}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArgumentPart$1(e,t){let r=ArgumentPart$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"Argument",children:n?[n,i]:[i],expression:i,spread:n}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArgumentPart(e,t){let r=e.enter&&e.enter("ArgumentPart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArgumentPart$0(e,t);return n||(n=ArgumentPart$1(e,t)),n&&e.tokenize&&(n.value={type:"ArgumentPart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ArgumentPart",t,n,i),n}var PostfixedArgumentPart$0$parser=(0,import_lib2.$S)(DotDotDot,PostfixedExpression),PostfixedArgumentPart$1$parser=(0,import_lib2.$S)(PostfixedExpression,(0,import_lib2.$E)(DotDotDot));function PostfixedArgumentPart$0(e,t){let r=PostfixedArgumentPart$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"Argument",children:r,expression:n,spread:i}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PostfixedArgumentPart$1(e,t){let r=PostfixedArgumentPart$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"Argument",children:n?[n,i]:[i],expression:i,spread:n}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PostfixedArgumentPart(e,t){let r=e.enter&&e.enter("PostfixedArgumentPart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixedArgumentPart$0(e,t);return n||(n=PostfixedArgumentPart$1(e,t)),n&&e.tokenize&&(n.value={type:"PostfixedArgumentPart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PostfixedArgumentPart",t,n,i),n}var BinaryOpExpression$parser=(0,import_lib2.$S)(UnaryExpression,(0,import_lib2.$Q)(BinaryOpRHS));function BinaryOpExpression(e,t){let r=e.enter&&e.enter("BinaryOpExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BinaryOpExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("BinaryOpExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BinaryOpExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BinaryOpExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,s=o[0],o[1].length?processBinaryOpExpression(p):s);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BinaryOpExpression",t,l,i),l}var BinaryOpNotDedented$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(NewlineBinaryOpAllowed),(0,import_lib2.$E)(_)),BinaryOpNotDedented$1$parser=(0,import_lib2.$S)(NewlineBinaryOpAllowed,(0,import_lib2.$C)(NestedBinaryOpAllowed,(0,import_lib2.$N)(Nested)),NotDedented);function BinaryOpNotDedented$0(e,t){let r=BinaryOpNotDedented$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpNotDedented$1(e,t){let r=BinaryOpNotDedented$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpNotDedented(e,t){let r=e.enter&&e.enter("BinaryOpNotDedented",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BinaryOpNotDedented$0(e,t);return n||(n=BinaryOpNotDedented$1(e,t)),n&&e.tokenize&&(n.value={type:"BinaryOpNotDedented",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BinaryOpNotDedented",t,n,i),n}var BinaryOpRHS$0$parser=(0,import_lib2.$S)(BinaryOpNotDedented,IsLike,(0,import_lib2.$E)(_),PatternExpressionList),BinaryOpRHS$1$parser=(0,import_lib2.$S)(BinaryOp,RHS),BinaryOpRHS$2$parser=(0,import_lib2.$S)(NewlineBinaryOpAllowed,NotDedentedBinaryOp,WRHS),BinaryOpRHS$3$parser=(0,import_lib2.$S)((0,import_lib2.$N)(NewlineBinaryOpAllowed),SingleLineBinaryOpRHS);function BinaryOpRHS$0(e,t){let r=BinaryOpRHS$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return[i,n,l,o]}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpRHS$1(e,t){let r=BinaryOpRHS$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return[[],i,[],n]}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpRHS$2(e,t){let r=BinaryOpRHS$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,n[0],a=n[1],p=n[2],u=p,">"===(s=a)[1].token&&0===s[0].length?o:[...s,...u]);var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpRHS$3(e,t){let r=BinaryOpRHS$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpRHS(e,t){let r=e.enter&&e.enter("BinaryOpRHS",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BinaryOpRHS$0(e,t);return n||(n=BinaryOpRHS$1(e,t)),n||(n=BinaryOpRHS$2(e,t)),n||(n=BinaryOpRHS$3(e,t)),n&&e.tokenize&&(n.value={type:"BinaryOpRHS",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BinaryOpRHS",t,n,i),n}var IsLike$parser=(0,import_lib2.$S)(Is,(0,import_lib2.$E)(_),(0,import_lib2.$E)((0,import_lib2.$S)(OmittedNegation,(0,import_lib2.$E)(_))),Like);function IsLike(e,t){let r=e.enter&&e.enter("IsLike",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IsLike$parser(e,t);if(!n)return void(e.exit&&e.exit("IsLike",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IsLike",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IsLike",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return{type:"PatternTest",children:r,special:!0,negated:!!l}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IsLike",t,l,i),l}var WRHS$0$parser=(0,import_lib2.$S)(NestedBulletedArray),WRHS$1$parser=(0,import_lib2.$S)(NestedImplicitObjectLiteral),WRHS$2$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$S)(Nested,(0,import_lib2.$E)(_)),RHS)),PopIndent),WRHS$3$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$S)(EOS,__),_),RHS);function WRHS$0(e,t){let r=WRHS$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return[void 0,i]}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function WRHS$1(e,t){let r=WRHS$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return[void 0,i]}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function WRHS$2(e,t){let r=WRHS$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function WRHS$3(e,t){return WRHS$3$parser(e,t)}function WRHS(e,t){let r=e.enter&&e.enter("WRHS",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WRHS$0(e,t);return n||(n=WRHS$1(e,t)),n||(n=WRHS$2(e,t)),n||(n=WRHS$3(e,t)),n&&e.tokenize&&(n.value={type:"WRHS",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("WRHS",t,n,i),n}var SingleLineBinaryOpRHS$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),BinaryOp,(0,import_lib2.$C)((0,import_lib2.$S)(EOS,__),_),RHS);function SingleLineBinaryOpRHS(e,t){let r=e.enter&&e.enter("SingleLineBinaryOpRHS",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineBinaryOpRHS$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLineBinaryOpRHS",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLineBinaryOpRHS",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLineBinaryOpRHS",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){return[i||[],n,l,o]}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SingleLineBinaryOpRHS",t,l,i),l}var RHS$1$parser=(0,import_lib2.$S)(ForbidImplicitFragment,(0,import_lib2.$E)(UnaryExpression),RestoreImplicitFragment);function RHS$0(e,t){return ExpressionizedStatementWithTrailingCallExpressions(e,t)}function RHS$1(e,t){let r=RHS$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function RHS(e,t){let r=e.enter&&e.enter("RHS",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RHS$0(e,t);return n||(n=RHS$1(e,t)),n&&e.tokenize&&(n.value={type:"RHS",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RHS",t,n,i),n}var UnaryExpression$0$parser=(0,import_lib2.$S)(IndentedApplicationAllowed,(0,import_lib2.$P)(UnaryOp),(0,import_lib2.$C)(ArrayLiteral,NestedArgumentList),(0,import_lib2.$N)(CallExpressionRest),(0,import_lib2.$E)(UnaryPostfix)),UnaryExpression$1$parser=(0,import_lib2.$S)((0,import_lib2.$Q)(UnaryOp),UnaryBody,(0,import_lib2.$E)(UnaryPostfix));function UnaryExpression$0(e,t){let r=UnaryExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,n[0],a=n[1],p=n[2],n[3],s=n[4],processUnaryNestedExpression(a,p,s)??o);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function UnaryExpression$1(e,t){let r=UnaryExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],processUnaryExpression(o,a,p));var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function UnaryExpression(e,t){let r=e.enter&&e.enter("UnaryExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnaryExpression$0(e,t);return n||(n=UnaryExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"UnaryExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UnaryExpression",t,n,i),n}var UnaryWithoutParenthesizedAssignment$parser=(0,import_lib2.$S)((0,import_lib2.$Q)(UnaryOp),UnaryWithoutParenthesizedAssignmentBody,(0,import_lib2.$E)(UnaryPostfix));function UnaryWithoutParenthesizedAssignment(e,t){let r=e.enter&&e.enter("UnaryWithoutParenthesizedAssignment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnaryWithoutParenthesizedAssignment$parser(e,t);if(!n)return void(e.exit&&e.exit("UnaryWithoutParenthesizedAssignment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"UnaryWithoutParenthesizedAssignment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("UnaryWithoutParenthesizedAssignment",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],processUnaryExpression(p,s,u));var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("UnaryWithoutParenthesizedAssignment",t,l,i),l}var UnaryBody$0$parser=(0,import_lib2.$S)(CoffeeDoEnabled,Do,MaybeNestedCoffeeDoBody);function UnaryBody$0(e,t){let r=UnaryBody$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],n[1],o=n[2],processCoffeeDo(...o));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function UnaryBody$1(e,t){return ParenthesizedAssignment(e,t)}function UnaryBody$2(e,t){return ExpressionizedStatementWithTrailingCallExpressions(e,t)}function UnaryBody$3(e,t){return UpdateExpression(e,t)}function UnaryBody$4(e,t){return NestedExpressionizedStatement(e,t)}function UnaryBody(e,t){let r=e.enter&&e.enter("UnaryBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnaryBody$0(e,t);return n||(n=UnaryBody$1(e,t)),n||(n=UnaryBody$2(e,t)),n||(n=UnaryBody$3(e,t)),n||(n=UnaryBody$4(e,t)),n&&e.tokenize&&(n.value={type:"UnaryBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UnaryBody",t,n,i),n}var MaybeNestedCoffeeDoBody$0$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,CoffeeDoBody)),PopIndent),MaybeNestedCoffeeDoBody$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),CoffeeDoBody);function MaybeNestedCoffeeDoBody$0(e,t){let r=MaybeNestedCoffeeDoBody$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedCoffeeDoBody$1(e,t){return MaybeNestedCoffeeDoBody$1$parser(e,t)}function MaybeNestedCoffeeDoBody(e,t){let r=e.enter&&e.enter("MaybeNestedCoffeeDoBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeNestedCoffeeDoBody$0(e,t);return n||(n=MaybeNestedCoffeeDoBody$1(e,t)),n&&e.tokenize&&(n.value={type:"MaybeNestedCoffeeDoBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeNestedCoffeeDoBody",t,n,i),n}var CoffeeDoBody$1$parser=(0,import_lib2.$S)(LeftHandSideExpression,(0,import_lib2.$N)((0,import_lib2.$S)(__,AssignmentOpSymbol)));function CoffeeDoBody$0(e,t){return ArrowFunction(e,t)}function CoffeeDoBody$1(e,t){let r=CoffeeDoBody$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return[i,void 0]}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CoffeeDoBody$2(e,t){return Expression(e,t)}function CoffeeDoBody(e,t){let r=e.enter&&e.enter("CoffeeDoBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeDoBody$0(e,t);return n||(n=CoffeeDoBody$1(e,t)),n||(n=CoffeeDoBody$2(e,t)),n&&e.tokenize&&(n.value={type:"CoffeeDoBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CoffeeDoBody",t,n,i),n}function UnaryWithoutParenthesizedAssignmentBody$0(e,t){return UpdateExpression(e,t)}function UnaryWithoutParenthesizedAssignmentBody$1(e,t){return ExpressionizedStatementWithTrailingCallExpressions(e,t)}function UnaryWithoutParenthesizedAssignmentBody$2(e,t){return NestedExpressionizedStatement(e,t)}function UnaryWithoutParenthesizedAssignmentBody(e,t){let r=e.enter&&e.enter("UnaryWithoutParenthesizedAssignmentBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnaryWithoutParenthesizedAssignmentBody$0(e,t);return n||(n=UnaryWithoutParenthesizedAssignmentBody$1(e,t)),n||(n=UnaryWithoutParenthesizedAssignmentBody$2(e,t)),n&&e.tokenize&&(n.value={type:"UnaryWithoutParenthesizedAssignmentBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UnaryWithoutParenthesizedAssignmentBody",t,n,i),n}var ParenthesizedAssignment$parser=(0,import_lib2.$S)(InsertOpenParen,(0,import_lib2.$C)(ActualAssignment,ArrowFunction),InsertCloseParen);function ParenthesizedAssignment(e,t){let r=e.enter&&e.enter("ParenthesizedAssignment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ParenthesizedAssignment$parser(e,t);return n&&e.tokenize&&(n.value={type:"ParenthesizedAssignment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ParenthesizedAssignment",t,n,i),n}var UnaryPostfix$1$parser=(0,import_lib2.$P)(TypePostfix);function UnaryPostfix$0(e,t){return QuestionMark(e,t)}function UnaryPostfix$1(e,t){return UnaryPostfix$1$parser(e,t)}function UnaryPostfix(e,t){let r=e.enter&&e.enter("UnaryPostfix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnaryPostfix$0(e,t);return n||(n=UnaryPostfix$1(e,t)),n&&e.tokenize&&(n.value={type:"UnaryPostfix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UnaryPostfix",t,n,i),n}var TypePostfix$0$parser=(0,import_lib2.$S)(_,NWTypePostfix),TypePostfix$1$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),BinaryOpNotDedented,(0,import_lib2.$E)(_),NWTypePostfix);function TypePostfix$0(e,t){let r=TypePostfix$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],prepend(o,a));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypePostfix$1(e,t){let r=TypePostfix$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],n[1],o=n[2],a=n[3],prepend(o||" ",a));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypePostfix(e,t){let r=e.enter&&e.enter("TypePostfix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypePostfix$0(e,t);return n||(n=TypePostfix$1(e,t)),n&&e.tokenize&&(n.value={type:"TypePostfix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypePostfix",t,n,i),n}var Tuple$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L8,'Tuple "tuple"'),NonIdContinue);function Tuple(e,t){let r=e.enter&&e.enter("Tuple",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Tuple$parser(e,t);if(!n)return void(e.exit&&e.exit("Tuple",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Tuple",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Tuple",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t){return{$loc:t,token:"readonly unknown[] | []"}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Tuple",t,l,i),l}var NWTypePostfix$0$parser=(0,import_lib2.$S)(As,_,Tuple),NWTypePostfix$1$parser=(0,import_lib2.$S)(As,(0,import_lib2.$E)(ExclamationPoint),(0,import_lib2.$C)(Type,(0,import_lib2.$S)(__,Const))),NWTypePostfix$2$parser=(0,import_lib2.$S)(Satisfies,Type);function NWTypePostfix$0(e,t){let r=NWTypePostfix$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],{ts:!0,children:[{$loc:o.$loc,token:"satisfies"},a,p]});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NWTypePostfix$1(e,t){let r=NWTypePostfix$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=l;let p;return p=n?[{$loc:n.$loc,token:"as unknown "},o,a]:[o,a],{ts:!0,children:p}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NWTypePostfix$2(e,t){let r=NWTypePostfix$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{ts:!0,children:r}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NWTypePostfix(e,t){let r=e.enter&&e.enter("NWTypePostfix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NWTypePostfix$0(e,t);return n||(n=NWTypePostfix$1(e,t)),n||(n=NWTypePostfix$2(e,t)),n&&e.tokenize&&(n.value={type:"NWTypePostfix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NWTypePostfix",t,n,i),n}var UpdateExpression$0$parser=(0,import_lib2.$S)(UpdateExpressionSymbol,(0,import_lib2.$N)(Whitespace),UnaryWithoutParenthesizedAssignment),UpdateExpression$1$parser=(0,import_lib2.$S)(LeftHandSideExpression,(0,import_lib2.$E)((0,import_lib2.$S)(UpdateExpressionSymbol,(0,import_lib2.$EXPECT)($R4,"UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/"))));function UpdateExpression$0(e,t){let r=UpdateExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return{type:"UpdateExpression",assigned:l,children:[i,l]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function UpdateExpression$1(e,t){let r=UpdateExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],(a=n[1])?{type:"UpdateExpression",assigned:o,children:[o,a[0]]}:o);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function UpdateExpression(e,t){let r=e.enter&&e.enter("UpdateExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UpdateExpression$0(e,t);return n||(n=UpdateExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"UpdateExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UpdateExpression",t,n,i),n}function UpdateExpressionPattern$0(e,t){return NamedBindingPattern(e,t)}function UpdateExpressionPattern$1(e,t){return UpdateExpression(e,t)}function UpdateExpressionPattern(e,t){let r=e.enter&&e.enter("UpdateExpressionPattern",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UpdateExpressionPattern$0(e,t);return n||(n=UpdateExpressionPattern$1(e,t)),n&&e.tokenize&&(n.value={type:"UpdateExpressionPattern",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UpdateExpressionPattern",t,n,i),n}var UpdateExpressionSymbol$0$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L9,'UpdateExpressionSymbol "++"'),(0,import_lib2.$EXPECT)($L10,'UpdateExpressionSymbol "--"')),UpdateExpressionSymbol$1$parser=(0,import_lib2.$EXPECT)($L11,'UpdateExpressionSymbol "⧺"'),UpdateExpressionSymbol$2$parser=(0,import_lib2.$EXPECT)($L12,'UpdateExpressionSymbol "—"');function UpdateExpressionSymbol$0(e,t){let r=UpdateExpressionSymbol$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,n,0,l);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function UpdateExpressionSymbol$1(e,t){let r=UpdateExpressionSymbol$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"++"}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function UpdateExpressionSymbol$2(e,t){let r=UpdateExpressionSymbol$2$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"--"}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function UpdateExpressionSymbol(e,t){let r=e.enter&&e.enter("UpdateExpressionSymbol",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UpdateExpressionSymbol$0(e,t);return n||(n=UpdateExpressionSymbol$1(e,t)),n||(n=UpdateExpressionSymbol$2(e,t)),n&&e.tokenize&&(n.value={type:"UpdateExpressionSymbol",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UpdateExpressionSymbol",t,n,i),n}var AssignmentExpression$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),ActualAssignment),AssignmentExpression$3$parser=(0,import_lib2.$S)((0,import_lib2.$S)(EOS,(0,import_lib2.$E)(_)),AssignmentExpressionTail);function AssignmentExpression$0(e,t){let r=AssignmentExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],prepend(o,a));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentExpression$1(e,t){return PipelineExpression(e,t)}function AssignmentExpression$2(e,t){return SingleLineAssignmentExpression(e,t)}function AssignmentExpression$3(e,t){return AssignmentExpression$3$parser(e,t)}function AssignmentExpression(e,t){let r=e.enter&&e.enter("AssignmentExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AssignmentExpression$0(e,t);return n||(n=AssignmentExpression$1(e,t)),n||(n=AssignmentExpression$2(e,t)),n||(n=AssignmentExpression$3(e,t)),n&&e.tokenize&&(n.value={type:"AssignmentExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("AssignmentExpression",t,n,i),n}var NonPipelineAssignmentExpression$1$parser=(0,import_lib2.$S)((0,import_lib2.$S)(EOS,(0,import_lib2.$E)(_)),NonPipelineAssignmentExpressionTail);function NonPipelineAssignmentExpression$0(e,t){return NonPipelineSingleLineAssignmentExpression(e,t)}function NonPipelineAssignmentExpression$1(e,t){return NonPipelineAssignmentExpression$1$parser(e,t)}function NonPipelineAssignmentExpression(e,t){let r=e.enter&&e.enter("NonPipelineAssignmentExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonPipelineAssignmentExpression$0(e,t);return n||(n=NonPipelineAssignmentExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"NonPipelineAssignmentExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NonPipelineAssignmentExpression",t,n,i),n}var SingleLineAssignmentExpression$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),AssignmentExpressionTail);function SingleLineAssignmentExpression(e,t){let r=e.enter&&e.enter("SingleLineAssignmentExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineAssignmentExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLineAssignmentExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLineAssignmentExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLineAssignmentExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],prepend(p,s));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SingleLineAssignmentExpression",t,l,i),l}var NonPipelineSingleLineAssignmentExpression$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),NonPipelineAssignmentExpressionTail);function NonPipelineSingleLineAssignmentExpression(e,t){let r=e.enter&&e.enter("NonPipelineSingleLineAssignmentExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonPipelineSingleLineAssignmentExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("NonPipelineSingleLineAssignmentExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NonPipelineSingleLineAssignmentExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NonPipelineSingleLineAssignmentExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],prepend(p,s));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NonPipelineSingleLineAssignmentExpression",t,l,i),l}function AssignmentExpressionTail$0(e,t){return YieldExpression(e,t)}function AssignmentExpressionTail$1(e,t){return ArrowFunction(e,t)}function AssignmentExpressionTail$2(e,t){return ActualAssignment(e,t)}function AssignmentExpressionTail$3(e,t){return ConditionalExpression(e,t)}function AssignmentExpressionTail(e,t){let r=e.enter&&e.enter("AssignmentExpressionTail",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AssignmentExpressionTail$0(e,t);return n||(n=AssignmentExpressionTail$1(e,t)),n||(n=AssignmentExpressionTail$2(e,t)),n||(n=AssignmentExpressionTail$3(e,t)),n&&e.tokenize&&(n.value={type:"AssignmentExpressionTail",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("AssignmentExpressionTail",t,n,i),n}function NonPipelineAssignmentExpressionTail$0(e,t){return YieldExpression(e,t)}function NonPipelineAssignmentExpressionTail$1(e,t){return ArrowFunction(e,t)}function NonPipelineAssignmentExpressionTail$2(e,t){return NonPipelineActualAssignment(e,t)}function NonPipelineAssignmentExpressionTail$3(e,t){return ConditionalExpression(e,t)}function NonPipelineAssignmentExpressionTail(e,t){let r=e.enter&&e.enter("NonPipelineAssignmentExpressionTail",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonPipelineAssignmentExpressionTail$0(e,t);return n||(n=NonPipelineAssignmentExpressionTail$1(e,t)),n||(n=NonPipelineAssignmentExpressionTail$2(e,t)),n||(n=NonPipelineAssignmentExpressionTail$3(e,t)),n&&e.tokenize&&(n.value={type:"NonPipelineAssignmentExpressionTail",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NonPipelineAssignmentExpressionTail",t,n,i),n}var ActualAssignment$parser=(0,import_lib2.$S)((0,import_lib2.$P)((0,import_lib2.$S)(NotDedented,UpdateExpressionPattern,WAssignmentOp)),MaybeNestedExpression);function ActualAssignment(e,t){let r=e.enter&&e.enter("ActualAssignment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ActualAssignment$parser(e,t);if(!n)return void(e.exit&&e.exit("ActualAssignment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ActualAssignment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ActualAssignment",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],{type:"AssignmentExpression",children:[p=p.map(e=>[e[0],e[1],...e[2]]),s],names:null,lhs:p,assigned:p[0][1],expression:s});var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ActualAssignment",t,l,i),l}var NonPipelineActualAssignment$parser=(0,import_lib2.$S)((0,import_lib2.$P)((0,import_lib2.$S)(NotDedented,UpdateExpressionPattern,WAssignmentOp)),MaybeNestedNonPipelineExpression);function NonPipelineActualAssignment(e,t){let r=e.enter&&e.enter("NonPipelineActualAssignment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonPipelineActualAssignment$parser(e,t);if(!n)return void(e.exit&&e.exit("NonPipelineActualAssignment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NonPipelineActualAssignment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NonPipelineActualAssignment",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],{type:"AssignmentExpression",children:[p=p.map(e=>[e[0],e[1],...e[2]]),s],names:null,lhs:p,assigned:p[0][1],expression:s});var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NonPipelineActualAssignment",t,l,i),l}var YieldExpression$parser=(0,import_lib2.$S)(Yield,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Star)),MaybeParenNestedExpression)));function YieldExpression(e,t){let r=e.enter&&e.enter("YieldExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=YieldExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("YieldExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"YieldExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("YieldExpression",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){if(n){let[e,t]=n;return{type:"YieldExpression",star:e,expression:t,children:[i,e,t]}}return{type:"YieldExpression",children:[i]}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("YieldExpression",t,l,i),l}var ArrowFunction$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Async,_)),ArrowParameters,(0,import_lib2.$E)(ReturnTypeSuffix),FatArrow,FatArrowBody);function ArrowFunction$0(e,t){return ThinArrowFunction(e,t)}function ArrowFunction$1(e,t){let r=ArrowFunction$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=n[4],m=a,d=p,f=s,$=u,(c=o)||(c=[]),{type:"ArrowFunction",signature:{modifier:{async:!!c.length},parameters:m,returnType:d},parameters:m,returnType:d,async:c,block:$,children:[c,m,d,f,$]});var o,a,p,s,u,c,m,d,f,$;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrowFunction(e,t){let r=e.enter&&e.enter("ArrowFunction",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrowFunction$0(e,t);return n||(n=ArrowFunction$1(e,t)),n&&e.tokenize&&(n.value={type:"ArrowFunction",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ArrowFunction",t,n,i),n}var FatArrow$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),FatArrowToken);function FatArrow(e,t){let r=e.enter&&e.enter("FatArrow",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FatArrow$parser(e,t);if(!n)return void(e.exit&&e.exit("FatArrow",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"FatArrow",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("FatArrow",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],(u=p)||(u=" "),[u,s]);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("FatArrow",t,l,i),l}var FatArrowToken$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L13,'FatArrowToken "=>"'),(0,import_lib2.$EXPECT)($L14,'FatArrowToken "⇒"'));function FatArrowToken(e,t){let r=e.enter&&e.enter("FatArrowToken",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FatArrowToken$parser(e,t);if(!n)return void(e.exit&&e.exit("FatArrowToken",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"FatArrowToken",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("FatArrowToken",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"=>"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("FatArrowToken",t,l,i),l}var TrailingOperator$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)(BinaryOp,AssignmentOp,Dot,QuestionMark)),TrailingOperator$1$parser=(0,import_lib2.$S)(_,OperatorAssignmentOp);function TrailingOperator$0(e,t){return TrailingOperator$0$parser(e,t)}function TrailingOperator$1(e,t){return TrailingOperator$1$parser(e,t)}function TrailingOperator$2(e,t){return TrailingDeclaration(e,t)}function TrailingOperator(e,t){let r=e.enter&&e.enter("TrailingOperator",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TrailingOperator$0(e,t);return n||(n=TrailingOperator$1(e,t)),n||(n=TrailingOperator$2(e,t)),n&&e.tokenize&&(n.value={type:"TrailingOperator",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TrailingOperator",t,n,i),n}var TrailingDeclaration$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)(ConstAssignment,LetAssignment));function TrailingDeclaration(e,t){let r=e.enter&&e.enter("TrailingDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TrailingDeclaration$parser(e,t);return n&&e.tokenize&&(n.value={type:"TrailingDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TrailingDeclaration",t,n,i),n}var TrailingPipe$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Pipe);function TrailingPipe(e,t){let r=e.enter&&e.enter("TrailingPipe",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TrailingPipe$parser(e,t);return n&&e.tokenize&&(n.value={type:"TrailingPipe",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TrailingPipe",t,n,i),n}var TrailingPostfix$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),PostfixStatement);function TrailingPostfix(e,t){let r=e.enter&&e.enter("TrailingPostfix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TrailingPostfix$parser(e,t);return n&&e.tokenize&&(n.value={type:"TrailingPostfix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TrailingPostfix",t,n,i),n}var FatArrowBody$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),(0,import_lib2.$N)((0,import_lib2.$S)((0,import_lib2.$E)(_),ExpressionizedStatement)),(0,import_lib2.$N)((0,import_lib2.$S)((0,import_lib2.$E)(_),Declaration)),NonPipelineExpression,(0,import_lib2.$N)(TrailingDeclaration),(0,import_lib2.$N)(TrailingPipe),(0,import_lib2.$N)(TrailingPostfix),(0,import_lib2.$N)(SemicolonDelimiter));function FatArrowBody$0(e,t){let r=FatArrowBody$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){var a=o;let p=[["",a=makeExpressionStatement(a)]];return{type:"BlockStatement",bare:!0,expressions:p,children:[p],implicitlyReturned:!0}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FatArrowBody$1(e,t){return BracedObjectSingleLineStatements(e,t)}function FatArrowBody$2(e,t){return NoCommaBracedOrEmptyBlock(e,t)}function FatArrowBody(e,t){let r=e.enter&&e.enter("FatArrowBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FatArrowBody$0(e,t);return n||(n=FatArrowBody$1(e,t)),n||(n=FatArrowBody$2(e,t)),n&&e.tokenize&&(n.value={type:"FatArrowBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("FatArrowBody",t,n,i),n}var ConditionalExpression$parser=(0,import_lib2.$S)(ShortCircuitExpression,(0,import_lib2.$E)(TernaryRest));function ConditionalExpression(e,t){let r=e.enter&&e.enter("ConditionalExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ConditionalExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("ConditionalExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ConditionalExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ConditionalExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],(s=o[1])?[p,...s]:p);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ConditionalExpression",t,l,i),l}var TernaryRest$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeBinaryExistentialEnabled),(0,import_lib2.$Y)((0,import_lib2.$EXPECT)($R5,"TernaryRest /[ \\t]/")),_,QuestionMark,PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,Expression,_,Colon,Nested,Expression)),PopIndent),TernaryRest$2$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeBinaryExistentialEnabled),(0,import_lib2.$Y)((0,import_lib2.$EXPECT)($R5,"TernaryRest /[ \\t]/")),_,QuestionMark,MaybeNestedExpression,__,Colon,MaybeNestedExpression);function TernaryRest$0(e,t){return NestedTernaryRest(e,t)}function TernaryRest$1(e,t){let r=TernaryRest$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,n[0],n[1],a=n[2],p=n[3],n[4],s=n[5],n[6],(u=s)?[a,p,...u]:o);var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TernaryRest$2(e,t){let r=TernaryRest$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],o.slice(2));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TernaryRest(e,t){let r=e.enter&&e.enter("TernaryRest",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TernaryRest$0(e,t);return n||(n=TernaryRest$1(e,t)),n||(n=TernaryRest$2(e,t)),n&&e.tokenize&&(n.value={type:"TernaryRest",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TernaryRest",t,n,i),n}var NestedTernaryRest$0$parser=(0,import_lib2.$S)(Nested,QuestionMark,MaybeNestedExpression,Nested,Colon,MaybeNestedExpression),NestedTernaryRest$1$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,QuestionMark,MaybeNestedExpression,Nested,Colon,MaybeNestedExpression)),PopIndent);function NestedTernaryRest$0(e,t){return NestedTernaryRest$0$parser(e,t)}function NestedTernaryRest$1(e,t){let r=NestedTernaryRest$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NestedTernaryRest(e,t){let r=e.enter&&e.enter("NestedTernaryRest",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTernaryRest$0(e,t);return n||(n=NestedTernaryRest$1(e,t)),n&&e.tokenize&&(n.value={type:"NestedTernaryRest",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedTernaryRest",t,n,i),n}function ShortCircuitExpression(e,t){let r=e.enter&&e.enter("ShortCircuitExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BinaryOpExpression(e,t);return n&&e.tokenize&&(n.value={type:"ShortCircuitExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ShortCircuitExpression",t,n,i),n}var PipelineExpression$parser=(0,import_lib2.$S)(PipelineAllowed,(0,import_lib2.$E)(_),PipelineHeadItem,PipelineExpressionBody,(0,import_lib2.$E)(AllowedTrailingCallExpressions));function PipelineExpression(e,t){let r=e.enter&&e.enter("PipelineExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PipelineExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("PipelineExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PipelineExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PipelineExpression",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a){var p=a;let s={type:"PipelineExpression",children:[n,l,o]};return p?processCallMemberExpression({type:"CallExpression",children:[s,...p]}):s}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PipelineExpression",t,l,i),l}var PipelineExpressionBody$0$parser=(0,import_lib2.$S)(PipelineExpressionBodySameLine,PushIndent,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$S)(Nested,Pipe,__,PipelineTailItem),PipelineExpressionBodySameLine)),PopIndent),PipelineExpressionBody$1$parser=(0,import_lib2.$S)(NewlineBinaryOpAllowed,(0,import_lib2.$P)((0,import_lib2.$S)(NotDedented,Pipe,__,PipelineTailItem))),PipelineExpressionBody$2$parser=(0,import_lib2.$S)((0,import_lib2.$N)(NewlineBinaryOpAllowed),PipelineExpressionBodySameLine);function PipelineExpressionBody$0(e,t){let r=PipelineExpressionBody$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],n[1],p=n[2],n[3],s=a,(u=p).length?[...s,...u.map(([e,t])=>[e,...t]).flat()]:o);var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PipelineExpressionBody$1(e,t){let r=PipelineExpressionBody$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PipelineExpressionBody$2(e,t){let r=PipelineExpressionBody$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,n[0],(a=n[1]).length?a:o);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PipelineExpressionBody(e,t){let r=e.enter&&e.enter("PipelineExpressionBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PipelineExpressionBody$0(e,t);return n||(n=PipelineExpressionBody$1(e,t)),n||(n=PipelineExpressionBody$2(e,t)),n&&e.tokenize&&(n.value={type:"PipelineExpressionBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PipelineExpressionBody",t,n,i),n}var PipelineExpressionBodySameLine$parser=(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$E)(_),Pipe,__,PipelineTailItem));function PipelineExpressionBodySameLine(e,t){let r=e.enter&&e.enter("PipelineExpressionBodySameLine",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PipelineExpressionBodySameLine$parser(e,t);return n&&e.tokenize&&(n.value={type:"PipelineExpressionBodySameLine",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PipelineExpressionBodySameLine",t,n,i),n}function PipelineHeadItem$0(e,t){return NonPipelineExpression(e,t)}function PipelineHeadItem$1(e,t){return OptimizedParenthesizedExpression(e,t)}function PipelineHeadItem(e,t){let r=e.enter&&e.enter("PipelineHeadItem",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PipelineHeadItem$0(e,t);return n||(n=PipelineHeadItem$1(e,t)),n&&e.tokenize&&(n.value={type:"PipelineHeadItem",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PipelineHeadItem",t,n,i),n}var PipelineTailItem$0$parser=(0,import_lib2.$S)((0,import_lib2.$C)(AwaitOp,Return,Throw),(0,import_lib2.$N)(AccessStart),(0,import_lib2.$N)(MaybeParenNestedExpression)),PipelineTailItem$1$parser=(0,import_lib2.$S)((0,import_lib2.$TEXT)((0,import_lib2.$S)(Yield,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Star)))),(0,import_lib2.$N)(AccessStart),(0,import_lib2.$N)(MaybeParenNestedExpression)),PipelineTailItem$2$parser=(0,import_lib2.$S)(Import,(0,import_lib2.$N)(AccessStart)),PipelineTailItem$3$parser=(0,import_lib2.$S)(NWTypePostfix,(0,import_lib2.$Q)(TypePostfix)),PipelineTailItem$4$parser=(0,import_lib2.$S)(ForbidNewlineBinaryOp,(0,import_lib2.$E)(PipelineHeadItem),RestoreNewlineBinaryOp);function PipelineTailItem$0(e,t){let r=PipelineTailItem$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PipelineTailItem$1(e,t){let r=PipelineTailItem$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{$loc:t,token:i,type:"Yield"}}(import_lib2.SKIP,n,0,l[0],l[1],l[2]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function PipelineTailItem$2(e,t){let r=PipelineTailItem$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return{type:"Identifier",children:[i]}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PipelineTailItem$3(e,t){let r=PipelineTailItem$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],makeAmpersandFunction({body:[" ",o,...a]}));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PipelineTailItem$4(e,t){let r=PipelineTailItem$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PipelineTailItem(e,t){let r=e.enter&&e.enter("PipelineTailItem",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PipelineTailItem$0(e,t);return n||(n=PipelineTailItem$1(e,t)),n||(n=PipelineTailItem$2(e,t)),n||(n=PipelineTailItem$3(e,t)),n||(n=PipelineTailItem$4(e,t)),n&&e.tokenize&&(n.value={type:"PipelineTailItem",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PipelineTailItem",t,n,i),n}var PrimaryExpression$0$parser=(0,import_lib2.$S)(ObjectLiteral),PrimaryExpression$1$parser=(0,import_lib2.$S)(ArrayLiteral),PrimaryExpression$2$parser=(0,import_lib2.$S)(ThisLiteral),PrimaryExpression$3$parser=(0,import_lib2.$S)(TemplateLiteral),PrimaryExpression$4$parser=(0,import_lib2.$S)(Literal),PrimaryExpression$5$parser=(0,import_lib2.$S)(FunctionExpression),PrimaryExpression$6$parser=(0,import_lib2.$S)(IdentifierReference),PrimaryExpression$7$parser=(0,import_lib2.$S)(ClassExpression),PrimaryExpression$8$parser=(0,import_lib2.$S)(RegularExpressionLiteral),PrimaryExpression$9$parser=(0,import_lib2.$S)(OptimizedParenthesizedExpression),PrimaryExpression$10$parser=(0,import_lib2.$S)(Placeholder),PrimaryExpression$11$parser=(0,import_lib2.$S)(SymbolLiteral),PrimaryExpression$12$parser=(0,import_lib2.$S)(JSXImplicitFragment);function PrimaryExpression$0(e,t){let r=PrimaryExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$1(e,t){let r=PrimaryExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$2(e,t){let r=PrimaryExpression$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$3(e,t){let r=PrimaryExpression$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$4(e,t){let r=PrimaryExpression$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$5(e,t){let r=PrimaryExpression$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$6(e,t){let r=PrimaryExpression$6$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$7(e,t){let r=PrimaryExpression$7$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$8(e,t){let r=PrimaryExpression$8$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$9(e,t){let r=PrimaryExpression$9$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$10(e,t){let r=PrimaryExpression$10$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$11(e,t){let r=PrimaryExpression$11$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression$12(e,t){let r=PrimaryExpression$12$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PrimaryExpression(e,t){let r=e.enter&&e.enter("PrimaryExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PrimaryExpression$0(e,t);return n||(n=PrimaryExpression$1(e,t)),n||(n=PrimaryExpression$2(e,t)),n||(n=PrimaryExpression$3(e,t)),n||(n=PrimaryExpression$4(e,t)),n||(n=PrimaryExpression$5(e,t)),n||(n=PrimaryExpression$6(e,t)),n||(n=PrimaryExpression$7(e,t)),n||(n=PrimaryExpression$8(e,t)),n||(n=PrimaryExpression$9(e,t)),n||(n=PrimaryExpression$10(e,t)),n||(n=PrimaryExpression$11(e,t)),n||(n=PrimaryExpression$12(e,t)),n&&e.tokenize&&(n.value={type:"PrimaryExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PrimaryExpression",t,n,i),n}var OptimizedParenthesizedExpression$parser=(0,import_lib2.$S)(ParenthesizedExpression);function OptimizedParenthesizedExpression(e,t){let r=e.enter&&e.enter("OptimizedParenthesizedExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OptimizedParenthesizedExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("OptimizedParenthesizedExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OptimizedParenthesizedExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OptimizedParenthesizedExpression",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i){let{expression:n}=i;switch(n.type){case"StatementExpression":if("IterationExpression"!==n.statement.type)break;case"IterationExpression":return n}return i}(import_lib2.SKIP,0,0,o[0]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("OptimizedParenthesizedExpression",t,l,i),l}var ParenthesizedExpression$parser=(0,import_lib2.$S)(OpenParen,AllowAll,(0,import_lib2.$E)((0,import_lib2.$S)(PostfixedCommaExpression,__,CloseParen)),RestoreAll);function ParenthesizedExpression(e,t){let r=e.enter&&e.enter("ParenthesizedExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ParenthesizedExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("ParenthesizedExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ParenthesizedExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ParenthesizedExpression",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){var o=i;if(!l)return e;let[a,p,s]=l;return"ParenthesizedExpression"===a.type&&a.implicit?{...a,children:[o,a.expression,p,s],implicit:!1}:{type:"ParenthesizedExpression",children:[o,a,p,s],expression:a}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ParenthesizedExpression",t,l,i),l}var Placeholder$0$parser=(0,import_lib2.$S)(Dot,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R6,"Placeholder /\\p{ID_Continue}|[\\u200C\\u200D$.#{=]/")),(0,import_lib2.$E)(PlaceholderTypeSuffix)),Placeholder$1$parser=(0,import_lib2.$S)(Ampersand,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R7,"Placeholder /[&=]/")),(0,import_lib2.$E)(PlaceholderTypeSuffix)),Placeholder$2$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(ExplicitAccessStart),(0,import_lib2.$Y)((0,import_lib2.$C)(PropertyAccess,PropertyGlob)),(0,import_lib2.$N)(NumericLiteral));function Placeholder$0(e,t){let r=Placeholder$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return{type:"Placeholder",subtype:".",typeSuffix:l,children:[i]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Placeholder$1(e,t){let r=Placeholder$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return{type:"Placeholder",subtype:"&",typeSuffix:l,children:[i]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Placeholder$2(e,t){let r=Placeholder$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(){return{type:"Placeholder",subtype:"&",children:[{token:"&"}]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Placeholder(e,t){let r=e.enter&&e.enter("Placeholder",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Placeholder$0(e,t);return n||(n=Placeholder$1(e,t)),n||(n=Placeholder$2(e,t)),n&&e.tokenize&&(n.value={type:"Placeholder",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Placeholder",t,n,i),n}var PlaceholderTypeSuffix$parser=(0,import_lib2.$S)((0,import_lib2.$E)(QuestionMark),Colon,MaybeNestedTypePrimary);function PlaceholderTypeSuffix(e,t){let r=e.enter&&e.enter("PlaceholderTypeSuffix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PlaceholderTypeSuffix$parser(e,t);if(!n)return void(e.exit&&e.exit("PlaceholderTypeSuffix",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PlaceholderTypeSuffix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PlaceholderTypeSuffix",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return{type:"TypeSuffix",ts:!0,optional:i,t:l,children:r}}(import_lib2.SKIP,0,o,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PlaceholderTypeSuffix",t,l,i),l}var ClassDeclaration$parser=(0,import_lib2.$S)(ClassExpression);function ClassDeclaration(e,t){let r=e.enter&&e.enter("ClassDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassDeclaration$parser(e,t);if(!n)return void(e.exit&&e.exit("ClassDeclaration",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ClassDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ClassDeclaration",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,(p=o[0]).id?p:makeLeftHandSideExpression(p));var p;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ClassDeclaration",t,l,i),l}var ClassExpression$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Decorators),(0,import_lib2.$E)((0,import_lib2.$S)(Abstract,__)),Class,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($L15,'ClassExpression ":"')),(0,import_lib2.$E)(ClassBinding),(0,import_lib2.$E)(ClassHeritage),ClassBody);function ClassExpression(e,t){let r=e.enter&&e.enter("ClassExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("ClassExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ClassExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ClassExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],o[3],c=o[4],m=o[5],d=o[6],b=u,y=m,x=d,{type:"ClassExpression",decorators:f=p,abstract:$=s,binding:S=c,id:S?.[0],name:S?.[0].name,heritage:y,body:x,children:[f,$,b,S,y,x]});var p,s,u,c,m,d,f,$,b,S,y,x;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ClassExpression",t,l,i),l}var ClassBinding$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),BindingIdentifier,(0,import_lib2.$E)(TypeParameters));function ClassBinding(e,t){let r=e.enter&&e.enter("ClassBinding",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassBinding$parser(e,t);if(!n)return void(e.exit&&e.exit("ClassBinding",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ClassBinding",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ClassBinding",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return[n,l]}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ClassBinding",t,l,i),l}var ClassHeritage$0$parser=(0,import_lib2.$S)(ExtendsClause,(0,import_lib2.$E)(WithClause),(0,import_lib2.$E)(ImplementsClause)),ClassHeritage$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(WithClause),(0,import_lib2.$E)(ImplementsClause));function ClassHeritage$0(e,t){let r=ClassHeritage$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,u=p,a&&(s=convertWithClause(a,s)),[s,u]);var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ClassHeritage$1(e,t){let r=ClassHeritage$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],p=n[1],s=p,a?[convertWithClause(a),s]:s||o);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ClassHeritage(e,t){let r=e.enter&&e.enter("ClassHeritage",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassHeritage$0(e,t);return n||(n=ClassHeritage$1(e,t)),n&&e.tokenize&&(n.value={type:"ClassHeritage",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ClassHeritage",t,n,i),n}var ExtendsClause$parser=(0,import_lib2.$S)(ExtendsToken,__,ExtendsTarget);function ExtendsClause(e,t){let r=e.enter&&e.enter("ExtendsClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExtendsClause$parser(e,t);return n&&e.tokenize&&(n.value={type:"ExtendsClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ExtendsClause",t,n,i),n}var WithClause$0$parser=(0,import_lib2.$S)(NotDedented,With,PushIndent,(0,import_lib2.$Q)((0,import_lib2.$S)(Nested,Expression,(0,import_lib2.$E)(_),(0,import_lib2.$E)(Comma))),PopIndent),WithClause$1$parser=(0,import_lib2.$S)(NotDedented,With,NotDedented,ExtendsTarget,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma,NotDedented,ExtendsTarget)));function WithClause$0(e,t){let r=WithClause$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n,n[0],n[1],n[2],p=n[3],n[4],(s=p).length?{type:"WithClause",children:a,targets:s=s.map(e=>e.slice(0,-1))}:o);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function WithClause$1(e,t){let r=WithClause$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],p=n[3],s=n[4],{type:"WithClause",children:o,targets:[[a,p],...s.map(([e,t,r,i])=>[prepend(e,r),i])]});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function WithClause(e,t){let r=e.enter&&e.enter("WithClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WithClause$0(e,t);return n||(n=WithClause$1(e,t)),n&&e.tokenize&&(n.value={type:"WithClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("WithClause",t,n,i),n}var ExtendsToken$0$parser=(0,import_lib2.$S)(NotDedented,InsertSpace,ExtendsShorthand,(0,import_lib2.$E)((0,import_lib2.$EXPECT)($L16,'ExtendsToken " "'))),ExtendsToken$1$parser=(0,import_lib2.$S)(NotDedented,Extends);function ExtendsToken$0(e,t){let r=ExtendsToken$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],n[3],u=a,c=p,{type:"Extends",children:[(s=o).length?s:u,c]});var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExtendsToken$1(e,t){let r=ExtendsToken$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{type:"Extends",children:r}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExtendsToken(e,t){let r=e.enter&&e.enter("ExtendsToken",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExtendsToken$0(e,t);return n||(n=ExtendsToken$1(e,t)),n&&e.tokenize&&(n.value={type:"ExtendsToken",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ExtendsToken",t,n,i),n}var ExtendsShorthand$parser=(0,import_lib2.$EXPECT)($L17,'ExtendsShorthand "<"');function ExtendsShorthand(e,t){let r=e.enter&&e.enter("ExtendsShorthand",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExtendsShorthand$parser(e,t);if(!n)return void(e.exit&&e.exit("ExtendsShorthand",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExtendsShorthand",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExtendsShorthand",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"extends "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExtendsShorthand",t,l,i),l}var NotExtendsToken$0$parser=(0,import_lib2.$S)(Loc,(0,import_lib2.$E)(_),OmittedNegation,ExtendsShorthand,(0,import_lib2.$E)((0,import_lib2.$EXPECT)($L16,'NotExtendsToken " "'))),NotExtendsToken$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),OmittedNegation,Extends);function NotExtendsToken$0(e,t){let r=NotExtendsToken$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],n[4],u=s,{type:"Extends",negated:!0,children:[a&&p?[a,p]:a||p||{$loc:o.$loc,token:" "},u]});var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NotExtendsToken$1(e,t){let r=NotExtendsToken$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{type:"Extends",negated:!0,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NotExtendsToken(e,t){let r=e.enter&&e.enter("NotExtendsToken",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NotExtendsToken$0(e,t);return n||(n=NotExtendsToken$1(e,t)),n&&e.tokenize&&(n.value={type:"NotExtendsToken",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NotExtendsToken",t,n,i),n}var OmittedNegation$0$parser=(0,import_lib2.$S)(ExclamationPoint),OmittedNegation$1$parser=(0,import_lib2.$S)(Not,(0,import_lib2.$E)((0,import_lib2.$EXPECT)($L16,'OmittedNegation " "')),(0,import_lib2.$E)(_));function OmittedNegation$0(e,t){let r=OmittedNegation$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(){return""}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OmittedNegation$1(e,t){let r=OmittedNegation$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return l}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OmittedNegation(e,t){let r=e.enter&&e.enter("OmittedNegation",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OmittedNegation$0(e,t);return n||(n=OmittedNegation$1(e,t)),n&&e.tokenize&&(n.value={type:"OmittedNegation",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OmittedNegation",t,n,i),n}var ExtendsTarget$parser=LeftHandSideExpressionWithObjectApplicationForbidden;function ExtendsTarget(e,t){let r=e.enter&&e.enter("ExtendsTarget",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExtendsTarget$parser(e,t);if(!n)return void(e.exit&&e.exit("ExtendsTarget",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExtendsTarget",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExtendsTarget",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,makeLeftHandSideExpression(o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExtendsTarget",t,l,i),l}var ImplementsClause$0$parser=(0,import_lib2.$S)(ImplementsToken,PushIndent,(0,import_lib2.$Q)((0,import_lib2.$S)(Nested,TypeIdentifier,ArrayBulletDelimiter)),PopIndent),ImplementsClause$1$parser=(0,import_lib2.$S)(ImplementsToken,ImplementsTarget,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma,ImplementsTarget)));function ImplementsClause$0(e,t){let r=ImplementsClause$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=l;if(!a.length)return e;let p=a.at(-1).slice(0,-1);return{ts:!0,children:[o,a=a.slice(0,-1).concat(p)]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImplementsClause$1(e,t){let r=ImplementsClause$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{ts:!0,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImplementsClause(e,t){let r=e.enter&&e.enter("ImplementsClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplementsClause$0(e,t);return n||(n=ImplementsClause$1(e,t)),n&&e.tokenize&&(n.value={type:"ImplementsClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImplementsClause",t,n,i),n}var ImplementsToken$0$parser=(0,import_lib2.$S)(Loc,NotDedented,ImplementsShorthand,(0,import_lib2.$E)((0,import_lib2.$EXPECT)($L16,'ImplementsToken " "'))),ImplementsToken$1$parser=(0,import_lib2.$S)(NotDedented,(0,import_lib2.$EXPECT)($L18,'ImplementsToken "implements"'),NonIdContinue);function ImplementsToken$0(e,t){let r=ImplementsToken$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=n,p=l;let s=[...a,p];return a.length||s.unshift({$loc:o.$loc,token:" "}),{children:s}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImplementsToken$1(e,t){let r=ImplementsToken$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=(import_lib2.SKIP,a=n,p=l[0],s=l[1],l[2],[p,s={$loc:a,token:s}]);var a,p,s;return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function ImplementsToken(e,t){let r=e.enter&&e.enter("ImplementsToken",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplementsToken$0(e,t);return n||(n=ImplementsToken$1(e,t)),n&&e.tokenize&&(n.value={type:"ImplementsToken",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImplementsToken",t,n,i),n}var ImplementsShorthand$parser=(0,import_lib2.$EXPECT)($L19,'ImplementsShorthand "<:"');function ImplementsShorthand(e,t){let r=e.enter&&e.enter("ImplementsShorthand",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplementsShorthand$parser(e,t);if(!n)return void(e.exit&&e.exit("ImplementsShorthand",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImplementsShorthand",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImplementsShorthand",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"implements "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ImplementsShorthand",t,l,i),l}var ImplementsTarget$parser=(0,import_lib2.$S)(__,IdentifierName,(0,import_lib2.$Q)((0,import_lib2.$S)(Dot,IdentifierName)),(0,import_lib2.$E)(TypeArguments));function ImplementsTarget(e,t){let r=e.enter&&e.enter("ImplementsTarget",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplementsTarget$parser(e,t);return n&&e.tokenize&&(n.value={type:"ImplementsTarget",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImplementsTarget",t,n,i),n}var ClassBody$0$parser=(0,import_lib2.$S)(__,OpenBrace,AllowAll,ClassBracedContent,RestoreAll,__,CloseBrace),ClassBody$1$parser=(0,import_lib2.$S)(InsertOpenBrace,(0,import_lib2.$E)(NestedClassElements),InsertNewline,InsertIndent,InsertCloseBrace);function ClassBody$0(e,t){let r=ClassBody$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s){return{type:"BlockStatement",subtype:"ClassBody",children:[i,n,o,p,s],expressions:o}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ClassBody$1(e,t){let r=ClassBody$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],a=n[1],n[2],n[3],n[4],(p=a)||(p=o[1]=[]),{type:"BlockStatement",subtype:"ClassBody",children:o,expressions:p});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ClassBody(e,t){let r=e.enter&&e.enter("ClassBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassBody$0(e,t);return n||(n=ClassBody$1(e,t)),n&&e.tokenize&&(n.value={type:"ClassBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ClassBody",t,n,i),n}var ClassBracedContent$1$parser=(0,import_lib2.$S)(ForbidNewlineBinaryOp,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)(EOS)),ClassElement,StatementDelimiter)),RestoreNewlineBinaryOp);function ClassBracedContent$0(e,t){return NestedClassElements(e,t)}function ClassBracedContent$1(e,t){let r=ClassBracedContent$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],n[2],o.map(([e,t,r])=>[e[0],t,r]));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ClassBracedContent(e,t){let r=e.enter&&e.enter("ClassBracedContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassBracedContent$0(e,t);return n||(n=ClassBracedContent$1(e,t)),n&&e.tokenize&&(n.value={type:"ClassBracedContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ClassBracedContent",t,n,i),n}var NestedClassElements$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedClassElement),PopIndent);function NestedClassElements(e,t){let r=e.enter&&e.enter("NestedClassElements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedClassElements$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedClassElements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedClassElements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedClassElements",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedClassElements",t,l,i),l}var NestedClassElement$parser=(0,import_lib2.$S)(Nested,ClassElement,StatementDelimiter);function NestedClassElement(e,t){let r=e.enter&&e.enter("NestedClassElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedClassElement$parser(e,t);return n&&e.tokenize&&(n.value={type:"NestedClassElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedClassElement",t,n,i),n}var ClassElement$0$parser=(0,import_lib2.$S)(CoffeeClassesEnabled,(0,import_lib2.$E)(Decorators),(0,import_lib2.$E)(DeclareModifier),(0,import_lib2.$E)(AccessModifier),(0,import_lib2.$E)(StaticModifier),(0,import_lib2.$E)(OverrideModifier),ActualAssignment),ClassElement$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Decorators),(0,import_lib2.$E)(DeclareModifier),(0,import_lib2.$E)(AccessModifier),(0,import_lib2.$E)(StaticModifier),(0,import_lib2.$E)(OverrideModifier),ClassElementDefinition),ClassElement$2$parser=(0,import_lib2.$S)(Static,BracedBlock);function ClassElement$0(e,t){let r=ClassElement$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s){return{type:a?"CoffeeClassPublic":"CoffeeClassPrivate",children:[n,l,o,a,p,s],assignment:s}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ClassElement$1(e,t){let r=ClassElement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){var s=i,u=n,c=l,m=o,d=a,f=p;let $=f.ts||!!u;return"MultiMethodDefinition"===f.type?{...f,ts:$,children:f.children.map(e=>({...e,children:[s,u,c,m,d,...e.children]}))}:{...f,ts:$,children:[s,u,c,m,d,...f.children]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ClassElement$2(e,t){let r=ClassElement$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{type:"ClassStaticBlock",children:r}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ClassElement$3(e,t){return EmptyStatement(e,t)}function ClassElement(e,t){let r=e.enter&&e.enter("ClassElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassElement$0(e,t);return n||(n=ClassElement$1(e,t)),n||(n=ClassElement$2(e,t)),n||(n=ClassElement$3(e,t)),n&&e.tokenize&&(n.value={type:"ClassElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ClassElement",t,n,i),n}function ClassElementDefinition$0(e,t){return MethodDefinition(e,t)}function ClassElementDefinition$1(e,t){return FieldDefinition(e,t)}function ClassElementDefinition(e,t){let r=e.enter&&e.enter("ClassElementDefinition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassElementDefinition$0(e,t);return n||(n=ClassElementDefinition$1(e,t)),n&&e.tokenize&&(n.value={type:"ClassElementDefinition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ClassElementDefinition",t,n,i),n}var ClassSignature$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Decorators),(0,import_lib2.$E)(AbstractModifier),Class,(0,import_lib2.$E)(ClassBinding),(0,import_lib2.$E)(ClassHeritage),ClassSignatureBody);function ClassSignature(e,t){let r=e.enter&&e.enter("ClassSignature",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassSignature$parser(e,t);return n&&e.tokenize&&(n.value={type:"ClassSignature",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ClassSignature",t,n,i),n}var ClassSignatureBody$0$parser=(0,import_lib2.$S)(__,OpenBrace,(0,import_lib2.$E)(NestedClassSignatureElements),__,CloseBrace),ClassSignatureBody$1$parser=(0,import_lib2.$S)(InsertOpenBrace,(0,import_lib2.$E)(NestedClassSignatureElements),InsertNewline,InsertIndent,InsertCloseBrace);function ClassSignatureBody$0(e,t){return ClassSignatureBody$0$parser(e,t)}function ClassSignatureBody$1(e,t){return ClassSignatureBody$1$parser(e,t)}function ClassSignatureBody(e,t){let r=e.enter&&e.enter("ClassSignatureBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassSignatureBody$0(e,t);return n||(n=ClassSignatureBody$1(e,t)),n&&e.tokenize&&(n.value={type:"ClassSignatureBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ClassSignatureBody",t,n,i),n}var NestedClassSignatureElements$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedClassSignatureElement),PopIndent);function NestedClassSignatureElements(e,t){let r=e.enter&&e.enter("NestedClassSignatureElements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedClassSignatureElements$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedClassSignatureElements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedClassSignatureElements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedClassSignatureElements",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedClassSignatureElements",t,l,i),l}var NestedClassSignatureElement$parser=(0,import_lib2.$S)(Nested,ClassSignatureElement,StatementDelimiter);function NestedClassSignatureElement(e,t){let r=e.enter&&e.enter("NestedClassSignatureElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedClassSignatureElement$parser(e,t);return n&&e.tokenize&&(n.value={type:"NestedClassSignatureElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedClassSignatureElement",t,n,i),n}var ClassSignatureElement$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Decorators),(0,import_lib2.$E)(AccessModifier),(0,import_lib2.$E)(StaticModifier),(0,import_lib2.$E)(OverrideModifier),(0,import_lib2.$C)(MethodSignature,FieldDefinition)),ClassSignatureElement$1$parser=(0,import_lib2.$S)(Static,ClassSignatureBody);function ClassSignatureElement$0(e,t){return ClassSignatureElement$0$parser(e,t)}function ClassSignatureElement$1(e,t){return ClassSignatureElement$1$parser(e,t)}function ClassSignatureElement(e,t){let r=e.enter&&e.enter("ClassSignatureElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassSignatureElement$0(e,t);return n||(n=ClassSignatureElement$1(e,t)),n&&e.tokenize&&(n.value={type:"ClassSignatureElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ClassSignatureElement",t,n,i),n}var AbstractModifier$parser=(0,import_lib2.$S)(Abstract,NotDedented,(0,import_lib2.$Y)(ClassElementName));function AbstractModifier(e,t){let r=e.enter&&e.enter("AbstractModifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AbstractModifier$parser(e,t);if(!n)return void(e.exit&&e.exit("AbstractModifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AbstractModifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AbstractModifier",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return[i,n]}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("AbstractModifier",t,l,i),l}var DeclareModifier$parser=(0,import_lib2.$S)(Declare,NotDedented,(0,import_lib2.$Y)(ClassElementName));function DeclareModifier(e,t){let r=e.enter&&e.enter("DeclareModifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DeclareModifier$parser(e,t);if(!n)return void(e.exit&&e.exit("DeclareModifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DeclareModifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DeclareModifier",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return[i,n]}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("DeclareModifier",t,l,i),l}var OverrideModifier$parser=(0,import_lib2.$S)(Override,NotDedented,(0,import_lib2.$Y)(ClassElementName));function OverrideModifier(e,t){let r=e.enter&&e.enter("OverrideModifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OverrideModifier$parser(e,t);if(!n)return void(e.exit&&e.exit("OverrideModifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OverrideModifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OverrideModifier",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return[i,n]}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("OverrideModifier",t,l,i),l}var ReadonlyModifier$parser=(0,import_lib2.$S)(Readonly,NotDedented,(0,import_lib2.$Y)((0,import_lib2.$C)(ClassElementName,(0,import_lib2.$EXPECT)($R8,"ReadonlyModifier /[@#]/"))));function ReadonlyModifier(e,t){let r=e.enter&&e.enter("ReadonlyModifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ReadonlyModifier$parser(e,t);if(!n)return void(e.exit&&e.exit("ReadonlyModifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ReadonlyModifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ReadonlyModifier",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return[i,n]}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ReadonlyModifier",t,l,i),l}var StaticModifier$0$parser=(0,import_lib2.$S)(Static,(0,import_lib2.$Y)(IndentedFurther)),StaticModifier$1$parser=(0,import_lib2.$S)(Static,NotDedented,(0,import_lib2.$Y)(ClassElementName));function StaticModifier$0(e,t){let r=StaticModifier$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return[i,""]}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function StaticModifier$1(e,t){let r=StaticModifier$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return[i,n]}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function StaticModifier(e,t){let r=e.enter&&e.enter("StaticModifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=StaticModifier$0(e,t);return n||(n=StaticModifier$1(e,t)),n&&e.tokenize&&(n.value={type:"StaticModifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("StaticModifier",t,n,i),n}var AccessModifier$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$C)(Public,Private,Protected),NotDedented)),(0,import_lib2.$E)(ReadonlyModifier),(0,import_lib2.$Y)((0,import_lib2.$C)(ClassElementName,(0,import_lib2.$EXPECT)($R8,"AccessModifier /[@#]/"))));function AccessModifier(e,t){let r=e.enter&&e.enter("AccessModifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AccessModifier$parser(e,t);if(!n)return void(e.exit&&e.exit("AccessModifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AccessModifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AccessModifier",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return i||n?{ts:!0,children:[i,n]}:e}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("AccessModifier",t,l,i),l}var FieldDefinition$0$parser=(0,import_lib2.$S)(CoffeeClassesEnabled,ClassElementName,(0,import_lib2.$E)(_),Colon,__,AssignmentExpression),FieldDefinition$1$parser=(0,import_lib2.$S)(InsertReadonly,ClassElementName,(0,import_lib2.$E)(TypeSuffix),__,ConstAssignment,MaybeNestedPostfixedExpressionOrCommaLoop),FieldDefinition$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(AbstractModifier),(0,import_lib2.$E)(ReadonlyModifier),ClassElementName,(0,import_lib2.$E)(TypeSuffix),(0,import_lib2.$E)(Initializer));function FieldDefinition$0(e,t){let r=FieldDefinition$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){var s=n,u=p;switch(u.type){case"FunctionExpression":return convertFunctionToMethod(s,u);case"ArrowFunction":return convertArrowFunctionToMethod(s,u);default:return{type:"FieldDefinition",id:s,children:[s," = ",u]}}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FieldDefinition$1(e,t){let r=FieldDefinition$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,a=n[0],p=n[1],s=n[2],n[3],u=n[4],n[5],m=p,d=s,f=u,(c=a).children[0].$loc={pos:f.$loc.pos-1,length:f.$loc.length+1},{type:"FieldDefinition",id:m,typeSuffix:d,children:o,readonly:c});var o,a,p,s,u,c,m,d,f;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FieldDefinition$2(e,t){let r=FieldDefinition$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a){return{type:"FieldDefinition",children:r,ts:!!i||void 0,id:l,typeSuffix:o,abstract:i,readonly:n,initializer:a}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FieldDefinition(e,t){let r=e.enter&&e.enter("FieldDefinition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FieldDefinition$0(e,t);return n||(n=FieldDefinition$1(e,t)),n||(n=FieldDefinition$2(e,t)),n&&e.tokenize&&(n.value={type:"FieldDefinition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("FieldDefinition",t,n,i),n}var ThisLiteral$1$parser=(0,import_lib2.$S)(AtThis,(0,import_lib2.$TEXT)((0,import_lib2.$S)((0,import_lib2.$E)(Hash),IdentifierName)));function ThisLiteral$0(e,t){return HashThis(e,t)}function ThisLiteral$1(e,t){let r=ThisLiteral$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i,n){var l=i,o=n;let a=escapeIdentifier(o);return a.token===o||o.startsWith("#")?{type:"MemberExpression",children:[l,{type:"PropertyAccess",name:a.name,children:[".",{$loc:{pos:t.pos+1,length:t.length-1},token:a.token}]}],thisShorthand:!0}:{type:"MemberExpression",children:[l,{type:"Index",children:["[",{$loc:{pos:t.pos+1,length:t.length-1},token:`"${o}"`},"]"]}],thisShorthand:!0}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function ThisLiteral$2(e,t){return BasicThisLiteral(e,t)}function ThisLiteral(e,t){let r=e.enter&&e.enter("ThisLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ThisLiteral$0(e,t);return n||(n=ThisLiteral$1(e,t)),n||(n=ThisLiteral$2(e,t)),n&&e.tokenize&&(n.value={type:"ThisLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ThisLiteral",t,n,i),n}var BasicThisLiteral$0$parser=(0,import_lib2.$S)(This);function BasicThisLiteral$0(e,t){let r=BasicThisLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return{type:"Identifier",name:"this",children:[i]}}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BasicThisLiteral$1(e,t){return AtThis(e,t)}function BasicThisLiteral(e,t){let r=e.enter&&e.enter("BasicThisLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BasicThisLiteral$0(e,t);return n||(n=BasicThisLiteral$1(e,t)),n&&e.tokenize&&(n.value={type:"BasicThisLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BasicThisLiteral",t,n,i),n}var HashThis$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(AtThis),LengthShorthand,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$Y)((0,import_lib2.$S)(_,(0,import_lib2.$E)((0,import_lib2.$S)(Not,__)),ActualIn)),(0,import_lib2.$EXPECT)($L0,'HashThis ""')))),HashThis$1$parser=(0,import_lib2.$S)(PrivateIdentifier,(0,import_lib2.$Y)((0,import_lib2.$S)(_,(0,import_lib2.$E)((0,import_lib2.$S)(Not,__)),ActualIn))),HashThis$2$parser=PrivateIdentifier;function HashThis$0(e,t){let r=HashThis$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,u=a,null!=p&&null==s?['"',u.name,'"']:{type:"MemberExpression",children:[s??"this",{type:"PropertyAccess",name:u.name,children:[".",u]}],thisShorthand:!0});var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function HashThis$1(e,t){let r=HashThis$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function HashThis$2(e,t){let r=HashThis$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,{type:"MemberExpression",children:["this",{type:"PropertyAccess",name:(o=n).name,children:[".",o]}],privateShorthand:!0,privateId:o});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function HashThis(e,t){let r=e.enter&&e.enter("HashThis",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=HashThis$0(e,t);return n||(n=HashThis$1(e,t)),n||(n=HashThis$2(e,t)),n&&e.tokenize&&(n.value={type:"HashThis",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("HashThis",t,n,i),n}var LengthShorthand$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeCommentEnabled),Hash,NonIdContinue);function LengthShorthand(e,t){let r=e.enter&&e.enter("LengthShorthand",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LengthShorthand$parser(e,t);if(!n)return void(e.exit&&e.exit("LengthShorthand",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"LengthShorthand",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("LengthShorthand",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t){let r="length";return{type:"Identifier",name:r,names:[r],children:[{$loc:t,token:r}]}}(import_lib2.SKIP,o,0,a[0],a[1],a[2]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("LengthShorthand",t,l,i),l}var AtThis$parser=At;function AtThis(e,t){let r=e.enter&&e.enter("AtThis",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AtThis$parser(e,t);if(!n)return void(e.exit&&e.exit("AtThis",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AtThis",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AtThis",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,{type:"Identifier",name:"this",children:[{...p,token:"this"}]});var p;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("AtThis",t,l,i),l}var LeftHandSideExpression$0$parser=(0,import_lib2.$S)((0,import_lib2.$P)((0,import_lib2.$S)(New,(0,import_lib2.$N)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L7,'LeftHandSideExpression "."'),(0,import_lib2.$EXPECT)($L15,'LeftHandSideExpression ":"'))),__)),CallExpression);function LeftHandSideExpression$0(e,t){let r=LeftHandSideExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=a,{type:"NewExpression",children:[...o.flatMap(([e,t,r])=>[e,r]),p],expression:p});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function LeftHandSideExpression$1(e,t){return CallExpression(e,t)}function LeftHandSideExpression(e,t){let r=e.enter&&e.enter("LeftHandSideExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LeftHandSideExpression$0(e,t);return n||(n=LeftHandSideExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"LeftHandSideExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("LeftHandSideExpression",t,n,i),n}var CallExpression$0$parser=(0,import_lib2.$S)(Super,ArgumentsWithTrailingCallExpressions,(0,import_lib2.$Q)(CallExpressionRest)),CallExpression$1$parser=(0,import_lib2.$S)(Import,_,DynamicImportContents,__,FromClause),CallExpression$2$parser=(0,import_lib2.$S)(FromClause,__,Import,_,DynamicImportContents),CallExpression$3$parser=(0,import_lib2.$S)(Import,ArgumentsWithTrailingCallExpressions,(0,import_lib2.$Q)(CallExpressionRest)),CallExpression$4$parser=(0,import_lib2.$S)(MemberExpression,(0,import_lib2.$Q)(CallExpressionRest),(0,import_lib2.$E)(AllowedTrailingCallExpressions));function CallExpression$0(e,t){let r=CallExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],processCallMemberExpression({type:"CallExpression",children:[o,...a,...p.flat()]}));var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CallExpression$1(e,t){let r=CallExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],n[2],n[3],n[4],dynamizeImportDeclarationExpression(o));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CallExpression$2(e,t){let r=CallExpression$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=n[4],dynamizeImportDeclarationExpression([p,s,u,a,o]));var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CallExpression$3(e,t){let r=CallExpression$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=n,a=l;let[p,...s]=o;return processCallMemberExpression({type:"CallExpression",children:[i,rewriteDynamicImportCall(p),...s,...a.flat()]})}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CallExpression$4(e,t){let r=CallExpression$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,c=p,(u=a).length||c?(u=u.flat(),processCallMemberExpression({type:"CallExpression",children:[s,...u,...c??[]]})):s);var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CallExpression(e,t){let r=e.enter&&e.enter("CallExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CallExpression$0(e,t);return n||(n=CallExpression$1(e,t)),n||(n=CallExpression$2(e,t)),n||(n=CallExpression$3(e,t)),n||(n=CallExpression$4(e,t)),n&&e.tokenize&&(n.value={type:"CallExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CallExpression",t,n,i),n}var CallExpressionRest$1$parser=(0,import_lib2.$S)(TypeArguments,(0,import_lib2.$N)((0,import_lib2.$C)(IdentifierName,NumericLiteral))),CallExpressionRest$2$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R9,"CallExpressionRest /(?=['\"`])/"),(0,import_lib2.$C)(TemplateLiteral,StringLiteral)),CallExpressionRest$3$parser=(0,import_lib2.$S)((0,import_lib2.$E)(OptionalShorthand),ArgumentsWithTrailingCallExpressions);function CallExpressionRest$0(e,t){return MemberExpressionRest(e,t)}function CallExpressionRest$1(e,t){let r=CallExpressionRest$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CallExpressionRest$2(e,t){let r=CallExpressionRest$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],"StringLiteral"===(a=o).type&&(a="`"+a.token.slice(1,-1).replace(/(`|\$\{)/g,"\\$1")+"`"),a);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CallExpressionRest$3(e,t){let r=CallExpressionRest$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){var l=i,o=n;if(!l)return o;let a=o[0];return[{...a,children:[l,...a.children],optional:l},...o.slice(1)]}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CallExpressionRest(e,t){let r=e.enter&&e.enter("CallExpressionRest",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CallExpressionRest$0(e,t);return n||(n=CallExpressionRest$1(e,t)),n||(n=CallExpressionRest$2(e,t)),n||(n=CallExpressionRest$3(e,t)),n&&e.tokenize&&(n.value={type:"CallExpressionRest",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CallExpressionRest",t,n,i),n}var ExplicitCallExpressionRest$1$parser=(0,import_lib2.$S)(TypeArguments,(0,import_lib2.$N)((0,import_lib2.$C)(IdentifierName,NumericLiteral))),ExplicitCallExpressionRest$2$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R9,"ExplicitCallExpressionRest /(?=['\"`])/"),(0,import_lib2.$C)(TemplateLiteral,StringLiteral)),ExplicitCallExpressionRest$3$parser=(0,import_lib2.$S)((0,import_lib2.$E)(OptionalShorthand),ExplicitArguments);function ExplicitCallExpressionRest$0(e,t){return MemberExpressionRest(e,t)}function ExplicitCallExpressionRest$1(e,t){let r=ExplicitCallExpressionRest$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExplicitCallExpressionRest$2(e,t){let r=ExplicitCallExpressionRest$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],"StringLiteral"===(a=o).type&&(a="`"+a.token.slice(1,-1).replace(/(`|\$\{)/g,"\\$1")+"`"),a);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExplicitCallExpressionRest$3(e,t){let r=ExplicitCallExpressionRest$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],s=a,(p=o)?{...s,children:[p,...s.children],optional:p}:s);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExplicitCallExpressionRest(e,t){let r=e.enter&&e.enter("ExplicitCallExpressionRest",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExplicitCallExpressionRest$0(e,t);return n||(n=ExplicitCallExpressionRest$1(e,t)),n||(n=ExplicitCallExpressionRest$2(e,t)),n||(n=ExplicitCallExpressionRest$3(e,t)),n&&e.tokenize&&(n.value={type:"ExplicitCallExpressionRest",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ExplicitCallExpressionRest",t,n,i),n}var OptionalShorthand$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R10,"OptionalShorthand /(?=[\\/?])/"),(0,import_lib2.$Q)(InlineComment),QuestionMark,OptionalDot);function OptionalShorthand(e,t){let r=e.enter&&e.enter("OptionalShorthand",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OptionalShorthand$parser(e,t);if(!n)return void(e.exit&&e.exit("OptionalShorthand",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OptionalShorthand",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OptionalShorthand",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],p=o[1],s=o[2],u=o[3],{type:"Optional",children:[...p,s,u]});var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("OptionalShorthand",t,l,i),l}var OptionalDot$0$parser=(0,import_lib2.$S)((0,import_lib2.$Q)(InlineComment),Dot);function OptionalDot$0(e,t){return OptionalDot$0$parser(e,t)}function OptionalDot$1(e,t){return InsertDot(e,t)}function OptionalDot(e,t){let r=e.enter&&e.enter("OptionalDot",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OptionalDot$0(e,t);return n||(n=OptionalDot$1(e,t)),n&&e.tokenize&&(n.value={type:"OptionalDot",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OptionalDot",t,n,i),n}var NonNullAssertion$parser=(0,import_lib2.$S)(ExclamationPoint,(0,import_lib2.$N)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L20,'NonNullAssertion "^"'),(0,import_lib2.$EXPECT)($L21,'NonNullAssertion "<?"'),(0,import_lib2.$EXPECT)($L3,'NonNullAssertion "="'))));function NonNullAssertion(e,t){let r=e.enter&&e.enter("NonNullAssertion",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonNullAssertion$parser(e,t);if(!n)return void(e.exit&&e.exit("NonNullAssertion",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NonNullAssertion",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NonNullAssertion",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i){return{type:"NonNullAssertion",ts:!0,children:[i]}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NonNullAssertion",t,l,i),l}var MemberExpression$parser=(0,import_lib2.$S)(MemberBase,(0,import_lib2.$Q)(MemberExpressionRest));function MemberExpression(e,t){let r=e.enter&&e.enter("MemberExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MemberExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("MemberExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"MemberExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("MemberExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],(u=s).length||Array.isArray(p)?processCallMemberExpression({type:"MemberExpression",children:[p,...u].flat()}):p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("MemberExpression",t,l,i),l}var ActualMemberExpression$parser=(0,import_lib2.$S)(MemberBase,(0,import_lib2.$P)(MemberExpressionRest));function ActualMemberExpression(e,t){let r=e.enter&&e.enter("ActualMemberExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ActualMemberExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("ActualMemberExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ActualMemberExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ActualMemberExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],processCallMemberExpression({type:"MemberExpression",children:[p,...s].flat()}));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ActualMemberExpression",t,l,i),l}function MemberBase$0(e,t){return PrimaryExpression(e,t)}function MemberBase$1(e,t){return SuperProperty(e,t)}function MemberBase$2(e,t){return MetaProperty(e,t)}function MemberBase(e,t){let r=e.enter&&e.enter("MemberBase",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MemberBase$0(e,t);return n||(n=MemberBase$1(e,t)),n||(n=MemberBase$2(e,t)),n&&e.tokenize&&(n.value={type:"MemberBase",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MemberBase",t,n,i),n}var MemberExpressionRest$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R11,"MemberExpressionRest /(?=[\\/\\[{?.!@#'’:])/"),(0,import_lib2.$Q)(InlineComment),MemberExpressionRestBody);function MemberExpressionRest(e,t){let r=e.enter&&e.enter("MemberExpressionRest",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MemberExpressionRest$parser(e,t);if(!n)return void(e.exit&&e.exit("MemberExpressionRest",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"MemberExpressionRest",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("MemberExpressionRest",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],p=o[1],s=o[2],u=p,c=s,Array.isArray(c)?[...u,...c]:{...c,children:[...u,...c.children]});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("MemberExpressionRest",t,l,i),l}var MemberExpressionRestBody$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(OptionalShorthand),(0,import_lib2.$Q)(InlineComment),MemberBracketContent);function MemberExpressionRestBody$0(e,t){let r=MemberExpressionRestBody$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],u=a,c=p,(s=o)||u.length?s?"Optional"===s.type&&"SliceExpression"===c.type?[...s.children.slice(0,-1),...u,c]:{...c,children:[s,...u,...c.children],optional:s}:[...u,c]:c);var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MemberExpressionRestBody$1(e,t){return PropertyAccess(e,t)}function MemberExpressionRestBody$2(e,t){return PropertyGlob(e,t)}function MemberExpressionRestBody$3(e,t){return PropertyBind(e,t)}function MemberExpressionRestBody$4(e,t){return NonNullAssertion(e,t)}function MemberExpressionRestBody(e,t){let r=e.enter&&e.enter("MemberExpressionRestBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MemberExpressionRestBody$0(e,t);return n||(n=MemberExpressionRestBody$1(e,t)),n||(n=MemberExpressionRestBody$2(e,t)),n||(n=MemberExpressionRestBody$3(e,t)),n||(n=MemberExpressionRestBody$4(e,t)),n&&e.tokenize&&(n.value={type:"MemberExpressionRestBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MemberExpressionRestBody",t,n,i),n}var MemberBracketContent$0$parser=(0,import_lib2.$S)(OpenBracket,(0,import_lib2.$C)(SliceParameters,PostfixedExpression),__,CloseBracket),MemberBracketContent$1$parser=(0,import_lib2.$S)(OpenBracket,PostfixedExpression,__,(0,import_lib2.$EXPECT)($R12,"MemberBracketContent /%%?/"),__,CloseBracket);function MemberBracketContent$0(e,t){let r=MemberBracketContent$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){var a=i,p=n,s=l,u=o;if("SliceParameters"===p.type){let{start:e,end:t,reversed:r,children:i}=p;return{type:"SliceExpression",start:e,end:t,reversed:r,children:[{...a,token:".slice("},...i,[...s,{...u,token:")"}]]}}return{type:"Index",children:r,expression:p}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MemberBracketContent$1(e,t){let r=MemberBracketContent$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){return{type:"Index",children:[i,n,l,a,p],expression:n,mod:!0}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MemberBracketContent(e,t){let r=e.enter&&e.enter("MemberBracketContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MemberBracketContent$0(e,t);return n||(n=MemberBracketContent$1(e,t)),n&&e.tokenize&&(n.value={type:"MemberBracketContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MemberBracketContent",t,n,i),n}var SliceParameters$0$parser=(0,import_lib2.$S)(Loc,(0,import_lib2.$E)(Expression),__,RangeDots,Loc,(0,import_lib2.$E)(Expression)),SliceParameters$1$parser=(0,import_lib2.$S)(Loc,RangeEnd,Expression);function SliceParameters$0(e,t){let r=SliceParameters$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){var s=i,u=n,c=l,m=o,d=a,f=p;let $,b=!1===m.increasing,S=b?"-":"+";if(u??={$loc:s.$loc,token:b?"-1":"0"},f||(b?f={$loc:d.$loc,token:"0"}:m.right.inclusive||m.triple||(f={$loc:d.$loc,token:"-1"})),m.left.inclusive||(u=[makeLeftHandSideExpression(u),` ${S} 1`]),f){let e=[];m.right.inclusive&&(f=[makeLeftHandSideExpression(f),` ${S} 1`],b||e.push(" || 1/0")),$=[u,[...c,m.children[0],{token:", ",$loc:m.$loc}],[m.children[1],f,...e]]}else $=[u,c];return{type:"SliceParameters",start:u,end:f,reversed:b,children:$}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function SliceParameters$1(e,t){let r=SliceParameters$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=n,p=l;let s,u,c;return a.increasing?(u=p,a.inclusive&&(u=[makeLeftHandSideExpression(u)," + 1"]),s={$loc:o.$loc,token:"0"},c=[s,", ",u]):(s=p,a.inclusive||(s=[makeLeftHandSideExpression(s)," + 1"]),c=[s]),{type:"SliceParameters",start:s,end:u,children:c}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function SliceParameters(e,t){let r=e.enter&&e.enter("SliceParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SliceParameters$0(e,t);return n||(n=SliceParameters$1(e,t)),n&&e.tokenize&&(n.value={type:"SliceParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("SliceParameters",t,n,i),n}var AccessStart$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(PropertyAccessModifier),Dot,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R13,"AccessStart /[.\\s]/"))),AccessStart$1$parser=(0,import_lib2.$S)(PropertyAccessModifier,InsertDot,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R13,"AccessStart /[.\\s]/")));function AccessStart$0(e,t){let r=AccessStart$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],n[2],{type:"AccessStart",children:(p=o)?[p,a]:[a],optional:"?"===p?.token});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AccessStart$1(e,t){let r=AccessStart$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],n[2],{type:"AccessStart",children:[o,a],optional:"?"===o.token});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AccessStart(e,t){let r=e.enter&&e.enter("AccessStart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AccessStart$0(e,t);return n||(n=AccessStart$1(e,t)),n&&e.tokenize&&(n.value={type:"AccessStart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("AccessStart",t,n,i),n}var ExplicitAccessStart$parser=(0,import_lib2.$S)((0,import_lib2.$E)(PropertyAccessModifier),Dot,(0,import_lib2.$N)(Dot));function ExplicitAccessStart(e,t){let r=e.enter&&e.enter("ExplicitAccessStart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExplicitAccessStart$parser(e,t);if(!n)return void(e.exit&&e.exit("ExplicitAccessStart",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExplicitAccessStart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExplicitAccessStart",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],o[2],{type:"AccessStart",children:(u=p)?[u,s]:[s],optional:"?"===u?.token});var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExplicitAccessStart",t,l,i),l}var ImplicitAccessStart$parser=(0,import_lib2.$S)((0,import_lib2.$E)(PropertyAccessModifier),InsertDot,(0,import_lib2.$N)(Dot));function ImplicitAccessStart(e,t){let r=e.enter&&e.enter("ImplicitAccessStart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplicitAccessStart$parser(e,t);if(!n)return void(e.exit&&e.exit("ImplicitAccessStart",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImplicitAccessStart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImplicitAccessStart",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],o[2],{type:"AccessStart",children:(u=p)?[u,s]:[s],optional:"?"===u?.token});var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ImplicitAccessStart",t,l,i),l}function PropertyAccessModifier$0(e,t){return QuestionMark(e,t)}function PropertyAccessModifier$1(e,t){return NonNullAssertion(e,t)}function PropertyAccessModifier(e,t){let r=e.enter&&e.enter("PropertyAccessModifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PropertyAccessModifier$0(e,t);return n||(n=PropertyAccessModifier$1(e,t)),n&&e.tokenize&&(n.value={type:"PropertyAccessModifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PropertyAccessModifier",t,n,i),n}var PropertyAccess$0$parser=(0,import_lib2.$S)(AccessStart,(0,import_lib2.$C)(TemplateLiteral,StringLiteral,IntegerLiteral,SymbolLiteral)),PropertyAccess$1$parser=(0,import_lib2.$S)(AccessStart,(0,import_lib2.$EXPECT)($L22,'PropertyAccess "-"'),IntegerLiteral),PropertyAccess$2$parser=(0,import_lib2.$S)(AccessStart,(0,import_lib2.$Q)(InlineComment),(0,import_lib2.$C)(IdentifierName,PrivateIdentifier,LengthShorthand)),PropertyAccess$3$parser=(0,import_lib2.$S)(ExplicitAccessStart,(0,import_lib2.$Y)(EOS)),PropertyAccess$4$parser=(0,import_lib2.$S)(ImplicitAccessStart,(0,import_lib2.$C)(PrivateIdentifier,LengthShorthand)),PropertyAccess$5$parser=(0,import_lib2.$S)(CoffeePrototypeEnabled,(0,import_lib2.$E)(PropertyAccessModifier),DoubleColon,(0,import_lib2.$E)(IdentifierName));function PropertyAccess$0(e,t){let r=PropertyAccess$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=a,{type:"Index",children:[adjustIndexAccess(o),p,"]"]});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyAccess$1(e,t){let r=PropertyAccess$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=n,a=l;let p={children:[]};return{type:"NegativeIndex",children:[adjustIndexAccess(i),p,o,a,"]"],len:p}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyAccess$2(e,t){let r=PropertyAccess$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,u=a,(c=p).unicode?{type:"Index",children:[adjustIndexAccess(s),...u,propertyKey(c),"]"]}:{type:"PropertyAccess",name:c.name,dot:s,children:[s,...u,...c.children]});var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyAccess$3(e,t){let r=PropertyAccess$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return{type:"PropertyAccess",name:"",dot:i,children:[i,{type:"Error",message:"Missing property name after '.'"}]}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyAccess$4(e,t){let r=PropertyAccess$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=o,{type:"PropertyAccess",name:(s=a).name,dot:p,children:[p,...s.children]});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyAccess$5(e,t){let r=PropertyAccess$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){var a=n,p=o;let s={token:".",$loc:l.$loc},u={type:"AccessStart",children:a?[a,s]:[s],optional:"?"===a?.token};return p?{type:"PropertyAccess",name:p.name,dot:u,children:[u,"prototype.",p]}:{type:"PropertyAccess",name:"prototype",dot:u,children:[u,"prototype"]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyAccess(e,t){let r=e.enter&&e.enter("PropertyAccess",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PropertyAccess$0(e,t);return n||(n=PropertyAccess$1(e,t)),n||(n=PropertyAccess$2(e,t)),n||(n=PropertyAccess$3(e,t)),n||(n=PropertyAccess$4(e,t)),n||(n=PropertyAccess$5(e,t)),n&&e.tokenize&&(n.value={type:"PropertyAccess",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PropertyAccess",t,n,i),n}var ExplicitPropertyGlob$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(ExplicitAccessStart),PropertyGlob);function ExplicitPropertyGlob(e,t){let r=e.enter&&e.enter("ExplicitPropertyGlob",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExplicitPropertyGlob$parser(e,t);if(!n)return void(e.exit&&e.exit("ExplicitPropertyGlob",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExplicitPropertyGlob",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExplicitPropertyGlob",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExplicitPropertyGlob",t,l,i),l}var PropertyGlob$parser=(0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(PropertyAccessModifier),OptionalDot),(0,import_lib2.$Q)(InlineComment),BracedObjectLiteral);function PropertyGlob(e,t){let r=e.enter&&e.enter("PropertyGlob",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PropertyGlob$parser(e,t);if(!n)return void(e.exit&&e.exit("PropertyGlob",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PropertyGlob",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PropertyGlob",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return{type:"PropertyGlob",dot:i,object:l,children:r}}(import_lib2.SKIP,0,o,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PropertyGlob",t,l,i),l}var PropertyBind$parser=(0,import_lib2.$S)((0,import_lib2.$E)(PropertyAccessModifier),At,OptionalDot,(0,import_lib2.$C)(IdentifierName,PrivateIdentifier),(0,import_lib2.$E)(Arguments));function PropertyBind(e,t){let r=e.enter&&e.enter("PropertyBind",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PropertyBind$parser(e,t);if(!n)return void(e.exit&&e.exit("PropertyBind",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PropertyBind",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PropertyBind",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],o[1],s=o[2],u=o[3],c=o[4],m=p,d=s,$=c,{type:"PropertyBind",name:(f=u).name,children:[m,d,f],args:$?.children.slice(1,-1)??[]});var p,s,u,c,m,d,f,$;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PropertyBind",t,l,i),l}var PropertyBindExplicitArguments$parser=(0,import_lib2.$S)((0,import_lib2.$E)(PropertyAccessModifier),At,OptionalDot,(0,import_lib2.$C)(IdentifierName,PrivateIdentifier),(0,import_lib2.$E)(ExplicitArguments));function PropertyBindExplicitArguments(e,t){let r=e.enter&&e.enter("PropertyBindExplicitArguments",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PropertyBindExplicitArguments$parser(e,t);if(!n)return void(e.exit&&e.exit("PropertyBindExplicitArguments",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PropertyBindExplicitArguments",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PropertyBindExplicitArguments",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],o[1],s=o[2],u=o[3],c=o[4],m=p,d=s,$=c,{type:"PropertyBind",name:(f=u).name,children:[m,d,f],args:$?.children.slice(1,-1)??[]});var p,s,u,c,m,d,f,$;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PropertyBindExplicitArguments",t,l,i),l}var SuperProperty$0$parser=(0,import_lib2.$S)(Super,MemberBracketContent),SuperProperty$1$parser=(0,import_lib2.$S)(Super,(0,import_lib2.$N)(PropertyAccessModifier),PropertyAccess);function SuperProperty$0(e,t){return SuperProperty$0$parser(e,t)}function SuperProperty$1(e,t){let r=SuperProperty$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return[i,l]}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function SuperProperty(e,t){let r=e.enter&&e.enter("SuperProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SuperProperty$0(e,t);return n||(n=SuperProperty$1(e,t)),n&&e.tokenize&&(n.value={type:"SuperProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("SuperProperty",t,n,i),n}var MetaProperty$0$parser=(0,import_lib2.$S)(New,Dot,Target),MetaProperty$1$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L23,'MetaProperty "import.meta"'),NonIdContinue);function MetaProperty$0(e,t){return MetaProperty$0$parser(e,t)}function MetaProperty$1(e,t){let r=MetaProperty$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function MetaProperty$2(e,t){return ReturnValue(e,t)}function MetaProperty(e,t){let r=e.enter&&e.enter("MetaProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MetaProperty$0(e,t);return n||(n=MetaProperty$1(e,t)),n||(n=MetaProperty$2(e,t)),n&&e.tokenize&&(n.value={type:"MetaProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MetaProperty",t,n,i),n}var ReturnValue$parser=(0,import_lib2.$C)((0,import_lib2.$S)((0,import_lib2.$EXPECT)($L24,'ReturnValue "return.value"'),NonIdContinue),(0,import_lib2.$S)(Return,(0,import_lib2.$Y)(AfterReturnShorthand)));function ReturnValue(e,t){let r=e.enter&&e.enter("ReturnValue",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ReturnValue$parser(e,t);if(!n)return void(e.exit&&e.exit("ReturnValue",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ReturnValue",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ReturnValue",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,{type:"ReturnValue",children:[o[0]]});return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ReturnValue",t,l,i),l}var AfterReturnShorthand$3$parser=(0,import_lib2.$S)(__,LetAssignment),AfterReturnShorthand$4$parser=(0,import_lib2.$S)(__,ConstAssignment);function AfterReturnShorthand$0(e,t){return WAssignmentOp(e,t)}function AfterReturnShorthand$1(e,t){return UpdateExpressionSymbol(e,t)}function AfterReturnShorthand$2(e,t){return TypeSuffix(e,t)}function AfterReturnShorthand$3(e,t){return AfterReturnShorthand$3$parser(e,t)}function AfterReturnShorthand$4(e,t){return AfterReturnShorthand$4$parser(e,t)}function AfterReturnShorthand(e,t){let r=e.enter&&e.enter("AfterReturnShorthand",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AfterReturnShorthand$0(e,t);return n||(n=AfterReturnShorthand$1(e,t)),n||(n=AfterReturnShorthand$2(e,t)),n||(n=AfterReturnShorthand$3(e,t)),n||(n=AfterReturnShorthand$4(e,t)),n&&e.tokenize&&(n.value={type:"AfterReturnShorthand",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("AfterReturnShorthand",t,n,i),n}var Parameters$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(TypeParameters),Loc);function Parameters$0(e,t){return NonEmptyParameters(e,t)}function Parameters$1(e,t){let r=Parameters$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){var l=i;let o=[];return{type:"Parameters",children:[l,{$loc:n.$loc,token:"("},o,")"],tp:l,parameters:o,names:[],implicit:!0}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Parameters(e,t){let r=e.enter&&e.enter("Parameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Parameters$0(e,t);return n||(n=Parameters$1(e,t)),n&&e.tokenize&&(n.value={type:"Parameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Parameters",t,n,i),n}var ShortArrowParameters$parser=(0,import_lib2.$C)(ObjectBindingPattern,ArrayBindingPattern);function ShortArrowParameters(e,t){let r=e.enter&&e.enter("ShortArrowParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ShortArrowParameters$parser(e,t);if(!n)return void(e.exit&&e.exit("ShortArrowParameters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ShortArrowParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ShortArrowParameters",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r){var i=r;let{typeSuffix:n}=i,l=[{type:"Parameter",children:[i,n],names:i.names,typeSuffix:n}];return{type:"Parameters",children:["(",l,")"],parameters:l}}(import_lib2.SKIP,0,o);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ShortArrowParameters",t,l,i),l}var ESArrowIdentifierParameters$parser=(0,import_lib2.$S)(ESArrowFunctionEnabled,Identifier);function ESArrowIdentifierParameters(e,t){let r=e.enter&&e.enter("ESArrowIdentifierParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ESArrowIdentifierParameters$parser(e,t);if(!n)return void(e.exit&&e.exit("ESArrowIdentifierParameters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ESArrowIdentifierParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ESArrowIdentifierParameters",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=n;let o=[{type:"Parameter",children:[l],names:l.names,binding:l,typeSuffix:void 0,initializer:void 0,delim:void 0}];return{type:"Parameters",children:["(",o,")"],parameters:o}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ESArrowIdentifierParameters",t,l,i),l}function ArrowParameters$0(e,t){return ESArrowIdentifierParameters(e,t)}function ArrowParameters$1(e,t){return ShortArrowParameters(e,t)}function ArrowParameters$2(e,t){return Parameters(e,t)}function ArrowParameters(e,t){let r=e.enter&&e.enter("ArrowParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrowParameters$0(e,t);return n||(n=ArrowParameters$1(e,t)),n||(n=ArrowParameters$2(e,t)),n&&e.tokenize&&(n.value={type:"ArrowParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ArrowParameters",t,n,i),n}function ThinArrowParameters$0(e,t){return ShortArrowParameters(e,t)}function ThinArrowParameters$1(e,t){return Parameters(e,t)}function ThinArrowParameters(e,t){let r=e.enter&&e.enter("ThinArrowParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ThinArrowParameters$0(e,t);return n||(n=ThinArrowParameters$1(e,t)),n&&e.tokenize&&(n.value={type:"ThinArrowParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ThinArrowParameters",t,n,i),n}var NonEmptyParameters$parser=(0,import_lib2.$S)((0,import_lib2.$E)(TypeParameters),OpenParen,ParameterList,(0,import_lib2.$S)(__,CloseParen));function NonEmptyParameters(e,t){let r=e.enter&&e.enter("NonEmptyParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonEmptyParameters$parser(e,t);if(!n)return void(e.exit&&e.exit("NonEmptyParameters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NonEmptyParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NonEmptyParameters",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){return{type:"Parameters",children:[i,n,l,o],tp:i,parameters:l}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NonEmptyParameters",t,l,i),l}var ParameterList$0$parser=(0,import_lib2.$S)((0,import_lib2.$Q)(Parameter),NestedParameterList),ParameterList$1$parser=(0,import_lib2.$Q)((0,import_lib2.$S)(__,Parameter));function ParameterList$0(e,t){let r=ParameterList$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],[...o,...a]);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ParameterList$1(e,t){let r=ParameterList$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n.map(([e,t])=>({...t,children:[e,...t.children]})));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ParameterList(e,t){let r=e.enter&&e.enter("ParameterList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ParameterList$0(e,t);return n||(n=ParameterList$1(e,t)),n&&e.tokenize&&(n.value={type:"ParameterList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ParameterList",t,n,i),n}var NestedParameterList$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedParameter),PopIndent);function NestedParameterList(e,t){let r=e.enter&&e.enter("NestedParameterList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedParameterList$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedParameterList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedParameterList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedParameterList",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedParameterList",t,l,i),l}var NestedParameter$parser=(0,import_lib2.$S)(Nested,(0,import_lib2.$P)(Parameter));function NestedParameter(e,t){let r=e.enter&&e.enter("NestedParameter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedParameter$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedParameter",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedParameter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedParameter",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,c=s,(c=[...c])[0]=prepend(u,c[0]),c);var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedParameter",t,l,i),l}function Parameter$0(e,t){return ThisType(e,t)}function Parameter$1(e,t){return ParameterElement(e,t)}function Parameter$2(e,t){return FunctionRestParameter(e,t)}function Parameter(e,t){let r=e.enter&&e.enter("Parameter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Parameter$0(e,t);return n||(n=Parameter$1(e,t)),n||(n=Parameter$2(e,t)),n&&e.tokenize&&(n.value={type:"Parameter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Parameter",t,n,i),n}var FunctionRestParameter$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),BindingRestElement,(0,import_lib2.$E)(TypeSuffix),ParameterElementDelimiter);function FunctionRestParameter(e,t){let r=e.enter&&e.enter("FunctionRestParameter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FunctionRestParameter$parser(e,t);if(!n)return void(e.exit&&e.exit("FunctionRestParameter",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"FunctionRestParameter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("FunctionRestParameter",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,o[0],s=o[1],u=o[2],o[3],c=s,m=u,{type:"FunctionRestParameter",children:p.slice(1),rest:c,names:c.names,binding:c.binding,typeSuffix:m});var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("FunctionRestParameter",t,l,i),l}var ParameterElement$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$E)(AccessModifier),(0,import_lib2.$E)(_),(0,import_lib2.$C)(BindingPattern,NWBindingIdentifier),(0,import_lib2.$E)(TypeSuffix),(0,import_lib2.$E)(Initializer),ParameterElementDelimiter);function ParameterElement(e,t){let r=e.enter&&e.enter("ParameterElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ParameterElement$parser(e,t);if(!n)return void(e.exit&&e.exit("ParameterElement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ParameterElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ParameterElement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=o[4],d=o[5],f=o[6],$=s,b=c,S=m,y=d,x=f,S??=b.typeSuffix,{type:"Parameter",children:[p,$,u,b,S,y,x],names:b.names,typeSuffix:S,accessModifier:$,initializer:y,delim:x,binding:b});var p,s,u,c,m,d,f,$,b,S,y,x;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ParameterElement",t,l,i),l}var ParameterElementDelimiter$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Comma),ParameterElementDelimiter$1$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($R14,"ParameterElementDelimiter /[)\\]}]/"))),ParameterElementDelimiter$2$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),InsertComma);function ParameterElementDelimiter$0(e,t){return ParameterElementDelimiter$0$parser(e,t)}function ParameterElementDelimiter$1(e,t){let r=ParameterElementDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function ParameterElementDelimiter$2(e,t){let r=ParameterElementDelimiter$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ParameterElementDelimiter(e,t){let r=e.enter&&e.enter("ParameterElementDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ParameterElementDelimiter$0(e,t);return n||(n=ParameterElementDelimiter$1(e,t)),n||(n=ParameterElementDelimiter$2(e,t)),n&&e.tokenize&&(n.value={type:"ParameterElementDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ParameterElementDelimiter",t,n,i),n}var BindingIdentifier$parser=(0,import_lib2.$S)(__,NWBindingIdentifier);function BindingIdentifier(e,t){let r=e.enter&&e.enter("BindingIdentifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingIdentifier$parser(e,t);if(!n)return void(e.exit&&e.exit("BindingIdentifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BindingIdentifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BindingIdentifier",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],prepend(p,s));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BindingIdentifier",t,l,i),l}var NWBindingIdentifier$0$parser=(0,import_lib2.$S)(At,AtIdentifierRef),NWBindingIdentifier$1$parser=(0,import_lib2.$S)(Hash,AtIdentifierRef),NWBindingIdentifier$2$parser=Identifier,NWBindingIdentifier$3$parser=(0,import_lib2.$S)(ReturnValue);function NWBindingIdentifier$0(e,t){let r=NWBindingIdentifier$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"AtBinding",children:[n],ref:n,at:i,names:[]}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NWBindingIdentifier$1(e,t){let r=NWBindingIdentifier$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],a=o,{type:"AtBinding",children:[a={...a,id:`#${a.id}`}],ref:a,names:[]});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NWBindingIdentifier$2(e,t){return NWBindingIdentifier$2$parser(e,t)}function NWBindingIdentifier$3(e,t){let r=NWBindingIdentifier$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return{children:[i],names:[]}}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NWBindingIdentifier(e,t){let r=e.enter&&e.enter("NWBindingIdentifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NWBindingIdentifier$0(e,t);return n||(n=NWBindingIdentifier$1(e,t)),n||(n=NWBindingIdentifier$2(e,t)),n||(n=NWBindingIdentifier$3(e,t)),n&&e.tokenize&&(n.value={type:"NWBindingIdentifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NWBindingIdentifier",t,n,i),n}var AtIdentifierRef$0$parser=ReservedWord,AtIdentifierRef$1$parser=IdentifierName;function AtIdentifierRef$0(e,t){let r=AtIdentifierRef$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,makeRef(`_${o=n}`,o));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AtIdentifierRef$1(e,t){let r=AtIdentifierRef$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){var i=r;let n=makeRef(i.name);return i.unicode&&(n.unicode=i.unicode),n}(import_lib2.SKIP,0,n);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AtIdentifierRef(e,t){let r=e.enter&&e.enter("AtIdentifierRef",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AtIdentifierRef$0(e,t);return n||(n=AtIdentifierRef$1(e,t)),n&&e.tokenize&&(n.value={type:"AtIdentifierRef",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("AtIdentifierRef",t,n,i),n}var PinPattern$0$parser=(0,import_lib2.$S)(Caret,IdentifierName,(0,import_lib2.$Y)(Colon)),PinPattern$1$parser=(0,import_lib2.$S)(Caret,SingleLineExpressionWithIndentedApplicationForbidden),PinPattern$2$parser=ActualMemberExpression,PinPattern$3$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R15,"PinPattern /[+-]/"),NumericLiteral),PinPattern$4$parser=Undefined;function PinPattern$0(e,t){let r=PinPattern$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],n[2],{type:"PinPattern",children:[o],expression:o,typeSuffix:typeSuffixForExpression(o)});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PinPattern$1(e,t){let r=PinPattern$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],{type:"PinPattern",children:[o=n[1]],expression:o,typeSuffix:typeSuffixForExpression(o)});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PinPattern$2(e,t){let r=PinPattern$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,{type:"PinPattern",children:[o=n],expression:o,typeSuffix:typeSuffixForExpression(o)});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PinPattern$3(e,t){let r=PinPattern$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,{type:"PinPattern",children:[o=n],expression:o,typeSuffix:typeSuffixForExpression(o)});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PinPattern$4(e,t){let r=PinPattern$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,{type:"PinPattern",children:[o=n],expression:o,typeSuffix:typeSuffixForExpression(o)});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PinPattern(e,t){let r=e.enter&&e.enter("PinPattern",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PinPattern$0(e,t);return n||(n=PinPattern$1(e,t)),n||(n=PinPattern$2(e,t)),n||(n=PinPattern$3(e,t)),n||(n=PinPattern$4(e,t)),n&&e.tokenize&&(n.value={type:"PinPattern",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PinPattern",t,n,i),n}var NamedBindingPattern$parser=(0,import_lib2.$S)(BindingIdentifier,Caret,(0,import_lib2.$E)(_),BindingPattern);function NamedBindingPattern(e,t){let r=e.enter&&e.enter("NamedBindingPattern",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NamedBindingPattern$parser(e,t);if(!n)return void(e.exit&&e.exit("NamedBindingPattern",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NamedBindingPattern",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NamedBindingPattern",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],o[1],s=o[2],u=o[3],{type:"NamedBindingPattern",children:[c=p],binding:c,pattern:m=prepend(s,m=u),subbinding:[m," = ",c],typeSuffix:m.typeSuffix});var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NamedBindingPattern",t,l,i),l}function BindingPattern$0(e,t){return ObjectBindingPattern(e,t)}function BindingPattern$1(e,t){return ArrayBindingPattern(e,t)}function BindingPattern$2(e,t){return PinPattern(e,t)}function BindingPattern$3(e,t){return Literal(e,t)}function BindingPattern$4(e,t){return RegularExpressionLiteral(e,t)}function BindingPattern$5(e,t){return NamedBindingPattern(e,t)}function BindingPattern(e,t){let r=e.enter&&e.enter("BindingPattern",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingPattern$0(e,t);return n||(n=BindingPattern$1(e,t)),n||(n=BindingPattern$2(e,t)),n||(n=BindingPattern$3(e,t)),n||(n=BindingPattern$4(e,t)),n||(n=BindingPattern$5(e,t)),n&&e.tokenize&&(n.value={type:"BindingPattern",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BindingPattern",t,n,i),n}var ObjectBindingPattern$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),OpenBrace,ObjectBindingPatternContent,__,CloseBrace);function ObjectBindingPattern(e,t){let r=e.enter&&e.enter("ObjectBindingPattern",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ObjectBindingPattern$parser(e,t);if(!n)return void(e.exit&&e.exit("ObjectBindingPattern",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ObjectBindingPattern",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ObjectBindingPattern",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a){var p=i,s=n,u=l,c=o,m=a;let d=u.children;return gatherBindingPatternTypeSuffix({type:"ObjectBindingPattern",children:[p,s,d,c,m],names:u.names,properties:d})}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ObjectBindingPattern",t,l,i),l}var ObjectBindingPatternContent$1$parser=(0,import_lib2.$E)(BindingPropertyList);function ObjectBindingPatternContent$0(e,t){return NestedBindingProperties(e,t)}function ObjectBindingPatternContent$1(e,t){let r=ObjectBindingPatternContent$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,(o=n)?reorderBindingRestProperty(o):{children:[],names:[]});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ObjectBindingPatternContent(e,t){let r=e.enter&&e.enter("ObjectBindingPatternContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ObjectBindingPatternContent$0(e,t);return n||(n=ObjectBindingPatternContent$1(e,t)),n&&e.tokenize&&(n.value={type:"ObjectBindingPatternContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ObjectBindingPatternContent",t,n,i),n}var BindingPropertyList$parser=(0,import_lib2.$P)((0,import_lib2.$S)(BindingProperty,ObjectPropertyDelimiter));function BindingPropertyList(e,t){let r=e.enter&&e.enter("BindingPropertyList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingPropertyList$parser(e,t);if(!n)return void(e.exit&&e.exit("BindingPropertyList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BindingPropertyList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BindingPropertyList",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o.map(([e,t])=>({...e,delim:t,children:[...e.children,t]})));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BindingPropertyList",t,l,i),l}var ArrayBindingPattern$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),OpenBracket,ArrayBindingPatternContent,__,CloseBracket);function ArrayBindingPattern(e,t){let r=e.enter&&e.enter("ArrayBindingPattern",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrayBindingPattern$parser(e,t);if(!n)return void(e.exit&&e.exit("ArrayBindingPattern",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ArrayBindingPattern",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ArrayBindingPattern",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=o[4],d=p,f=s,$=u,b=c,S=m,gatherBindingPatternTypeSuffix({...$,type:"ArrayBindingPattern",elements:$.children,children:[d,f,$.children,b,S]}));var p,s,u,c,m,d,f,$,b,S;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ArrayBindingPattern",t,l,i),l}var ArrayBindingPatternContent$1$parser=(0,import_lib2.$E)(BindingElementList);function ArrayBindingPatternContent$0(e,t){return NestedBindingElements(e,t)}function ArrayBindingPatternContent$1(e,t){let r=ArrayBindingPatternContent$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,(o=n)?adjustBindingElements(o):{children:[],names:[],length:0});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrayBindingPatternContent(e,t){let r=e.enter&&e.enter("ArrayBindingPatternContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrayBindingPatternContent$0(e,t);return n||(n=ArrayBindingPatternContent$1(e,t)),n&&e.tokenize&&(n.value={type:"ArrayBindingPatternContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ArrayBindingPatternContent",t,n,i),n}var BindingElementList$parser=(0,import_lib2.$P)((0,import_lib2.$S)(BindingElement,ArrayElementDelimiter));function BindingElementList(e,t){let r=e.enter&&e.enter("BindingElementList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingElementList$parser(e,t);if(!n)return void(e.exit&&e.exit("BindingElementList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BindingElementList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BindingElementList",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o.map(([e,t])=>({...e,delim:t,children:[...e.children,t]})));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BindingElementList",t,l,i),l}var NestedBindingElementList$parser=(0,import_lib2.$S)(Nested,BindingElementList);function NestedBindingElementList(e,t){let r=e.enter&&e.enter("NestedBindingElementList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedBindingElementList$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedBindingElementList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedBindingElementList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedBindingElementList",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,s.map((e,t)=>t>0?e:{...e,children:[u,...e.children.slice(1)]}));var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedBindingElementList",t,l,i),l}var Elision$parser=(0,import_lib2.$S)(__,Comma);function Elision(e,t){let r=e.enter&&e.enter("Elision",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Elision$parser(e,t);return n&&e.tokenize&&(n.value={type:"Elision",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Elision",t,n,i),n}var NestedBindingProperties$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedBindingPropertyList),PopIndent);function NestedBindingProperties(e,t){let r=e.enter&&e.enter("NestedBindingProperties",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedBindingProperties$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedBindingProperties",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedBindingProperties",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedBindingProperties",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?reorderBindingRestProperty(u.flat()):p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedBindingProperties",t,l,i),l}var NestedBindingPropertyList$parser=(0,import_lib2.$S)(Nested,BindingPropertyList);function NestedBindingPropertyList(e,t){let r=e.enter&&e.enter("NestedBindingPropertyList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedBindingPropertyList$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedBindingPropertyList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedBindingPropertyList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedBindingPropertyList",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,s.map((e,t)=>t>0?e:prepend(u,e)));var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedBindingPropertyList",t,l,i),l}var BindingProperty$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),PropertyName,(0,import_lib2.$E)(Caret),(0,import_lib2.$E)(_),Colon,(0,import_lib2.$E)(_),(0,import_lib2.$C)(BindingPattern,BindingIdentifier),(0,import_lib2.$E)(BindingTypeSuffix),(0,import_lib2.$E)(Initializer)),BindingProperty$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Caret,BindingIdentifier,(0,import_lib2.$E)(BindingTypeSuffix),(0,import_lib2.$E)(Initializer)),BindingProperty$3$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),BindingIdentifier,(0,import_lib2.$E)(Caret),(0,import_lib2.$E)(BindingTypeSuffix),(0,import_lib2.$E)(Initializer));function BindingProperty$0(e,t){return BindingRestProperty(e,t)}function BindingProperty$1(e,t){let r=BindingProperty$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s,u,c){var m=i,d=n,f=o,$=a,b=p,S=s,y=u,x=c;if(l){S={type:"NamedBindingPattern",children:[d],binding:d,pattern:S,subbinding:[S," = ",d],typeSuffix:S.typeSuffix,names:S.names}}return{type:"BindingProperty",children:[m,d,f,$,b,S,x],name:d,value:S,typeSuffix:y,initializer:x,names:S.names}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BindingProperty$2(e,t){let r=BindingProperty$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a){var p=l,s=o,u=a;let c=[i,p];return"AtBinding"===p.type&&c.push({type:"Error",message:"Pinned properties do not yet work with @binding"}),s&&c.push({type:"Error",message:"Pinned properties cannot have type annotations"}),u&&c.push({type:"Error",message:"Pinned properties cannot have initializers"}),{type:"PinProperty",children:c,name:p,value:{type:"PinPattern",children:[p],expression:p,typeSuffix:typeSuffixForExpression(p)}}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BindingProperty$3(e,t){let r=BindingProperty$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a){var p=i,s=n,u=o,c=a;let m=[p,s,c];return"AtBinding"===s.type?{type:"AtBindingProperty",children:m,binding:s,typeSuffix:u,ref:s.ref,initializer:c,names:[]}:(s.unicode&&(m=[p,propertyKey(s),": ",s,c]),{type:"BindingProperty",children:m,name:s,value:s.unicode?s:void 0,typeSuffix:u,initializer:c,names:s.names,identifier:s})}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BindingProperty(e,t){let r=e.enter&&e.enter("BindingProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingProperty$0(e,t);return n||(n=BindingProperty$1(e,t)),n||(n=BindingProperty$2(e,t)),n||(n=BindingProperty$3(e,t)),n&&e.tokenize&&(n.value={type:"BindingProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BindingProperty",t,n,i),n}var BindingRestProperty$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot,BindingIdentifier,(0,import_lib2.$E)(BindingTypeSuffix)),BindingRestProperty$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),BindingIdentifier,DotDotDot);function BindingRestProperty$0(e,t){let r=BindingRestProperty$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=o,c=a,m=p,d=s,{...m,type:"BindingRestProperty",typeSuffix:d,children:[...u||[],c,...m.children]});var o,a,p,s,u,c,m,d;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BindingRestProperty$1(e,t){let r=BindingRestProperty$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,u=a,c=p,{...u,type:"BindingRestProperty",typeSuffix:void 0,children:[...s||[],c,...u.children]});var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BindingRestProperty(e,t){let r=e.enter&&e.enter("BindingRestProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingRestProperty$0(e,t);return n||(n=BindingRestProperty$1(e,t)),n&&e.tokenize&&(n.value={type:"BindingRestProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BindingRestProperty",t,n,i),n}var BindingTypeSuffix$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$E)(QuestionMark),(0,import_lib2.$E)(_),DoubleColonAsColon,MaybeNestedType);function BindingTypeSuffix(e,t){let r=e.enter&&e.enter("BindingTypeSuffix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingTypeSuffix$parser(e,t);if(!n)return void(e.exit&&e.exit("BindingTypeSuffix",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BindingTypeSuffix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BindingTypeSuffix",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a){return{type:"TypeSuffix",ts:!0,optional:n,t:a,children:r}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BindingTypeSuffix",t,l,i),l}var NestedBindingElements$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedBindingElementList),PopIndent);function NestedBindingElements(e,t){let r=e.enter&&e.enter("NestedBindingElements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedBindingElements$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedBindingElements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedBindingElements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedBindingElements",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?adjustBindingElements(u.flat()):p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedBindingElements",t,l,i),l}var BindingElement$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)(BindingPattern,BindingIdentifier),(0,import_lib2.$E)(BindingTypeSuffix),(0,import_lib2.$E)(Initializer)),BindingElement$2$parser=(0,import_lib2.$Y)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$EXPECT)($L25,'BindingElement ","')));function BindingElement$0(e,t){return BindingRestElement(e,t)}function BindingElement$1(e,t){let r=BindingElement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=o,m=p,d=s,{type:"BindingElement",names:(c=a).names,typeSuffix:m,binding:c,children:[u,c,d],initializer:d});var o,a,p,s,u,c,m,d;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BindingElement$2(e,t){let r=BindingElement$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return{type:"ElisionElement",children:[""],names:[]}}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BindingElement(e,t){let r=e.enter&&e.enter("BindingElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingElement$0(e,t);return n||(n=BindingElement$1(e,t)),n||(n=BindingElement$2(e,t)),n&&e.tokenize&&(n.value={type:"BindingElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BindingElement",t,n,i),n}var BindingRestElement$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot,(0,import_lib2.$C)(BindingPattern,BindingIdentifier,EmptyBindingPattern),(0,import_lib2.$E)(BindingTypeSuffix)),BindingRestElement$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)(BindingPattern,BindingIdentifier),DotDotDot);function BindingRestElement$0(e,t){let r=BindingRestElement$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],{type:"BindingRestElement",children:[o,a,u=p],dots:a,binding:u,typeSuffix:s,name:u.name,names:u.names,rest:!0});var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BindingRestElement$1(e,t){let r=BindingRestElement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],{type:"BindingRestElement",children:[...o||[],p,s=a],dots:p,binding:s,name:s.name,names:s.names,rest:!0});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BindingRestElement(e,t){let r=e.enter&&e.enter("BindingRestElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingRestElement$0(e,t);return n||(n=BindingRestElement$1(e,t)),n&&e.tokenize&&(n.value={type:"BindingRestElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BindingRestElement",t,n,i),n}var EmptyBindingPattern$parser=(0,import_lib2.$EXPECT)($L0,'EmptyBindingPattern ""');function EmptyBindingPattern(e,t){let r=e.enter&&e.enter("EmptyBindingPattern",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EmptyBindingPattern$parser(e,t);if(!n)return void(e.exit&&e.exit("EmptyBindingPattern",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EmptyBindingPattern",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EmptyBindingPattern",t,r,i),r}n.loc,n.value;let l,o=function(){let e=makeRef();return{type:"EmptyBinding",children:[e],names:[],ref:e}}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("EmptyBindingPattern",t,l,i),l}var FunctionDeclaration$parser=(0,import_lib2.$S)(FunctionExpression);function FunctionDeclaration(e,t){let r=e.enter&&e.enter("FunctionDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FunctionDeclaration$parser(e,t);if(!n)return void(e.exit&&e.exit("FunctionDeclaration",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"FunctionDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("FunctionDeclaration",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,"FunctionExpression"!==(s=o[0]).type?p:s.id?s:makeLeftHandSideExpression(s));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("FunctionDeclaration",t,l,i),l}var FunctionSignature$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Async,_)),Function2,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Star)),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),NWBindingIdentifier)),(0,import_lib2.$E)(_),Parameters,(0,import_lib2.$E)(ReturnTypeSuffix));function FunctionSignature(e,t){let r=e.enter&&e.enter("FunctionSignature",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FunctionSignature$parser(e,t);if(!n)return void(e.exit&&e.exit("FunctionSignature",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"FunctionSignature",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("FunctionSignature",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a,p,s){var u=i,c=n,m=l,d=o,f=a,$=p,b=s;u||(u=[]),m||(m=[]);let S=d?.[1];return{type:"FunctionSignature",id:S,name:S?.name,parameters:$,returnType:b,async:u,generator:m,modifier:{async:!!u.length,generator:!!m.length},block:null,children:$.implicit?[u,c,m,d,$,f,b]:[u,c,m,d,f,$,b]}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4],o[5],o[6]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("FunctionSignature",t,l,i),l}var FunctionExpression$0$parser=(0,import_lib2.$S)(FunctionSignature,(0,import_lib2.$E)(BracedBlock)),FunctionExpression$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(ArrowFunction),OpenParen,__,BinaryOp,__,CloseParen),FunctionExpression$2$parser=(0,import_lib2.$S)(OpenParen,NonPipelineAssignmentExpression,__,BinaryOp,__,CloseParen),FunctionExpression$3$parser=(0,import_lib2.$S)(OpenParen,(0,import_lib2.$P)((0,import_lib2.$S)(NotDedented,UpdateExpression,WAssignmentOp)),__,CloseParen),FunctionExpression$4$parser=(0,import_lib2.$S)(OpenParen,__,IsLike,__,PatternExpressionList,CloseParen),FunctionExpression$5$parser=(0,import_lib2.$S)(OpenParen,__,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R16,"FunctionExpression /\\+\\+|--|⧺|—|[\\+\\-&]\\S/")),(0,import_lib2.$N)((0,import_lib2.$S)(Placeholder,(0,import_lib2.$C)(TypePostfix,BinaryOpRHS))),BinaryOp,__,NonPipelineAssignmentExpression,CloseParen);function FunctionExpression$0(e,t){let r=FunctionExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=o,(s=a)?{...p,type:"FunctionExpression",signature:p,children:[...p.children,s],block:s}:{...p,type:"FunctionExpression",signature:p,ts:!0});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FunctionExpression$1(e,t){let r=FunctionExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){var s=n,u=l,c=o,m=a,d=p;if(c.special&&c.call&&!c.negated)return c.call;u||(u=c.spaced?[" "]:[]),m||(m=c.spaced?[" "]:[]);let f=makeRef("a"),$=makeRef("b"),b=processBinaryOpExpression([f,[[u,c,m,$]]]),S=[[f,","],$],y={type:"Parameters",children:["(",S,")"],parameters:S};return{type:"ArrowFunction",signature:{modifier:{}},children:[s,y," => ",b,d],body:b,parenthesized:!0,parenthesizedOp:c,block:{expressions:[b]},parameters:y}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FunctionExpression$2(e,t){let r=FunctionExpression$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){var s=i,u=n,c=l,m=o,d=a,f=p;c||(c=m.spaced?[" "]:[]),d||(d=m.spaced?[" "]:[]);let $=makeRef("b"),b=makeAmpersandFunction({ref:$,body:processBinaryOpExpression([u,[[c,m,d,$]]])});return{type:"ParenthesizedExpression",children:[s,b,f],expression:b}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FunctionExpression$3(e,t){let r=FunctionExpression$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){var a=i,p=n,s=l,u=o;p=p.map(e=>[e[0],e[1],...e[2]]);let c=makeRef("b"),m=makeAmpersandFunction({ref:c,body:{type:"AssignmentExpression",children:[p,s,c],names:null,lhs:p,assigned:p[0][1],expression:c}});return{type:"ParenthesizedExpression",children:[a,m,u],expression:m}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FunctionExpression$4(e,t){let r=FunctionExpression$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){var s=i,u=n,c=l,m=o,d=a,f=p;let $=makeRef("a"),b=makeAmpersandFunction({ref:$,body:processBinaryOpExpression([$,[[u,c,m,d]]])});return{type:"ParenthesizedExpression",children:[s,b,f],expression:b}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FunctionExpression$5(e,t){let r=FunctionExpression$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s,u){var c=i,m=n,d=a,f=p,$=s,b=u;m||(m=d.spaced?[" "]:[]),f||(f=d.spaced?[" "]:[]);let S=makeRef("a"),y=makeAmpersandFunction({ref:S,body:processBinaryOpExpression([S,[[m,d,f,$]]])});return{type:"ParenthesizedExpression",children:[c,y,b],expression:y}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function FunctionExpression(e,t){let r=e.enter&&e.enter("FunctionExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FunctionExpression$0(e,t);return n||(n=FunctionExpression$1(e,t)),n||(n=FunctionExpression$2(e,t)),n||(n=FunctionExpression$3(e,t)),n||(n=FunctionExpression$4(e,t)),n||(n=FunctionExpression$5(e,t)),n&&e.tokenize&&(n.value={type:"FunctionExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("FunctionExpression",t,n,i),n}var OperatorDeclaration$0$parser=(0,import_lib2.$S)(Operator,(0,import_lib2.$E)(OperatorBehavior),_,LexicalDeclaration),OperatorDeclaration$1$parser=(0,import_lib2.$S)(OperatorSignature,BracedBlock),OperatorDeclaration$2$parser=(0,import_lib2.$S)(Operator,_,Identifier,(0,import_lib2.$E)(OperatorBehavior),(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,(0,import_lib2.$E)(_),Identifier,(0,import_lib2.$E)(OperatorBehavior))));function OperatorDeclaration$0(e,t){let r=OperatorDeclaration$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],a=n[2],p=n[3],s=o,u=a,(c=p).names.forEach(e=>setOperatorBehavior(e,s)),s?.error&&(c=prepend(s.error,c)),c=prepend(trimFirstSpace(u),c));var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorDeclaration$1(e,t){let r=OperatorDeclaration$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],s=a,setOperatorBehavior((p=o).id.name,p.behavior),{...p,type:"FunctionExpression",signature:p,children:[...p.children,s],block:s,operator:!0});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorDeclaration$2(e,t){let r=OperatorDeclaration$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a){var p=l,s=o,u=a;let c=[];return setOperatorBehavior(p.name,s),s?.error&&c.push(s.error),u.forEach(([,,e,t])=>{if(setOperatorBehavior(e.name,t),t?.error)return c.push(t.error)}),{id:p,children:c}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorDeclaration(e,t){let r=e.enter&&e.enter("OperatorDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OperatorDeclaration$0(e,t);return n||(n=OperatorDeclaration$1(e,t)),n||(n=OperatorDeclaration$2(e,t)),n&&e.tokenize&&(n.value={type:"OperatorDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OperatorDeclaration",t,n,i),n}var OperatorSignature$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Async,_)),Operator,(0,import_lib2.$E)((0,import_lib2.$S)(_,Function2)),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Star)),_,Identifier,(0,import_lib2.$E)(OperatorBehavior),(0,import_lib2.$E)(_),NonEmptyParameters,(0,import_lib2.$E)(ReturnTypeSuffix));function OperatorSignature(e,t){let r=e.enter&&e.enter("OperatorSignature",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OperatorSignature$parser(e,t);if(!n)return void(e.exit&&e.exit("OperatorSignature",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OperatorSignature",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OperatorSignature",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=o[4],d=o[5],f=o[6],$=o[7],b=o[8],S=o[9],x=s,_=m,g=d,P=f,E=$,I=b,C=S,(y=p)||(y=[]),(v=c)||(v=[]),h=(h=u)?[trimFirstSpace(h[0]),h[1]]:{$loc:x.$loc,token:"function"},{type:"FunctionSignature",id:g,name:g.name,parameters:I,returnType:C,async:y,generator:v,modifier:{async:!!y.length,generator:!!v.length},block:null,children:[y,h,v,_,g,P?.error,E,I,C],behavior:P});var p,s,u,c,m,d,f,$,b,S,y,x,h,v,_,g,P,E,I,C;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("OperatorSignature",t,l,i),l}var OperatorBehavior$0$parser=(0,import_lib2.$S)(OperatorPrecedence,(0,import_lib2.$E)(OperatorAssociativity)),OperatorBehavior$1$parser=(0,import_lib2.$S)(OperatorAssociativity,(0,import_lib2.$E)(OperatorPrecedence));function OperatorBehavior$0(e,t){let r=OperatorBehavior$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],{...o,...a});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorBehavior$1(e,t){let r=OperatorBehavior$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],{...o,...a});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorBehavior(e,t){let r=e.enter&&e.enter("OperatorBehavior",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OperatorBehavior$0(e,t);return n||(n=OperatorBehavior$1(e,t)),n&&e.tokenize&&(n.value={type:"OperatorBehavior",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OperatorBehavior",t,n,i),n}var OperatorPrecedence$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L26,'OperatorPrecedence "tighter"'),(0,import_lib2.$EXPECT)($L27,'OperatorPrecedence "looser"'),(0,import_lib2.$EXPECT)($L28,'OperatorPrecedence "same"')),NonIdContinue,(0,import_lib2.$E)(_),(0,import_lib2.$C)(Identifier,(0,import_lib2.$S)(OpenParen,BinaryOp,CloseParen)));function OperatorPrecedence(e,t){let r=e.enter&&e.enter("OperatorPrecedence",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OperatorPrecedence$parser(e,t);if(!n)return void(e.exit&&e.exit("OperatorPrecedence",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OperatorPrecedence",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OperatorPrecedence",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a){var p=n,s=a;let u,c;switch("Identifier"===s.type?state.operators.has(s.name)?u=state.operators.get(s.name).prec:(u=precedenceCustomDefault,c={type:"Error",message:`Precedence refers to unknown operator ${s.name}`}):u=getPrecedence(s[1]),p){case"tighter":u+=precedenceStep;break;case"looser":u-=precedenceStep}return{prec:u,error:c}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("OperatorPrecedence",t,l,i),l}var OperatorAssociativity$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L29,'OperatorAssociativity "left"'),(0,import_lib2.$EXPECT)($L30,'OperatorAssociativity "right"'),(0,import_lib2.$EXPECT)($L31,'OperatorAssociativity "non"'),(0,import_lib2.$EXPECT)($L32,'OperatorAssociativity "relational"'),(0,import_lib2.$EXPECT)($L33,'OperatorAssociativity "arguments"')),NonIdContinue);function OperatorAssociativity(e,t){let r=e.enter&&e.enter("OperatorAssociativity",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OperatorAssociativity$parser(e,t);if(!n)return void(e.exit&&e.exit("OperatorAssociativity",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OperatorAssociativity",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OperatorAssociativity",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return"relational"===n?{relational:!0,assoc:"non"}:{assoc:n}}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("OperatorAssociativity",t,l,i),l}var ThinArrowFunction$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Async,_)),ThinArrowParameters,(0,import_lib2.$E)(ReturnTypeSuffix),(0,import_lib2.$E)(_),ThinArrow,(0,import_lib2.$C)(BracedObjectSingleLineStatements,NoCommaBracedOrEmptyBlock));function ThinArrowFunction(e,t){let r=e.enter&&e.enter("ThinArrowFunction",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ThinArrowFunction$parser(e,t);if(!n)return void(e.exit&&e.exit("ThinArrowFunction",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ThinArrowFunction",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ThinArrowFunction",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a,p){var s=i,u=n,c=l,m=o,d=a,f=p;s||(s=[]);let $=[];if((!u.implicit||c||m)&&!f.bare){let[e,...t]=f.children;(" {"===e||" "===e?.[0]?.token)&&(f={...f,children:[e.slice(1),...t]})}return{type:"FunctionExpression",id:void 0,parameters:u,returnType:c,async:s,generator:$,block:f,signature:{name:void 0,async:s,generator:$,modifier:{async:!!s.length,generator:!!$.length},returnType:c},children:[s,{$loc:d.$loc,token:"function"},$,u,c,m,f]}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4],o[5]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ThinArrowFunction",t,l,i),l}var ThinArrow$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L34,'ThinArrow "->"'),(0,import_lib2.$EXPECT)($L35,'ThinArrow "→"'));function ThinArrow(e,t){let r=e.enter&&e.enter("ThinArrow",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ThinArrow$parser(e,t);if(!n)return void(e.exit&&e.exit("ThinArrow",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ThinArrow",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ThinArrow",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"->"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ThinArrow",t,l,i),l}var ExplicitBlock$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),OpenBrace,AllowAll,(0,import_lib2.$E)((0,import_lib2.$C)(NestedBlockStatements,SingleLineStatements,EmptyBracedContent)),RestoreAll,__,CloseBrace),ExplicitBlock$1$parser=(0,import_lib2.$S)(IndentedAtLeast,OpenBrace,AllowAll,(0,import_lib2.$E)((0,import_lib2.$C)(NestedBlockStatements,EmptyBracedContent)),RestoreAll,__,CloseBrace);function ExplicitBlock$0(e,t){let r=ExplicitBlock$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],p=n[1],n[2],s=n[3],n[4],u=n[5],c=n[6],m=a,d=p,$=u,b=c,(f=s)?{...f,children:[m,d,...f.children,$,b],bare:!1}:o);var o,a,p,s,u,c,m,d,f,$,b;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExplicitBlock$1(e,t){let r=ExplicitBlock$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],p=n[1],n[2],s=n[3],n[4],u=n[5],c=n[6],m=a,d=p,$=u,b=c,(f=s)?{...f,children:[m,d,...f.children,$,b],bare:!1}:o);var o,a,p,s,u,c,m,d,f,$,b;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExplicitBlock(e,t){let r=e.enter&&e.enter("ExplicitBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExplicitBlock$0(e,t);return n||(n=ExplicitBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"ExplicitBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ExplicitBlock",t,n,i),n}var EmptyBracedContent$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($L36,'EmptyBracedContent "}"')));function EmptyBracedContent(e,t){let r=e.enter&&e.enter("EmptyBracedContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EmptyBracedContent$parser(e,t);if(!n)return void(e.exit&&e.exit("EmptyBracedContent",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EmptyBracedContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EmptyBracedContent",t,r,i),r}n.loc,n.value;let l,o=function(){let e=[];return{type:"BlockStatement",expressions:e,children:[e],empty:!0}}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("EmptyBracedContent",t,l,i),l}var ImplicitNestedBlock$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),InsertOpenBrace,AllowAll,(0,import_lib2.$E)((0,import_lib2.$S)(NestedBlockStatements,InsertNewline,InsertIndent,InsertCloseBrace)),RestoreAll);function ImplicitNestedBlock(e,t){let r=e.enter&&e.enter("ImplicitNestedBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplicitNestedBlock$parser(e,t);if(!n)return void(e.exit&&e.exit("ImplicitNestedBlock",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImplicitNestedBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImplicitNestedBlock",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){var a=n;if(!o)return e;let[p,...s]=o;return{...p,children:[a,...p.children,...s],bare:!1}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ImplicitNestedBlock",t,l,i),l}var Block$3$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)(EOS),DeclarationOrStatement);function Block$0(e,t){return ImplicitNestedBlock(e,t)}function Block$1(e,t){return ExplicitBlock(e,t)}function Block$2(e,t){return ThenClause(e,t)}function Block$3(e,t){let r=Block$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){let o=[[i,l]];return{type:"BlockStatement",expressions:o,children:[o],bare:!0}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Block(e,t){let r=e.enter&&e.enter("Block",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Block$0(e,t);return n||(n=Block$1(e,t)),n||(n=Block$2(e,t)),n||(n=Block$3(e,t)),n&&e.tokenize&&(n.value={type:"Block",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Block",t,n,i),n}var BareNestedBlock$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),AllowAll,(0,import_lib2.$E)(NestedBlockStatements),RestoreAll);function BareNestedBlock(e,t){let r=e.enter&&e.enter("BareNestedBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BareNestedBlock$parser(e,t);if(!n)return void(e.exit&&e.exit("BareNestedBlock",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BareNestedBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BareNestedBlock",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return l||e}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BareNestedBlock",t,l,i),l}var BareBlock$3$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)(EOS),Statement,(0,import_lib2.$E)(SemicolonDelimiter));function BareBlock$0(e,t){return BareNestedBlock(e,t)}function BareBlock$1(e,t){return ExplicitBlock(e,t)}function BareBlock$2(e,t){return ThenClause(e,t)}function BareBlock$3(e,t){let r=BareBlock$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){let a=[o?[i,l,o]:[i,l]];return{type:"BlockStatement",expressions:a,children:[a],bare:!0}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BareBlock$4(e,t){return EmptyBareBlock(e,t)}function BareBlock(e,t){let r=e.enter&&e.enter("BareBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BareBlock$0(e,t);return n||(n=BareBlock$1(e,t)),n||(n=BareBlock$2(e,t)),n||(n=BareBlock$3(e,t)),n||(n=BareBlock$4(e,t)),n&&e.tokenize&&(n.value={type:"BareBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BareBlock",t,n,i),n}var ThenClause$parser=(0,import_lib2.$S)(Then,ThenBlock);function ThenClause(e,t){let r=e.enter&&e.enter("ThenClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ThenClause$parser(e,t);if(!n)return void(e.exit&&e.exit("ThenClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ThenClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ThenClause",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ThenClause",t,l,i),l}var ThenBlock$0$parser=(0,import_lib2.$S)(NoBlock,EmptyBlock);function ThenBlock$0(e,t){let r=ThenBlock$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ThenBlock$1(e,t){return ImplicitNestedBlock(e,t)}function ThenBlock$2(e,t){return ObjectSingleLineStatements(e,t)}function ThenBlock$3(e,t){return SingleLineStatements(e,t)}function ThenBlock(e,t){let r=e.enter&&e.enter("ThenBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ThenBlock$0(e,t);return n||(n=ThenBlock$1(e,t)),n||(n=ThenBlock$2(e,t)),n||(n=ThenBlock$3(e,t)),n&&e.tokenize&&(n.value={type:"ThenBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ThenBlock",t,n,i),n}var BracedThenClause$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(Then),InsertOpenBrace,ThenClause,InsertCloseBrace);function BracedThenClause(e,t){let r=e.enter&&e.enter("BracedThenClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BracedThenClause$parser(e,t);if(!n)return void(e.exit&&e.exit("BracedThenClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BracedThenClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BracedThenClause",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){let a=[l];return{type:"BlockStatement",expressions:a,children:[n,a," ",o],bare:!1}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BracedThenClause",t,l,i),l}function BracedOrEmptyBlock$0(e,t){return BracedBlock(e,t)}function BracedOrEmptyBlock$1(e,t){return EmptyBlock(e,t)}function BracedOrEmptyBlock(e,t){let r=e.enter&&e.enter("BracedOrEmptyBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BracedOrEmptyBlock$0(e,t);return n||(n=BracedOrEmptyBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"BracedOrEmptyBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BracedOrEmptyBlock",t,n,i),n}function NoCommaBracedOrEmptyBlock$0(e,t){return NoCommaBracedBlock(e,t)}function NoCommaBracedOrEmptyBlock$1(e,t){return EmptyBlock(e,t)}function NoCommaBracedOrEmptyBlock(e,t){let r=e.enter&&e.enter("NoCommaBracedOrEmptyBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NoCommaBracedOrEmptyBlock$0(e,t);return n||(n=NoCommaBracedOrEmptyBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"NoCommaBracedOrEmptyBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NoCommaBracedOrEmptyBlock",t,n,i),n}function NoPostfixBracedOrEmptyBlock$0(e,t){return NoPostfixBracedBlock(e,t)}function NoPostfixBracedOrEmptyBlock$1(e,t){return EmptyBlock(e,t)}function NoPostfixBracedOrEmptyBlock(e,t){let r=e.enter&&e.enter("NoPostfixBracedOrEmptyBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NoPostfixBracedOrEmptyBlock$0(e,t);return n||(n=NoPostfixBracedOrEmptyBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"NoPostfixBracedOrEmptyBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NoPostfixBracedOrEmptyBlock",t,n,i),n}var EmptyBlock$parser=(0,import_lib2.$S)(InsertOpenBrace,InsertCloseBrace);function EmptyBlock(e,t){let r=e.enter&&e.enter("EmptyBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EmptyBlock$parser(e,t);if(!n)return void(e.exit&&e.exit("EmptyBlock",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EmptyBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EmptyBlock",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){let l=[];return{type:"BlockStatement",expressions:l,children:[i,l,n],bare:!1,empty:!0,implicit:!0}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("EmptyBlock",t,l,i),l}var BlockOrEmptyStatement$1$parser=(0,import_lib2.$S)(NoBlock,EmptyStatementBareBlock);function BlockOrEmptyStatement$0(e,t){return Block(e,t)}function BlockOrEmptyStatement$1(e,t){let r=BlockOrEmptyStatement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BlockOrEmptyStatement(e,t){let r=e.enter&&e.enter("BlockOrEmptyStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BlockOrEmptyStatement$0(e,t);return n||(n=BlockOrEmptyStatement$1(e,t)),n&&e.tokenize&&(n.value={type:"BlockOrEmptyStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BlockOrEmptyStatement",t,n,i),n}var BlockOrEmpty$2$parser=(0,import_lib2.$S)(NoBlock,EmptyBlock);function BlockOrEmpty$0(e,t){return ObjectSingleLineStatements(e,t)}function BlockOrEmpty$1(e,t){return Block(e,t)}function BlockOrEmpty$2(e,t){let r=BlockOrEmpty$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BlockOrEmpty(e,t){let r=e.enter&&e.enter("BlockOrEmpty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BlockOrEmpty$0(e,t);return n||(n=BlockOrEmpty$1(e,t)),n||(n=BlockOrEmpty$2(e,t)),n&&e.tokenize&&(n.value={type:"BlockOrEmpty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BlockOrEmpty",t,n,i),n}var EmptyStatementBareBlock$parser=InsertEmptyStatement;function EmptyStatementBareBlock(e,t){let r=e.enter&&e.enter("EmptyStatementBareBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EmptyStatementBareBlock$parser(e,t);if(!n)return void(e.exit&&e.exit("EmptyStatementBareBlock",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EmptyStatementBareBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EmptyStatementBareBlock",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r){let i=[["",r]];return{type:"BlockStatement",expressions:i,children:[i],bare:!0,empty:!0,implicit:!0,semicolon:r.children[0]}}(import_lib2.SKIP,0,o);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("EmptyStatementBareBlock",t,l,i),l}var EmptyBareBlock$parser=(0,import_lib2.$EXPECT)($L0,'EmptyBareBlock ""');function EmptyBareBlock(e,t){let r=e.enter&&e.enter("EmptyBareBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EmptyBareBlock$parser(e,t);if(!n)return void(e.exit&&e.exit("EmptyBareBlock",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EmptyBareBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EmptyBareBlock",t,r,i),r}n.loc,n.value;let l,o=function(){let e=[];return{type:"BlockStatement",expressions:e,children:[e],bare:!0,empty:!0,implicit:!0}}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("EmptyBareBlock",t,l,i),l}var NoBlock$0$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),(0,import_lib2.$N)(IndentedFurther),(0,import_lib2.$N)((0,import_lib2.$S)(Nested,Then)));function NoBlock$0(e,t){return NoBlock$0$parser(e,t)}function NoBlock$1(e,t){return ClosingDelimiter(e,t)}function NoBlock(e,t){let r=e.enter&&e.enter("NoBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NoBlock$0(e,t);return n||(n=NoBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"NoBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NoBlock",t,n,i),n}var BracedBlock$1$parser=(0,import_lib2.$S)(InsertOpenBrace,(0,import_lib2.$N)(EOS),PostfixedSingleLineStatements,InsertSpace,InsertCloseBrace);function BracedBlock$0(e,t){return NonSingleBracedBlock(e,t)}function BracedBlock$1(e,t){let r=BracedBlock$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],n[1],p=n[2],s=n[3],u=n[4],c=a,d=s,f=u,(m=p).children.length?{type:"BlockStatement",expressions:m.expressions,children:[c,m.children,d,f]}:o);var o,a,p,s,u,c,m,d,f;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BracedBlock(e,t){let r=e.enter&&e.enter("BracedBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BracedBlock$0(e,t);return n||(n=BracedBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"BracedBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BracedBlock",t,n,i),n}var NoPostfixBracedBlock$1$parser=(0,import_lib2.$S)(InsertOpenBrace,(0,import_lib2.$N)(EOS),SingleLineStatements,InsertSpace,InsertCloseBrace);function NoPostfixBracedBlock$0(e,t){return NonSingleBracedBlock(e,t)}function NoPostfixBracedBlock$1(e,t){let r=NoPostfixBracedBlock$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],n[1],p=n[2],s=n[3],u=n[4],c=a,d=s,f=u,(m=p).expressions.length?{type:"BlockStatement",expressions:m.expressions,children:[c,m.children,d,f]}:o);var o,a,p,s,u,c,m,d,f;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NoPostfixBracedBlock(e,t){let r=e.enter&&e.enter("NoPostfixBracedBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NoPostfixBracedBlock$0(e,t);return n||(n=NoPostfixBracedBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"NoPostfixBracedBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NoPostfixBracedBlock",t,n,i),n}var NoCommaBracedBlock$1$parser=(0,import_lib2.$S)(InsertOpenBrace,(0,import_lib2.$N)(EOS),PostfixedSingleLineNoCommaStatements,InsertSpace,InsertCloseBrace);function NoCommaBracedBlock$0(e,t){return NonSingleBracedBlock(e,t)}function NoCommaBracedBlock$1(e,t){let r=NoCommaBracedBlock$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],n[1],p=n[2],s=n[3],u=n[4],c=a,d=s,f=u,(m=p).children.length?{type:"BlockStatement",expressions:m.expressions,children:[c,m.children,d,f]}:o);var o,a,p,s,u,c,m,d,f;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NoCommaBracedBlock(e,t){let r=e.enter&&e.enter("NoCommaBracedBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NoCommaBracedBlock$0(e,t);return n||(n=NoCommaBracedBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"NoCommaBracedBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NoCommaBracedBlock",t,n,i),n}var NonSingleBracedBlock$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),ExplicitBlock,(0,import_lib2.$N)(TrailingOperator)),NonSingleBracedBlock$2$parser=(0,import_lib2.$S)(InsertOpenBrace,(0,import_lib2.$C)(NestedBulletedArray,NestedImplicitObjectLiteral),InsertCloseBrace);function NonSingleBracedBlock$0(e,t){let r=NonSingleBracedBlock$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NonSingleBracedBlock$1(e,t){return ImplicitNestedBlock(e,t)}function NonSingleBracedBlock$2(e,t){let r=NonSingleBracedBlock$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){let o=[["",n]];return{type:"BlockStatement",expressions:o,children:[i,o,l]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NonSingleBracedBlock(e,t){let r=e.enter&&e.enter("NonSingleBracedBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonSingleBracedBlock$0(e,t);return n||(n=NonSingleBracedBlock$1(e,t)),n||(n=NonSingleBracedBlock$2(e,t)),n&&e.tokenize&&(n.value={type:"NonSingleBracedBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NonSingleBracedBlock",t,n,i),n}function DeclarationOrStatement$0(e,t){return Declaration(e,t)}function DeclarationOrStatement$1(e,t){return Statement(e,t)}function DeclarationOrStatement(e,t){let r=e.enter&&e.enter("DeclarationOrStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DeclarationOrStatement$0(e,t);return n||(n=DeclarationOrStatement$1(e,t)),n&&e.tokenize&&(n.value={type:"DeclarationOrStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DeclarationOrStatement",t,n,i),n}var SingleLineStatements$parser=(0,import_lib2.$S)(ForbidNewlineBinaryOp,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)(EOS)),DeclarationOrStatement,SemicolonDelimiter)),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)(EOS)),DeclarationOrStatement,(0,import_lib2.$E)(SemicolonDelimiter))),RestoreNewlineBinaryOp);function SingleLineStatements(e,t){let r=e.enter&&e.enter("SingleLineStatements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineStatements$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLineStatements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLineStatements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLineStatements",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){var o=l;let a=n.map(([e,t,r])=>[e[0],t,r]);o&&a.push([o[0][0],o[1],o[2]]);let p=[a];return hasTrailingComment(a)&&p.push(["\n"]),{type:"BlockStatement",expressions:a,children:p,bare:!0}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SingleLineStatements",t,l,i),l}var ObjectSingleLineStatements$parser=(0,import_lib2.$S)((0,import_lib2.$Y)((0,import_lib2.$S)((0,import_lib2.$E)(_),BracedObjectLiteral)),SingleLineStatements);function ObjectSingleLineStatements(e,t){let r=e.enter&&e.enter("ObjectSingleLineStatements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ObjectSingleLineStatements$parser(e,t);if(!n)return void(e.exit&&e.exit("ObjectSingleLineStatements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ObjectSingleLineStatements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ObjectSingleLineStatements",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=n;if(l.bare&&1===l.expressions.length){let e=l.expressions[0][1];"ParenthesizedExpression"===e.type&&e.implicit&&"ObjectExpression"===e.expression.type&&(l={...l,unwrapObject:!0})}return l}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ObjectSingleLineStatements",t,l,i),l}var BracedObjectSingleLineStatements$parser=ObjectSingleLineStatements;function BracedObjectSingleLineStatements(e,t){let r=e.enter&&e.enter("BracedObjectSingleLineStatements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BracedObjectSingleLineStatements$parser(e,t);if(!n)return void(e.exit&&e.exit("BracedObjectSingleLineStatements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BracedObjectSingleLineStatements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BracedObjectSingleLineStatements",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,bracedBlock(o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BracedObjectSingleLineStatements",t,l,i),l}var PostfixedSingleLineStatements$parser=(0,import_lib2.$S)((0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)(EOS)),StatementListItem,SemicolonDelimiter)),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)(EOS)),StatementListItem,(0,import_lib2.$E)(SemicolonDelimiter))));function PostfixedSingleLineStatements(e,t){let r=e.enter&&e.enter("PostfixedSingleLineStatements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixedSingleLineStatements$parser(e,t);if(!n)return void(e.exit&&e.exit("PostfixedSingleLineStatements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PostfixedSingleLineStatements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PostfixedSingleLineStatements",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=n;let o=i.map(([e,t,r])=>[e[0],t,r]);return l&&o.push([l[0][0],l[1],l[2]]),{type:"BlockStatement",expressions:o,children:o,bare:!0}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PostfixedSingleLineStatements",t,l,i),l}var PostfixedSingleLineNoCommaStatements$parser=(0,import_lib2.$S)((0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)(EOS)),NoCommaStatementListItem,SemicolonDelimiter)),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)(EOS)),NoCommaStatementListItem,(0,import_lib2.$E)(SemicolonDelimiter))));function PostfixedSingleLineNoCommaStatements(e,t){let r=e.enter&&e.enter("PostfixedSingleLineNoCommaStatements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixedSingleLineNoCommaStatements$parser(e,t);if(!n)return void(e.exit&&e.exit("PostfixedSingleLineNoCommaStatements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PostfixedSingleLineNoCommaStatements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PostfixedSingleLineNoCommaStatements",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=n;let o=i.map(([e,t,r])=>[e[0],t,r]);return l&&o.push([l[0][0],l[1],l[2]]),{type:"BlockStatement",expressions:o,children:o,bare:!0}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PostfixedSingleLineNoCommaStatements",t,l,i),l}var NestedBlockStatements$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedBlockStatement),PopIndent);function NestedBlockStatements(e,t){let r=e.enter&&e.enter("NestedBlockStatements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedBlockStatements$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedBlockStatements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedBlockStatements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedBlockStatements",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?{type:"BlockStatement",expressions:u=u.flat(),children:[u],bare:!0}:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedBlockStatements",t,l,i),l}var NestedBlockStatement$parser=(0,import_lib2.$S)(Nested,(0,import_lib2.$P)(BlockStatementPart));function NestedBlockStatement(e,t){let r=e.enter&&e.enter("NestedBlockStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedBlockStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedBlockStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedBlockStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedBlockStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[[p,...(u=s)[0]],...u.slice(1).map(e=>["",...e])]);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedBlockStatement",t,l,i),l}var BlockStatementPart$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),(0,import_lib2.$E)(_),StatementListItem,StatementDelimiter);function BlockStatementPart(e,t){let r=e.enter&&e.enter("BlockStatementPart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BlockStatementPart$parser(e,t);if(!n)return void(e.exit&&e.exit("BlockStatementPart",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BlockStatementPart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BlockStatementPart",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],p=o[1],s=o[2],u=o[3],c=s,m=u,p&&(c=prepend(p,c)),[c,m]);var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BlockStatementPart",t,l,i),l}var Literal$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R17,"Literal /(?=[0-9.'\"tfyno])/"),LiteralContent);function Literal(e,t){let r=e.enter&&e.enter("Literal",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Literal$parser(e,t);if(!n)return void(e.exit&&e.exit("Literal",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Literal",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Literal",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],p=o[1],{type:"Literal",subtype:(s=p).type,children:[s],raw:s.token});var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Literal",t,l,i),l}function LiteralContent$0(e,t){return NullLiteral(e,t)}function LiteralContent$1(e,t){return BooleanLiteral(e,t)}function LiteralContent$2(e,t){return NumericLiteral(e,t)}function LiteralContent$3(e,t){return StringLiteral(e,t)}function LiteralContent(e,t){let r=e.enter&&e.enter("LiteralContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LiteralContent$0(e,t);return n||(n=LiteralContent$1(e,t)),n||(n=LiteralContent$2(e,t)),n||(n=LiteralContent$3(e,t)),n&&e.tokenize&&(n.value={type:"LiteralContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("LiteralContent",t,n,i),n}var NullLiteral$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L37,'NullLiteral "null"'),NonIdContinue);function NullLiteral(e,t){let r=e.enter&&e.enter("NullLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NullLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("NullLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NullLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NullLiteral",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{type:"NullLiteral",$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("NullLiteral",t,l,i),l}var BooleanLiteral$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R18,"BooleanLiteral /(?=true|false|yes|no|on|off)/"),_BooleanLiteral);function BooleanLiteral(e,t){let r=e.enter&&e.enter("BooleanLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BooleanLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("BooleanLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BooleanLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BooleanLiteral",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BooleanLiteral",t,l,i),l}var _BooleanLiteral$0$parser=(0,import_lib2.$S)(CoffeeBooleansEnabled,CoffeeScriptBooleanLiteral),_BooleanLiteral$1$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L38,'_BooleanLiteral "true"'),(0,import_lib2.$EXPECT)($L39,'_BooleanLiteral "false"')),NonIdContinue);function _BooleanLiteral$0(e,t){let r=_BooleanLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _BooleanLiteral$1(e,t){let r=_BooleanLiteral$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{type:"BooleanLiteral",$loc:t,token:i}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function _BooleanLiteral(e,t){let r=e.enter&&e.enter("_BooleanLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=_BooleanLiteral$0(e,t);return n||(n=_BooleanLiteral$1(e,t)),n&&e.tokenize&&(n.value={type:"_BooleanLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("_BooleanLiteral",t,n,i),n}var CoffeeScriptBooleanLiteral$0$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L40,'CoffeeScriptBooleanLiteral "yes"'),(0,import_lib2.$EXPECT)($L41,'CoffeeScriptBooleanLiteral "on"')),NonIdContinue),CoffeeScriptBooleanLiteral$1$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L42,'CoffeeScriptBooleanLiteral "no"'),(0,import_lib2.$EXPECT)($L43,'CoffeeScriptBooleanLiteral "off"')),NonIdContinue);function CoffeeScriptBooleanLiteral$0(e,t){let r=CoffeeScriptBooleanLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t){return{type:"BooleanLiteral",$loc:t,token:"true"}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function CoffeeScriptBooleanLiteral$1(e,t){let r=CoffeeScriptBooleanLiteral$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t){return{type:"BooleanLiteral",$loc:t,token:"false"}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function CoffeeScriptBooleanLiteral(e,t){let r=e.enter&&e.enter("CoffeeScriptBooleanLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeScriptBooleanLiteral$0(e,t);return n||(n=CoffeeScriptBooleanLiteral$1(e,t)),n&&e.tokenize&&(n.value={type:"CoffeeScriptBooleanLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CoffeeScriptBooleanLiteral",t,n,i),n}var SymbolLiteral$parser=(0,import_lib2.$S)(Colon,(0,import_lib2.$C)(IdentifierName,StringLiteral));function SymbolLiteral(e,t){let r=e.enter&&e.enter("SymbolLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SymbolLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("SymbolLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SymbolLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SymbolLiteral",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=i,o=n;let a,p;return"Identifier"===o.type?({name:a,children:[p]}=o):(a=literalValue({type:"Literal",subtype:"StringLiteral",raw:o.token,children:[o]}),p=o),config.symbols.includes(a)?{type:"SymbolLiteral",children:"Identifier"===o.type?[{...l,token:"Symbol."},p]:[{...l,token:"Symbol["},p,"]"],name:a}:{type:"SymbolLiteral",children:[{...l,token:"Symbol.for("},"Identifier"===o.type?['"',p,'"']:p,")"],name:a}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SymbolLiteral",t,l,i),l}var SymbolElement$parser=(0,import_lib2.$S)(SymbolLiteral);function SymbolElement(e,t){let r=e.enter&&e.enter("SymbolElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SymbolElement$parser(e,t);if(!n)return void(e.exit&&e.exit("SymbolElement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SymbolElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SymbolElement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i){return["[",i,"]"]}(import_lib2.SKIP,0,0,o[0]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SymbolElement",t,l,i),l}var Identifier$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R19,"Identifier /(?=\\p{ID_Start}|[_$\\\\]|[^\\u0000-\\u007F\\p{ID_Continue}\\s÷—‖’•‥…⁇→⇒∈∉∋∌≔≠≡≢≣≤≥≪≫⋙▷⧺⩵⩶])/"),(0,import_lib2.$N)(ReservedWord),IdentifierName);function Identifier(e,t){let r=e.enter&&e.enter("Identifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Identifier$parser(e,t);if(!n)return void(e.exit&&e.exit("Identifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Identifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Identifier",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return l}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Identifier",t,l,i),l}var IdentifierName$parser=(0,import_lib2.$EXPECT)($R20,"IdentifierName /(?:\\p{ID_Start}|[_$]|\\\\u\\{0*(?:[\\dA-Fa-f]{1,5}|10[\\dA-Fa-f]{4})\\}|\\\\u[\\dA-Fa-f]{4}|[^\\u0000-\\u007F\\p{ID_Continue}\\s÷—‖’•‥…⁇→⇒∈∉∋∌≔≠≡≢≣≤≥≪≫⋙▷⧺⩵⩶])(?:\\p{ID_Continue}|[\\u200C\\u200D$]|\\\\u\\{0*(?:[\\dA-Fa-f]{1,5}|10[\\dA-Fa-f]{4})\\}|\\\\u[\\dA-Fa-f]{4}|[^\\u0000-\\u007F\\p{ID_Continue}\\s÷—‖’•‥…⁇→⇒∈∉∋∌≔≠≡≢≣≤≥≪≫⋙▷⧺⩵⩶])*/");function IdentifierName(e,t){let r=e.enter&&e.enter("IdentifierName",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IdentifierName$parser(e,t);if(!n)return void(e.exit&&e.exit("IdentifierName",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IdentifierName",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IdentifierName",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){let{name:i,token:n}=escapeIdentifier(r);return{type:"Identifier",name:i,...n!==r&&{unicode:r},names:[i],children:[{$loc:t,token:n}]}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("IdentifierName",t,l,i),l}function IdentifierReference(e,t){let r=e.enter&&e.enter("IdentifierReference",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Identifier(e,t);return n&&e.tokenize&&(n.value={type:"IdentifierReference",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("IdentifierReference",t,n,i),n}var UpcomingAssignment$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($L3,'UpcomingAssignment "="'),(0,import_lib2.$N)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L3,'UpcomingAssignment "="'),(0,import_lib2.$EXPECT)($L44,'UpcomingAssignment ">"')))));function UpcomingAssignment(e,t){let r=e.enter&&e.enter("UpcomingAssignment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UpcomingAssignment$parser(e,t);return n&&e.tokenize&&(n.value={type:"UpcomingAssignment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UpcomingAssignment",t,n,i),n}var ArrayLiteral$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R21,"ArrayLiteral /(?=\\[|\\s*[.•\\/])/"),_ArrayLiteral);function ArrayLiteral(e,t){let r=e.enter&&e.enter("ArrayLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrayLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("ArrayLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ArrayLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ArrayLiteral",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ArrayLiteral",t,l,i),l}var _ArrayLiteral$0$parser=(0,import_lib2.$S)(ArrayBindingPattern,UpcomingAssignment),_ArrayLiteral$1$parser=(0,import_lib2.$S)(OpenBracket,CloseBracket,ApplicationStart,AllowAll,(0,import_lib2.$E)((0,import_lib2.$C)(NestedElementList,SingleLineElementList)),RestoreAll),_ArrayLiteral$2$parser=(0,import_lib2.$S)(OpenBracket,AllowAll,(0,import_lib2.$E)((0,import_lib2.$S)(ArrayLiteralContent,__,CloseBracket)),RestoreAll);function _ArrayLiteral$0(e,t){let r=_ArrayLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _ArrayLiteral$1(e,t){let r=_ArrayLiteral$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a){var p=i,s=n,u=a;if(!u)return e;let c=u[u.length-1],m=c.children;return isComma(m[m.length-1])&&(m=m.slice(0,-1),c={...c,children:m},u=[...u.slice(0,-1),c]),{type:"ArrayExpression",children:[p,...u,s],names:u.flatMap(e=>e?.names||[])}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _ArrayLiteral$2(e,t){let r=_ArrayLiteral$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i;if(!l)return e;let[a,p,s]=l;if("RangeExpression"===a.type)return prepend(p,a);let u=[o,...a,...p,s],c=u.flatMap(e=>e?.names||[]);return{type:"ArrayExpression",children:u,names:c}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _ArrayLiteral$3(e,t){return NestedBulletedArray(e,t)}function _ArrayLiteral(e,t){let r=e.enter&&e.enter("_ArrayLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=_ArrayLiteral$0(e,t);return n||(n=_ArrayLiteral$1(e,t)),n||(n=_ArrayLiteral$2(e,t)),n||(n=_ArrayLiteral$3(e,t)),n&&e.tokenize&&(n.value={type:"_ArrayLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("_ArrayLiteral",t,n,i),n}var RangeDots$0$parser=(0,import_lib2.$S)(DotDotDot),RangeDots$1$parser=(0,import_lib2.$S)(OptionalRangeEnd,(0,import_lib2.$E)(_),DotDot,(0,import_lib2.$E)(_),OptionalRangeEnd);function RangeDots$0(e,t){let r=RangeDots$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],{...o,type:"RangeDots",left:{inclusive:!0,raw:""},right:{inclusive:!1,raw:"."},increasing:!config.coffeeRange||void 0,triple:!0,children:[]});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function RangeDots$1(e,t){let r=RangeDots$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a){var p=i,s=n,u=l,c=o,m=a;let d=p.increasing??m.increasing??(!config.coffeeRange||void 0);if(null!=p.increasing&&null!=m.increasing&&p.increasing!==m.increasing){let e={type:"Error",message:`${p.raw}..${m.raw} uses inconsistent < vs. >`,$loc:u.$loc};return{...u,left:p,right:m,increasing:d,error:e,type:"RangeDots",children:[e]}}return{...u,left:p,right:m,increasing:d,type:"RangeDots",children:[s,c]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function RangeDots(e,t){let r=e.enter&&e.enter("RangeDots",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RangeDots$0(e,t);return n||(n=RangeDots$1(e,t)),n&&e.tokenize&&(n.value={type:"RangeDots",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RangeDots",t,n,i),n}var OptionalRangeEnd$1$parser=(0,import_lib2.$EXPECT)($L0,'OptionalRangeEnd ""');function OptionalRangeEnd$0(e,t){return RangeEnd(e,t)}function OptionalRangeEnd$1(e,t){let r=OptionalRangeEnd$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return{increasing:void 0,inclusive:!0,raw:""}}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function OptionalRangeEnd(e,t){let r=e.enter&&e.enter("OptionalRangeEnd",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OptionalRangeEnd$0(e,t);return n||(n=OptionalRangeEnd$1(e,t)),n&&e.tokenize&&(n.value={type:"OptionalRangeEnd",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OptionalRangeEnd",t,n,i),n}var RangeEnd$parser=(0,import_lib2.$EXPECT)($R22,"RangeEnd /([<>])(=?)|([≤≥])/");function RangeEnd(e,t){let r=e.enter&&e.enter("RangeEnd",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RangeEnd$parser(e,t);if(!n)return void(e.exit&&e.exit("RangeEnd",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RangeEnd",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RangeEnd",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){let o=i,a=n;return l&&(a="=","≤"===l?o="<":"≥"===l&&(o=">")),{increasing:"<"===o,inclusive:"="===a,raw:r}}(import_lib2.SKIP,0,o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7],o[8],o[9]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("RangeEnd",t,l,i),l}var RangeExpression$0$parser=(0,import_lib2.$S)(Expression,__,RangeDots,Expression),RangeExpression$1$parser=(0,import_lib2.$S)(Expression,__,DotDot,(0,import_lib2.$Y)((0,import_lib2.$S)(__,CloseBracket)));function RangeExpression$0(e,t){let r=RangeExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],processRangeExpression(o,a,p,s));var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function RangeExpression$1(e,t){let r=RangeExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return{type:"RangeExpression",children:["[]",{type:"Error",message:"Infinite range [x..] is only valid in for loops"}],start:i,end:{type:"Identifier",name:"Infinity",children:["Infinity"]},left:{inclusive:!0,raw:""},right:{inclusive:!0,raw:""},increasing:!0}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function RangeExpression(e,t){let r=e.enter&&e.enter("RangeExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RangeExpression$0(e,t);return n||(n=RangeExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"RangeExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RangeExpression",t,n,i),n}var ArrayLiteralContent$1$parser=(0,import_lib2.$S)(NestedElementList,(0,import_lib2.$Y)((0,import_lib2.$S)(__,CloseBracket))),ArrayLiteralContent$2$parser=(0,import_lib2.$S)(ElementListWithIndentedApplicationForbidden,ArrayElementDelimiter,(0,import_lib2.$E)(NestedElementList),(0,import_lib2.$Y)((0,import_lib2.$S)(__,CloseBracket))),ArrayLiteralContent$3$parser=(0,import_lib2.$Q)((0,import_lib2.$S)(__,ElementListWithIndentedApplicationForbidden,ArrayElementDelimiter));function ArrayLiteralContent$0(e,t){return RangeExpression(e,t)}function ArrayLiteralContent$1(e,t){let r=ArrayLiteralContent$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrayLiteralContent$2(e,t){let r=ArrayLiteralContent$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],n[3],s=o,u=a,(c=p)?[...s,u,...c]:s);var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrayLiteralContent$3(e,t){let r=ArrayLiteralContent$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n.flat());return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrayLiteralContent(e,t){let r=e.enter&&e.enter("ArrayLiteralContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrayLiteralContent$0(e,t);return n||(n=ArrayLiteralContent$1(e,t)),n||(n=ArrayLiteralContent$2(e,t)),n||(n=ArrayLiteralContent$3(e,t)),n&&e.tokenize&&(n.value={type:"ArrayLiteralContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ArrayLiteralContent",t,n,i),n}var NestedElementList$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedElement),PopIndent);function NestedElementList(e,t){let r=e.enter&&e.enter("NestedElementList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedElementList$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedElementList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedElementList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedElementList",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u.flat():p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedElementList",t,l,i),l}var NestedElement$parser=(0,import_lib2.$S)(Nested,ElementList,ArrayElementDelimiter);function NestedElement(e,t){let r=e.enter&&e.enter("NestedElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedElement$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedElement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedElement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){var o=i,a=n,p=l;let{length:s}=a;return a.map((e,t)=>(0===t&&(e=prepend(o,e)),t===s-1&&(e=append(e,p)),e))}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedElement",t,l,i),l}var ArrayElementDelimiter$0$parser=(0,import_lib2.$S)(__,Comma),ArrayElementDelimiter$1$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($L45,'ArrayElementDelimiter "]"'))),ArrayElementDelimiter$2$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),InsertComma);function ArrayElementDelimiter$0(e,t){return ArrayElementDelimiter$0$parser(e,t)}function ArrayElementDelimiter$1(e,t){let r=ArrayElementDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function ArrayElementDelimiter$2(e,t){let r=ArrayElementDelimiter$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrayElementDelimiter(e,t){let r=e.enter&&e.enter("ArrayElementDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrayElementDelimiter$0(e,t);return n||(n=ArrayElementDelimiter$1(e,t)),n||(n=ArrayElementDelimiter$2(e,t)),n&&e.tokenize&&(n.value={type:"ArrayElementDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ArrayElementDelimiter",t,n,i),n}var ElementListWithIndentedApplicationForbidden$parser=(0,import_lib2.$S)(ForbidIndentedApplication,(0,import_lib2.$E)(ElementList),RestoreIndentedApplication);function ElementListWithIndentedApplicationForbidden(e,t){let r=e.enter&&e.enter("ElementListWithIndentedApplicationForbidden",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ElementListWithIndentedApplicationForbidden$parser(e,t);if(!n)return void(e.exit&&e.exit("ElementListWithIndentedApplicationForbidden",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ElementListWithIndentedApplicationForbidden",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ElementListWithIndentedApplicationForbidden",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ElementListWithIndentedApplicationForbidden",t,l,i),l}var ElementList$0$parser=(0,import_lib2.$S)(BulletedArray);function ElementList$0(e,t){let r=ElementList$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return[i]}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ElementList$1(e,t){return SingleLineElementList(e,t)}function ElementList(e,t){let r=e.enter&&e.enter("ElementList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ElementList$0(e,t);return n||(n=ElementList$1(e,t)),n&&e.tokenize&&(n.value={type:"ElementList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ElementList",t,n,i),n}var SingleLineElementList$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),ArrayElementExpression,(0,import_lib2.$Q)(ElementListRest));function SingleLineElementList(e,t){let r=e.enter&&e.enter("SingleLineElementList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineElementList$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLineElementList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLineElementList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLineElementList",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],p=o[1],s=o[2],u=p,(c=s).length?[append(u,c[0][0])].concat(c.map(([e,t],r)=>append(t,c[r+1]?.[0]))):[u]);var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SingleLineElementList",t,l,i),l}var ElementListRest$parser=(0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma,(0,import_lib2.$N)(EOS)),ArrayElementExpression);function ElementListRest(e,t){let r=e.enter&&e.enter("ElementListRest",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ElementListRest$parser(e,t);if(!n)return void(e.exit&&e.exit("ElementListRest",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ElementListRest",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ElementListRest",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[[p[0],p[1]],s]);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ElementListRest",t,l,i),l}var ArrayElementExpression$1$parser=(0,import_lib2.$S)(ImplicitObjectLiteral,(0,import_lib2.$Y)(ArrayElementDelimiter)),ArrayElementExpression$2$parser=(0,import_lib2.$S)(Expression,(0,import_lib2.$E)(_),DotDotDot,(0,import_lib2.$Y)(ArrayElementDelimiter)),ArrayElementExpression$3$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(__,DotDotDot,__)),PostfixedExpression)),(0,import_lib2.$Y)(ArrayElementDelimiter));function ArrayElementExpression$0(e,t){return JSXTag(e,t)}function ArrayElementExpression$1(e,t){let r=ArrayElementExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrayElementExpression$2(e,t){let r=ArrayElementExpression$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],n[3],{type:"SpreadElement",children:[a,p,o],expression:o,names:o.names});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrayElementExpression$3(e,t){let r=ArrayElementExpression$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){var n=i;if(n){let[e,t]=n;return e?{type:"SpreadElement",children:[...e,t],expression:t,names:t.names}:{type:"ArrayElement",children:[t],expression:t,names:t.names}}return{type:"ElisionElement",children:[]}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrayElementExpression(e,t){let r=e.enter&&e.enter("ArrayElementExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrayElementExpression$0(e,t);return n||(n=ArrayElementExpression$1(e,t)),n||(n=ArrayElementExpression$2(e,t)),n||(n=ArrayElementExpression$3(e,t)),n&&e.tokenize&&(n.value={type:"ArrayElementExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ArrayElementExpression",t,n,i),n}var NestedBulletedArray$parser=(0,import_lib2.$S)((0,import_lib2.$S)(InsertSpace,InsertOpenBracket),PushIndent,AllowPipeline,(0,import_lib2.$Q)(NestedArrayBullet),RestorePipeline,InsertCloseBracket,PopIndent);function NestedBulletedArray(e,t){let r=e.enter&&e.enter("NestedBulletedArray",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedBulletedArray$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedBulletedArray",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedBulletedArray",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedBulletedArray",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a,p){var s=i,u=o,c=p;if(!u.length)return e;let m=(u=u.flat())[u.length-1];return m.children?.at(-1)?.implicit&&(m.children=m.children.slice(0,-1)),{type:"ArrayExpression",children:[...s,...u,c]}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4],o[5],o[6]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedBulletedArray",t,l,i),l}var BulletedArray$parser=(0,import_lib2.$S)(InsertOpenBracket,(0,import_lib2.$E)((0,import_lib2.$S)(ArrayBullet,(0,import_lib2.$Q)(NestedArrayBullet))),InsertCloseBracket);function BulletedArray(e,t){let r=e.enter&&e.enter("BulletedArray",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BulletedArray$parser(e,t);if(!n)return void(e.exit&&e.exit("BulletedArray",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BulletedArray",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BulletedArray",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){var o=i,a=n,p=l;if(!a)return e;let s=(a=[...trimFirstSpace(a[0]),...a[1].flat()])[a.length-1];return s.children?.at(-1)?.implicit&&(a[a.length-1]=s={...s,children:s.children.slice(0,-1)}),{type:"ArrayExpression",children:[o,...a,p]}}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BulletedArray",t,l,i),l}var NestedArrayBullet$parser=(0,import_lib2.$S)(Nested,ArrayBullet);function NestedArrayBullet(e,t){let r=e.enter&&e.enter("NestedArrayBullet",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedArrayBullet$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedArrayBullet",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedArrayBullet",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedArrayBullet",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,s.map((e,t)=>0===t?prepend(u,e):e));var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedArrayBullet",t,l,i),l}var ArrayBullet$parser=(0,import_lib2.$S)(BulletIndent,(0,import_lib2.$E)((0,import_lib2.$S)(ElementList,ArrayBulletDelimiter)),PopIndent);function ArrayBullet(e,t){let r=e.enter&&e.enter("ArrayBullet",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrayBullet$parser(e,t);if(!n)return void(e.exit&&e.exit("ArrayBullet",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ArrayBullet",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ArrayBullet",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=i,o=n;if(!o)return e;let[a,p]=o;if(a=a.slice(),a[0]=prepend(l,a[0]),p){let e=a.length-1;a[e]=append(a[e],p)}return a}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ArrayBullet",t,l,i),l}var ArrayBulletDelimiter$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Comma),ArrayBulletDelimiter$1$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),InsertComma);function ArrayBulletDelimiter$0(e,t){return ArrayBulletDelimiter$0$parser(e,t)}function ArrayBulletDelimiter$1(e,t){let r=ArrayBulletDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ArrayBulletDelimiter(e,t){let r=e.enter&&e.enter("ArrayBulletDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ArrayBulletDelimiter$0(e,t);return n||(n=ArrayBulletDelimiter$1(e,t)),n&&e.tokenize&&(n.value={type:"ArrayBulletDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ArrayBulletDelimiter",t,n,i),n}var BulletIndent$parser=(0,import_lib2.$S)(Bullet);function BulletIndent(e,t){let r=e.enter&&e.enter("BulletIndent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BulletIndent$parser(e,t);if(!n)return void(e.exit&&e.exit("BulletIndent",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BulletIndent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BulletIndent",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){let[n,l]=i,o={token:" "+l,$loc:t,level:getIndentLevel(" ".repeat(state.currentIndent.level)+n+l,config.tab)};return config.verbose&&console.log("pushing bullet indent",o),state.indentLevels.push(o),o}(import_lib2.SKIP,o,0,a[0]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("BulletIndent",t,l,i),l}var Bullet$0$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L46,'Bullet "•"'),(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R23,"Bullet /[ \\t]*/"))),Bullet$1$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L7,'Bullet "."'),(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R24,"Bullet /[ \\t]+/")));function Bullet$0(e,t){return Bullet$0$parser(e,t)}function Bullet$1(e,t){return Bullet$1$parser(e,t)}function Bullet(e,t){let r=e.enter&&e.enter("Bullet",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Bullet$0(e,t);return n||(n=Bullet$1(e,t)),n&&e.tokenize&&(n.value={type:"Bullet",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Bullet",t,n,i),n}var BulletedArrayWithTrailing$parser=(0,import_lib2.$S)(BulletedArray,(0,import_lib2.$E)(AllowedTrailingCallExpressions),(0,import_lib2.$Q)((0,import_lib2.$S)(NotDedented,Pipe,__,PipelineTailItem)));function BulletedArrayWithTrailing(e,t){let r=e.enter&&e.enter("BulletedArrayWithTrailing",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BulletedArrayWithTrailing$parser(e,t);if(!n)return void(e.exit&&e.exit("BulletedArrayWithTrailing",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BulletedArrayWithTrailing",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BulletedArrayWithTrailing",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=p,s&&(c=[c,s]),(m=u).length&&(c={type:"PipelineExpression",children:[void 0,c,m]}),c);var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BulletedArrayWithTrailing",t,l,i),l}var ObjectLiteral$0$parser=(0,import_lib2.$S)(ObjectBindingPattern,UpcomingAssignment);function ObjectLiteral$0(e,t){let r=ObjectLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ObjectLiteral$1(e,t){return BracedObjectLiteral(e,t)}function ObjectLiteral$2(e,t){return NestedImplicitObjectLiteral(e,t)}function ObjectLiteral$3(e,t){return InlineObjectLiteral(e,t)}function ObjectLiteral(e,t){let r=e.enter&&e.enter("ObjectLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ObjectLiteral$0(e,t);return n||(n=ObjectLiteral$1(e,t)),n||(n=ObjectLiteral$2(e,t)),n||(n=ObjectLiteral$3(e,t)),n&&e.tokenize&&(n.value={type:"ObjectLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ObjectLiteral",t,n,i),n}var BracedObjectLiteral$0$parser=(0,import_lib2.$S)(OpenBrace,CloseBrace,ApplicationStart,AllowAll,(0,import_lib2.$E)((0,import_lib2.$C)(NestedPropertyDefinitions,SingleLineObjectProperties)),RestoreAll),BracedObjectLiteral$1$parser=(0,import_lib2.$S)(OpenBrace,AllowAll,(0,import_lib2.$E)((0,import_lib2.$S)(BracedObjectLiteralContent,__,CloseBrace)),RestoreAll);function BracedObjectLiteral$0(e,t){let r=BracedObjectLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a){var p=i,s=n,u=a;if(!u?.length)return e;let c=u[u.length-1];return c.delim?.implicit&&(c={...c,delim:void 0,children:c.children.filter(e=>e!==c.delim)},u=[...u.slice(0,u.length-1),c]),{type:"ObjectExpression",children:[p,u,s],names:u.flatMap(e=>e.names||[]),properties:u}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BracedObjectLiteral$1(e,t){let r=BracedObjectLiteral$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i;if(!l)return e;let[a,...p]=l;return{type:"ObjectExpression",children:[o,a,p],names:a.flatMap(e=>e.names||[]),properties:a}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BracedObjectLiteral(e,t){let r=e.enter&&e.enter("BracedObjectLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BracedObjectLiteral$0(e,t);return n||(n=BracedObjectLiteral$1(e,t)),n&&e.tokenize&&(n.value={type:"BracedObjectLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BracedObjectLiteral",t,n,i),n}var SingleLineObjectProperties$parser=(0,import_lib2.$Q)((0,import_lib2.$S)(PropertyDefinition,ObjectPropertyDelimiter));function SingleLineObjectProperties(e,t){let r=e.enter&&e.enter("SingleLineObjectProperties",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineObjectProperties$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLineObjectProperties",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLineObjectProperties",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLineObjectProperties",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o.flatMap(([e,t])=>{let r=(e=Array.isArray(e)?e:[e])[e.length-1];return r?(r={...r,delim:t,children:[...r.children,t]},[...e.slice(0,e.length-1),r]):[]}));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SingleLineObjectProperties",t,l,i),l}var BracedObjectLiteralContent$0$parser=(0,import_lib2.$S)(SingleLineObjectProperties,(0,import_lib2.$E)(NestedPropertyDefinitions)),BracedObjectLiteralContent$1$parser=(0,import_lib2.$P)((0,import_lib2.$S)(__,PropertyDefinition,ObjectPropertyDelimiter));function BracedObjectLiteralContent$0(e,t){let r=BracedObjectLiteralContent$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=a,o.concat(p||[]));var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BracedObjectLiteralContent$1(e,t){let r=BracedObjectLiteralContent$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n.flatMap(([e,t,r])=>{let i=(t=Array.isArray(t)?t:[t])[t.length-1];return i={...i,delim:r,children:[e,...i.children.slice(1),r]},[...t.slice(0,t.length-1),i]}));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BracedObjectLiteralContent(e,t){let r=e.enter&&e.enter("BracedObjectLiteralContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BracedObjectLiteralContent$0(e,t);return n||(n=BracedObjectLiteralContent$1(e,t)),n&&e.tokenize&&(n.value={type:"BracedObjectLiteralContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BracedObjectLiteralContent",t,n,i),n}var NestedImplicitObjectLiteral$parser=(0,import_lib2.$S)(InsertOpenBrace,PushIndent,AllowPipeline,(0,import_lib2.$E)(NestedImplicitPropertyDefinitions),RestorePipeline,PopIndent,InsertNewline,InsertIndent,InsertCloseBrace);function NestedImplicitObjectLiteral(e,t){let r=e.enter&&e.enter("NestedImplicitObjectLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedImplicitObjectLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedImplicitObjectLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedImplicitObjectLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedImplicitObjectLiteral",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a,p,s,u,c){return o?{type:"ObjectExpression",properties:o,children:[i,o,s,u,c]}:e}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7],o[8]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedImplicitObjectLiteral",t,l,i),l}var NestedImplicitPropertyDefinitions$parser=(0,import_lib2.$P)(NestedImplicitPropertyDefinition);function NestedImplicitPropertyDefinitions(e,t){let r=e.enter&&e.enter("NestedImplicitPropertyDefinitions",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedImplicitPropertyDefinitions$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedImplicitPropertyDefinitions",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedImplicitPropertyDefinitions",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedImplicitPropertyDefinitions",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o.flat());return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedImplicitPropertyDefinitions",t,l,i),l}var NestedImplicitPropertyDefinition$parser=(0,import_lib2.$S)(Nested,(0,import_lib2.$P)((0,import_lib2.$S)((0,import_lib2.$E)(_),NamedProperty,ObjectPropertyDelimiter)));function NestedImplicitPropertyDefinition(e,t){let r=e.enter&&e.enter("NestedImplicitPropertyDefinition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedImplicitPropertyDefinition$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedImplicitPropertyDefinition",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedImplicitPropertyDefinition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedImplicitPropertyDefinition",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,s.map(([e,t,r],i)=>({...t,children:[...0===i?[u,e]:[e],...t.children,r]})));var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedImplicitPropertyDefinition",t,l,i),l}var NestedPropertyDefinitions$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedPropertyDefinition),PopIndent);function NestedPropertyDefinitions(e,t){let r=e.enter&&e.enter("NestedPropertyDefinitions",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedPropertyDefinitions$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedPropertyDefinitions",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedPropertyDefinitions",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedPropertyDefinitions",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u.flat():p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedPropertyDefinitions",t,l,i),l}var NestedPropertyDefinition$parser=(0,import_lib2.$S)(Nested,(0,import_lib2.$P)((0,import_lib2.$S)(PropertyDefinition,ObjectPropertyDelimiter)));function NestedPropertyDefinition(e,t){let r=e.enter&&e.enter("NestedPropertyDefinition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedPropertyDefinition$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedPropertyDefinition",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedPropertyDefinition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedPropertyDefinition",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,s.flatMap(([e,t],r)=>{if(Array.isArray(e)||(e=[e]),0===r){let[t,...r]=e;e=[prepend(u,t),...r]}let i=e[e.length-1];return e=[...e.slice(0,e.length-1),{...i,delim:t,children:[...i.children,t]}]}));var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedPropertyDefinition",t,l,i),l}var ImplicitObjectLiteral$parser=(0,import_lib2.$S)(InsertInlineOpenBrace,SnugNamedProperty,(0,import_lib2.$Q)((0,import_lib2.$S)(ImplicitObjectPropertyDelimiter,NamedProperty)),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma)),InsertCloseBrace);function ImplicitObjectLiteral(e,t){let r=e.enter&&e.enter("ImplicitObjectLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplicitObjectLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("ImplicitObjectLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImplicitObjectLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImplicitObjectLiteral",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=o[4],{type:"ObjectExpression",children:[p,s,...u,c,m]});var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ImplicitObjectLiteral",t,l,i),l}var ImplicitObjectPropertyDelimiter$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Comma,(0,import_lib2.$C)(NotDedented,(0,import_lib2.$E)(_))),ImplicitObjectPropertyDelimiter$1$parser=(0,import_lib2.$S)((0,import_lib2.$Y)((0,import_lib2.$S)(Nested,NamedProperty)),InsertComma,Nested);function ImplicitObjectPropertyDelimiter$0(e,t){return ImplicitObjectPropertyDelimiter$0$parser(e,t)}function ImplicitObjectPropertyDelimiter$1(e,t){let r=ImplicitObjectPropertyDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return[n,l]}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImplicitObjectPropertyDelimiter(e,t){let r=e.enter&&e.enter("ImplicitObjectPropertyDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplicitObjectPropertyDelimiter$0(e,t);return n||(n=ImplicitObjectPropertyDelimiter$1(e,t)),n&&e.tokenize&&(n.value={type:"ImplicitObjectPropertyDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImplicitObjectPropertyDelimiter",t,n,i),n}var InlineObjectLiteral$parser=(0,import_lib2.$S)(InsertInlineOpenBrace,SnugNamedProperty,(0,import_lib2.$Q)((0,import_lib2.$S)(InlineObjectPropertyDelimiter,NamedProperty)),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma,(0,import_lib2.$Y)(Dedented))),InsertCloseBrace);function InlineObjectLiteral(e,t){let r=e.enter&&e.enter("InlineObjectLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineObjectLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("InlineObjectLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InlineObjectLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InlineObjectLiteral",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=o[4],{type:"ObjectExpression",children:[p,s,...u,c,m]});var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InlineObjectLiteral",t,l,i),l}var InlineObjectPropertyDelimiter$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Comma,(0,import_lib2.$C)(NotDedented,(0,import_lib2.$E)(_)));function InlineObjectPropertyDelimiter(e,t){let r=e.enter&&e.enter("InlineObjectPropertyDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineObjectPropertyDelimiter$parser(e,t);return n&&e.tokenize&&(n.value={type:"InlineObjectPropertyDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineObjectPropertyDelimiter",t,n,i),n}var ObjectPropertyDelimiter$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Comma),ObjectPropertyDelimiter$1$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($R14,"ObjectPropertyDelimiter /[)\\]}]/"))),ObjectPropertyDelimiter$2$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),InsertComma);function ObjectPropertyDelimiter$0(e,t){return ObjectPropertyDelimiter$0$parser(e,t)}function ObjectPropertyDelimiter$1(e,t){let r=ObjectPropertyDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function ObjectPropertyDelimiter$2(e,t){let r=ObjectPropertyDelimiter$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],{...o,implicit:!0});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ObjectPropertyDelimiter(e,t){let r=e.enter&&e.enter("ObjectPropertyDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ObjectPropertyDelimiter$0(e,t);return n||(n=ObjectPropertyDelimiter$1(e,t)),n||(n=ObjectPropertyDelimiter$2(e,t)),n&&e.tokenize&&(n.value={type:"ObjectPropertyDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ObjectPropertyDelimiter",t,n,i),n}var PropertyDefinition$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),InsertDotDotDot,IterationExpression),PropertyDefinition$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),NamedProperty),PropertyDefinition$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$TEXT)((0,import_lib2.$EXPECT)($R25,"PropertyDefinition /[!+-]?/")),PropertyName,(0,import_lib2.$Y)(ObjectPropertyDelimiter)),PropertyDefinition$3$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),MethodDefinition),PropertyDefinition$4$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot,Expression),PropertyDefinition$5$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$N)((0,import_lib2.$C)(EOS,(0,import_lib2.$EXPECT)($L7,'PropertyDefinition "."'))),(0,import_lib2.$Q)(UnaryOp),CallExpression,(0,import_lib2.$E)(UnaryPostfix));function PropertyDefinition$0(e,t){let r=PropertyDefinition$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=n,p=l;let{statement:s}=p;if(p.block.implicit&&("DoStatement"===s.type||"loop"===s.subtype))return e;s={...s,object:!0};let u=[o,a,p={...p,statement:s,children:[s]}];return s.reduction&&u.unshift({type:"Error",message:"Reduction loops are forbidden in object literals"}),{type:"SpreadProperty",children:u,names:p.names,dots:a,value:p}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyDefinition$1(e,t){let r=PropertyDefinition$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],prepend(o,a));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyDefinition$2(e,t){let r=PropertyDefinition$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=l;if(n){let e="+"===n?"true":"false";return{type:"Property",children:[o,a,": ",e],name:a,names:a.names,value:e}}return a.unicode?{type:"Property",children:[o,a,": ",a.identifier],name:a,names:a.names,value:a.identifier}:{type:"Property",children:[o,a],name:a,names:a.names,value:a,implicitName:!0}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyDefinition$3(e,t){let r=PropertyDefinition$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],p=n[1],s=a,"MultiMethodDefinition"===(u=p).type?{children:u.children.flatMap((e,t)=>t?[",",e]:[e])}:u.block&&!u.block.empty?prepend(s,u):o);var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyDefinition$4(e,t){let r=PropertyDefinition$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],{type:"SpreadProperty",children:[o,s=a,u=p],names:u.names,dots:s,value:u});var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyDefinition$5(e,t){let r=PropertyDefinition$5$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i,n,l,o,a){var p=i,s=l,u=o,c=a;if(!s.length&&!c)switch(u.type){case"Identifier":return prepend(p,u);case"ObjectExpression":let e=u.properties[0];return e&&(e={...e,children:[p,...e.children],hoistDec:u.hoistDec}),[e,...u.properties.slice(1)]}let m=lastAccessInCallExpression(u);if(!m)return e;let d,f,$,{expression:b,type:S}=m;if("Index"===S)({ref:f,refAssignment:$}=maybeRefAssignment(b)),$?(d={type:"ComputedPropertyName",children:[m.children[0],"(",$,",",f,")",...m.children.slice(-2)],implicit:!0},u={...u,children:u.children.map(e=>e===m?{type:"Index",children:["[",f,"]"]}:e)}):d={type:"ComputedPropertyName",children:m.children,implicit:!0};else if(({name:d}=m),!d)return e;if("#"===d[0]&&(d=d.slice(1)),!s.length&&"?"===c?.token&&"Identifier"===u.type){let e={$loc:t,token:"..."},r=parenthesizeExpression({children:["(",u," != null) && {",d,"}"]});return{type:"SpreadProperty",children:[p,e,r],names:u.names,dots:e,value:r}}return{type:"Property",children:[p,d,": ",processUnaryExpression(s,u,c)],name:d,names:[],value:u,implicitName:!0}}(import_lib2.SKIP,n,0,l[0],l[1],l[2],l[3],l[4]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function PropertyDefinition(e,t){let r=e.enter&&e.enter("PropertyDefinition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PropertyDefinition$0(e,t);return n||(n=PropertyDefinition$1(e,t)),n||(n=PropertyDefinition$2(e,t)),n||(n=PropertyDefinition$3(e,t)),n||(n=PropertyDefinition$4(e,t)),n||(n=PropertyDefinition$5(e,t)),n&&e.tokenize&&(n.value={type:"PropertyDefinition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PropertyDefinition",t,n,i),n}var NamedProperty$0$parser=(0,import_lib2.$S)(PropertyName,(0,import_lib2.$EXPECT)($L6,'NamedProperty "?"'),(0,import_lib2.$E)(_),Colon,(0,import_lib2.$E)(_),PostfixedExpression),NamedProperty$1$parser=(0,import_lib2.$S)(PropertyName,(0,import_lib2.$E)(_),Colon,PostfixedExpression);function NamedProperty$0(e,t){let r=NamedProperty$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i,n,l,o,a,p){var s=i,u=p;let{ref:c,refAssignment:m}=maybeRefAssignment(u),d=m?parenthesizeExpression(m):u,f={$loc:t,token:"..."},$=parenthesizeExpression({children:[d," != null ? {",s,": ",c,"} : {}"]});return{type:"SpreadProperty",children:[f,$],names:u.names||[],dots:f,value:$}}(import_lib2.SKIP,n,0,l[0],l[1],l[2],l[3],l[4],l[5]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function NamedProperty$1(e,t){let r=NamedProperty$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,a=n[0],n[1],n[2],p=n[3],{type:"Property",children:o,name:a,names:(s=p).names||[],value:s});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NamedProperty(e,t){let r=e.enter&&e.enter("NamedProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NamedProperty$0(e,t);return n||(n=NamedProperty$1(e,t)),n&&e.tokenize&&(n.value={type:"NamedProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NamedProperty",t,n,i),n}var SnugNamedProperty$parser=(0,import_lib2.$S)(PropertyName,Colon,MaybeNestedExpression,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),PostfixStatement),(0,import_lib2.$Y)((0,import_lib2.$S)(Nested,NamedProperty)))));function SnugNamedProperty(e,t){let r=e.enter&&e.enter("SnugNamedProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SnugNamedProperty$parser(e,t);if(!n)return void(e.exit&&e.exit("SnugNamedProperty",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SnugNamedProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SnugNamedProperty",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=p,d=s,f=u,c&&(f=attachPostfixStatementAsExpression(f,c[0])),{type:"Property",children:[m,d,f],name:m,names:f.names||[]});var p,s,u,c,m,d,f;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SnugNamedProperty",t,l,i),l}var PropertyName$3$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)((0,import_lib2.$E)(IdentifierName),(0,import_lib2.$EXPECT)($L22,'PropertyName "-"'),(0,import_lib2.$EXPECT)($R26,"PropertyName /(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"))),PropertyName$4$parser=IdentifierName;function PropertyName$0(e,t){return NumericLiteral(e,t)}function PropertyName$1(e,t){return ComputedPropertyName(e,t)}function PropertyName$2(e,t){return StringLiteral(e,t)}function PropertyName$3(e,t){let r=PropertyName$3$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=(import_lib2.SKIP,{token:`"${l}"`,$loc:n});return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function PropertyName$4(e,t){let r=PropertyName$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,(o=n).unicode?{...o,children:[{$loc:o.children[0].$loc,token:`"${o.unicode}"`}],identifier:o}:o);var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PropertyName$5(e,t){return LengthShorthand(e,t)}function PropertyName$6(e,t){return SymbolElement(e,t)}function PropertyName(e,t){let r=e.enter&&e.enter("PropertyName",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PropertyName$0(e,t);return n||(n=PropertyName$1(e,t)),n||(n=PropertyName$2(e,t)),n||(n=PropertyName$3(e,t)),n||(n=PropertyName$4(e,t)),n||(n=PropertyName$5(e,t)),n||(n=PropertyName$6(e,t)),n&&e.tokenize&&(n.value={type:"PropertyName",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PropertyName",t,n,i),n}var ComputedPropertyName$0$parser=(0,import_lib2.$S)(OpenBracket,PostfixedExpression,__,CloseBracket),ComputedPropertyName$1$parser=(0,import_lib2.$S)(InsertOpenBracket,TemplateLiteral,InsertCloseBracket),ComputedPropertyName$2$parser=(0,import_lib2.$S)(InsertOpenBracket,(0,import_lib2.$EXPECT)($R15,"ComputedPropertyName /[+-]/"),NumericLiteral,InsertCloseBracket);function ComputedPropertyName$0(e,t){let r=ComputedPropertyName$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"ComputedPropertyName",children:r,expression:n}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ComputedPropertyName$1(e,t){let r=ComputedPropertyName$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],a=n[1],n[2],p=a,"StringLiteral"===a.type?a:{type:"ComputedPropertyName",children:o,expression:p,implicit:!0});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ComputedPropertyName$2(e,t){let r=ComputedPropertyName$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){let a=[n,l];return{type:"ComputedPropertyName",expression:a,children:[i,a,o],implicit:!0}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ComputedPropertyName(e,t){let r=e.enter&&e.enter("ComputedPropertyName",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ComputedPropertyName$0(e,t);return n||(n=ComputedPropertyName$1(e,t)),n||(n=ComputedPropertyName$2(e,t)),n&&e.tokenize&&(n.value={type:"ComputedPropertyName",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ComputedPropertyName",t,n,i),n}var Decorator$parser=(0,import_lib2.$S)(AtAt,CallExpression);function Decorator(e,t){let r=e.enter&&e.enter("Decorator",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Decorator$parser(e,t);return n&&e.tokenize&&(n.value={type:"Decorator",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Decorator",t,n,i),n}var Decorators$parser=(0,import_lib2.$S)(ForbidClassImplicitCall,(0,import_lib2.$Q)((0,import_lib2.$S)(__,Decorator)),__,RestoreClassImplicitCall);function Decorators(e,t){let r=e.enter&&e.enter("Decorators",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Decorators$parser(e,t);if(!n)return void(e.exit&&e.exit("Decorators",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Decorators",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Decorators",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o,o[0],u=o[1],o[2],o[3],u.length?s:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Decorators",t,l,i),l}var MethodDefinition$0$parser=(0,import_lib2.$S)(Abstract,__,MethodSignature),MethodDefinition$1$parser=(0,import_lib2.$S)(MethodSignature,(0,import_lib2.$N)((0,import_lib2.$C)(PropertyAccess,ExplicitPropertyGlob,UnaryPostfix,NonNullAssertion)),(0,import_lib2.$E)(BracedBlock)),MethodDefinition$2$parser=(0,import_lib2.$S)(GetOrSet,(0,import_lib2.$E)(_),ForbidIndentedApplication,(0,import_lib2.$E)((0,import_lib2.$S)(MemberBase,(0,import_lib2.$Q)(CallExpressionRest),(0,import_lib2.$E)(ReturnTypeSuffix))),RestoreIndentedApplication,(0,import_lib2.$E)(BracedBlock));function MethodDefinition$0(e,t){let r=MethodDefinition$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],{type:"MethodDefinition",children:o,name:(p=a).name,abstract:!0,signature:p,parameters:p.parameters,async:p.async,generator:p.generator,ts:!0});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MethodDefinition$1(e,t){let r=MethodDefinition$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],n[1],a=n[2],{type:"MethodDefinition",children:[p=o,s=a],name:p.name,signature:p,block:s,parameters:p.parameters,async:p.async,generator:p.generator});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MethodDefinition$2(e,t){let r=MethodDefinition$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){var s=i,u=n,c=o,m=p;if(!c)return e;let[d,f,$]=c,b=[d,f];if(!f.length){let t;if("MemberExpression"===d.type){let e=lastAccessInCallExpression(d);e&&({name:t}=e)}if(t||({name:t}=d),!t)return e;"#"===t[0]&&(t=t.slice(1));let r=!m||"Identifier"!==d.type;return makeGetterMethod(t,u,d,$,m,s,r)}let S=f[f.length-1];for(;Array.isArray(S);)S=S[S.length-1];switch(S.type){case"Call":return e;case"PropertyAccess":let{name:t}=S;return makeGetterMethod(t,u,b,$,m,s);case"PropertyGlob":return{type:"MultiMethodDefinition",children:S.object.properties.map(e=>{let t,{name:r}=e,{value:i}=e;t=i.privateShorthand?i.privateId:trimFirstSpace(i);let n=t,l=processCallMemberExpression({type:"CallExpression",children:[d,...f.slice(0,-1),{type:"PropertyAccess",children:[S.dot,{...n,children:[n.children.slice(0,2)]}]}]});return makeGetterMethod(r,u,l,$,m,s)})}}let y=lastAccessInCallExpression({children:f}),{name:x}=y;return makeGetterMethod(x,u,b,$,m,s)}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MethodDefinition(e,t){let r=e.enter&&e.enter("MethodDefinition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MethodDefinition$0(e,t);return n||(n=MethodDefinition$1(e,t)),n||(n=MethodDefinition$2(e,t)),n&&e.tokenize&&(n.value={type:"MethodDefinition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MethodDefinition",t,n,i),n}var MethodModifier$0$parser=(0,import_lib2.$S)(GetOrSet,(0,import_lib2.$E)(_),(0,import_lib2.$Y)(ClassElementName)),MethodModifier$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Async,__)),(0,import_lib2.$E)((0,import_lib2.$S)(Star,__)));function MethodModifier$0(e,t){let r=MethodModifier$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],n[2],(s=a)||(s=" "),{modifier:{async:!1,generator:!1,get:"get"===(p=o).token,set:"set"===p.token},children:[p,s]});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MethodModifier$1(e,t){let r=MethodModifier$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],(p=o)||(p=[]),(s=a)||(s=[]),{async:p,generator:s,modifier:{async:!!p.length,get:!1,set:!1,generator:!!s.length},children:[p,s]});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MethodModifier(e,t){let r=e.enter&&e.enter("MethodModifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MethodModifier$0(e,t);return n||(n=MethodModifier$1(e,t)),n&&e.tokenize&&(n.value={type:"MethodModifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MethodModifier",t,n,i),n}var MethodSignature$0$parser=(0,import_lib2.$S)(ConstructorShorthand,NonEmptyParameters),MethodSignature$1$parser=(0,import_lib2.$S)(MethodModifier,ClassElementName,(0,import_lib2.$E)(_),(0,import_lib2.$E)(QuestionMark),(0,import_lib2.$E)(_),NonEmptyParameters,(0,import_lib2.$E)(ReturnTypeSuffix));function MethodSignature$0(e,t){let r=MethodSignature$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,a=n[0],p=n[1],s=p,{type:"MethodSignature",children:o,name:a.token,modifier:{},returnType:void 0,parameters:s});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MethodSignature$1(e,t){let r=MethodSignature$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s){var u=i,c=n,m=l,d=o,f=a,$=p,b=s;let S=c;return S.name?S=S.name:S.token&&(S=S.token.match(/^(?:"|')/)?S.token.slice(1,-1):S.token),d&&(d={...d,ts:!0}),{type:"MethodSignature",children:[...u.children,c,m,d,f,$,b],async:u.async,generator:u.generator,name:S,optional:d,modifier:u.modifier,returnType:b,parameters:$}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MethodSignature(e,t){let r=e.enter&&e.enter("MethodSignature",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MethodSignature$0(e,t);return n||(n=MethodSignature$1(e,t)),n&&e.tokenize&&(n.value={type:"MethodSignature",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MethodSignature",t,n,i),n}function ClassElementName$0(e,t){return PropertyName(e,t)}function ClassElementName$1(e,t){return LengthShorthand(e,t)}function ClassElementName$2(e,t){return PrivateIdentifier(e,t)}function ClassElementName$3(e,t){return SymbolElement(e,t)}function ClassElementName(e,t){let r=e.enter&&e.enter("ClassElementName",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassElementName$0(e,t);return n||(n=ClassElementName$1(e,t)),n||(n=ClassElementName$2(e,t)),n||(n=ClassElementName$3(e,t)),n&&e.tokenize&&(n.value={type:"ClassElementName",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ClassElementName",t,n,i),n}var PrivateIdentifier$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)(Hash,IdentifierName));function PrivateIdentifier(e,t){let r=e.enter&&e.enter("PrivateIdentifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PrivateIdentifier$parser(e,t);if(!n)return void(e.exit&&e.exit("PrivateIdentifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PrivateIdentifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PrivateIdentifier",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){let i=escapeIdentifier(r).name;return{type:"Identifier",name:i,names:[i],children:[{$loc:t,token:i}]}}(import_lib2.SKIP,o,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("PrivateIdentifier",t,l,i),l}var WAssignmentOp$0$parser=(0,import_lib2.$S)(__,AssignmentOp),WAssignmentOp$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),OperatorAssignmentOp);function WAssignmentOp$0(e,t){return WAssignmentOp$0$parser(e,t)}function WAssignmentOp$1(e,t){return WAssignmentOp$1$parser(e,t)}function WAssignmentOp(e,t){let r=e.enter&&e.enter("WAssignmentOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WAssignmentOp$0(e,t);return n||(n=WAssignmentOp$1(e,t)),n&&e.tokenize&&(n.value={type:"WAssignmentOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("WAssignmentOp",t,n,i),n}var AssignmentOp$parser=(0,import_lib2.$S)(AssignmentOpSymbol,(0,import_lib2.$E)(_));function AssignmentOp(e,t){let r=e.enter&&e.enter("AssignmentOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AssignmentOp$parser(e,t);if(!n)return void(e.exit&&e.exit("AssignmentOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AssignmentOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AssignmentOp",t,r,i),r}let l,o=n.loc,a=n.value,p=(import_lib2.SKIP,s=o,u=a[0],c=a[1],c?.length?"string"!=typeof u?{...u,children:[...u.children,c]}:{token:u,children:[u,...c]}:"string"!=typeof u?u:{$loc:s,token:u});var s,u,c;return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("AssignmentOp",t,l,i),l}var OperatorAssignmentOp$0$parser=(0,import_lib2.$S)(Xor,Equals,(0,import_lib2.$E)(_)),OperatorAssignmentOp$1$parser=(0,import_lib2.$S)(Xnor,Equals,(0,import_lib2.$E)(_)),OperatorAssignmentOp$2$parser=(0,import_lib2.$S)(CoffeeDivEnabled,(0,import_lib2.$EXPECT)($L47,'OperatorAssignmentOp "//"'),Equals,(0,import_lib2.$E)(_)),OperatorAssignmentOp$3$parser=(0,import_lib2.$S)(Identifier,Equals,(0,import_lib2.$E)(_));function OperatorAssignmentOp$0(e,t){let r=OperatorAssignmentOp$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],a=n[2],{special:!0,call:getHelperRef("xor"),children:[o,...a||[]]});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorAssignmentOp$1(e,t){let r=OperatorAssignmentOp$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],a=n[2],{special:!0,call:getHelperRef("xnor"),children:[o,...a||[]]});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorAssignmentOp$2(e,t){let r=OperatorAssignmentOp$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],n[1],o=n[2],a=n[3],{special:!0,call:getHelperRef("div"),children:[o,...a||[]]});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorAssignmentOp$3(e,t){let r=OperatorAssignmentOp$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],{special:!0,call:o,children:[a,...p||[]]});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorAssignmentOp(e,t){let r=e.enter&&e.enter("OperatorAssignmentOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OperatorAssignmentOp$0(e,t);return n||(n=OperatorAssignmentOp$1(e,t)),n||(n=OperatorAssignmentOp$2(e,t)),n||(n=OperatorAssignmentOp$3(e,t)),n&&e.tokenize&&(n.value={type:"OperatorAssignmentOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OperatorAssignmentOp",t,n,i),n}var AssignmentOpSymbol$0$parser=(0,import_lib2.$EXPECT)($L48,'AssignmentOpSymbol "**="'),AssignmentOpSymbol$1$parser=(0,import_lib2.$EXPECT)($L49,'AssignmentOpSymbol "*="'),AssignmentOpSymbol$2$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L50,'AssignmentOpSymbol "%/"'),(0,import_lib2.$EXPECT)($L51,'AssignmentOpSymbol "÷"')),Equals),AssignmentOpSymbol$3$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L52,'AssignmentOpSymbol "%%"'),Equals),AssignmentOpSymbol$4$parser=(0,import_lib2.$EXPECT)($L53,'AssignmentOpSymbol "/="'),AssignmentOpSymbol$5$parser=(0,import_lib2.$EXPECT)($L54,'AssignmentOpSymbol "%="'),AssignmentOpSymbol$6$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L9,'AssignmentOpSymbol "++"'),(0,import_lib2.$EXPECT)($L11,'AssignmentOpSymbol "⧺"')),Equals),AssignmentOpSymbol$7$parser=(0,import_lib2.$EXPECT)($L55,'AssignmentOpSymbol "+="'),AssignmentOpSymbol$8$parser=(0,import_lib2.$EXPECT)($L56,'AssignmentOpSymbol "-="'),AssignmentOpSymbol$9$parser=(0,import_lib2.$EXPECT)($L57,'AssignmentOpSymbol "<<="'),AssignmentOpSymbol$10$parser=(0,import_lib2.$EXPECT)($L58,'AssignmentOpSymbol "≪="'),AssignmentOpSymbol$11$parser=(0,import_lib2.$EXPECT)($L59,'AssignmentOpSymbol ">>>="'),AssignmentOpSymbol$12$parser=(0,import_lib2.$EXPECT)($L60,'AssignmentOpSymbol "⋙="'),AssignmentOpSymbol$13$parser=(0,import_lib2.$EXPECT)($L61,'AssignmentOpSymbol ">>="'),AssignmentOpSymbol$14$parser=(0,import_lib2.$EXPECT)($L62,'AssignmentOpSymbol "≫="'),AssignmentOpSymbol$15$parser=(0,import_lib2.$EXPECT)($L63,'AssignmentOpSymbol "&&="'),AssignmentOpSymbol$16$parser=(0,import_lib2.$EXPECT)($L64,'AssignmentOpSymbol "&="'),AssignmentOpSymbol$17$parser=(0,import_lib2.$EXPECT)($L65,'AssignmentOpSymbol "^="'),AssignmentOpSymbol$18$parser=(0,import_lib2.$EXPECT)($L66,'AssignmentOpSymbol "||="'),AssignmentOpSymbol$19$parser=(0,import_lib2.$EXPECT)($L67,'AssignmentOpSymbol "‖="'),AssignmentOpSymbol$20$parser=(0,import_lib2.$EXPECT)($L68,'AssignmentOpSymbol "|="'),AssignmentOpSymbol$21$parser=(0,import_lib2.$EXPECT)($L69,'AssignmentOpSymbol "??="'),AssignmentOpSymbol$22$parser=(0,import_lib2.$EXPECT)($L70,'AssignmentOpSymbol "⁇="'),AssignmentOpSymbol$23$parser=(0,import_lib2.$EXPECT)($L71,'AssignmentOpSymbol "?="'),AssignmentOpSymbol$24$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L3,'AssignmentOpSymbol "="'),(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R27,"AssignmentOpSymbol /[=>]/"))),AssignmentOpSymbol$25$parser=(0,import_lib2.$S)(CoffeeWordAssignmentOp);function AssignmentOpSymbol$0(e,t){return AssignmentOpSymbol$0$parser(e,t)}function AssignmentOpSymbol$1(e,t){return AssignmentOpSymbol$1$parser(e,t)}function AssignmentOpSymbol$2(e,t){let r=AssignmentOpSymbol$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],{special:!0,call:getHelperRef("div"),children:[o]});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentOpSymbol$3(e,t){let r=AssignmentOpSymbol$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],{special:!0,call:getHelperRef("modulo"),children:[o]});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentOpSymbol$4(e,t){return AssignmentOpSymbol$4$parser(e,t)}function AssignmentOpSymbol$5(e,t){return AssignmentOpSymbol$5$parser(e,t)}function AssignmentOpSymbol$6(e,t){let r=AssignmentOpSymbol$6$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],{special:!0,call:getHelperRef("concatAssign"),omitLhs:!0,children:[o]});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentOpSymbol$7(e,t){return AssignmentOpSymbol$7$parser(e,t)}function AssignmentOpSymbol$8(e,t){return AssignmentOpSymbol$8$parser(e,t)}function AssignmentOpSymbol$9(e,t){return AssignmentOpSymbol$9$parser(e,t)}function AssignmentOpSymbol$10(e,t){let r=AssignmentOpSymbol$10$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"<<="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function AssignmentOpSymbol$11(e,t){return AssignmentOpSymbol$11$parser(e,t)}function AssignmentOpSymbol$12(e,t){let r=AssignmentOpSymbol$12$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return">>>="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function AssignmentOpSymbol$13(e,t){return AssignmentOpSymbol$13$parser(e,t)}function AssignmentOpSymbol$14(e,t){let r=AssignmentOpSymbol$14$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return">>="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function AssignmentOpSymbol$15(e,t){return AssignmentOpSymbol$15$parser(e,t)}function AssignmentOpSymbol$16(e,t){return AssignmentOpSymbol$16$parser(e,t)}function AssignmentOpSymbol$17(e,t){return AssignmentOpSymbol$17$parser(e,t)}function AssignmentOpSymbol$18(e,t){return AssignmentOpSymbol$18$parser(e,t)}function AssignmentOpSymbol$19(e,t){let r=AssignmentOpSymbol$19$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"||="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function AssignmentOpSymbol$20(e,t){return AssignmentOpSymbol$20$parser(e,t)}function AssignmentOpSymbol$21(e,t){return AssignmentOpSymbol$21$parser(e,t)}function AssignmentOpSymbol$22(e,t){let r=AssignmentOpSymbol$22$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"??="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function AssignmentOpSymbol$23(e,t){let r=AssignmentOpSymbol$23$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"??="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function AssignmentOpSymbol$24(e,t){let r=AssignmentOpSymbol$24$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentOpSymbol$25(e,t){let r=AssignmentOpSymbol$25$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function AssignmentOpSymbol(e,t){let r=e.enter&&e.enter("AssignmentOpSymbol",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AssignmentOpSymbol$0(e,t);return n||(n=AssignmentOpSymbol$1(e,t)),n||(n=AssignmentOpSymbol$2(e,t)),n||(n=AssignmentOpSymbol$3(e,t)),n||(n=AssignmentOpSymbol$4(e,t)),n||(n=AssignmentOpSymbol$5(e,t)),n||(n=AssignmentOpSymbol$6(e,t)),n||(n=AssignmentOpSymbol$7(e,t)),n||(n=AssignmentOpSymbol$8(e,t)),n||(n=AssignmentOpSymbol$9(e,t)),n||(n=AssignmentOpSymbol$10(e,t)),n||(n=AssignmentOpSymbol$11(e,t)),n||(n=AssignmentOpSymbol$12(e,t)),n||(n=AssignmentOpSymbol$13(e,t)),n||(n=AssignmentOpSymbol$14(e,t)),n||(n=AssignmentOpSymbol$15(e,t)),n||(n=AssignmentOpSymbol$16(e,t)),n||(n=AssignmentOpSymbol$17(e,t)),n||(n=AssignmentOpSymbol$18(e,t)),n||(n=AssignmentOpSymbol$19(e,t)),n||(n=AssignmentOpSymbol$20(e,t)),n||(n=AssignmentOpSymbol$21(e,t)),n||(n=AssignmentOpSymbol$22(e,t)),n||(n=AssignmentOpSymbol$23(e,t)),n||(n=AssignmentOpSymbol$24(e,t)),n||(n=AssignmentOpSymbol$25(e,t)),n&&e.tokenize&&(n.value={type:"AssignmentOpSymbol",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("AssignmentOpSymbol",t,n,i),n}var CoffeeWordAssignmentOp$0$parser=(0,import_lib2.$EXPECT)($L72,'CoffeeWordAssignmentOp "and="'),CoffeeWordAssignmentOp$1$parser=(0,import_lib2.$EXPECT)($L73,'CoffeeWordAssignmentOp "or="');function CoffeeWordAssignmentOp$0(e,t){let r=CoffeeWordAssignmentOp$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"&&="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function CoffeeWordAssignmentOp$1(e,t){let r=CoffeeWordAssignmentOp$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"||="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function CoffeeWordAssignmentOp(e,t){let r=e.enter&&e.enter("CoffeeWordAssignmentOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeWordAssignmentOp$0(e,t);return n||(n=CoffeeWordAssignmentOp$1(e,t)),n&&e.tokenize&&(n.value={type:"CoffeeWordAssignmentOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CoffeeWordAssignmentOp",t,n,i),n}var NotDedentedBinaryOp$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(IndentedFurther),(0,import_lib2.$E)(_),BinaryOp),NotDedentedBinaryOp$1$parser=(0,import_lib2.$S)(NestedBinaryOpAllowed,Nested,(0,import_lib2.$N)(Identifier),(0,import_lib2.$C)((0,import_lib2.$N)((0,import_lib2.$EXPECT)($L74,'NotDedentedBinaryOp "*"')),(0,import_lib2.$N)(ImportDeclaration)),BinaryOp);function NotDedentedBinaryOp$0(e,t){let r=NotDedentedBinaryOp$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=n,p=l;let s=[];return o&&s.push(...o),a&&s.push(...a),[s,p]}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NotDedentedBinaryOp$1(e,t){let r=NotDedentedBinaryOp$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],n[2],n[3],a=n[4],[[...o],a]);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NotDedentedBinaryOp(e,t){let r=e.enter&&e.enter("NotDedentedBinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NotDedentedBinaryOp$0(e,t);return n||(n=NotDedentedBinaryOp$1(e,t)),n&&e.tokenize&&(n.value={type:"NotDedentedBinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NotDedentedBinaryOp",t,n,i),n}var IdentifierBinaryOp$parser=Identifier;function IdentifierBinaryOp(e,t){let r=e.enter&&e.enter("IdentifierBinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IdentifierBinaryOp$parser(e,t);if(!n)return void(e.exit&&e.exit("IdentifierBinaryOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IdentifierBinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IdentifierBinaryOp",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o,state.operators.has(s.name)?s:p);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IdentifierBinaryOp",t,l,i),l}var BinaryOp$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R28,"BinaryOp /(?=\\p{ID_Start}|[_$^≪≫⋙≤≥∈∋∉∌≣≡≢≠=⩶⩵‖⁇&|*\\/!?%÷<>⧺+-])/"),_BinaryOp);function BinaryOp(e,t){let r=e.enter&&e.enter("BinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BinaryOp$parser(e,t);if(!n)return void(e.exit&&e.exit("BinaryOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BinaryOp",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BinaryOp",t,l,i),l}var _BinaryOp$0$parser=(0,import_lib2.$S)(BinaryOpSymbol),_BinaryOp$1$parser=Identifier,_BinaryOp$2$parser=(0,import_lib2.$S)(OmittedNegation,__,Identifier);function _BinaryOp$0(e,t){let r=_BinaryOp$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return"string"==typeof i?{$loc:t,token:i}:i}(import_lib2.SKIP,n,0,l[0]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function _BinaryOp$1(e,t){let r=_BinaryOp$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n,state.operators.has(a.name)?{token:a.name,call:a,special:!0,...state.operators.get(a.name)}:o);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _BinaryOp$2(e,t){let r=_BinaryOp$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,n[0],n[1],a=n[2],p=a,state.operators.has(p.name)?{token:p.name,call:p,special:!0,negated:!0,...state.operators.get(p.name)}:o);var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _BinaryOp(e,t){let r=e.enter&&e.enter("_BinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=_BinaryOp$0(e,t);return n||(n=_BinaryOp$1(e,t)),n||(n=_BinaryOp$2(e,t)),n&&e.tokenize&&(n.value={type:"_BinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("_BinaryOp",t,n,i),n}var BinaryOpSymbol$0$parser=(0,import_lib2.$EXPECT)($L75,'BinaryOpSymbol "**"'),BinaryOpSymbol$1$parser=(0,import_lib2.$EXPECT)($L74,'BinaryOpSymbol "*"'),BinaryOpSymbol$2$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L50,'BinaryOpSymbol "%/"'),(0,import_lib2.$EXPECT)($L51,'BinaryOpSymbol "÷"'),(0,import_lib2.$S)(CoffeeDivEnabled,(0,import_lib2.$EXPECT)($L47,'BinaryOpSymbol "//"'))),BinaryOpSymbol$3$parser=(0,import_lib2.$EXPECT)($L52,'BinaryOpSymbol "%%"'),BinaryOpSymbol$4$parser=(0,import_lib2.$EXPECT)($L76,'BinaryOpSymbol "/"'),BinaryOpSymbol$5$parser=(0,import_lib2.$EXPECT)($L77,'BinaryOpSymbol "%"'),BinaryOpSymbol$6$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L9,'BinaryOpSymbol "++"'),(0,import_lib2.$EXPECT)($L11,'BinaryOpSymbol "⧺"')),BinaryOpSymbol$7$parser=(0,import_lib2.$EXPECT)($L78,'BinaryOpSymbol "+"'),BinaryOpSymbol$8$parser=(0,import_lib2.$EXPECT)($L22,'BinaryOpSymbol "-"'),BinaryOpSymbol$9$parser=(0,import_lib2.$EXPECT)($L79,'BinaryOpSymbol "<="'),BinaryOpSymbol$10$parser=(0,import_lib2.$EXPECT)($L80,'BinaryOpSymbol "≤"'),BinaryOpSymbol$11$parser=(0,import_lib2.$EXPECT)($L81,'BinaryOpSymbol ">="'),BinaryOpSymbol$12$parser=(0,import_lib2.$EXPECT)($L82,'BinaryOpSymbol "≥"'),BinaryOpSymbol$13$parser=(0,import_lib2.$EXPECT)($L21,'BinaryOpSymbol "<?"'),BinaryOpSymbol$14$parser=(0,import_lib2.$EXPECT)($L83,'BinaryOpSymbol "!<?"'),BinaryOpSymbol$15$parser=(0,import_lib2.$EXPECT)($L84,'BinaryOpSymbol "<<"'),BinaryOpSymbol$16$parser=(0,import_lib2.$EXPECT)($L85,'BinaryOpSymbol "≪"'),BinaryOpSymbol$17$parser=(0,import_lib2.$EXPECT)($L17,'BinaryOpSymbol "<"'),BinaryOpSymbol$18$parser=(0,import_lib2.$EXPECT)($L86,'BinaryOpSymbol ">>>"'),BinaryOpSymbol$19$parser=(0,import_lib2.$EXPECT)($L87,'BinaryOpSymbol "⋙"'),BinaryOpSymbol$20$parser=(0,import_lib2.$EXPECT)($L88,'BinaryOpSymbol ">>"'),BinaryOpSymbol$21$parser=(0,import_lib2.$EXPECT)($L89,'BinaryOpSymbol "≫"'),BinaryOpSymbol$22$parser=(0,import_lib2.$EXPECT)($L44,'BinaryOpSymbol ">"'),BinaryOpSymbol$23$parser=(0,import_lib2.$EXPECT)($L90,'BinaryOpSymbol "!=="'),BinaryOpSymbol$24$parser=(0,import_lib2.$EXPECT)($L91,'BinaryOpSymbol "≢"'),BinaryOpSymbol$25$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L92,'BinaryOpSymbol "!="'),(0,import_lib2.$EXPECT)($L93,'BinaryOpSymbol "≠"')),BinaryOpSymbol$26$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L94,'BinaryOpSymbol "isnt"'),NonIdContinue),BinaryOpSymbol$27$parser=(0,import_lib2.$EXPECT)($L95,'BinaryOpSymbol "==="'),BinaryOpSymbol$28$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L96,'BinaryOpSymbol "≣"'),(0,import_lib2.$EXPECT)($L97,'BinaryOpSymbol "⩶"')),BinaryOpSymbol$29$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L98,'BinaryOpSymbol "=="'),(0,import_lib2.$EXPECT)($L99,'BinaryOpSymbol "≡"'),(0,import_lib2.$EXPECT)($L100,'BinaryOpSymbol "⩵"')),BinaryOpSymbol$30$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L101,'BinaryOpSymbol "and"'),NonIdContinue),BinaryOpSymbol$31$parser=(0,import_lib2.$EXPECT)($L102,'BinaryOpSymbol "&&"'),BinaryOpSymbol$32$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L103,'BinaryOpSymbol "or"'),NonIdContinue),BinaryOpSymbol$33$parser=(0,import_lib2.$EXPECT)($L104,'BinaryOpSymbol "||"'),BinaryOpSymbol$34$parser=(0,import_lib2.$EXPECT)($L105,'BinaryOpSymbol "‖"'),BinaryOpSymbol$35$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L106,'BinaryOpSymbol "^^"'),(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L107,'BinaryOpSymbol "xor"'),NonIdContinue)),BinaryOpSymbol$36$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($R29,"BinaryOpSymbol /!\\^\\^?/"),(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L108,'BinaryOpSymbol "xnor"'),NonIdContinue)),BinaryOpSymbol$37$parser=(0,import_lib2.$EXPECT)($L109,'BinaryOpSymbol "??"'),BinaryOpSymbol$38$parser=(0,import_lib2.$EXPECT)($L110,'BinaryOpSymbol "⁇"'),BinaryOpSymbol$39$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L6,'BinaryOpSymbol "?"'),CoffeeBinaryExistentialEnabled),BinaryOpSymbol$40$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L111,'BinaryOpSymbol "instanceof"'),NonIdContinue),BinaryOpSymbol$41$parser=(0,import_lib2.$S)(CoffeeOfEnabled,CoffeeOfOp),BinaryOpSymbol$42$parser=(0,import_lib2.$S)(OmittedNegation,__,NotOp),BinaryOpSymbol$43$parser=(0,import_lib2.$C)((0,import_lib2.$S)(Is,__,In),(0,import_lib2.$EXPECT)($L112,'BinaryOpSymbol "∈"')),BinaryOpSymbol$44$parser=(0,import_lib2.$EXPECT)($L113,'BinaryOpSymbol "∋"'),BinaryOpSymbol$45$parser=(0,import_lib2.$EXPECT)($L114,'BinaryOpSymbol "∌"'),BinaryOpSymbol$46$parser=(0,import_lib2.$C)((0,import_lib2.$S)(Is,__,OmittedNegation,__,In),(0,import_lib2.$EXPECT)($L115,'BinaryOpSymbol "∉"')),BinaryOpSymbol$47$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeNotEnabled),Is,__,Not),BinaryOpSymbol$48$parser=(0,import_lib2.$S)(Is),BinaryOpSymbol$50$parser=(0,import_lib2.$EXPECT)($L116,'BinaryOpSymbol "&"'),BinaryOpSymbol$51$parser=(0,import_lib2.$EXPECT)($L20,'BinaryOpSymbol "^"'),BinaryOpSymbol$52$parser=(0,import_lib2.$EXPECT)($L117,'BinaryOpSymbol "|"');function BinaryOpSymbol$0(e,t){return BinaryOpSymbol$0$parser(e,t)}function BinaryOpSymbol$1(e,t){return BinaryOpSymbol$1$parser(e,t)}function BinaryOpSymbol$2(e,t){let r=BinaryOpSymbol$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=(import_lib2.SKIP,{call:getHelperRef("div"),special:!0,prec:"/"});return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$3(e,t){let r=BinaryOpSymbol$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=(import_lib2.SKIP,{call:getHelperRef("modulo"),special:!0,prec:"%"});return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$4(e,t){return BinaryOpSymbol$4$parser(e,t)}function BinaryOpSymbol$5(e,t){return BinaryOpSymbol$5$parser(e,t)}function BinaryOpSymbol$6(e,t){let r=BinaryOpSymbol$6$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return{method:"concat",special:!0}}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$7(e,t){return BinaryOpSymbol$7$parser(e,t)}function BinaryOpSymbol$8(e,t){return BinaryOpSymbol$8$parser(e,t)}function BinaryOpSymbol$9(e,t){return BinaryOpSymbol$9$parser(e,t)}function BinaryOpSymbol$10(e,t){let r=BinaryOpSymbol$10$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"<="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$11(e,t){return BinaryOpSymbol$11$parser(e,t)}function BinaryOpSymbol$12(e,t){let r=BinaryOpSymbol$12$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return">="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$13(e,t){let r=BinaryOpSymbol$13$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"instanceof",spaced:!0,relational:!0,special:!0}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpSymbol$14(e,t){let r=BinaryOpSymbol$14$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"instanceof",spaced:!0,relational:!0,special:!0,negated:!0}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpSymbol$15(e,t){return BinaryOpSymbol$15$parser(e,t)}function BinaryOpSymbol$16(e,t){let r=BinaryOpSymbol$16$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"<<"}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$17(e,t){return BinaryOpSymbol$17$parser(e,t)}function BinaryOpSymbol$18(e,t){return BinaryOpSymbol$18$parser(e,t)}function BinaryOpSymbol$19(e,t){let r=BinaryOpSymbol$19$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return">>>"}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$20(e,t){return BinaryOpSymbol$20$parser(e,t)}function BinaryOpSymbol$21(e,t){let r=BinaryOpSymbol$21$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return">>"}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$22(e,t){return BinaryOpSymbol$22$parser(e,t)}function BinaryOpSymbol$23(e,t){return BinaryOpSymbol$23$parser(e,t)}function BinaryOpSymbol$24(e,t){let r=BinaryOpSymbol$24$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"!=="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$25(e,t){let r=BinaryOpSymbol$25$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=(import_lib2.SKIP,config.coffeeEq?"!==":"!=");return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$26(e,t){let r=BinaryOpSymbol$26$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,n[0],n[1],config.coffeeIsnt?"!==":o);var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpSymbol$27(e,t){return BinaryOpSymbol$27$parser(e,t)}function BinaryOpSymbol$28(e,t){let r=BinaryOpSymbol$28$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"==="}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$29(e,t){let r=BinaryOpSymbol$29$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=(import_lib2.SKIP,config.coffeeEq?"===":"==");return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$30(e,t){let r=BinaryOpSymbol$30$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(){return"&&"}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpSymbol$31(e,t){return BinaryOpSymbol$31$parser(e,t)}function BinaryOpSymbol$32(e,t){let r=BinaryOpSymbol$32$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(){return"||"}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpSymbol$33(e,t){return BinaryOpSymbol$33$parser(e,t)}function BinaryOpSymbol$34(e,t){let r=BinaryOpSymbol$34$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"||"}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$35(e,t){let r=BinaryOpSymbol$35$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=(import_lib2.SKIP,{call:getHelperRef("xor"),special:!0,prec:"^^"});return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$36(e,t){let r=BinaryOpSymbol$36$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=(import_lib2.SKIP,{call:getHelperRef("xnor"),special:!0,prec:"^^"});return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$37(e,t){return BinaryOpSymbol$37$parser(e,t)}function BinaryOpSymbol$38(e,t){let r=BinaryOpSymbol$38$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return"??"}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$39(e,t){let r=BinaryOpSymbol$39$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(){return"??"}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpSymbol$40(e,t){let r=BinaryOpSymbol$40$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{$loc:t,token:i,spaced:!0,relational:!0,special:!0}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function BinaryOpSymbol$41(e,t){let r=BinaryOpSymbol$41$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpSymbol$42(e,t){let r=BinaryOpSymbol$42$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=(import_lib2.SKIP,a=n,l[0],l[1],p=l[2],{...p,$loc:a});var a,p;return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function BinaryOpSymbol$43(e,t){let r=BinaryOpSymbol$43$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return{method:"includes",relational:!0,reversed:!0,special:!0}}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$44(e,t){let r=BinaryOpSymbol$44$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return{method:"includes",relational:!0,special:!0}}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$45(e,t){let r=BinaryOpSymbol$45$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return{method:"includes",relational:!0,special:!0,negated:!0}}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$46(e,t){let r=BinaryOpSymbol$46$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return{method:"includes",relational:!0,reversed:!0,special:!0,negated:!0}}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function BinaryOpSymbol$47(e,t){let r=BinaryOpSymbol$47$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],n[1],n[2],n[3],config.objectIs?{call:getHelperRef("is"),relational:!0,special:!0,asConst:!0,negated:!0}:"!==");return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpSymbol$48(e,t){let r=BinaryOpSymbol$48$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],config.objectIs?{call:getHelperRef("is"),relational:!0,special:!0,asConst:!0}:"===");return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function BinaryOpSymbol$49(e,t){return In(e,t)}function BinaryOpSymbol$50(e,t){return BinaryOpSymbol$50$parser(e,t)}function BinaryOpSymbol$51(e,t){return BinaryOpSymbol$51$parser(e,t)}function BinaryOpSymbol$52(e,t){return BinaryOpSymbol$52$parser(e,t)}function BinaryOpSymbol(e,t){let r=e.enter&&e.enter("BinaryOpSymbol",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BinaryOpSymbol$0(e,t);return n||(n=BinaryOpSymbol$1(e,t)),n||(n=BinaryOpSymbol$2(e,t)),n||(n=BinaryOpSymbol$3(e,t)),n||(n=BinaryOpSymbol$4(e,t)),n||(n=BinaryOpSymbol$5(e,t)),n||(n=BinaryOpSymbol$6(e,t)),n||(n=BinaryOpSymbol$7(e,t)),n||(n=BinaryOpSymbol$8(e,t)),n||(n=BinaryOpSymbol$9(e,t)),n||(n=BinaryOpSymbol$10(e,t)),n||(n=BinaryOpSymbol$11(e,t)),n||(n=BinaryOpSymbol$12(e,t)),n||(n=BinaryOpSymbol$13(e,t)),n||(n=BinaryOpSymbol$14(e,t)),n||(n=BinaryOpSymbol$15(e,t)),n||(n=BinaryOpSymbol$16(e,t)),n||(n=BinaryOpSymbol$17(e,t)),n||(n=BinaryOpSymbol$18(e,t)),n||(n=BinaryOpSymbol$19(e,t)),n||(n=BinaryOpSymbol$20(e,t)),n||(n=BinaryOpSymbol$21(e,t)),n||(n=BinaryOpSymbol$22(e,t)),n||(n=BinaryOpSymbol$23(e,t)),n||(n=BinaryOpSymbol$24(e,t)),n||(n=BinaryOpSymbol$25(e,t)),n||(n=BinaryOpSymbol$26(e,t)),n||(n=BinaryOpSymbol$27(e,t)),n||(n=BinaryOpSymbol$28(e,t)),n||(n=BinaryOpSymbol$29(e,t)),n||(n=BinaryOpSymbol$30(e,t)),n||(n=BinaryOpSymbol$31(e,t)),n||(n=BinaryOpSymbol$32(e,t)),n||(n=BinaryOpSymbol$33(e,t)),n||(n=BinaryOpSymbol$34(e,t)),n||(n=BinaryOpSymbol$35(e,t)),n||(n=BinaryOpSymbol$36(e,t)),n||(n=BinaryOpSymbol$37(e,t)),n||(n=BinaryOpSymbol$38(e,t)),n||(n=BinaryOpSymbol$39(e,t)),n||(n=BinaryOpSymbol$40(e,t)),n||(n=BinaryOpSymbol$41(e,t)),n||(n=BinaryOpSymbol$42(e,t)),n||(n=BinaryOpSymbol$43(e,t)),n||(n=BinaryOpSymbol$44(e,t)),n||(n=BinaryOpSymbol$45(e,t)),n||(n=BinaryOpSymbol$46(e,t)),n||(n=BinaryOpSymbol$47(e,t)),n||(n=BinaryOpSymbol$48(e,t)),n||(n=BinaryOpSymbol$49(e,t)),n||(n=BinaryOpSymbol$50(e,t)),n||(n=BinaryOpSymbol$51(e,t)),n||(n=BinaryOpSymbol$52(e,t)),n&&e.tokenize&&(n.value={type:"BinaryOpSymbol",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BinaryOpSymbol",t,n,i),n}var ActualIn$0$parser=(0,import_lib2.$S)(CoffeeOfEnabled,Of),ActualIn$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeOfEnabled),In);function ActualIn$0(e,t){let r=ActualIn$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ActualIn$1(e,t){let r=ActualIn$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ActualIn(e,t){let r=e.enter&&e.enter("ActualIn",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ActualIn$0(e,t);return n||(n=ActualIn$1(e,t)),n&&e.tokenize&&(n.value={type:"ActualIn",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ActualIn",t,n,i),n}var CoffeeOfOp$0$parser=(0,import_lib2.$S)(Of),CoffeeOfOp$1$parser=(0,import_lib2.$S)(In),CoffeeOfOp$2$parser=(0,import_lib2.$S)(OmittedNegation,__,Of,NonIdContinue),CoffeeOfOp$3$parser=(0,import_lib2.$S)(OmittedNegation,__,In);function CoffeeOfOp$0(e,t){let r=CoffeeOfOp$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(){return"in"}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CoffeeOfOp$1(e,t){let r=CoffeeOfOp$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],{call:[getHelperRef("indexOf"),".call"],relational:!0,reversed:!0,suffix:" >= 0",special:!0});return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CoffeeOfOp$2(e,t){let r=CoffeeOfOp$2$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t){return{$loc:t,token:"in",spaced:!0,special:!0,negated:!0}}(import_lib2.SKIP,n,0,l[0],l[1],l[2],l[3]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function CoffeeOfOp$3(e,t){let r=CoffeeOfOp$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],n[1],n[2],{call:[getHelperRef("indexOf"),".call"],relational:!0,reversed:!0,suffix:" < 0",special:!0});return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CoffeeOfOp(e,t){let r=e.enter&&e.enter("CoffeeOfOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeOfOp$0(e,t);return n||(n=CoffeeOfOp$1(e,t)),n||(n=CoffeeOfOp$2(e,t)),n||(n=CoffeeOfOp$3(e,t)),n&&e.tokenize&&(n.value={type:"CoffeeOfOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CoffeeOfOp",t,n,i),n}var NotOp$0$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L111,'NotOp "instanceof"'),NonIdContinue),NotOp$1$parser=(0,import_lib2.$S)(In);function NotOp$0(e,t){let r=NotOp$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t){return{$loc:t,token:"instanceof",spaced:!0,relational:!0,special:!0,negated:!0}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function NotOp$1(e,t){let r=NotOp$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t){return{$loc:t,token:"in",spaced:!0,special:!0,negated:!0}}(import_lib2.SKIP,n,0,l[0]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function NotOp(e,t){let r=e.enter&&e.enter("NotOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NotOp$0(e,t);return n||(n=NotOp$1(e,t)),n&&e.tokenize&&(n.value={type:"NotOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NotOp",t,n,i),n}var Xor$0$parser=(0,import_lib2.$EXPECT)($L106,'Xor "^^"'),Xor$1$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L107,'Xor "xor"'),NonIdContinue);function Xor$0(e,t){return Xor$0$parser(e,t)}function Xor$1(e,t){return Xor$1$parser(e,t)}function Xor(e,t){let r=e.enter&&e.enter("Xor",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Xor$0(e,t);return n||(n=Xor$1(e,t)),n&&e.tokenize&&(n.value={type:"Xor",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Xor",t,n,i),n}var Xnor$0$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R29,"Xnor /!\\^\\^?/")),Xnor$1$parser=(0,import_lib2.$EXPECT)($L108,'Xnor "xnor"');function Xnor$0(e,t){return Xnor$0$parser(e,t)}function Xnor$1(e,t){return Xnor$1$parser(e,t)}function Xnor(e,t){let r=e.enter&&e.enter("Xnor",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Xnor$0(e,t);return n||(n=Xnor$1(e,t)),n&&e.tokenize&&(n.value={type:"Xnor",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Xnor",t,n,i),n}var UnaryOp$0$parser=(0,import_lib2.$EXPECT)($R30,"UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"),UnaryOp$2$parser=(0,import_lib2.$S)((0,import_lib2.$C)(Delete,Void,Typeof),(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R31,"UnaryOp /[:.]/")),(0,import_lib2.$E)(_)),UnaryOp$3$parser=(0,import_lib2.$S)(Not,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R31,"UnaryOp /[:.]/")),(0,import_lib2.$E)((0,import_lib2.$EXPECT)($L16,'UnaryOp " "')),(0,import_lib2.$E)(_));function UnaryOp$0(e,t){let r=UnaryOp$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,n,l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function UnaryOp$1(e,t){return AwaitOp(e,t)}function UnaryOp$2(e,t){let r=UnaryOp$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return l?[i,l]:[i,[" "]]}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function UnaryOp$3(e,t){let r=UnaryOp$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return[i,o]}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function UnaryOp(e,t){let r=e.enter&&e.enter("UnaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnaryOp$0(e,t);return n||(n=UnaryOp$1(e,t)),n||(n=UnaryOp$2(e,t)),n||(n=UnaryOp$3(e,t)),n&&e.tokenize&&(n.value={type:"UnaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UnaryOp",t,n,i),n}var AwaitOp$parser=(0,import_lib2.$S)(Await,(0,import_lib2.$E)((0,import_lib2.$S)(Dot,IdentifierName)),(0,import_lib2.$E)(_));function AwaitOp(e,t){let r=e.enter&&e.enter("AwaitOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AwaitOp$parser(e,t);if(!n)return void(e.exit&&e.exit("AwaitOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AwaitOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AwaitOp",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=p,m=s,d=u,{...c,op:m,children:[c,...d||[" "]]});var p,s,u,c,m,d;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("AwaitOp",t,l,i),l}var ModuleItem$0$parser=(0,import_lib2.$S)(IsBare,(0,import_lib2.$C)(ImportDeclaration,ExportDeclaration));function ModuleItem$0(e,t){let r=ModuleItem$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ModuleItem$1(e,t){return StatementListItem(e,t)}function ModuleItem(e,t){let r=e.enter&&e.enter("ModuleItem",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ModuleItem$0(e,t);return n||(n=ModuleItem$1(e,t)),n&&e.tokenize&&(n.value={type:"ModuleItem",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ModuleItem",t,n,i),n}var StatementListItem$1$parser=BulletedArrayWithTrailing,StatementListItem$2$parser=(0,import_lib2.$S)(ImplicitObjectLiteral);function StatementListItem$0(e,t){return Declaration(e,t)}function StatementListItem$1(e,t){return StatementListItem$1$parser(e,t)}function StatementListItem$2(e,t){let r=StatementListItem$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,makeLeftHandSideExpression(n[0]));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function StatementListItem$3(e,t){return PostfixedStatement(e,t)}function StatementListItem(e,t){let r=e.enter&&e.enter("StatementListItem",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=StatementListItem$0(e,t);return n||(n=StatementListItem$1(e,t)),n||(n=StatementListItem$2(e,t)),n||(n=StatementListItem$3(e,t)),n&&e.tokenize&&(n.value={type:"StatementListItem",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("StatementListItem",t,n,i),n}var PostfixedStatement$parser=(0,import_lib2.$S)(Statement,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),PostfixStatement)));function PostfixedStatement(e,t){let r=e.enter&&e.enter("PostfixedStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixedStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("PostfixedStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PostfixedStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PostfixedStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,(c=s)?addPostfixStatement(u,...c):u);var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PostfixedStatement",t,l,i),l}function NoCommaStatementListItem$0(e,t){return Declaration(e,t)}function NoCommaStatementListItem$1(e,t){return PostfixedNoCommaStatement(e,t)}function NoCommaStatementListItem(e,t){let r=e.enter&&e.enter("NoCommaStatementListItem",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NoCommaStatementListItem$0(e,t);return n||(n=NoCommaStatementListItem$1(e,t)),n&&e.tokenize&&(n.value={type:"NoCommaStatementListItem",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NoCommaStatementListItem",t,n,i),n}var PostfixedNoCommaStatement$parser=(0,import_lib2.$S)(NoCommaStatement,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),PostfixStatement)));function PostfixedNoCommaStatement(e,t){let r=e.enter&&e.enter("PostfixedNoCommaStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixedNoCommaStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("PostfixedNoCommaStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PostfixedNoCommaStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PostfixedNoCommaStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,(c=s)?addPostfixStatement(u,...c):u);var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PostfixedNoCommaStatement",t,l,i),l}var PostfixedExpression$0$parser=(0,import_lib2.$S)(AssignmentExpressionSpread,(0,import_lib2.$E)(_),(0,import_lib2.$N)(IfClause),PostfixStatement),PostfixedExpression$1$parser=(0,import_lib2.$S)(Expression,(0,import_lib2.$S)((0,import_lib2.$E)(_),PostfixStatement));function PostfixedExpression$0(e,t){let r=PostfixedExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],n[2],p=n[3],attachPostfixStatementAsExpression(o,[a,p]));var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PostfixedExpression$1(e,t){let r=PostfixedExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],attachPostfixStatementAsExpression(o,a));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PostfixedExpression$2(e,t){return Expression(e,t)}function PostfixedExpression(e,t){let r=e.enter&&e.enter("PostfixedExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixedExpression$0(e,t);return n||(n=PostfixedExpression$1(e,t)),n||(n=PostfixedExpression$2(e,t)),n&&e.tokenize&&(n.value={type:"PostfixedExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PostfixedExpression",t,n,i),n}var CommaLoop$parser=(0,import_lib2.$S)(CommaExpressionSpread,(0,import_lib2.$E)(_),(0,import_lib2.$N)(IfClause),PostfixStatement);function CommaLoop(e,t){let r=e.enter&&e.enter("CommaLoop",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CommaLoop$parser(e,t);if(!n)return void(e.exit&&e.exit("CommaLoop",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CommaLoop",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CommaLoop",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],o[2],u=o[3],attachPostfixStatementAsExpression(p,[s,u]));var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CommaLoop",t,l,i),l}function PostfixedExpressionOrCommaLoop$0(e,t){return CommaLoop(e,t)}function PostfixedExpressionOrCommaLoop$1(e,t){return PostfixedExpression(e,t)}function PostfixedExpressionOrCommaLoop(e,t){let r=e.enter&&e.enter("PostfixedExpressionOrCommaLoop",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixedExpressionOrCommaLoop$0(e,t);return n||(n=PostfixedExpressionOrCommaLoop$1(e,t)),n&&e.tokenize&&(n.value={type:"PostfixedExpressionOrCommaLoop",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PostfixedExpressionOrCommaLoop",t,n,i),n}var PostfixedCommaExpression$1$parser=(0,import_lib2.$S)(Expression,(0,import_lib2.$S)((0,import_lib2.$E)(_),PostfixStatement));function PostfixedCommaExpression$0(e,t){return CommaLoop(e,t)}function PostfixedCommaExpression$1(e,t){let r=PostfixedCommaExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],attachPostfixStatementAsExpression(o,a));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PostfixedCommaExpression$2(e,t){return CommaExpression(e,t)}function PostfixedCommaExpression(e,t){let r=e.enter&&e.enter("PostfixedCommaExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixedCommaExpression$0(e,t);return n||(n=PostfixedCommaExpression$1(e,t)),n||(n=PostfixedCommaExpression$2(e,t)),n&&e.tokenize&&(n.value={type:"PostfixedCommaExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PostfixedCommaExpression",t,n,i),n}var PostfixStatement$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R32,"PostfixStatement /(?=for|if|loop|unless|until|while)/"),_PostfixStatement);function PostfixStatement(e,t){let r=e.enter&&e.enter("PostfixStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PostfixStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("PostfixStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PostfixStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PostfixStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PostfixStatement",t,l,i),l}function _PostfixStatement$0(e,t){return ForClause(e,t)}function _PostfixStatement$1(e,t){return IfClause(e,t)}function _PostfixStatement$2(e,t){return LoopClause(e,t)}function _PostfixStatement$3(e,t){return WhileClause(e,t)}function _PostfixStatement(e,t){let r=e.enter&&e.enter("_PostfixStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=_PostfixStatement$0(e,t);return n||(n=_PostfixStatement$1(e,t)),n||(n=_PostfixStatement$2(e,t)),n||(n=_PostfixStatement$3(e,t)),n&&e.tokenize&&(n.value={type:"_PostfixStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("_PostfixStatement",t,n,i),n}var Statement$2$parser=(0,import_lib2.$S)(IfStatement,(0,import_lib2.$N)(ShouldExpressionize)),Statement$4$parser=(0,import_lib2.$S)(SwitchStatement,(0,import_lib2.$N)(ShouldExpressionize)),Statement$5$parser=(0,import_lib2.$S)(TryStatement,(0,import_lib2.$N)(ShouldExpressionize));function Statement$0(e,t){return KeywordStatement(e,t)}function Statement$1(e,t){return VariableStatement(e,t)}function Statement$2(e,t){let r=Statement$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Statement$3(e,t){return IterationActualStatement(e,t)}function Statement$4(e,t){let r=Statement$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Statement$5(e,t){let r=Statement$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Statement$6(e,t){return FinallyClause(e,t)}function Statement$7(e,t){return EmptyStatement(e,t)}function Statement$8(e,t){return LabelledStatement(e,t)}function Statement$9(e,t){return CommaExpressionStatement(e,t)}function Statement$10(e,t){return BlockStatement(e,t)}function Statement(e,t){let r=e.enter&&e.enter("Statement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Statement$0(e,t);return n||(n=Statement$1(e,t)),n||(n=Statement$2(e,t)),n||(n=Statement$3(e,t)),n||(n=Statement$4(e,t)),n||(n=Statement$5(e,t)),n||(n=Statement$6(e,t)),n||(n=Statement$7(e,t)),n||(n=Statement$8(e,t)),n||(n=Statement$9(e,t)),n||(n=Statement$10(e,t)),n&&e.tokenize&&(n.value={type:"Statement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Statement",t,n,i),n}var IterationActualStatement$parser=(0,import_lib2.$S)(IterationStatement,(0,import_lib2.$N)(ShouldExpressionize));function IterationActualStatement(e,t){let r=e.enter&&e.enter("IterationActualStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IterationActualStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("IterationActualStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IterationActualStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IterationActualStatement",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o[0],o[1],s.generator||s.reduction?p:s);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IterationActualStatement",t,l,i),l}var ShouldExpressionize$1$parser=(0,import_lib2.$S)(NotDedented,Pipe);function ShouldExpressionize$0(e,t){return AllowedTrailingCallExpressions(e,t)}function ShouldExpressionize$1(e,t){return ShouldExpressionize$1$parser(e,t)}function ShouldExpressionize$2(e,t){return BinaryOpRHS(e,t)}function ShouldExpressionize$3(e,t){return UnaryPostfix(e,t)}function ShouldExpressionize(e,t){let r=e.enter&&e.enter("ShouldExpressionize",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ShouldExpressionize$0(e,t);return n||(n=ShouldExpressionize$1(e,t)),n||(n=ShouldExpressionize$2(e,t)),n||(n=ShouldExpressionize$3(e,t)),n&&e.tokenize&&(n.value={type:"ShouldExpressionize",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ShouldExpressionize",t,n,i),n}function NoCommaStatement$0(e,t){return KeywordStatement(e,t)}function NoCommaStatement$1(e,t){return VariableStatement(e,t)}function NoCommaStatement$2(e,t){return IfStatement(e,t)}function NoCommaStatement$3(e,t){return IterationActualStatement(e,t)}function NoCommaStatement$4(e,t){return SwitchStatement(e,t)}function NoCommaStatement$5(e,t){return TryStatement(e,t)}function NoCommaStatement$6(e,t){return EmptyStatement(e,t)}function NoCommaStatement$7(e,t){return LabelledStatement(e,t)}function NoCommaStatement$8(e,t){return ExpressionStatement(e,t)}function NoCommaStatement$9(e,t){return BlockStatement(e,t)}function NoCommaStatement(e,t){let r=e.enter&&e.enter("NoCommaStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NoCommaStatement$0(e,t);return n||(n=NoCommaStatement$1(e,t)),n||(n=NoCommaStatement$2(e,t)),n||(n=NoCommaStatement$3(e,t)),n||(n=NoCommaStatement$4(e,t)),n||(n=NoCommaStatement$5(e,t)),n||(n=NoCommaStatement$6(e,t)),n||(n=NoCommaStatement$7(e,t)),n||(n=NoCommaStatement$8(e,t)),n||(n=NoCommaStatement$9(e,t)),n&&e.tokenize&&(n.value={type:"NoCommaStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NoCommaStatement",t,n,i),n}var EmptyStatement$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$Y)((0,import_lib2.$EXPECT)($L118,'EmptyStatement ";"')));function EmptyStatement(e,t){let r=e.enter&&e.enter("EmptyStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EmptyStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("EmptyStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EmptyStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EmptyStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i){return{type:"EmptyStatement",children:i||[]}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("EmptyStatement",t,l,i),l}var InsertEmptyStatement$parser=(0,import_lib2.$S)(InsertSemicolon);function InsertEmptyStatement(e,t){let r=e.enter&&e.enter("InsertEmptyStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertEmptyStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertEmptyStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertEmptyStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertEmptyStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i){return{type:"EmptyStatement",children:[i],implicit:!0}}(import_lib2.SKIP,0,0,o[0]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertEmptyStatement",t,l,i),l}var BlockStatement$parser=(0,import_lib2.$S)(ExplicitBlock,(0,import_lib2.$N)((0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($L3,'BlockStatement "="'))));function BlockStatement(e,t){let r=e.enter&&e.enter("BlockStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BlockStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("BlockStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BlockStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BlockStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BlockStatement",t,l,i),l}var LabelledStatement$parser=(0,import_lib2.$S)(Label,LabelledItem);function LabelledStatement(e,t){let r=e.enter&&e.enter("LabelledStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LabelledStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("LabelledStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"LabelledStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("LabelledStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return{type:"LabelledStatement",label:i,statement:n,children:r}}(import_lib2.SKIP,0,o,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("LabelledStatement",t,l,i),l}var Label$parser=(0,import_lib2.$S)(Colon,IdentifierName,Whitespace);function Label(e,t){let r=e.enter&&e.enter("Label",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Label$parser(e,t);if(!n)return void(e.exit&&e.exit("Label",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Label",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Label",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o[0],u=o[1],c=o[2],m=s,f=c,"void"===(d=u).name?p:{type:"Label",name:d.name,children:[d,m,f]});var p,s,u,c,m,d,f;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Label",t,l,i),l}var LabelIdentifier$0$parser=(0,import_lib2.$S)(Colon,IdentifierName),LabelIdentifier$1$parser=(0,import_lib2.$EXPECT)($R33,"LabelIdentifier /(?:loop|while|until|for|do)(?!\\p{ID_Continue})/"),LabelIdentifier$2$parser=Identifier;function LabelIdentifier$0(e,t){let r=LabelIdentifier$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],{type:"Label",name:(a=o).name,children:[a]});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function LabelIdentifier$1(e,t){let r=LabelIdentifier$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{type:"Label",special:r,name:"",children:[]}}(import_lib2.SKIP,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function LabelIdentifier$2(e,t){let r=LabelIdentifier$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,{type:"Label",name:(o=n).name,children:[o]});var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function LabelIdentifier(e,t){let r=e.enter&&e.enter("LabelIdentifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LabelIdentifier$0(e,t);return n||(n=LabelIdentifier$1(e,t)),n||(n=LabelIdentifier$2(e,t)),n&&e.tokenize&&(n.value={type:"LabelIdentifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("LabelIdentifier",t,n,i),n}function LabelledItem$0(e,t){return Statement(e,t)}function LabelledItem$1(e,t){return FunctionDeclaration(e,t)}function LabelledItem(e,t){let r=e.enter&&e.enter("LabelledItem",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LabelledItem$0(e,t);return n||(n=LabelledItem$1(e,t)),n&&e.tokenize&&(n.value={type:"LabelledItem",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("LabelledItem",t,n,i),n}var IfStatement$0$parser=(0,import_lib2.$S)((0,import_lib2.$C)(If,Unless),(0,import_lib2.$E)(_),BoundedCondition,ThenClause,(0,import_lib2.$E)(ElseClause)),IfStatement$1$parser=(0,import_lib2.$S)(IfClause,BlockOrEmpty,(0,import_lib2.$E)(ElseClause));function IfStatement$0(e,t){let r=IfStatement$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=n[4],m=a,d=p,f=s,$=u,(c=o).negated&&(c={...c,token:"if"},d=negateCondition(d)),f.bare&&$&&(f=bracedBlock(f)),{type:"IfStatement",children:[c,m,d,f,$],condition:d,negated:c.negated,then:f,else:$});var o,a,p,s,u,c,m,d,f,$;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function IfStatement$1(e,t){let r=IfStatement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,c=p,(u=a).bare&&c&&(u=bracedBlock(u)),{type:"IfStatement",children:[...s.children,u,c],condition:s.condition,negated:s.negated,then:u,else:c});var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function IfStatement(e,t){let r=e.enter&&e.enter("IfStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IfStatement$0(e,t);return n||(n=IfStatement$1(e,t)),n&&e.tokenize&&(n.value={type:"IfStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("IfStatement",t,n,i),n}var ElseClause$parser=(0,import_lib2.$S)((0,import_lib2.$C)(Nested,(0,import_lib2.$E)(_)),Else,BlockOrEmpty);function ElseClause(e,t){let r=e.enter&&e.enter("ElseClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ElseClause$parser(e,t);if(!n)return void(e.exit&&e.exit("ElseClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ElseClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ElseClause",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return{type:"ElseClause",children:r,block:l}}(import_lib2.SKIP,0,o,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ElseClause",t,l,i),l}var IfClause$parser=(0,import_lib2.$S)((0,import_lib2.$C)(If,Unless),(0,import_lib2.$E)(_),Condition);function IfClause(e,t){let r=e.enter&&e.enter("IfClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IfClause$parser(e,t);if(!n)return void(e.exit&&e.exit("IfClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IfClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IfClause",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],m=s,d=u,(c=p).negated&&(c={...c,token:"if"},d=negateCondition(d)),{type:"IfStatement",children:[c,m,d],condition:d,negated:c.negated});var p,s,u,c,m,d;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IfClause",t,l,i),l}var IterationStatement$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R34,"IterationStatement /(?=loop|comptime|do|for|until|while)/"),_IterationStatement);function IterationStatement(e,t){let r=e.enter&&e.enter("IterationStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IterationStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("IterationStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IterationStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IterationStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IterationStatement",t,l,i),l}var _IterationStatement$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeDoEnabled),DoWhileStatement),_IterationStatement$2$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeDoEnabled),DoStatement);function _IterationStatement$0(e,t){return LoopStatement(e,t)}function _IterationStatement$1(e,t){let r=_IterationStatement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _IterationStatement$2(e,t){let r=_IterationStatement$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _IterationStatement$3(e,t){return ComptimeStatement(e,t)}function _IterationStatement$4(e,t){return WhileStatement(e,t)}function _IterationStatement$5(e,t){return ForStatement(e,t)}function _IterationStatement(e,t){let r=e.enter&&e.enter("_IterationStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=_IterationStatement$0(e,t);return n||(n=_IterationStatement$1(e,t)),n||(n=_IterationStatement$2(e,t)),n||(n=_IterationStatement$3(e,t)),n||(n=_IterationStatement$4(e,t)),n||(n=_IterationStatement$5(e,t)),n&&e.tokenize&&(n.value={type:"_IterationStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("_IterationStatement",t,n,i),n}var IterationExpression$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Async,__)),IterationStatement);function IterationExpression(e,t){let r=e.enter&&e.enter("IterationExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IterationExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("IterationExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IterationExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IterationExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,{type:"IterationExpression",subtype:(c=s).type,children:[c],block:c.block,statement:c,async:u,generator:c.generator});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IterationExpression",t,l,i),l}var LoopStatement$parser=(0,import_lib2.$S)(LoopClause,BlockOrEmptyStatement);function LoopStatement(e,t){let r=e.enter&&e.enter("LoopStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LoopStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("LoopStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"LoopStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("LoopStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,c=s,{...u,children:[...u.children,c],block:c});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("LoopStatement",t,l,i),l}var LoopClause$parser=(0,import_lib2.$S)(Loop,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Star)));function LoopClause(e,t){let r=e.enter&&e.enter("LoopClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LoopClause$parser(e,t);if(!n)return void(e.exit&&e.exit("LoopClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"LoopClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("LoopClause",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){let l={type:"Literal",children:["true"],raw:"true"},o={type:"ParenthesizedExpression",children:["(",l,")"],expression:l};return{type:"IterationStatement",subtype:"loop",children:[i,o],condition:o,generator:n}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("LoopClause",t,l,i),l}var DoWhileStatement$parser=(0,import_lib2.$S)(Do,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Star)),NoPostfixBracedOrEmptyBlock,__,WhileClause);function DoWhileStatement(e,t){let r=e.enter&&e.enter("DoWhileStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DoWhileStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("DoWhileStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DoWhileStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DoWhileStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=o[4],d=p,f=s,$=u,b=c,S=m,{...S,subtype:`do-${S.subtype}`,children:[d,$,b,S],block:$,generator:f});var p,s,u,c,m,d,f,$,b,S;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("DoWhileStatement",t,l,i),l}var DoStatement$parser=(0,import_lib2.$S)(Do,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Star)),NoPostfixBracedOrEmptyBlock);function DoStatement(e,t){let r=e.enter&&e.enter("DoStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DoStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("DoStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DoStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DoStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],p=o[1],s=o[2],u=p,{type:"DoStatement",children:[c=trimFirstSpace(c=s)],block:c,generator:u});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("DoStatement",t,l,i),l}var ComptimeStatement$parser=(0,import_lib2.$S)(Comptime,NoPostfixBracedOrEmptyBlock,(0,import_lib2.$E)(ElseClause));function ComptimeStatement(e,t){let r=e.enter&&e.enter("ComptimeStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ComptimeStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("ComptimeStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ComptimeStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ComptimeStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){var o=n,a=l;let p=!initialConfig.comptime&&a?.block||o;return p=trimFirstSpace(p),{type:"ComptimeStatement",children:[p],block:p,then:o,else:a}}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ComptimeStatement",t,l,i),l}var WhileStatement$parser=(0,import_lib2.$S)(WhileClause,BlockOrEmptyStatement);function WhileStatement(e,t){let r=e.enter&&e.enter("WhileStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WhileStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("WhileStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"WhileStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("WhileStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,c=s,{...u,children:[...u.children,c],block:c});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("WhileStatement",t,l,i),l}var WhileClause$parser=(0,import_lib2.$S)((0,import_lib2.$C)(While,Until),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Star)),(0,import_lib2.$E)(_),Condition);function WhileClause(e,t){let r=e.enter&&e.enter("WhileClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WhileClause$parser(e,t);if(!n)return void(e.exit&&e.exit("WhileClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"WhileClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("WhileClause",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){var a=i,p=n,s=l,u=o;let c=a.token;return a.negated&&(a={...a,token:"while"},u=negateCondition(u)),{type:"IterationStatement",subtype:c,children:[a,s,u],condition:u,generator:p,negated:a.negated}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("WhileClause",t,l,i),l}var ForStatement$parser=(0,import_lib2.$S)(ForClause,BlockOrEmptyStatement);function ForStatement(e,t){let r=e.enter&&e.enter("ForStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("ForStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],c=s,c=blockWithPrefix((u=p).blockPrefix,c),{...u,children:[...u.children,c],block:c});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ForStatement",t,l,i),l}var ForClause$parser=(0,import_lib2.$S)(For,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Star)),__,ForStatementControlWithWhen);function ForClause(e,t){let r=e.enter&&e.enter("ForClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForClause$parser(e,t);if(!n)return void(e.exit&&e.exit("ForClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForClause",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){var a=n,p=o;let{children:s,reduction:u}=p;return a&&u&&(s=[{type:"Error",message:`Cannot use reduction (${u.subtype}) with generators`},...s]),{...p,type:"ForStatement",children:[i,...l,...s],block:null,generator:a}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ForClause",t,l,i),l}var ForStatementControlWithWhen$parser=(0,import_lib2.$S)(ForStatementControlWithReduction,(0,import_lib2.$E)(WhenCondition));function ForStatementControlWithWhen(e,t){let r=e.enter&&e.enter("ForStatementControlWithWhen",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForStatementControlWithWhen$parser(e,t);if(!n)return void(e.exit&&e.exit("ForStatementControlWithWhen",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForStatementControlWithWhen",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForStatementControlWithWhen",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=i,o=n;if(!o)return l;let a=[["",{type:"ContinueStatement",children:["continue"]}]],p={type:"BlockStatement",expressions:a,children:[a],bare:!0};return{...l,blockPrefix:[...l.blockPrefix??[],["",{type:"IfStatement",then:p,children:["if (!",makeLeftHandSideExpression(trimFirstSpace(o)),") ",p],implicitLift:!0},";"]]}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ForStatementControlWithWhen",t,l,i),l}var ForStatementControlWithReduction$1$parser=(0,import_lib2.$S)(ForReduction,ForStatementControl);function ForStatementControlWithReduction$0(e,t){return ForStatementControl(e,t)}function ForStatementControlWithReduction$1(e,t){let r=ForStatementControlWithReduction$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],{...a,reduction:o});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForStatementControlWithReduction(e,t){let r=e.enter&&e.enter("ForStatementControlWithReduction",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForStatementControlWithReduction$0(e,t);return n||(n=ForStatementControlWithReduction$1(e,t)),n&&e.tokenize&&(n.value={type:"ForStatementControlWithReduction",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ForStatementControlWithReduction",t,n,i),n}var ForReduction$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L119,'ForReduction "some"'),(0,import_lib2.$EXPECT)($L120,'ForReduction "every"'),(0,import_lib2.$EXPECT)($L121,'ForReduction "count"'),(0,import_lib2.$EXPECT)($L122,'ForReduction "first"'),(0,import_lib2.$EXPECT)($L123,'ForReduction "sum"'),(0,import_lib2.$EXPECT)($L124,'ForReduction "product"'),(0,import_lib2.$EXPECT)($L125,'ForReduction "min"'),(0,import_lib2.$EXPECT)($L126,'ForReduction "max"'),(0,import_lib2.$EXPECT)($L127,'ForReduction "join"'),(0,import_lib2.$EXPECT)($L128,'ForReduction "concat"')),NonIdContinue,__);function ForReduction(e,t){let r=e.enter&&e.enter("ForReduction",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForReduction$parser(e,t);if(!n)return void(e.exit&&e.exit("ForReduction",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForReduction",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForReduction",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return{type:"ForReduction",subtype:i,children:[l]}}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ForReduction",t,l,i),l}var ForStatementControl$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeForLoopsEnabled),ForStatementParameters),ForStatementControl$1$parser=(0,import_lib2.$S)(CoffeeForLoopsEnabled,CoffeeForStatementParameters);function ForStatementControl$0(e,t){let r=ForStatementControl$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForStatementControl$1(e,t){let r=ForStatementControl$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForStatementControl(e,t){let r=e.enter&&e.enter("ForStatementControl",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForStatementControl$0(e,t);return n||(n=ForStatementControl$1(e,t)),n&&e.tokenize&&(n.value={type:"ForStatementControl",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ForStatementControl",t,n,i),n}var WhenCondition$parser=(0,import_lib2.$S)(__,When,ExpressionWithObjectApplicationForbidden);function WhenCondition(e,t){let r=e.enter&&e.enter("WhenCondition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WhenCondition$parser(e,t);if(!n)return void(e.exit&&e.exit("WhenCondition",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"WhenCondition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("WhenCondition",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return l}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("WhenCondition",t,l,i),l}var CoffeeForStatementParameters$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Await,__)),InsertOpenParen,CoffeeForDeclaration,(0,import_lib2.$E)(CoffeeForIndex),__,(0,import_lib2.$C)(In,Of,From),ExpressionWithObjectApplicationForbidden,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),By,ExpressionWithObjectApplicationForbidden)),InsertCloseParen);function CoffeeForStatementParameters$0(e,t){let r=CoffeeForStatementParameters$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s,u,c){var m=n,d=l,f=o,$=p,b=s,S=u,y=c;let x=[];if(b=trimFirstSpace(b),d=trimFirstSpace(d),"from"===$.token)S&&x.push(["",{type:"Error",message:"Can't use 'by' with 'from' in CoffeeScript for loops"}]),$={...$,token:"of"};else if("of"===$.token){if(S&&x.push(["",{type:"Error",message:"Can't use 'by' with 'of' in CoffeeScript for loops"}]),d.own){let e=getHelperRef("hasProp");x.push(["",["if (!",e,"(",b,", ",d,")) continue"],";"])}f&&x.push(["",{type:"AssignmentExpression",children:[f," = ",b,"[",d,"]"],names:f.names},";"]),$.token="in"}else if("in"===$.token){let e=makeRef("i"),t=makeRef("len");if("RangeExpression"===b.type)return forRange(m,d,b,S&&prepend(trimFirstSpace(S[0]),trimFirstSpace(S[2])),y);let r,n=maybeRef(b),l=d,o="++",a=[...l.names];f&&(r=[f=trimFirstSpace(f),"="],a.push(...f.names));let p=n!==b?[n," = ",trimFirstSpace(b),", "]:[];x.push(["",{type:"AssignmentExpression",children:[l," = ",n,"[",r,e,"]"],names:a},";"]),d={type:"Declaration",children:["let ",...p,e," = 0, ",t," = ",n,".length"],names:[]};let s=[e," < ",t,"; "];if(S){let[t,,r]=S;return t=trimFirstSpace(t),"Literal"===r.type?(o=[" +=",...t,r],"-"===r.raw[0]&&(d={type:"Declaration",children:["let ",...p,e," = ",n,".length - 1"],names:[]},s=[e," >= 0; "])):o=[" +=",...t,r,{type:"Error",message:"TODO: Support non-literal step in CoffeeScript for loops"}],{declaration:d,children:[i,m,d,"; ",...s,e,o,y],blockPrefix:x}}return{declaration:d,children:[i,m,d,"; ",...s,e,o,y],blockPrefix:x}}return{declaration:d,children:[i,m,d,a,$," ",b,y],blockPrefix:x}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CoffeeForStatementParameters$1(e,t){return ForRangeParameters(e,t)}function CoffeeForStatementParameters(e,t){let r=e.enter&&e.enter("CoffeeForStatementParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeForStatementParameters$0(e,t);return n||(n=CoffeeForStatementParameters$1(e,t)),n&&e.tokenize&&(n.value={type:"CoffeeForStatementParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CoffeeForStatementParameters",t,n,i),n}var CoffeeForIndex$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Comma,(0,import_lib2.$E)(_),BindingIdentifier);function CoffeeForIndex(e,t){let r=e.enter&&e.enter("CoffeeForIndex",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeForIndex$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeForIndex",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeForIndex",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeForIndex",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],o[1],o[2],s=o[3],m=s,u=trimFirstSpace(c=p),{...m,children:[...c||[],...u||[],...m.children]});var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CoffeeForIndex",t,l,i),l}var CoffeeForDeclaration$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(__,Own)),ForBinding);function CoffeeForDeclaration(e,t){let r=e.enter&&e.enter("CoffeeForDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeForDeclaration$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeForDeclaration",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeForDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeForDeclaration",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],{type:"AssignmentExpression",own:!!p,children:[s],names:s.names});var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CoffeeForDeclaration",t,l,i),l}var ForStatementParameters$0$parser=(0,import_lib2.$S)(OpenParen,__,(0,import_lib2.$C)(LexicalDeclaration,VariableStatement,(0,import_lib2.$E)(CommaExpression)),__,Semicolon,(0,import_lib2.$E)(CommaExpression),Semicolon,(0,import_lib2.$E)(CommaExpression),__,CloseParen),ForStatementParameters$1$parser=(0,import_lib2.$S)(InsertOpenParen,__,(0,import_lib2.$C)(LexicalDeclaration,VariableStatement,(0,import_lib2.$E)(CommaExpression)),__,Semicolon,(0,import_lib2.$E)(CommaExpression),Semicolon,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$N)(EOS),ExpressionWithIndentedApplicationForbidden)),InsertCloseParen),ForStatementParameters$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Await,__)),(0,import_lib2.$Y)(OpenParen),(0,import_lib2.$S)(OpenParen,__),ForInOfDeclaration,(0,import_lib2.$E)((0,import_lib2.$S)(__,Comma,__,ForInOfDeclaration)),__,(0,import_lib2.$C)(In,Of),ExpressionWithObjectApplicationForbidden,(0,import_lib2.$E)((0,import_lib2.$S)(__,By,ExpressionWithObjectApplicationForbidden)),(0,import_lib2.$S)(__,CloseParen)),ForStatementParameters$3$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Await,__)),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$C)(Each,Own),__)),(0,import_lib2.$S)(OpenParen,__),ForInOfDeclaration,(0,import_lib2.$E)((0,import_lib2.$S)(__,Comma,__,ForInOfDeclaration)),__,(0,import_lib2.$C)(In,Of),ExpressionWithObjectApplicationForbidden,(0,import_lib2.$E)((0,import_lib2.$S)(__,By,ExpressionWithObjectApplicationForbidden)),(0,import_lib2.$S)(__,CloseParen)),ForStatementParameters$4$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Await,__)),(0,import_lib2.$Y)(ForInOfDeclaration),InsertOpenParen,ForInOfDeclaration,(0,import_lib2.$E)((0,import_lib2.$S)(__,Comma,__,ForInOfDeclaration)),__,(0,import_lib2.$C)(In,Of),ExpressionWithObjectApplicationForbidden,(0,import_lib2.$E)((0,import_lib2.$S)(__,By,ExpressionWithObjectApplicationForbidden)),InsertCloseParen),ForStatementParameters$5$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Await,__)),(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$C)(Each,Own),__)),InsertOpenParen,ForInOfDeclaration,(0,import_lib2.$E)((0,import_lib2.$S)(__,Comma,__,ForInOfDeclaration)),__,(0,import_lib2.$C)(In,Of),ExpressionWithObjectApplicationForbidden,(0,import_lib2.$E)((0,import_lib2.$S)(__,By,ExpressionWithObjectApplicationForbidden)),InsertCloseParen);function ForStatementParameters$0(e,t){let r=ForStatementParameters$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return{declaration:l,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForStatementParameters$1(e,t){let r=ForStatementParameters$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s,u,c){var m=l;let d=u?.[1];return{declaration:m,children:[i,n,m,o,a,p,s,d,c]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForStatementParameters$2(e,t){let r=ForStatementParameters$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],processForInOf(o));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForStatementParameters$3(e,t){let r=ForStatementParameters$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],processForInOf(o));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForStatementParameters$4(e,t){let r=ForStatementParameters$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],processForInOf(o));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForStatementParameters$5(e,t){let r=ForStatementParameters$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],processForInOf(o));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForStatementParameters$6(e,t){return ForRangeParameters(e,t)}function ForStatementParameters(e,t){let r=e.enter&&e.enter("ForStatementParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForStatementParameters$0(e,t);return n||(n=ForStatementParameters$1(e,t)),n||(n=ForStatementParameters$2(e,t)),n||(n=ForStatementParameters$3(e,t)),n||(n=ForStatementParameters$4(e,t)),n||(n=ForStatementParameters$5(e,t)),n||(n=ForStatementParameters$6(e,t)),n&&e.tokenize&&(n.value={type:"ForStatementParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ForStatementParameters",t,n,i),n}var ForRangeParameters$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Await,__)),OpenParen,OpenBracket,RangeExpression,CloseBracket,(0,import_lib2.$E)((0,import_lib2.$S)(__,By,ExpressionWithObjectApplicationForbidden)),CloseParen),ForRangeParameters$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Await,__)),InsertOpenParen,OpenBracket,RangeExpression,CloseBracket,(0,import_lib2.$E)((0,import_lib2.$S)(__,By,ExpressionWithObjectApplicationForbidden)),InsertCloseParen);function ForRangeParameters$0(e,t){let r=ForRangeParameters$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],n[2],a=n[3],n[4],p=n[5],s=n[6],forRange(o,null,a,p,s));var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForRangeParameters$1(e,t){let r=ForRangeParameters$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],n[2],a=n[3],n[4],p=n[5],s=n[6],forRange(o,null,a,p,s));var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForRangeParameters(e,t){let r=e.enter&&e.enter("ForRangeParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForRangeParameters$0(e,t);return n||(n=ForRangeParameters$1(e,t)),n&&e.tokenize&&(n.value={type:"ForRangeParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ForRangeParameters",t,n,i),n}function ForInOfDeclaration$0(e,t){return ForDeclaration(e,t)}function ForInOfDeclaration$1(e,t){return LeftHandSideExpression(e,t)}function ForInOfDeclaration(e,t){let r=e.enter&&e.enter("ForInOfDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForInOfDeclaration$0(e,t);return n||(n=ForInOfDeclaration$1(e,t)),n&&e.tokenize&&(n.value={type:"ForInOfDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ForInOfDeclaration",t,n,i),n}var ForDeclaration$0$parser=(0,import_lib2.$S)(LetOrConstOrVar,ForBinding),ForDeclaration$1$parser=(0,import_lib2.$S)(InsertConst,(0,import_lib2.$N)(ActualMemberExpression),ForBinding);function ForDeclaration$0(e,t){let r=ForDeclaration$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],{type:"ForDeclaration",children:[o,p=a],decl:o.token,binding:p,names:p.names});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForDeclaration$1(e,t){let r=ForDeclaration$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],n[1],p=n[2],s=a,gatherRecursive(u=p,e=>"PinPattern"===e.type).length?o:{type:"ForDeclaration",children:[s,u],decl:s.token.trimEnd(),binding:u,names:u.names});var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ForDeclaration(e,t){let r=e.enter&&e.enter("ForDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForDeclaration$0(e,t);return n||(n=ForDeclaration$1(e,t)),n&&e.tokenize&&(n.value={type:"ForDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ForDeclaration",t,n,i),n}var ForBinding$parser=(0,import_lib2.$S)((0,import_lib2.$C)(BindingPattern,BindingIdentifier),(0,import_lib2.$E)(TypeSuffix));function ForBinding(e,t){let r=e.enter&&e.enter("ForBinding",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForBinding$parser(e,t);if(!n)return void(e.exit&&e.exit("ForBinding",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForBinding",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForBinding",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,c=s,c??=u.typeSuffix,{type:"Binding",children:[u,c],names:u.names,pattern:u,typeSuffix:c,splices:[],thisAssignments:[]});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ForBinding",t,l,i),l}var SwitchStatement$parser=(0,import_lib2.$S)(Switch,ForbidNewlineBinaryOp,(0,import_lib2.$E)((0,import_lib2.$C)(EmptyCondition,Condition)),RestoreNewlineBinaryOp,CaseBlock);function SwitchStatement(e,t){let r=e.enter&&e.enter("SwitchStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SwitchStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("SwitchStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SwitchStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SwitchStatement",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o[0],o[1],u=o[2],o[3],c=o[4],m=s,f=c,(d=u)?("EmptyCondition"===d.type&&f.clauses.forEach(({cases:e})=>{if(e)return e.forEach(e=>{let t=e[1];switch(t.type){case"Identifier":case"Literal":e.splice(1,0,"!");break;default:e.splice(1,1,"!(",t,")")}})}),{type:"SwitchStatement",children:[m,d,f],condition:d,caseBlock:f}):p);var p,s,u,c,m,d,f;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SwitchStatement",t,l,i),l}var EmptyCondition$parser=(0,import_lib2.$Y)(EOS);function EmptyCondition(e,t){let r=e.enter&&e.enter("EmptyCondition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EmptyCondition$parser(e,t);if(!n)return void(e.exit&&e.exit("EmptyCondition",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EmptyCondition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EmptyCondition",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{type:"EmptyCondition",children:[{$loc:t,token:" (false)"}]}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("EmptyCondition",t,l,i),l}var CaseBlock$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$C)(Nested,_)),OpenBrace,NestedCaseClauses,__,CloseBrace),CaseBlock$1$parser=(0,import_lib2.$S)(InsertOpenBrace,NestedCaseClauses,InsertNewline,InsertIndent,InsertCloseBrace);function CaseBlock$0(e,t){let r=CaseBlock$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return{type:"CaseBlock",clauses:l,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CaseBlock$1(e,t){let r=CaseBlock$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"CaseBlock",clauses:n,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CaseBlock(e,t){let r=e.enter&&e.enter("CaseBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CaseBlock$0(e,t);return n||(n=CaseBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"CaseBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CaseBlock",t,n,i),n}var NestedCaseClauses$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedCaseClause),PopIndent);function NestedCaseClauses(e,t){let r=e.enter&&e.enter("NestedCaseClauses",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedCaseClauses$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedCaseClauses",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedCaseClauses",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedCaseClauses",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedCaseClauses",t,l,i),l}var NestedCaseClause$parser=(0,import_lib2.$S)(Nested,CaseClause);function NestedCaseClause(e,t){let r=e.enter&&e.enter("NestedCaseClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedCaseClause$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedCaseClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedCaseClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedCaseClause",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,c=s,{...c,children:[u,...c.children]});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedCaseClause",t,l,i),l}var CaseClause$0$parser=(0,import_lib2.$S)(PatternExpressionList,(0,import_lib2.$C)(ThenClause,BareBlock)),CaseClause$1$parser=(0,import_lib2.$S)(Case,CaseExpressionList,IgnoreColon,(0,import_lib2.$C)(ThenClause,BareBlock)),CaseClause$2$parser=(0,import_lib2.$S)(When,CaseExpressionList,IgnoreColon,InsertOpenBrace,(0,import_lib2.$C)(ThenClause,BareBlock),InsertBreak,InsertNewline,InsertIndent,InsertCloseBrace),CaseClause$3$parser=(0,import_lib2.$S)(Default,ImpliedColon,(0,import_lib2.$C)(ThenClause,BareBlock)),CaseClause$4$parser=(0,import_lib2.$S)(Else,ImpliedColon,(0,import_lib2.$C)(ThenClause,BracedBlock,EmptyBlock));function CaseClause$0(e,t){let r=CaseClause$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"PatternClause",children:r,patterns:i,block:n}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CaseClause$1(e,t){let r=CaseClause$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return{type:"CaseClause",children:r,cases:n,block:o}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CaseClause$2(e,t){let r=CaseClause$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){return{type:"WhenClause",children:r,cases:n,block:a,break:p}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CaseClause$3(e,t){let r=CaseClause$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return{type:"DefaultClause",block:l,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CaseClause$4(e,t){let r=CaseClause$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,u=a,{type:"DefaultClause",block:c=p,children:[s={...s,token:"default"},u,c]});var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CaseClause(e,t){let r=e.enter&&e.enter("CaseClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CaseClause$0(e,t);return n||(n=CaseClause$1(e,t)),n||(n=CaseClause$2(e,t)),n||(n=CaseClause$3(e,t)),n||(n=CaseClause$4(e,t)),n&&e.tokenize&&(n.value={type:"CaseClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CaseClause",t,n,i),n}var PatternExpressionList$parser=(0,import_lib2.$S)(PatternExpression,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma,(0,import_lib2.$E)((0,import_lib2.$C)(Nested,_)),PatternExpression)));function PatternExpressionList(e,t){let r=e.enter&&e.enter("PatternExpressionList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PatternExpressionList$parser(e,t);if(!n)return void(e.exit&&e.exit("PatternExpressionList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PatternExpressionList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PatternExpressionList",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[p,...s.map(([,,,e])=>e)]);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PatternExpressionList",t,l,i),l}var PatternExpression$1$parser=(0,import_lib2.$S)(ForbidIndentedApplication,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(BindingIdentifier,(0,import_lib2.$E)(Caret))),(0,import_lib2.$P)(SingleLineBinaryOpRHS))),RestoreIndentedApplication);function PatternExpression$0(e,t){return BindingPattern(e,t)}function PatternExpression$1(e,t){let r=PatternExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){var l=n;if(!l)return e;let o,[a,p]=l;return a&&([o]=a),{type:"ConditionFragment",children:[o,p],binding:o,rhs:p}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function PatternExpression(e,t){let r=e.enter&&e.enter("PatternExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PatternExpression$0(e,t);return n||(n=PatternExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"PatternExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PatternExpression",t,n,i),n}var CaseExpressionList$parser=(0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),CaseExpression,InsertColon),(0,import_lib2.$Q)((0,import_lib2.$S)(__,Comma,CaseExpression,InsertColon)));function CaseExpressionList(e,t){let r=e.enter&&e.enter("CaseExpressionList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CaseExpressionList$parser(e,t);if(!n)return void(e.exit&&e.exit("CaseExpressionList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CaseExpressionList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CaseExpressionList",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=i;let o=n.map(([e,t,r,i])=>(r=trimFirstSpace(r),e.length?[e,"case ",r,i]:["case ",r,i]));return o.unshift(l),o}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CaseExpressionList",t,l,i),l}var CaseExpression$0$parser=(0,import_lib2.$S)(PropertyName,(0,import_lib2.$Y)((0,import_lib2.$S)((0,import_lib2.$E)(_),Colon)));function CaseExpression$0(e,t){let r=CaseExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],n[1],"ComputedPropertyName"===(a=o).type?a.implicit?a.expression:{...a,type:"ArrayExpression"}:a);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CaseExpression$1(e,t){return ExpressionWithObjectApplicationForbidden(e,t)}function CaseExpression(e,t){let r=e.enter&&e.enter("CaseExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CaseExpression$0(e,t);return n||(n=CaseExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"CaseExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CaseExpression",t,n,i),n}var ImpliedColon$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Colon);function ImpliedColon$0(e,t){return ImpliedColon$0$parser(e,t)}function ImpliedColon$1(e,t){return InsertColon(e,t)}function ImpliedColon(e,t){let r=e.enter&&e.enter("ImpliedColon",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImpliedColon$0(e,t);return n||(n=ImpliedColon$1(e,t)),n&&e.tokenize&&(n.value={type:"ImpliedColon",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImpliedColon",t,n,i),n}var IgnoreColon$parser=(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),Colon));function IgnoreColon(e,t){let r=e.enter&&e.enter("IgnoreColon",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IgnoreColon$parser(e,t);if(!n)return void(e.exit&&e.exit("IgnoreColon",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IgnoreColon",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IgnoreColon",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i){if(i)return i[0]}(import_lib2.SKIP,0,0,o);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IgnoreColon",t,l,i),l}var TryStatement$parser=(0,import_lib2.$S)(Try,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($L15,'TryStatement ":"')),NoPostfixBracedOrEmptyBlock,(0,import_lib2.$Q)(CatchClause),(0,import_lib2.$E)(ElseClause),(0,import_lib2.$E)(WFinallyClause));function TryStatement(e,t){let r=e.enter&&e.enter("TryStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TryStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("TryStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TryStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TryStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,o[0],o[1],o[2],o[3],o[4],o[5],processTryBlock(p));var p;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TryStatement",t,l,i),l}var CatchClause$parser=(0,import_lib2.$S)((0,import_lib2.$C)(Nested,_),Catch,(0,import_lib2.$E)(CatchBinding),(0,import_lib2.$C)(BracedThenClause,BracedOrEmptyBlock));function CatchClause(e,t){let r=e.enter&&e.enter("CatchClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CatchClause$parser(e,t);if(!n)return void(e.exit&&e.exit("CatchClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CatchClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CatchClause",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){return{type:"CatchClause",children:r,block:o,binding:l}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CatchClause",t,l,i),l}var CatchBinding$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),OpenParen,__,AllowAll,(0,import_lib2.$E)(CatchParameter),RestoreAll,__,CloseParen),CatchBinding$1$parser=(0,import_lib2.$S)(_,InsertOpenParen,(0,import_lib2.$N)(EOS),ForbidIndentedApplication,(0,import_lib2.$E)(CatchParameter),RestoreIndentedApplication,InsertCloseParen);function CatchBinding$0(e,t){let r=CatchBinding$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s,u){return a?{type:"CatchBinding",parameter:a,children:[i,n,l,a,s,u]}:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CatchBinding$1(e,t){let r=CatchBinding$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s){return a?{type:"CatchBinding",parameter:a,children:[i,n,a,s]}:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CatchBinding(e,t){let r=e.enter&&e.enter("CatchBinding",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CatchBinding$0(e,t);return n||(n=CatchBinding$1(e,t)),n&&e.tokenize&&(n.value={type:"CatchBinding",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CatchBinding",t,n,i),n}var WFinallyClause$parser=(0,import_lib2.$S)((0,import_lib2.$C)(Nested,_),FinallyClause);function WFinallyClause(e,t){let r=e.enter&&e.enter("WFinallyClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WFinallyClause$parser(e,t);if(!n)return void(e.exit&&e.exit("WFinallyClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"WFinallyClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("WFinallyClause",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],prepend(p,s));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("WFinallyClause",t,l,i),l}var FinallyClause$parser=(0,import_lib2.$S)(Finally,(0,import_lib2.$C)(BracedThenClause,BracedOrEmptyBlock));function FinallyClause(e,t){let r=e.enter&&e.enter("FinallyClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FinallyClause$parser(e,t);if(!n)return void(e.exit&&e.exit("FinallyClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"FinallyClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("FinallyClause",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return{type:"FinallyClause",children:r,block:n}}(import_lib2.SKIP,0,o,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("FinallyClause",t,l,i),l}var CatchParameter$0$parser=(0,import_lib2.$S)((0,import_lib2.$C)(ObjectBindingPattern,ArrayBindingPattern),TypeSuffix),CatchParameter$1$parser=(0,import_lib2.$S)(PatternExpressionList),CatchParameter$2$parser=(0,import_lib2.$S)(BindingIdentifier,(0,import_lib2.$E)(TypeSuffix));function CatchParameter$0(e,t){let r=CatchParameter$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"CatchParameter",binding:i,typeSuffix:n,children:[i,n]}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CatchParameter$1(e,t){let r=CatchParameter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return{type:"CatchPattern",children:r,patterns:i}}(import_lib2.SKIP,0,n,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CatchParameter$2(e,t){let r=CatchParameter$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"CatchParameter",binding:i,typeSuffix:n,children:r}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CatchParameter(e,t){let r=e.enter&&e.enter("CatchParameter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CatchParameter$0(e,t);return n||(n=CatchParameter$1(e,t)),n||(n=CatchParameter$2(e,t)),n&&e.tokenize&&(n.value={type:"CatchParameter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CatchParameter",t,n,i),n}var Condition$0$parser=(0,import_lib2.$S)(OpenParen,(0,import_lib2.$E)(_),DeclarationCondition,CloseParen),Condition$1$parser=(0,import_lib2.$S)(ParenthesizedExpression,(0,import_lib2.$N)(TrailingOperator)),Condition$2$parser=(0,import_lib2.$S)(InsertOpenParen,DeclarationCondition,InsertCloseParen),Condition$3$parser=(0,import_lib2.$S)(PushIndent,InsertOpenParen,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,PostfixedExpression)),InsertCloseParen,PopIndent),Condition$4$parser=(0,import_lib2.$S)(InsertOpenParen,ExpressionWithObjectApplicationForbidden,InsertCloseParen);function Condition$0(e,t){let r=Condition$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return{type:"ParenthesizedExpression",children:[i,n,l,o],expression:l}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Condition$1(e,t){let r=Condition$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Condition$2(e,t){let r=Condition$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return{type:"ParenthesizedExpression",children:[i,n,l],expression:n}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Condition$3(e,t){let r=Condition$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return l?{type:"ParenthesizedExpression",children:[n,l,o],expression:l}:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Condition$4(e,t){let r=Condition$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,c=p,"ParenthesizedExpression"===(u=a).type?u:{type:"ParenthesizedExpression",children:[s,u=trimFirstSpace(u),c],expression:u});var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Condition(e,t){let r=e.enter&&e.enter("Condition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Condition$0(e,t);return n||(n=Condition$1(e,t)),n||(n=Condition$2(e,t)),n||(n=Condition$3(e,t)),n||(n=Condition$4(e,t)),n&&e.tokenize&&(n.value={type:"Condition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Condition",t,n,i),n}var BoundedCondition$parser=(0,import_lib2.$S)(InsertOpenParen,PostfixedExpression,InsertCloseParen);function BoundedCondition(e,t){let r=e.enter&&e.enter("BoundedCondition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BoundedCondition$parser(e,t);if(!n)return void(e.exit&&e.exit("BoundedCondition",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BoundedCondition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BoundedCondition",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=p,d=u,"ParenthesizedExpression"===(m=s).type?m:{type:"ParenthesizedExpression",children:[c,m=trimFirstSpace(m),d],expression:m});var p,s,u,c,m,d;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("BoundedCondition",t,l,i),l}var DeclarationCondition$parser=(0,import_lib2.$S)(ForbidBracedApplication,ForbidIndentedApplication,ForbidNewlineBinaryOp,(0,import_lib2.$E)(LexicalDeclaration),RestoreNewlineBinaryOp,RestoreBracedApplication,RestoreIndentedApplication);function DeclarationCondition(e,t){let r=e.enter&&e.enter("DeclarationCondition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DeclarationCondition$parser(e,t);if(!n)return void(e.exit&&e.exit("DeclarationCondition",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DeclarationCondition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DeclarationCondition",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){return o?{type:"DeclarationCondition",declaration:o,children:[o]}:e}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4],o[5],o[6]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("DeclarationCondition",t,l,i),l}var ExpressionWithIndentedApplicationForbidden$parser=(0,import_lib2.$S)(ForbidIndentedApplication,ForbidNewlineBinaryOp,(0,import_lib2.$E)(Expression),RestoreNewlineBinaryOp,RestoreIndentedApplication);function ExpressionWithIndentedApplicationForbidden(e,t){let r=e.enter&&e.enter("ExpressionWithIndentedApplicationForbidden",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExpressionWithIndentedApplicationForbidden$parser(e,t);if(!n)return void(e.exit&&e.exit("ExpressionWithIndentedApplicationForbidden",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExpressionWithIndentedApplicationForbidden",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExpressionWithIndentedApplicationForbidden",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return l||e}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExpressionWithIndentedApplicationForbidden",t,l,i),l}var SingleLineExpressionWithIndentedApplicationForbidden$parser=(0,import_lib2.$S)(ForbidIndentedApplication,ForbidNewlineBinaryOp,(0,import_lib2.$E)(SingleLineAssignmentExpression),RestoreNewlineBinaryOp,RestoreIndentedApplication);function SingleLineExpressionWithIndentedApplicationForbidden(e,t){let r=e.enter&&e.enter("SingleLineExpressionWithIndentedApplicationForbidden",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineExpressionWithIndentedApplicationForbidden$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLineExpressionWithIndentedApplicationForbidden",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLineExpressionWithIndentedApplicationForbidden",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLineExpressionWithIndentedApplicationForbidden",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return l||e}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SingleLineExpressionWithIndentedApplicationForbidden",t,l,i),l}var ExpressionWithObjectApplicationForbidden$parser=(0,import_lib2.$S)(ForbidBracedApplication,ForbidIndentedApplication,ForbidImplicitFragment,(0,import_lib2.$E)(Expression),RestoreBracedApplication,RestoreIndentedApplication,RestoreImplicitFragment);function ExpressionWithObjectApplicationForbidden(e,t){let r=e.enter&&e.enter("ExpressionWithObjectApplicationForbidden",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExpressionWithObjectApplicationForbidden$parser(e,t);if(!n)return void(e.exit&&e.exit("ExpressionWithObjectApplicationForbidden",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExpressionWithObjectApplicationForbidden",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExpressionWithObjectApplicationForbidden",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){return o||e}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4],o[5],o[6]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExpressionWithObjectApplicationForbidden",t,l,i),l}var LeftHandSideExpressionWithObjectApplicationForbidden$parser=(0,import_lib2.$S)(ForbidBracedApplication,ForbidIndentedApplication,ForbidNewlineBinaryOp,(0,import_lib2.$E)(LeftHandSideExpression),RestoreNewlineBinaryOp,RestoreBracedApplication,RestoreIndentedApplication);function LeftHandSideExpressionWithObjectApplicationForbidden(e,t){let r=e.enter&&e.enter("LeftHandSideExpressionWithObjectApplicationForbidden",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LeftHandSideExpressionWithObjectApplicationForbidden$parser(e,t);if(!n)return void(e.exit&&e.exit("LeftHandSideExpressionWithObjectApplicationForbidden",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"LeftHandSideExpressionWithObjectApplicationForbidden",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("LeftHandSideExpressionWithObjectApplicationForbidden",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){return o||e}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4],o[5],o[6]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("LeftHandSideExpressionWithObjectApplicationForbidden",t,l,i),l}var ForbidClassImplicitCall$parser=(0,import_lib2.$EXPECT)($L0,'ForbidClassImplicitCall ""');function ForbidClassImplicitCall(e,t){let r=e.enter&&e.enter("ForbidClassImplicitCall",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbidClassImplicitCall$parser(e,t);if(!n)return void(e.exit&&e.exit("ForbidClassImplicitCall",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForbidClassImplicitCall",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForbidClassImplicitCall",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidClassImplicitCall.push(!0));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ForbidClassImplicitCall",t,l,i),l}var AllowClassImplicitCall$parser=(0,import_lib2.$EXPECT)($L0,'AllowClassImplicitCall ""');function AllowClassImplicitCall(e,t){let r=e.enter&&e.enter("AllowClassImplicitCall",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowClassImplicitCall$parser(e,t);if(!n)return void(e.exit&&e.exit("AllowClassImplicitCall",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AllowClassImplicitCall",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AllowClassImplicitCall",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidClassImplicitCall.push(!1));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("AllowClassImplicitCall",t,l,i),l}var RestoreClassImplicitCall$parser=(0,import_lib2.$EXPECT)($L0,'RestoreClassImplicitCall ""');function RestoreClassImplicitCall(e,t){let r=e.enter&&e.enter("RestoreClassImplicitCall",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestoreClassImplicitCall$parser(e,t);if(!n)return void(e.exit&&e.exit("RestoreClassImplicitCall",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RestoreClassImplicitCall",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RestoreClassImplicitCall",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidClassImplicitCall.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("RestoreClassImplicitCall",t,l,i),l}var ClassImplicitCallForbidden$parser=(0,import_lib2.$EXPECT)($L0,'ClassImplicitCallForbidden ""');function ClassImplicitCallForbidden(e,t){let r=e.enter&&e.enter("ClassImplicitCallForbidden",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClassImplicitCallForbidden$parser(e,t);if(!n)return void(e.exit&&e.exit("ClassImplicitCallForbidden",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ClassImplicitCallForbidden",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ClassImplicitCallForbidden",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!state.classImplicitCallForbidden)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ClassImplicitCallForbidden",t,l,i),l}var ForbidBracedApplication$parser=(0,import_lib2.$EXPECT)($L0,'ForbidBracedApplication ""');function ForbidBracedApplication(e,t){let r=e.enter&&e.enter("ForbidBracedApplication",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbidBracedApplication$parser(e,t);if(!n)return void(e.exit&&e.exit("ForbidBracedApplication",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForbidBracedApplication",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForbidBracedApplication",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidBracedApplication.push(!0));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ForbidBracedApplication",t,l,i),l}var AllowBracedApplication$parser=(0,import_lib2.$EXPECT)($L0,'AllowBracedApplication ""');function AllowBracedApplication(e,t){let r=e.enter&&e.enter("AllowBracedApplication",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowBracedApplication$parser(e,t);if(!n)return void(e.exit&&e.exit("AllowBracedApplication",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AllowBracedApplication",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AllowBracedApplication",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidBracedApplication.push(!1));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("AllowBracedApplication",t,l,i),l}var RestoreBracedApplication$parser=(0,import_lib2.$EXPECT)($L0,'RestoreBracedApplication ""');function RestoreBracedApplication(e,t){let r=e.enter&&e.enter("RestoreBracedApplication",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestoreBracedApplication$parser(e,t);if(!n)return void(e.exit&&e.exit("RestoreBracedApplication",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RestoreBracedApplication",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RestoreBracedApplication",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidBracedApplication.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("RestoreBracedApplication",t,l,i),l}var BracedApplicationAllowed$parser=(0,import_lib2.$EXPECT)($L0,'BracedApplicationAllowed ""');function BracedApplicationAllowed(e,t){let r=e.enter&&e.enter("BracedApplicationAllowed",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BracedApplicationAllowed$parser(e,t);if(!n)return void(e.exit&&e.exit("BracedApplicationAllowed",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"BracedApplicationAllowed",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("BracedApplicationAllowed",t,r,i),r}n.loc,n.value;let l,o=function(e){if(config.verbose&&console.log("forbidBracedApplication:",state.forbidBracedApplication),state.bracedApplicationForbidden)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("BracedApplicationAllowed",t,l,i),l}var ForbidIndentedApplication$parser=(0,import_lib2.$EXPECT)($L0,'ForbidIndentedApplication ""');function ForbidIndentedApplication(e,t){let r=e.enter&&e.enter("ForbidIndentedApplication",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbidIndentedApplication$parser(e,t);if(!n)return void(e.exit&&e.exit("ForbidIndentedApplication",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForbidIndentedApplication",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForbidIndentedApplication",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidIndentedApplication.push(!0));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ForbidIndentedApplication",t,l,i),l}var AllowIndentedApplication$parser=(0,import_lib2.$EXPECT)($L0,'AllowIndentedApplication ""');function AllowIndentedApplication(e,t){let r=e.enter&&e.enter("AllowIndentedApplication",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowIndentedApplication$parser(e,t);if(!n)return void(e.exit&&e.exit("AllowIndentedApplication",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AllowIndentedApplication",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AllowIndentedApplication",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidIndentedApplication.push(!1));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("AllowIndentedApplication",t,l,i),l}var RestoreIndentedApplication$parser=(0,import_lib2.$EXPECT)($L0,'RestoreIndentedApplication ""');function RestoreIndentedApplication(e,t){let r=e.enter&&e.enter("RestoreIndentedApplication",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestoreIndentedApplication$parser(e,t);if(!n)return void(e.exit&&e.exit("RestoreIndentedApplication",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RestoreIndentedApplication",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RestoreIndentedApplication",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidIndentedApplication.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("RestoreIndentedApplication",t,l,i),l}var IndentedApplicationAllowed$parser=(0,import_lib2.$EXPECT)($L0,'IndentedApplicationAllowed ""');function IndentedApplicationAllowed(e,t){let r=e.enter&&e.enter("IndentedApplicationAllowed",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IndentedApplicationAllowed$parser(e,t);if(!n)return void(e.exit&&e.exit("IndentedApplicationAllowed",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IndentedApplicationAllowed",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IndentedApplicationAllowed",t,r,i),r}n.loc,n.value;let l,o=function(e){if(config.verbose&&console.log("forbidIndentedApplication:",state.forbidIndentedApplication),state.indentedApplicationForbidden)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("IndentedApplicationAllowed",t,l,i),l}var ForbidTrailingMemberProperty$parser=(0,import_lib2.$EXPECT)($L0,'ForbidTrailingMemberProperty ""');function ForbidTrailingMemberProperty(e,t){let r=e.enter&&e.enter("ForbidTrailingMemberProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbidTrailingMemberProperty$parser(e,t);if(!n)return void(e.exit&&e.exit("ForbidTrailingMemberProperty",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForbidTrailingMemberProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForbidTrailingMemberProperty",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidTrailingMemberProperty.push(!0));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ForbidTrailingMemberProperty",t,l,i),l}var AllowTrailingMemberProperty$parser=(0,import_lib2.$EXPECT)($L0,'AllowTrailingMemberProperty ""');function AllowTrailingMemberProperty(e,t){let r=e.enter&&e.enter("AllowTrailingMemberProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowTrailingMemberProperty$parser(e,t);if(!n)return void(e.exit&&e.exit("AllowTrailingMemberProperty",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AllowTrailingMemberProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AllowTrailingMemberProperty",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidTrailingMemberProperty.push(!1));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("AllowTrailingMemberProperty",t,l,i),l}var RestoreTrailingMemberProperty$parser=(0,import_lib2.$EXPECT)($L0,'RestoreTrailingMemberProperty ""');function RestoreTrailingMemberProperty(e,t){let r=e.enter&&e.enter("RestoreTrailingMemberProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestoreTrailingMemberProperty$parser(e,t);if(!n)return void(e.exit&&e.exit("RestoreTrailingMemberProperty",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RestoreTrailingMemberProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RestoreTrailingMemberProperty",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidTrailingMemberProperty.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("RestoreTrailingMemberProperty",t,l,i),l}var TrailingMemberPropertyAllowed$parser=(0,import_lib2.$EXPECT)($L0,'TrailingMemberPropertyAllowed ""');function TrailingMemberPropertyAllowed(e,t){let r=e.enter&&e.enter("TrailingMemberPropertyAllowed",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TrailingMemberPropertyAllowed$parser(e,t);if(!n)return void(e.exit&&e.exit("TrailingMemberPropertyAllowed",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TrailingMemberPropertyAllowed",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TrailingMemberPropertyAllowed",t,r,i),r}n.loc,n.value;let l,o=function(e){if(config.verbose&&console.log("forbidTrailingMemberProperty:",state.forbidTrailingMemberProperty),state.trailingMemberPropertyForbidden)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("TrailingMemberPropertyAllowed",t,l,i),l}var AllowNestedBinaryOp$parser=(0,import_lib2.$EXPECT)($L0,'AllowNestedBinaryOp ""');function AllowNestedBinaryOp(e,t){let r=e.enter&&e.enter("AllowNestedBinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowNestedBinaryOp$parser(e,t);if(!n)return void(e.exit&&e.exit("AllowNestedBinaryOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AllowNestedBinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AllowNestedBinaryOp",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidNestedBinaryOp.push(!1));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("AllowNestedBinaryOp",t,l,i),l}var ForbidNestedBinaryOp$parser=(0,import_lib2.$EXPECT)($L0,'ForbidNestedBinaryOp ""');function ForbidNestedBinaryOp(e,t){let r=e.enter&&e.enter("ForbidNestedBinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbidNestedBinaryOp$parser(e,t);if(!n)return void(e.exit&&e.exit("ForbidNestedBinaryOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForbidNestedBinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForbidNestedBinaryOp",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidNestedBinaryOp.push(!0));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ForbidNestedBinaryOp",t,l,i),l}var RestoreNestedBinaryOp$parser=(0,import_lib2.$EXPECT)($L0,'RestoreNestedBinaryOp ""');function RestoreNestedBinaryOp(e,t){let r=e.enter&&e.enter("RestoreNestedBinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestoreNestedBinaryOp$parser(e,t);if(!n)return void(e.exit&&e.exit("RestoreNestedBinaryOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RestoreNestedBinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RestoreNestedBinaryOp",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidNestedBinaryOp.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("RestoreNestedBinaryOp",t,l,i),l}var NestedBinaryOpAllowed$parser=(0,import_lib2.$EXPECT)($L0,'NestedBinaryOpAllowed ""');function NestedBinaryOpAllowed(e,t){let r=e.enter&&e.enter("NestedBinaryOpAllowed",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedBinaryOpAllowed$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedBinaryOpAllowed",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedBinaryOpAllowed",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedBinaryOpAllowed",t,r,i),r}n.loc,n.value;let l,o=function(e){if(config.verbose&&console.log("forbidNestedBinaryOp:",state.forbidNestedBinaryOp),state.nestedBinaryOpForbidden)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("NestedBinaryOpAllowed",t,l,i),l}var AllowNewlineBinaryOp$parser=(0,import_lib2.$EXPECT)($L0,'AllowNewlineBinaryOp ""');function AllowNewlineBinaryOp(e,t){let r=e.enter&&e.enter("AllowNewlineBinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowNewlineBinaryOp$parser(e,t);if(!n)return void(e.exit&&e.exit("AllowNewlineBinaryOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AllowNewlineBinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AllowNewlineBinaryOp",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidNewlineBinaryOp.push(!1));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("AllowNewlineBinaryOp",t,l,i),l}var ForbidNewlineBinaryOp$parser=(0,import_lib2.$EXPECT)($L0,'ForbidNewlineBinaryOp ""');function ForbidNewlineBinaryOp(e,t){let r=e.enter&&e.enter("ForbidNewlineBinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbidNewlineBinaryOp$parser(e,t);if(!n)return void(e.exit&&e.exit("ForbidNewlineBinaryOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForbidNewlineBinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForbidNewlineBinaryOp",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidNewlineBinaryOp.push(!0));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ForbidNewlineBinaryOp",t,l,i),l}var RestoreNewlineBinaryOp$parser=(0,import_lib2.$EXPECT)($L0,'RestoreNewlineBinaryOp ""');function RestoreNewlineBinaryOp(e,t){let r=e.enter&&e.enter("RestoreNewlineBinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestoreNewlineBinaryOp$parser(e,t);if(!n)return void(e.exit&&e.exit("RestoreNewlineBinaryOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RestoreNewlineBinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RestoreNewlineBinaryOp",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidNewlineBinaryOp.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("RestoreNewlineBinaryOp",t,l,i),l}var NewlineBinaryOpAllowed$parser=(0,import_lib2.$EXPECT)($L0,'NewlineBinaryOpAllowed ""');function NewlineBinaryOpAllowed(e,t){let r=e.enter&&e.enter("NewlineBinaryOpAllowed",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NewlineBinaryOpAllowed$parser(e,t);if(!n)return void(e.exit&&e.exit("NewlineBinaryOpAllowed",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NewlineBinaryOpAllowed",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NewlineBinaryOpAllowed",t,r,i),r}n.loc,n.value;let l,o=function(e){if(config.verbose&&console.log("forbidNewlineBinaryOp:",state.forbidNewlineBinaryOp),state.newlineBinaryOpForbidden)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("NewlineBinaryOpAllowed",t,l,i),l}var AllowImplicitFragment$parser=(0,import_lib2.$EXPECT)($L0,'AllowImplicitFragment ""');function AllowImplicitFragment(e,t){let r=e.enter&&e.enter("AllowImplicitFragment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowImplicitFragment$parser(e,t);if(!n)return void(e.exit&&e.exit("AllowImplicitFragment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AllowImplicitFragment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AllowImplicitFragment",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidImplicitFragment.push(!1));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("AllowImplicitFragment",t,l,i),l}var ForbidImplicitFragment$parser=(0,import_lib2.$EXPECT)($L0,'ForbidImplicitFragment ""');function ForbidImplicitFragment(e,t){let r=e.enter&&e.enter("ForbidImplicitFragment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbidImplicitFragment$parser(e,t);if(!n)return void(e.exit&&e.exit("ForbidImplicitFragment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForbidImplicitFragment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForbidImplicitFragment",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidImplicitFragment.push(!0));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ForbidImplicitFragment",t,l,i),l}var RestoreImplicitFragment$parser=(0,import_lib2.$EXPECT)($L0,'RestoreImplicitFragment ""');function RestoreImplicitFragment(e,t){let r=e.enter&&e.enter("RestoreImplicitFragment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestoreImplicitFragment$parser(e,t);if(!n)return void(e.exit&&e.exit("RestoreImplicitFragment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RestoreImplicitFragment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RestoreImplicitFragment",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidImplicitFragment.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("RestoreImplicitFragment",t,l,i),l}var ImplicitFragmentAllowed$parser=(0,import_lib2.$EXPECT)($L0,'ImplicitFragmentAllowed ""');function ImplicitFragmentAllowed(e,t){let r=e.enter&&e.enter("ImplicitFragmentAllowed",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplicitFragmentAllowed$parser(e,t);if(!n)return void(e.exit&&e.exit("ImplicitFragmentAllowed",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImplicitFragmentAllowed",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImplicitFragmentAllowed",t,r,i),r}n.loc,n.value;let l,o=function(e){if(config.verbose&&console.log("forbidImplicitFragment:",state.forbidImplicitFragment),state.implicitFragmentForbidden)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ImplicitFragmentAllowed",t,l,i),l}var AllowPipeline$parser=(0,import_lib2.$EXPECT)($L0,'AllowPipeline ""');function AllowPipeline(e,t){let r=e.enter&&e.enter("AllowPipeline",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowPipeline$parser(e,t);if(!n)return void(e.exit&&e.exit("AllowPipeline",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AllowPipeline",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AllowPipeline",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidPipeline.push(!1));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("AllowPipeline",t,l,i),l}var ForbidPipeline$parser=(0,import_lib2.$EXPECT)($L0,'ForbidPipeline ""');function ForbidPipeline(e,t){let r=e.enter&&e.enter("ForbidPipeline",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbidPipeline$parser(e,t);if(!n)return void(e.exit&&e.exit("ForbidPipeline",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ForbidPipeline",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ForbidPipeline",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidPipeline.push(!0));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ForbidPipeline",t,l,i),l}var RestorePipeline$parser=(0,import_lib2.$EXPECT)($L0,'RestorePipeline ""');function RestorePipeline(e,t){let r=e.enter&&e.enter("RestorePipeline",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestorePipeline$parser(e,t);if(!n)return void(e.exit&&e.exit("RestorePipeline",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RestorePipeline",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RestorePipeline",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.forbidPipeline.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("RestorePipeline",t,l,i),l}var PipelineAllowed$parser=(0,import_lib2.$EXPECT)($L0,'PipelineAllowed ""');function PipelineAllowed(e,t){let r=e.enter&&e.enter("PipelineAllowed",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PipelineAllowed$parser(e,t);if(!n)return void(e.exit&&e.exit("PipelineAllowed",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PipelineAllowed",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PipelineAllowed",t,r,i),r}n.loc,n.value;let l,o=function(e){if(config.verbose&&console.log("forbidPipeline:",state.forbidPipeline),state.pipelineForbidden)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("PipelineAllowed",t,l,i),l}var AllowAll$parser=(0,import_lib2.$S)(AllowTrailingMemberProperty,AllowBracedApplication,AllowIndentedApplication,AllowClassImplicitCall,AllowNestedBinaryOp,AllowNewlineBinaryOp,AllowImplicitFragment,AllowPipeline);function AllowAll(e,t){let r=e.enter&&e.enter("AllowAll",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AllowAll$parser(e,t);return n&&e.tokenize&&(n.value={type:"AllowAll",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("AllowAll",t,n,i),n}var RestoreAll$parser=(0,import_lib2.$S)(RestoreTrailingMemberProperty,RestoreBracedApplication,RestoreIndentedApplication,RestoreClassImplicitCall,RestoreNestedBinaryOp,RestoreNewlineBinaryOp,RestoreImplicitFragment,RestorePipeline);function RestoreAll(e,t){let r=e.enter&&e.enter("RestoreAll",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestoreAll$parser(e,t);return n&&e.tokenize&&(n.value={type:"RestoreAll",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RestoreAll",t,n,i),n}var CommaExpressionStatement$parser=(0,import_lib2.$S)(CommaExpressionSpread);function CommaExpressionStatement(e,t){let r=e.enter&&e.enter("CommaExpressionStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CommaExpressionStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("CommaExpressionStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CommaExpressionStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CommaExpressionStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,makeExpressionStatement(o[0]));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CommaExpressionStatement",t,l,i),l}var ExpressionStatement$1$parser=(0,import_lib2.$S)(AssignmentExpression);function ExpressionStatement$0(e,t){return IterationExpression(e,t)}function ExpressionStatement$1(e,t){let r=ExpressionStatement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,makeExpressionStatement(n[0]));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExpressionStatement(e,t){let r=e.enter&&e.enter("ExpressionStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExpressionStatement$0(e,t);return n||(n=ExpressionStatement$1(e,t)),n&&e.tokenize&&(n.value={type:"ExpressionStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ExpressionStatement",t,n,i),n}var KeywordStatement$0$parser=(0,import_lib2.$S)(Break,(0,import_lib2.$E)((0,import_lib2.$S)(_,LabelIdentifier)),(0,import_lib2.$E)((0,import_lib2.$S)(_,With,MaybeNestedExpression))),KeywordStatement$1$parser=(0,import_lib2.$S)(Continue,_,Switch),KeywordStatement$2$parser=(0,import_lib2.$S)(Continue,(0,import_lib2.$E)((0,import_lib2.$S)(_,LabelIdentifier)),(0,import_lib2.$E)((0,import_lib2.$S)(_,With,MaybeNestedExpression))),KeywordStatement$4$parser=(0,import_lib2.$S)(Return,(0,import_lib2.$N)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L15,'KeywordStatement ":"'),(0,import_lib2.$EXPECT)($L7,'KeywordStatement "."'),AfterReturnShorthand)),(0,import_lib2.$E)(MaybeParenNestedExpression));function KeywordStatement$0(e,t){let r=KeywordStatement$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){let o=[i];return n&&o.push(n),l&&o.push({type:"Error",subtype:"Warning",message:"'break with' outside of loop that returns a value"}),{type:"BreakStatement",label:n?.[1],with:l?.[2],children:o}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function KeywordStatement$1(e,t){let r=KeywordStatement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],n[1],{type:"ContinueStatement",special:n[2].token,children:[]});return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function KeywordStatement$2(e,t){let r=KeywordStatement$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){let o=[i];return n&&o.push(n),l&&o.push({type:"Error",subtype:"Warning",message:"'continue with' outside of loop that returns a value"}),{type:"ContinueStatement",label:n?.[1],with:l?.[2],children:o}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function KeywordStatement$3(e,t){return DebuggerStatement(e,t)}function KeywordStatement$4(e,t){let r=KeywordStatement$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return{type:"ReturnStatement",expression:l,children:[i,l]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function KeywordStatement$5(e,t){return ThrowStatement(e,t)}function KeywordStatement(e,t){let r=e.enter&&e.enter("KeywordStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=KeywordStatement$0(e,t);return n||(n=KeywordStatement$1(e,t)),n||(n=KeywordStatement$2(e,t)),n||(n=KeywordStatement$3(e,t)),n||(n=KeywordStatement$4(e,t)),n||(n=KeywordStatement$5(e,t)),n&&e.tokenize&&(n.value={type:"KeywordStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("KeywordStatement",t,n,i),n}var DebuggerStatement$parser=(0,import_lib2.$S)(Debugger);function DebuggerStatement(e,t){let r=e.enter&&e.enter("DebuggerStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DebuggerStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("DebuggerStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DebuggerStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DebuggerStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r){return{type:"DebuggerStatement",children:r}}(import_lib2.SKIP,0,o,o[0]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("DebuggerStatement",t,l,i),l}var ThrowStatement$parser=(0,import_lib2.$S)(Throw,MaybeParenNestedExpression);function ThrowStatement(e,t){let r=e.enter&&e.enter("ThrowStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ThrowStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("ThrowStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ThrowStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ThrowStatement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r){return{type:"ThrowStatement",children:r}}(import_lib2.SKIP,0,o,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ThrowStatement",t,l,i),l}var Break$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L129,'Break "break"'),NonIdContinue);function Break(e,t){let r=e.enter&&e.enter("Break",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Break$parser(e,t);if(!n)return void(e.exit&&e.exit("Break",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Break",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Break",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Break",t,l,i),l}var Continue$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L130,'Continue "continue"'),NonIdContinue);function Continue(e,t){let r=e.enter&&e.enter("Continue",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Continue$parser(e,t);if(!n)return void(e.exit&&e.exit("Continue",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Continue",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Continue",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Continue",t,l,i),l}var Debugger$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L131,'Debugger "debugger"'),NonIdContinue);function Debugger(e,t){let r=e.enter&&e.enter("Debugger",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Debugger$parser(e,t);if(!n)return void(e.exit&&e.exit("Debugger",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Debugger",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Debugger",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Debugger",t,l,i),l}var MaybeNestedNonPipelineExpression$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(NestedBulletedArray),(0,import_lib2.$N)(NestedImplicitObjectLiteral),PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,NonPipelineExpression)),PopIndent,(0,import_lib2.$E)(AllowedTrailingCallExpressions)),MaybeNestedNonPipelineExpression$1$parser=(0,import_lib2.$S)(ForbidImplicitFragment,(0,import_lib2.$E)(NonPipelineExpression),RestoreImplicitFragment);function MaybeNestedNonPipelineExpression$0(e,t){let r=MaybeNestedNonPipelineExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){return o?p?[o,p]:o:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedNonPipelineExpression$1(e,t){let r=MaybeNestedNonPipelineExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedNonPipelineExpression(e,t){let r=e.enter&&e.enter("MaybeNestedNonPipelineExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeNestedNonPipelineExpression$0(e,t);return n||(n=MaybeNestedNonPipelineExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"MaybeNestedNonPipelineExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeNestedNonPipelineExpression",t,n,i),n}var MaybeNestedPostfixedExpression$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(NestedBulletedArray),(0,import_lib2.$N)(NestedImplicitObjectLiteral),PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,PostfixedExpression)),PopIndent,(0,import_lib2.$E)(AllowedTrailingCallExpressions)),MaybeNestedPostfixedExpression$1$parser=(0,import_lib2.$S)(ForbidImplicitFragment,(0,import_lib2.$E)(PostfixedExpression),RestoreImplicitFragment);function MaybeNestedPostfixedExpression$0(e,t){let r=MaybeNestedPostfixedExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){return o?p?[o,p]:o:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedPostfixedExpression$1(e,t){let r=MaybeNestedPostfixedExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedPostfixedExpression(e,t){let r=e.enter&&e.enter("MaybeNestedPostfixedExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeNestedPostfixedExpression$0(e,t);return n||(n=MaybeNestedPostfixedExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"MaybeNestedPostfixedExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeNestedPostfixedExpression",t,n,i),n}var MaybeNestedPostfixedExpressionOrCommaLoop$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(NestedBulletedArray),(0,import_lib2.$N)(NestedImplicitObjectLiteral),PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,PostfixedExpressionOrCommaLoop)),PopIndent,(0,import_lib2.$E)(AllowedTrailingCallExpressions)),MaybeNestedPostfixedExpressionOrCommaLoop$1$parser=(0,import_lib2.$S)(ForbidImplicitFragment,(0,import_lib2.$E)(PostfixedExpressionOrCommaLoop),RestoreImplicitFragment);function MaybeNestedPostfixedExpressionOrCommaLoop$0(e,t){let r=MaybeNestedPostfixedExpressionOrCommaLoop$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){return o?p?[o,p]:o:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedPostfixedExpressionOrCommaLoop$1(e,t){let r=MaybeNestedPostfixedExpressionOrCommaLoop$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedPostfixedExpressionOrCommaLoop(e,t){let r=e.enter&&e.enter("MaybeNestedPostfixedExpressionOrCommaLoop",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeNestedPostfixedExpressionOrCommaLoop$0(e,t);return n||(n=MaybeNestedPostfixedExpressionOrCommaLoop$1(e,t)),n&&e.tokenize&&(n.value={type:"MaybeNestedPostfixedExpressionOrCommaLoop",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeNestedPostfixedExpressionOrCommaLoop",t,n,i),n}var MaybeNestedPostfixedCommaExpression$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(NestedBulletedArray),(0,import_lib2.$N)(NestedImplicitObjectLiteral),PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,PostfixedCommaExpression)),PopIndent,(0,import_lib2.$E)(AllowedTrailingCallExpressions)),MaybeNestedPostfixedCommaExpression$1$parser=(0,import_lib2.$S)(ForbidImplicitFragment,(0,import_lib2.$E)(PostfixedCommaExpression),RestoreImplicitFragment);function MaybeNestedPostfixedCommaExpression$0(e,t){let r=MaybeNestedPostfixedCommaExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){return o?p?[o,p]:o:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedPostfixedCommaExpression$1(e,t){let r=MaybeNestedPostfixedCommaExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedPostfixedCommaExpression(e,t){let r=e.enter&&e.enter("MaybeNestedPostfixedCommaExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeNestedPostfixedCommaExpression$0(e,t);return n||(n=MaybeNestedPostfixedCommaExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"MaybeNestedPostfixedCommaExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeNestedPostfixedCommaExpression",t,n,i),n}var NestedPostfixedExpressionNoTrailing$2$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,PostfixedExpression)),PopIndent);function NestedPostfixedExpressionNoTrailing$0(e,t){return NestedBulletedArray(e,t)}function NestedPostfixedExpressionNoTrailing$1(e,t){return NestedImplicitObjectLiteral(e,t)}function NestedPostfixedExpressionNoTrailing$2(e,t){let r=NestedPostfixedExpressionNoTrailing$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NestedPostfixedExpressionNoTrailing(e,t){let r=e.enter&&e.enter("NestedPostfixedExpressionNoTrailing",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedPostfixedExpressionNoTrailing$0(e,t);return n||(n=NestedPostfixedExpressionNoTrailing$1(e,t)),n||(n=NestedPostfixedExpressionNoTrailing$2(e,t)),n&&e.tokenize&&(n.value={type:"NestedPostfixedExpressionNoTrailing",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedPostfixedExpressionNoTrailing",t,n,i),n}var MaybeNestedExpression$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(NestedBulletedArray),(0,import_lib2.$N)(NestedImplicitObjectLiteral),PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,Expression)),PopIndent,(0,import_lib2.$E)(AllowedTrailingCallExpressions)),MaybeNestedExpression$1$parser=(0,import_lib2.$S)(ForbidImplicitFragment,(0,import_lib2.$E)(Expression),RestoreImplicitFragment);function MaybeNestedExpression$0(e,t){let r=MaybeNestedExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){return o?p?[o,p]:o:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedExpression$1(e,t){let r=MaybeNestedExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedExpression(e,t){let r=e.enter&&e.enter("MaybeNestedExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeNestedExpression$0(e,t);return n||(n=MaybeNestedExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"MaybeNestedExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeNestedExpression",t,n,i),n}var MaybeParenNestedExpression$0$parser=(0,import_lib2.$Y)((0,import_lib2.$S)((0,import_lib2.$E)(_),PostfixStatement,NoBlock)),MaybeParenNestedExpression$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),Expression),MaybeParenNestedExpression$2$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),(0,import_lib2.$C)(ArrayLiteral,ObjectLiteral)),MaybeParenNestedExpression$3$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),InsertSpace,InsertOpenParen,PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,Expression)),PopIndent,(0,import_lib2.$E)(AllowedTrailingCallExpressions),InsertNewline,InsertIndent,InsertCloseParen);function MaybeParenNestedExpression$0(e,t){let r=MaybeParenNestedExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return""}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function MaybeParenNestedExpression$1(e,t){let r=MaybeParenNestedExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeParenNestedExpression$2(e,t){let r=MaybeParenNestedExpression$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeParenNestedExpression$3(e,t){let r=MaybeParenNestedExpression$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s,u,c,m){return a?[n,l,a,s,u,c,m]:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeParenNestedExpression(e,t){let r=e.enter&&e.enter("MaybeParenNestedExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeParenNestedExpression$0(e,t);return n||(n=MaybeParenNestedExpression$1(e,t)),n||(n=MaybeParenNestedExpression$2(e,t)),n||(n=MaybeParenNestedExpression$3(e,t)),n&&e.tokenize&&(n.value={type:"MaybeParenNestedExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeParenNestedExpression",t,n,i),n}var ImportDeclaration$0$parser=(0,import_lib2.$S)(Import,_,Identifier,(0,import_lib2.$E)(_),Equals,__,(0,import_lib2.$EXPECT)($L132,'ImportDeclaration "require"'),NonIdContinue,Arguments),ImportDeclaration$1$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$S)(Import,SameLineOrIndentedFurther),ImpliedImport),Operator,(0,import_lib2.$E)(OperatorBehavior),SameLineOrIndentedFurther,OperatorNamedImports,SameLineOrIndentedFurther,FromClause),ImportDeclaration$2$parser=(0,import_lib2.$S)(Import,SameLineOrIndentedFurther,(0,import_lib2.$E)((0,import_lib2.$S)(TypeKeyword,SameLineOrIndentedFurther)),ImportClause,__,FromClause),ImportDeclaration$3$parser=(0,import_lib2.$S)(Import,(0,import_lib2.$Y)((0,import_lib2.$EXPECT)($R35,"ImportDeclaration /\\s/")),SameLineOrIndentedFurther,ModuleSpecifier),ImportDeclaration$4$parser=(0,import_lib2.$S)(Import,(0,import_lib2.$E)(_),(0,import_lib2.$E)(UnclosedSingleLineStringLiteral),(0,import_lib2.$Y)(EOS)),ImportDeclaration$5$parser=(0,import_lib2.$S)(ImpliedImport,(0,import_lib2.$E)((0,import_lib2.$S)(TypeKeyword,SameLineOrIndentedFurther)),ImportClause,SameLineOrIndentedFurther,FromClause),ImportDeclaration$6$parser=(0,import_lib2.$S)(FromClause,SameLineOrIndentedFurther,Import,SameLineOrIndentedFurther,Operator,(0,import_lib2.$E)(OperatorBehavior),SameLineOrIndentedFurther,OperatorNamedImports),ImportDeclaration$7$parser=(0,import_lib2.$S)(FromClause,SameLineOrIndentedFurther,Import,SameLineOrIndentedFurther,(0,import_lib2.$E)((0,import_lib2.$S)(TypeKeyword,SameLineOrIndentedFurther)),ImportClause);function ImportDeclaration$0(e,t){let r=ImportDeclaration$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,a=n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],{type:"ImportDeclaration",children:[[{...a,ts:!0},{...a,token:"const",js:!0}],o.slice(1)]});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportDeclaration$1(e,t){let r=ImportDeclaration$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s){var u=i,c=l,m=o,d=a,f=p,$=s;let b=[];return c?.error&&b.push(c.error),d.specifiers.forEach(e=>{if(setOperatorBehavior(e.binding.name,e.behavior??c),e.behavior?.error)return b.push(e.behavior.error)}),{type:"ImportDeclaration",children:[u,...b,trimFirstSpace(m),d,f,$],imports:d,from:$}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportDeclaration$2(e,t){let r=ImportDeclaration$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){return{type:"ImportDeclaration",children:r,imports:o,from:p,ts:!!l}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportDeclaration$3(e,t){let r=ImportDeclaration$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return{type:"ImportDeclaration",children:[i,l,o],module:o}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportDeclaration$4(e,t){let r=ImportDeclaration$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],n[3],{type:"ImportDeclaration",children:[o,a,...p??[{type:"Error",message:'Expected module or import clause after "import"'},'""']]});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportDeclaration$5(e,t){let r=ImportDeclaration$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=n[4],m=a,d=p,f=s,$=u,(c=o).$loc={pos:$[0].$loc.pos-1,length:$[0].$loc.length+1},{type:"ImportDeclaration",ts:!!m,children:[c,m,d,f,$],imports:d,from:$});var o,a,p,s,u,c,m,d,f,$;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportDeclaration$6(e,t){let r=ImportDeclaration$6$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s,u){var c=i,m=n,d=l,f=o,$=p,b=s,S=u;let y=[];return $?.error&&y.push($.error),S.specifiers.forEach(e=>{if(setOperatorBehavior(e.binding.name,e.behavior??$),e.behavior?.error)return y.push(e.behavior.error)}),{type:"ImportDeclaration",children:[d,f,...y,trimFirstSpace(b),S,m,c],imports:S,from:c}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportDeclaration$7(e,t){let r=ImportDeclaration$7$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){return{type:"ImportDeclaration",children:[l,o,a,p,n,i],imports:p,from:i,ts:!!a}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportDeclaration(e,t){let r=e.enter&&e.enter("ImportDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImportDeclaration$0(e,t);return n||(n=ImportDeclaration$1(e,t)),n||(n=ImportDeclaration$2(e,t)),n||(n=ImportDeclaration$3(e,t)),n||(n=ImportDeclaration$4(e,t)),n||(n=ImportDeclaration$5(e,t)),n||(n=ImportDeclaration$6(e,t)),n||(n=ImportDeclaration$7(e,t)),n&&e.tokenize&&(n.value={type:"ImportDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImportDeclaration",t,n,i),n}var ImpliedImport$parser=(0,import_lib2.$EXPECT)($L0,'ImpliedImport ""');function ImpliedImport(e,t){let r=e.enter&&e.enter("ImpliedImport",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImpliedImport$parser(e,t);if(!n)return void(e.exit&&e.exit("ImpliedImport",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImpliedImport",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImpliedImport",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"import "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ImpliedImport",t,l,i),l}var ImportClause$0$parser=(0,import_lib2.$S)(ImportedBinding,(0,import_lib2.$E)((0,import_lib2.$S)(__,Comma,__,(0,import_lib2.$C)(NameSpaceImport,NamedImports))));function ImportClause$0(e,t){let r=ImportClause$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=o,(s=a)?{type:"Declaration",children:[p,...s],names:[...p.names,...s[3].names],binding:p,specifiers:s[3].specifiers}:{type:"Declaration",children:[p],names:p.names,binding:p});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportClause$1(e,t){return NameSpaceImport(e,t)}function ImportClause$2(e,t){return NamedImports(e,t)}function ImportClause(e,t){let r=e.enter&&e.enter("ImportClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImportClause$0(e,t);return n||(n=ImportClause$1(e,t)),n||(n=ImportClause$2(e,t)),n&&e.tokenize&&(n.value={type:"ImportClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImportClause",t,n,i),n}var NameSpaceImport$parser=(0,import_lib2.$S)(Star,ImportAsToken,__,ImportedBinding);function NameSpaceImport(e,t){let r=e.enter&&e.enter("NameSpaceImport",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NameSpaceImport$parser(e,t);if(!n)return void(e.exit&&e.exit("NameSpaceImport",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NameSpaceImport",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NameSpaceImport",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,s=o[0],o[1],o[2],u=o[3],c=s,{type:"Declaration",children:p,names:(m=u).names,binding:m,star:c});var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NameSpaceImport",t,l,i),l}var NamedImports$parser=(0,import_lib2.$S)(OpenBrace,(0,import_lib2.$Q)(TypeAndImportSpecifier),(0,import_lib2.$E)((0,import_lib2.$S)(__,Comma)),__,CloseBrace);function NamedImports(e,t){let r=e.enter&&e.enter("NamedImports",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NamedImports$parser(e,t);if(!n)return void(e.exit&&e.exit("NamedImports",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NamedImports",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NamedImports",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,o[0],s=o[1],o[2],o[3],o[4],{type:"Declaration",children:p,names:(u=s).flatMap(({binding:e})=>e.names),specifiers:u});var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NamedImports",t,l,i),l}var OperatorNamedImports$parser=(0,import_lib2.$S)(OpenBrace,(0,import_lib2.$Q)(OperatorImportSpecifier),__,CloseBrace);function OperatorNamedImports(e,t){let r=e.enter&&e.enter("OperatorNamedImports",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OperatorNamedImports$parser(e,t);if(!n)return void(e.exit&&e.exit("OperatorNamedImports",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OperatorNamedImports",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OperatorNamedImports",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,o[0],s=o[1],o[2],o[3],{type:"Declaration",children:p,names:(u=s).flatMap(({binding:e})=>e.names),specifiers:u});var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("OperatorNamedImports",t,l,i),l}var DynamicNamedImports$parser=(0,import_lib2.$S)(OpenBrace,(0,import_lib2.$Q)(DynamicImportSpecifier),(0,import_lib2.$E)((0,import_lib2.$S)(__,Comma)),__,CloseBrace);function DynamicNamedImports(e,t){let r=e.enter&&e.enter("DynamicNamedImports",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DynamicNamedImports$parser(e,t);if(!n)return void(e.exit&&e.exit("DynamicNamedImports",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DynamicNamedImports",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DynamicNamedImports",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return{type:"Declaration",children:r,specifiers:n}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("DynamicNamedImports",t,l,i),l}function DynamicImportContents$0(e,t){return DynamicNamedImports(e,t)}function DynamicImportContents$1(e,t){return IdentifierName(e,t)}function DynamicImportContents$2(e,t){return Star(e,t)}function DynamicImportContents(e,t){let r=e.enter&&e.enter("DynamicImportContents",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DynamicImportContents$0(e,t);return n||(n=DynamicImportContents$1(e,t)),n||(n=DynamicImportContents$2(e,t)),n&&e.tokenize&&(n.value={type:"DynamicImportContents",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DynamicImportContents",t,n,i),n}var FromClause$parser=(0,import_lib2.$S)(From,SameLineOrIndentedFurther,(0,import_lib2.$E)((0,import_lib2.$C)(ModuleSpecifier,UnclosedSingleLineStringLiteral)));function FromClause(e,t){let r=e.enter&&e.enter("FromClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FromClause$parser(e,t);if(!n)return void(e.exit&&e.exit("FromClause",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"FromClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("FromClause",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=u,c??=[{type:"Error",message:"Expected module specifier after `from`"},'""'],Array.isArray(c)?[p,s,...c]:[p,s,c]);var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("FromClause",t,l,i),l}var ImportAssertion$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L133,'ImportAssertion "with"'),(0,import_lib2.$EXPECT)($L134,'ImportAssertion "assert"')),NonIdContinue,(0,import_lib2.$E)(_),ObjectLiteral);function ImportAssertion(e,t){let r=e.enter&&e.enter("ImportAssertion",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImportAssertion$parser(e,t);if(!n)return void(e.exit&&e.exit("ImportAssertion",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImportAssertion",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImportAssertion",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a){return{type:"ImportAssertion",keyword:n,object:a,children:r}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ImportAssertion",t,l,i),l}var TypeAndImportSpecifier$0$parser=(0,import_lib2.$S)(__,TypeKeyword,ImportSpecifier),TypeAndImportSpecifier$2$parser=(0,import_lib2.$S)(__,Operator,OperatorImportSpecifier);function TypeAndImportSpecifier$0(e,t){let r=TypeAndImportSpecifier$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],{ts:!0,children:o,binding:a.binding});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeAndImportSpecifier$1(e,t){return ImportSpecifier(e,t)}function TypeAndImportSpecifier$2(e,t){let r=TypeAndImportSpecifier$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],n[1],a=n[2],p=o,assert("Identifier"===(s=a).binding.type,"Expected identifier after `operator`"),setOperatorBehavior(s.binding.name,s.behavior),{...s,children:[p,trimFirstSpace(s[0]),s.children.slice(1)]});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeAndImportSpecifier(e,t){let r=e.enter&&e.enter("TypeAndImportSpecifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeAndImportSpecifier$0(e,t);return n||(n=TypeAndImportSpecifier$1(e,t)),n||(n=TypeAndImportSpecifier$2(e,t)),n&&e.tokenize&&(n.value={type:"TypeAndImportSpecifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeAndImportSpecifier",t,n,i),n}var ImportSpecifier$0$parser=(0,import_lib2.$S)(__,ModuleExportName,ImportAsToken,__,ImportedBinding,ObjectPropertyDelimiter),ImportSpecifier$1$parser=(0,import_lib2.$S)(__,ImportedBinding,ObjectPropertyDelimiter);function ImportSpecifier$0(e,t){let r=ImportSpecifier$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=n[4],c=n[5],m=p,d=s,$=c,{source:a,binding:f=u,children:[o,propertyKey(a),m,d,f,$]});var o,a,p,s,u,c,m,d,f,$;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportSpecifier$1(e,t){let r=ImportSpecifier$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,c=p,(u=a).unicode?{source:u,binding:u,children:[s,propertyKey(u)," as ",u,c]}:{source:u,binding:u,children:[s,u,c]});var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportSpecifier(e,t){let r=e.enter&&e.enter("ImportSpecifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImportSpecifier$0(e,t);return n||(n=ImportSpecifier$1(e,t)),n&&e.tokenize&&(n.value={type:"ImportSpecifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImportSpecifier",t,n,i),n}var OperatorImportSpecifier$0$parser=(0,import_lib2.$S)(__,ModuleExportName,(0,import_lib2.$E)(OperatorBehavior),ImportAsToken,__,ImportedBinding,ObjectPropertyDelimiter),OperatorImportSpecifier$1$parser=(0,import_lib2.$S)(__,ImportedBinding,(0,import_lib2.$E)(OperatorBehavior),ObjectPropertyDelimiter);function OperatorImportSpecifier$0(e,t){let r=OperatorImportSpecifier$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=n[4],c=n[5],m=n[6],{binding:c,behavior:p,children:[o,a,p?.error,s,u,c,m]});var o,a,p,s,u,c,m;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorImportSpecifier$1(e,t){let r=OperatorImportSpecifier$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],{binding:a,behavior:p,children:[o,a,p?.error,s]});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OperatorImportSpecifier(e,t){let r=e.enter&&e.enter("OperatorImportSpecifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OperatorImportSpecifier$0(e,t);return n||(n=OperatorImportSpecifier$1(e,t)),n&&e.tokenize&&(n.value={type:"OperatorImportSpecifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OperatorImportSpecifier",t,n,i),n}var DynamicImportSpecifier$parser=(0,import_lib2.$S)(__,(0,import_lib2.$E)((0,import_lib2.$S)(TypeKeyword,__,(0,import_lib2.$Y)(DynamicModuleExportName))),DynamicModuleExportName,(0,import_lib2.$E)((0,import_lib2.$S)(ImportAsToken,__,DynamicModuleExportName)),ObjectPropertyDelimiter);function DynamicImportSpecifier(e,t){let r=e.enter&&e.enter("DynamicImportSpecifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DynamicImportSpecifier$parser(e,t);if(!n)return void(e.exit&&e.exit("DynamicImportSpecifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DynamicImportSpecifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DynamicImportSpecifier",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,o[0],s=o[1],u=o[2],c=o[3],o[4],m=s,d=c,{source:u,binding:d?.[2],ts:!!m,children:p});var p,s,u,c,m,d;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("DynamicImportSpecifier",t,l,i),l}function DynamicModuleExportName$0(e,t){return ModuleExportName(e,t)}function DynamicModuleExportName$1(e,t){return ComputedPropertyName(e,t)}function DynamicModuleExportName(e,t){let r=e.enter&&e.enter("DynamicModuleExportName",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DynamicModuleExportName$0(e,t);return n||(n=DynamicModuleExportName$1(e,t)),n&&e.tokenize&&(n.value={type:"DynamicModuleExportName",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DynamicModuleExportName",t,n,i),n}var ImportAsToken$0$parser=(0,import_lib2.$S)(__,As),ImportAsToken$1$parser=(0,import_lib2.$S)(Loc,__,Colon,(0,import_lib2.$E)((0,import_lib2.$EXPECT)($L16,'ImportAsToken " "')));function ImportAsToken$0(e,t){return ImportAsToken$0$parser(e,t)}function ImportAsToken$1(e,t){let r=ImportAsToken$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=n,p=l;let s=[...a,{...p,token:"as "}];return a.length||s.unshift({$loc:o.$loc,token:" "}),{children:s}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ImportAsToken(e,t){let r=e.enter&&e.enter("ImportAsToken",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImportAsToken$0(e,t);return n||(n=ImportAsToken$1(e,t)),n&&e.tokenize&&(n.value={type:"ImportAsToken",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImportAsToken",t,n,i),n}function ModuleExportName$0(e,t){return StringLiteral(e,t)}function ModuleExportName$1(e,t){return IdentifierName(e,t)}function ModuleExportName(e,t){let r=e.enter&&e.enter("ModuleExportName",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ModuleExportName$0(e,t);return n||(n=ModuleExportName$1(e,t)),n&&e.tokenize&&(n.value={type:"ModuleExportName",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ModuleExportName",t,n,i),n}var ModuleSpecifier$parser=(0,import_lib2.$S)(UnprocessedModuleSpecifier,(0,import_lib2.$E)(ImportAssertion));function ModuleSpecifier(e,t){let r=e.enter&&e.enter("ModuleSpecifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ModuleSpecifier$parser(e,t);if(!n)return void(e.exit&&e.exit("ModuleSpecifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ModuleSpecifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ModuleSpecifier",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],c=s,{type:"ModuleSpecifier",module:u=rewriteModuleSpecifier(u=p),assertion:c,children:[u,c]});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ModuleSpecifier",t,l,i),l}function UnprocessedModuleSpecifier$0(e,t){return SingleLineStringLiteral(e,t)}function UnprocessedModuleSpecifier$1(e,t){return UnquotedSpecifier(e,t)}function UnprocessedModuleSpecifier(e,t){let r=e.enter&&e.enter("UnprocessedModuleSpecifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnprocessedModuleSpecifier$0(e,t);return n||(n=UnprocessedModuleSpecifier$1(e,t)),n&&e.tokenize&&(n.value={type:"UnprocessedModuleSpecifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UnprocessedModuleSpecifier",t,n,i),n}var UnquotedSpecifier$parser=(0,import_lib2.$EXPECT)($R36,"UnquotedSpecifier /[^;\"'\\s=>]+/");function UnquotedSpecifier(e,t){let r=e.enter&&e.enter("UnquotedSpecifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnquotedSpecifier$parser(e,t);if(!n)return void(e.exit&&e.exit("UnquotedSpecifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"UnquotedSpecifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("UnquotedSpecifier",t,r,i),r}let l,o=n.loc,a=n.value,p=(import_lib2.SKIP,{$loc:o,token:`"${a}"`});return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("UnquotedSpecifier",t,l,i),l}function ImportedBinding(e,t){let r=e.enter&&e.enter("ImportedBinding",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BindingIdentifier(e,t);return n&&e.tokenize&&(n.value={type:"ImportedBinding",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImportedBinding",t,n,i),n}var ExportDeclaration$0$parser=(0,import_lib2.$S)(Export,(0,import_lib2.$E)(_),Equals,MaybeNestedExpression),ExportDeclaration$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Decorators),Export,__,Default,__,(0,import_lib2.$N)(FunctionDeclaration),(0,import_lib2.$C)(LexicalDeclaration,VariableStatement,TypeAliasDeclaration,NamespaceDeclaration,EnumDeclaration,OperatorDeclaration)),ExportDeclaration$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Decorators),Export,__,Default,__,(0,import_lib2.$C)(HoistableDeclaration,ClassDeclaration,InterfaceDeclaration,MaybeNestedPostfixedExpressionOrCommaLoop)),ExportDeclaration$3$parser=(0,import_lib2.$S)(Export,__,ExportFromClause,__,FromClause),ExportDeclaration$4$parser=(0,import_lib2.$S)(FromClause,__,Export,__,ExportFromClause),ExportDeclaration$5$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Decorators),Export,__,(0,import_lib2.$C)(Declaration,VariableStatement,TypeAndNamedExports,ExportVarDec));function ExportDeclaration$0(e,t){let r=ExportDeclaration$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,a=n[0],n[1],n[2],n[3],{type:"ExportDeclaration",children:[[{...a,ts:!0},{...a,token:"module.exports",js:!0}],o.slice(1)]});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExportDeclaration$1(e,t){let r=ExportDeclaration$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s){var u=s;let c,m;return u.id?c=u.id:(assert(u.names,"Could not find name of declaration in export default"),1!==u.names.length&&(m={type:"Error",message:`export default with ${u.names.length} variable declaration (should be 1)`}),c=u.names[0]),[u,{children:[";"],ts:u.ts},m??{type:"ExportDeclaration",declaration:c,ts:u.ts,children:[...r.slice(0,-2),c]}]}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4],n[5],n[6]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExportDeclaration$2(e,t){let r=ExportDeclaration$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],n[2],n[3],n[4],{type:"ExportDeclaration",declaration:a=n[5],ts:a.ts,children:o});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExportDeclaration$3(e,t){let r=ExportDeclaration$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],n[3],n[4],{type:"ExportDeclaration",ts:a.ts,children:o});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExportDeclaration$4(e,t){let r=ExportDeclaration$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=n[4],c=o,m=a,d=p,f=s,{type:"ExportDeclaration",ts:($=u).ts,children:[d,f,$," ",c,trimFirstSpace(m)]});var o,a,p,s,u,c,m,d,f,$;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExportDeclaration$5(e,t){let r=ExportDeclaration$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){var a=i,p=o;let s=buildExportSplitClause(p);return s?{type:"ExportDeclaration",declaration:p,ts:p.ts,children:[a,p,s]}:{type:"ExportDeclaration",declaration:p,ts:p.ts,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExportDeclaration(e,t){let r=e.enter&&e.enter("ExportDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExportDeclaration$0(e,t);return n||(n=ExportDeclaration$1(e,t)),n||(n=ExportDeclaration$2(e,t)),n||(n=ExportDeclaration$3(e,t)),n||(n=ExportDeclaration$4(e,t)),n||(n=ExportDeclaration$5(e,t)),n&&e.tokenize&&(n.value={type:"ExportDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ExportDeclaration",t,n,i),n}var ExportVarDec$parser=(0,import_lib2.$S)(InsertVar,VariableDeclarationList);function ExportVarDec(e,t){let r=e.enter&&e.enter("ExportVarDec",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExportVarDec$parser(e,t);if(!n)return void(e.exit&&e.exit("ExportVarDec",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExportVarDec",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExportVarDec",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){let l=config.autoConst?"const ":config.autoLet?"let ":"var ";return{...n,children:[{...i,token:l},...n.children],autoExport:!0}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExportVarDec",t,l,i),l}var ExportFromClause$0$parser=(0,import_lib2.$S)(Star,(0,import_lib2.$E)((0,import_lib2.$S)(__,As,__,ModuleExportName)));function ExportFromClause$0(e,t){return ExportFromClause$0$parser(e,t)}function ExportFromClause$1(e,t){return TypeAndNamedExports(e,t)}function ExportFromClause(e,t){let r=e.enter&&e.enter("ExportFromClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExportFromClause$0(e,t);return n||(n=ExportFromClause$1(e,t)),n&&e.tokenize&&(n.value={type:"ExportFromClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ExportFromClause",t,n,i),n}var TypeAndNamedExports$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(TypeKeyword,__)),NamedExports,(0,import_lib2.$N)((0,import_lib2.$S)(__,Equals)));function TypeAndNamedExports(e,t){let r=e.enter&&e.enter("TypeAndNamedExports",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeAndNamedExports$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeAndNamedExports",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeAndNamedExports",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeAndNamedExports",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return i?{ts:!0,children:[i,n]}:n}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeAndNamedExports",t,l,i),l}var NamedExports$0$parser=(0,import_lib2.$S)(OpenBrace,(0,import_lib2.$Q)(ExportSpecifier),(0,import_lib2.$E)((0,import_lib2.$S)(__,Comma)),__,CloseBrace),NamedExports$1$parser=(0,import_lib2.$S)(InsertInlineOpenBrace,ImplicitExportSpecifier,(0,import_lib2.$Q)((0,import_lib2.$S)(ImplicitObjectPropertyDelimiter,ImplicitExportSpecifier)),InsertCloseBrace,(0,import_lib2.$Y)((0,import_lib2.$C)(StatementDelimiter,(0,import_lib2.$S)(__,From))));function NamedExports$0(e,t){return NamedExports$0$parser(e,t)}function NamedExports$1(e,t){let r=NamedExports$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],n[4],[o,a,...p,s]);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NamedExports(e,t){let r=e.enter&&e.enter("NamedExports",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NamedExports$0(e,t);return n||(n=NamedExports$1(e,t)),n&&e.tokenize&&(n.value={type:"NamedExports",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NamedExports",t,n,i),n}var ExportSpecifier$parser=(0,import_lib2.$S)(__,(0,import_lib2.$E)((0,import_lib2.$S)(TypeKeyword,__)),ModuleExportName,(0,import_lib2.$E)((0,import_lib2.$S)(__,As,__,ModuleExportName)),ObjectPropertyDelimiter);function ExportSpecifier(e,t){let r=e.enter&&e.enter("ExportSpecifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExportSpecifier$parser(e,t);if(!n)return void(e.exit&&e.exit("ExportSpecifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExportSpecifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExportSpecifier",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a){var p=i,s=n,u=l,c=o,m=a;let d;d=c?[p,s,u,c[0],c[1],c[2],propertyKey(c[3]),m]:u.unicode?[p,s,u," as ",propertyKey(u),m]:[p,s,u,m];return s?{ts:!0,children:d}:d}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ExportSpecifier",t,l,i),l}var ImplicitExportSpecifier$parser=(0,import_lib2.$S)((0,import_lib2.$N)(Default),ModuleExportName,(0,import_lib2.$E)((0,import_lib2.$S)(__,As,__,ModuleExportName)));function ImplicitExportSpecifier(e,t){let r=e.enter&&e.enter("ImplicitExportSpecifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplicitExportSpecifier$parser(e,t);if(!n)return void(e.exit&&e.exit("ImplicitExportSpecifier",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImplicitExportSpecifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImplicitExportSpecifier",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],p=o[1],s=o[2],u=p,(c=s)?[u,c[0],c[1],c[2],propertyKey(c[3])]:u.unicode?[u," as ",propertyKey(u)]:[u,c]);var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ImplicitExportSpecifier",t,l,i),l}var Declaration$0$parser=ImportDeclaration,Declaration$3$parser=LexicalDeclaration;function Declaration$0(e,t){let r=Declaration$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,(a=n).ts||a.module||!a.imports||!a.from?o:dynamizeImportDeclaration(a));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Declaration$1(e,t){return HoistableDeclaration(e,t)}function Declaration$2(e,t){return ClassDeclaration(e,t)}function Declaration$3(e,t){let r=Declaration$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,o.thisAssignments?.length?{...o,children:[...o.children,...o.splices,";",...o.thisAssignments]}:o.splices?.length?{...o,children:[...o.children,...o.splices]}:o);var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Declaration$4(e,t){return TypeDeclaration(e,t)}function Declaration$5(e,t){return EnumDeclaration(e,t)}function Declaration$6(e,t){return OperatorDeclaration(e,t)}function Declaration$7(e,t){return UsingDeclaration(e,t)}function Declaration(e,t){let r=e.enter&&e.enter("Declaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Declaration$0(e,t);return n||(n=Declaration$1(e,t)),n||(n=Declaration$2(e,t)),n||(n=Declaration$3(e,t)),n||(n=Declaration$4(e,t)),n||(n=Declaration$5(e,t)),n||(n=Declaration$6(e,t)),n||(n=Declaration$7(e,t)),n&&e.tokenize&&(n.value={type:"Declaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Declaration",t,n,i),n}function HoistableDeclaration(e,t){let r=e.enter&&e.enter("HoistableDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=FunctionDeclaration(e,t);return n&&e.tokenize&&(n.value={type:"HoistableDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("HoistableDeclaration",t,n,i),n}var LexicalDeclaration$0$parser=(0,import_lib2.$S)(LetOrConst,LexicalBinding,(0,import_lib2.$Q)((0,import_lib2.$S)(__,Comma,__,LexicalBinding))),LexicalDeclaration$1$parser=(0,import_lib2.$S)(Loc,(0,import_lib2.$C)(BindingPattern,BindingIdentifier),(0,import_lib2.$E)(TypeSuffix),NotDedented,(0,import_lib2.$C)(ConstAssignment,LetAssignment),MaybeNestedPostfixedExpressionOrCommaLoop);function LexicalDeclaration$0(e,t){let r=LexicalDeclaration$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i;let a=[n].concat(l.map(([,,,e])=>e));return{type:"Declaration",children:r,names:a.flatMap(e=>e.names),bindings:a,decl:o,splices:a.flatMap(e=>e.splices),thisAssignments:a.flatMap(e=>e.thisAssignments)}}(import_lib2.SKIP,0,n,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function LexicalDeclaration$1(e,t){let r=LexicalDeclaration$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=n[3],u=n[4],c=n[5],m=a,d=p,f=s,b=c,processAssignmentDeclaration({$loc:o,token:($=u).decl},m,d,f,$,b));var o,a,p,s,u,c,m,d,f,$,b;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function LexicalDeclaration(e,t){let r=e.enter&&e.enter("LexicalDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LexicalDeclaration$0(e,t);return n||(n=LexicalDeclaration$1(e,t)),n&&e.tokenize&&(n.value={type:"LexicalDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("LexicalDeclaration",t,n,i),n}var ConstAssignment$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L135,'ConstAssignment ":="'),(0,import_lib2.$EXPECT)($L136,'ConstAssignment "≔"'));function ConstAssignment(e,t){let r=e.enter&&e.enter("ConstAssignment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ConstAssignment$parser(e,t);if(!n)return void(e.exit&&e.exit("ConstAssignment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ConstAssignment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ConstAssignment",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"=",decl:"const "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ConstAssignment",t,l,i),l}var LetAssignment$parser=(0,import_lib2.$EXPECT)($L137,'LetAssignment ".="');function LetAssignment(e,t){let r=e.enter&&e.enter("LetAssignment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LetAssignment$parser(e,t);if(!n)return void(e.exit&&e.exit("LetAssignment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"LetAssignment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("LetAssignment",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"=",decl:"let "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("LetAssignment",t,l,i),l}var TypeAssignment$parser=(0,import_lib2.$EXPECT)($L138,'TypeAssignment "::="');function TypeAssignment(e,t){let r=e.enter&&e.enter("TypeAssignment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeAssignment$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeAssignment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeAssignment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeAssignment",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"="}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeAssignment",t,l,i),l}var LexicalBinding$0$parser=(0,import_lib2.$S)(BindingPattern,(0,import_lib2.$E)(TypeSuffix),Initializer),LexicalBinding$1$parser=(0,import_lib2.$S)(BindingIdentifier,(0,import_lib2.$E)(TypeSuffix),(0,import_lib2.$E)(Initializer));function LexicalBinding$0(e,t){let r=LexicalBinding$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=n,p=l;let[s,u]=gatherBindingCode(o);return a??=o.typeSuffix,{type:"Binding",children:[o,a,p],names:o.names,pattern:o,typeSuffix:a,initializer:p,splices:s.map(e=>[",",e]),thisAssignments:u.map(e=>["",e,";"])}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function LexicalBinding$1(e,t){let r=LexicalBinding$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,a=n[0],p=n[1],s=n[2],c=p,m=s,{type:"Binding",children:o,names:(u=a).names,pattern:u,typeSuffix:c,initializer:m,splices:[],thisAssignments:[]});var o,a,p,s,u,c,m;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function LexicalBinding(e,t){let r=e.enter&&e.enter("LexicalBinding",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LexicalBinding$0(e,t);return n||(n=LexicalBinding$1(e,t)),n&&e.tokenize&&(n.value={type:"LexicalBinding",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("LexicalBinding",t,n,i),n}var Initializer$parser=(0,import_lib2.$S)(__,Equals,MaybeNestedPostfixedExpression);function Initializer(e,t){let r=e.enter&&e.enter("Initializer",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Initializer$parser(e,t);if(!n)return void(e.exit&&e.exit("Initializer",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Initializer",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Initializer",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return{type:"Initializer",expression:l,children:r}}(import_lib2.SKIP,0,o,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Initializer",t,l,i),l}var VariableStatement$parser=(0,import_lib2.$S)(Var,__,VariableDeclarationList);function VariableStatement(e,t){let r=e.enter&&e.enter("VariableStatement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=VariableStatement$parser(e,t);if(!n)return void(e.exit&&e.exit("VariableStatement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"VariableStatement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("VariableStatement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],{...u,names:u.names,children:[p,...s,...u.children],decl:"var"});var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("VariableStatement",t,l,i),l}var VariableDeclarationList$parser=(0,import_lib2.$S)(LexicalBinding,(0,import_lib2.$Q)((0,import_lib2.$S)(__,Comma,__,LexicalBinding)));function VariableDeclarationList(e,t){let r=e.enter&&e.enter("VariableDeclarationList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=VariableDeclarationList$parser(e,t);if(!n)return void(e.exit&&e.exit("VariableDeclarationList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"VariableDeclarationList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("VariableDeclarationList",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=i,o=n;let a=[l].concat(o.map(([,,,e])=>e));return{type:"Declaration",children:[l,...o],bindings:a,names:a.flatMap(e=>e.names)}}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("VariableDeclarationList",t,l,i),l}var NumericLiteral$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R37,"NumericLiteral /(?=[0-9.])/"),NumericLiteralKind);function NumericLiteral(e,t){let r=e.enter&&e.enter("NumericLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NumericLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("NumericLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NumericLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NumericLiteral",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i,n){return{type:"NumericLiteral",$loc:t,token:n}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("NumericLiteral",t,l,i),l}function NumericLiteralKind$0(e,t){return DecimalBigIntegerLiteral(e,t)}function NumericLiteralKind$1(e,t){return BinaryIntegerLiteral(e,t)}function NumericLiteralKind$2(e,t){return OctalIntegerLiteral(e,t)}function NumericLiteralKind$3(e,t){return HexIntegerLiteral(e,t)}function NumericLiteralKind$4(e,t){return DecimalLiteral(e,t)}function NumericLiteralKind(e,t){let r=e.enter&&e.enter("NumericLiteralKind",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NumericLiteralKind$0(e,t);return n||(n=NumericLiteralKind$1(e,t)),n||(n=NumericLiteralKind$2(e,t)),n||(n=NumericLiteralKind$3(e,t)),n||(n=NumericLiteralKind$4(e,t)),n&&e.tokenize&&(n.value={type:"NumericLiteralKind",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NumericLiteralKind",t,n,i),n}var DecimalBigIntegerLiteral$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R38,"DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));function DecimalBigIntegerLiteral(e,t){let r=e.enter&&e.enter("DecimalBigIntegerLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DecimalBigIntegerLiteral$parser(e,t);return n&&e.tokenize&&(n.value={type:"DecimalBigIntegerLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DecimalBigIntegerLiteral",t,n,i),n}var DecimalLiteral$0$parser=(0,import_lib2.$S)((0,import_lib2.$TEXT)((0,import_lib2.$EXPECT)($R39,"DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")),(0,import_lib2.$N)((0,import_lib2.$S)((0,import_lib2.$EXPECT)($L7,'DecimalLiteral "."'),ExponentPart))),DecimalLiteral$1$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)((0,import_lib2.$EXPECT)($R40,"DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"),(0,import_lib2.$E)(ExponentPart))),DecimalLiteral$2$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)((0,import_lib2.$EXPECT)($R41,"DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"),(0,import_lib2.$E)(ExponentPart)));function DecimalLiteral$0(e,t){let r=DecimalLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],n[1],o+".");var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function DecimalLiteral$1(e,t){return DecimalLiteral$1$parser(e,t)}function DecimalLiteral$2(e,t){return DecimalLiteral$2$parser(e,t)}function DecimalLiteral(e,t){let r=e.enter&&e.enter("DecimalLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DecimalLiteral$0(e,t);return n||(n=DecimalLiteral$1(e,t)),n||(n=DecimalLiteral$2(e,t)),n&&e.tokenize&&(n.value={type:"DecimalLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DecimalLiteral",t,n,i),n}var ExponentPart$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R42,"ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));function ExponentPart(e,t){let r=e.enter&&e.enter("ExponentPart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExponentPart$parser(e,t);return n&&e.tokenize&&(n.value={type:"ExponentPart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ExponentPart",t,n,i),n}var BinaryIntegerLiteral$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R43,"BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));function BinaryIntegerLiteral(e,t){let r=e.enter&&e.enter("BinaryIntegerLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BinaryIntegerLiteral$parser(e,t);return n&&e.tokenize&&(n.value={type:"BinaryIntegerLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BinaryIntegerLiteral",t,n,i),n}var OctalIntegerLiteral$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R44,"OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));function OctalIntegerLiteral(e,t){let r=e.enter&&e.enter("OctalIntegerLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OctalIntegerLiteral$parser(e,t);return n&&e.tokenize&&(n.value={type:"OctalIntegerLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OctalIntegerLiteral",t,n,i),n}var HexIntegerLiteral$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R45,"HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));function HexIntegerLiteral(e,t){let r=e.enter&&e.enter("HexIntegerLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=HexIntegerLiteral$parser(e,t);return n&&e.tokenize&&(n.value={type:"HexIntegerLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("HexIntegerLiteral",t,n,i),n}var IntegerLiteral$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R46,"IntegerLiteral /(?=[0-9])/"),IntegerLiteralKind);function IntegerLiteral(e,t){let r=e.enter&&e.enter("IntegerLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IntegerLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("IntegerLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IntegerLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IntegerLiteral",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i,n){return{$loc:t,token:n}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("IntegerLiteral",t,l,i),l}function IntegerLiteralKind$0(e,t){return DecimalBigIntegerLiteral(e,t)}function IntegerLiteralKind$1(e,t){return BinaryIntegerLiteral(e,t)}function IntegerLiteralKind$2(e,t){return OctalIntegerLiteral(e,t)}function IntegerLiteralKind$3(e,t){return HexIntegerLiteral(e,t)}function IntegerLiteralKind$4(e,t){return DecimalIntegerLiteral(e,t)}function IntegerLiteralKind(e,t){let r=e.enter&&e.enter("IntegerLiteralKind",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IntegerLiteralKind$0(e,t);return n||(n=IntegerLiteralKind$1(e,t)),n||(n=IntegerLiteralKind$2(e,t)),n||(n=IntegerLiteralKind$3(e,t)),n||(n=IntegerLiteralKind$4(e,t)),n&&e.tokenize&&(n.value={type:"IntegerLiteralKind",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("IntegerLiteralKind",t,n,i),n}var DecimalIntegerLiteral$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R47,"DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));function DecimalIntegerLiteral(e,t){let r=e.enter&&e.enter("DecimalIntegerLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DecimalIntegerLiteral$parser(e,t);return n&&e.tokenize&&(n.value={type:"DecimalIntegerLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DecimalIntegerLiteral",t,n,i),n}var StringLiteral$0$parser=(0,import_lib2.$S)(DoubleQuote,DoubleStringCharacters,DoubleQuote),StringLiteral$1$parser=(0,import_lib2.$S)(SingleQuote,SingleStringCharacters,SingleQuote);function StringLiteral$0(e,t){let r=StringLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=(import_lib2.SKIP,a=n,l[0],p=l[1],l[2],{type:"StringLiteral",token:`"${modifyString(p.token)}"`,$loc:a});var a,p;return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function StringLiteral$1(e,t){let r=StringLiteral$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=(import_lib2.SKIP,a=n,l[0],p=l[1],l[2],{type:"StringLiteral",token:`'${modifyString(p.token)}'`,$loc:a});var a,p;return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function StringLiteral(e,t){let r=e.enter&&e.enter("StringLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=StringLiteral$0(e,t);return n||(n=StringLiteral$1(e,t)),n&&e.tokenize&&(n.value={type:"StringLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("StringLiteral",t,n,i),n}var DoubleStringCharacters$parser=(0,import_lib2.$EXPECT)($R48,'DoubleStringCharacters /(?:\\\\.|[^"])*/');function DoubleStringCharacters(e,t){let r=e.enter&&e.enter("DoubleStringCharacters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DoubleStringCharacters$parser(e,t);if(!n)return void(e.exit&&e.exit("DoubleStringCharacters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DoubleStringCharacters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DoubleStringCharacters",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("DoubleStringCharacters",t,l,i),l}var SingleStringCharacters$parser=(0,import_lib2.$EXPECT)($R49,"SingleStringCharacters /(?:\\\\.|[^'])*/");function SingleStringCharacters(e,t){let r=e.enter&&e.enter("SingleStringCharacters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleStringCharacters$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleStringCharacters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleStringCharacters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleStringCharacters",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("SingleStringCharacters",t,l,i),l}var SingleLineStringLiteral$parser=(0,import_lib2.$C)((0,import_lib2.$TEXT)((0,import_lib2.$S)(DoubleQuote,(0,import_lib2.$EXPECT)($R50,'SingleLineStringLiteral /(?:\\\\.|[^"\\n])*/'),DoubleQuote)),(0,import_lib2.$TEXT)((0,import_lib2.$S)(SingleQuote,(0,import_lib2.$EXPECT)($R51,"SingleLineStringLiteral /(?:\\\\.|[^'\\n])*/"),SingleQuote)));function SingleLineStringLiteral(e,t){let r=e.enter&&e.enter("SingleLineStringLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineStringLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLineStringLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLineStringLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLineStringLiteral",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{type:"StringLiteral",token:i,$loc:t}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("SingleLineStringLiteral",t,l,i),l}var UnclosedSingleLineStringLiteral$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$TEXT)((0,import_lib2.$S)(DoubleQuote,(0,import_lib2.$EXPECT)($R50,'UnclosedSingleLineStringLiteral /(?:\\\\.|[^"\\n])*/'))),(0,import_lib2.$TEXT)((0,import_lib2.$S)(SingleQuote,(0,import_lib2.$EXPECT)($R51,"UnclosedSingleLineStringLiteral /(?:\\\\.|[^'\\n])*/")))),(0,import_lib2.$Y)(EOS));function UnclosedSingleLineStringLiteral(e,t){let r=e.enter&&e.enter("UnclosedSingleLineStringLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnclosedSingleLineStringLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("UnclosedSingleLineStringLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"UnclosedSingleLineStringLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("UnclosedSingleLineStringLiteral",t,r,i),r}let l,o=n.loc,a=n.value,p=(import_lib2.SKIP,s=o,u=a[0],a[1],[{type:"StringLiteral",token:u+u[0],$loc:s},{type:"Error",message:"Unclosed string literal"}]);var s,u;return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("UnclosedSingleLineStringLiteral",t,l,i),l}var TripleDoubleStringContents$0$parser=(0,import_lib2.$S)(CoffeeInterpolationEnabled,(0,import_lib2.$Q)((0,import_lib2.$C)(CoffeeTripleDoubleStringCharacters,CoffeeStringSubstitution))),TripleDoubleStringContents$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeInterpolationEnabled),TripleDoubleStringCharacters);function TripleDoubleStringContents$0(e,t){let r=TripleDoubleStringContents$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TripleDoubleStringContents$1(e,t){let r=TripleDoubleStringContents$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return[n]}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TripleDoubleStringContents(e,t){let r=e.enter&&e.enter("TripleDoubleStringContents",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TripleDoubleStringContents$0(e,t);return n||(n=TripleDoubleStringContents$1(e,t)),n&&e.tokenize&&(n.value={type:"TripleDoubleStringContents",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TripleDoubleStringContents",t,n,i),n}var CoffeeTripleDoubleStringCharacters$parser=(0,import_lib2.$EXPECT)($R52,'CoffeeTripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/');function CoffeeTripleDoubleStringCharacters(e,t){let r=e.enter&&e.enter("CoffeeTripleDoubleStringCharacters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeTripleDoubleStringCharacters$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeTripleDoubleStringCharacters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeTripleDoubleStringCharacters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeTripleDoubleStringCharacters",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CoffeeTripleDoubleStringCharacters",t,l,i),l}var TripleDoubleStringCharacters$parser=(0,import_lib2.$EXPECT)($R53,'TripleDoubleStringCharacters /(?:"(?!"")|\\\\.|[^"])+/');function TripleDoubleStringCharacters(e,t){let r=e.enter&&e.enter("TripleDoubleStringCharacters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TripleDoubleStringCharacters$parser(e,t);if(!n)return void(e.exit&&e.exit("TripleDoubleStringCharacters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TripleDoubleStringCharacters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TripleDoubleStringCharacters",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("TripleDoubleStringCharacters",t,l,i),l}var TripleSingleStringCharacters$parser=(0,import_lib2.$EXPECT)($R54,"TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/");function TripleSingleStringCharacters(e,t){let r=e.enter&&e.enter("TripleSingleStringCharacters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TripleSingleStringCharacters$parser(e,t);if(!n)return void(e.exit&&e.exit("TripleSingleStringCharacters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TripleSingleStringCharacters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TripleSingleStringCharacters",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("TripleSingleStringCharacters",t,l,i),l}var CoffeeStringSubstitution$parser=(0,import_lib2.$S)(CoffeeSubstitutionStart,AllowAll,(0,import_lib2.$E)((0,import_lib2.$S)(PostfixedExpressionOrCommaLoop,__,CloseBrace)),RestoreAll);function CoffeeStringSubstitution(e,t){let r=e.enter&&e.enter("CoffeeStringSubstitution",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeStringSubstitution$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeStringSubstitution",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeStringSubstitution",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeStringSubstitution",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o[0],o[1],u=o[2],o[3],u?[s,...u]:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CoffeeStringSubstitution",t,l,i),l}var CoffeeInterpolatedDoubleQuotedString$parser=(0,import_lib2.$S)(CoffeeInterpolationEnabled,DoubleQuote,(0,import_lib2.$Q)((0,import_lib2.$C)(CoffeeDoubleQuotedStringCharacters,CoffeeStringSubstitution)),DoubleQuote);function CoffeeInterpolatedDoubleQuotedString(e,t){let r=e.enter&&e.enter("CoffeeInterpolatedDoubleQuotedString",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeInterpolatedDoubleQuotedString$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeInterpolatedDoubleQuotedString",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeInterpolatedDoubleQuotedString",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeInterpolatedDoubleQuotedString",t,r,i),r}let l,o=n.loc,a=n.value,p=(import_lib2.SKIP,s=o,a[0],u=a[1],c=a[2],m=a[3],processCoffeeInterpolation(u,c,m,s));var s,u,c,m;return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CoffeeInterpolatedDoubleQuotedString",t,l,i),l}var CoffeeDoubleQuotedStringCharacters$parser=(0,import_lib2.$EXPECT)($R55,'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/');function CoffeeDoubleQuotedStringCharacters(e,t){let r=e.enter&&e.enter("CoffeeDoubleQuotedStringCharacters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeDoubleQuotedStringCharacters$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeDoubleQuotedStringCharacters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeDoubleQuotedStringCharacters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeDoubleQuotedStringCharacters",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CoffeeDoubleQuotedStringCharacters",t,l,i),l}var RegularExpressionLiteral$1$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)((0,import_lib2.$EXPECT)($L76,'RegularExpressionLiteral "/"'),RegularExpressionBody,(0,import_lib2.$EXPECT)($L76,'RegularExpressionLiteral "/"'),RegularExpressionFlags));function RegularExpressionLiteral$0(e,t){return HeregexLiteral(e,t)}function RegularExpressionLiteral$1(e,t){let r=RegularExpressionLiteral$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r){return{type:"RegularExpressionLiteral",raw:r,children:[{$loc:t,token:r}]}}(import_lib2.SKIP,n,l);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function RegularExpressionLiteral(e,t){let r=e.enter&&e.enter("RegularExpressionLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RegularExpressionLiteral$0(e,t);return n||(n=RegularExpressionLiteral$1(e,t)),n&&e.tokenize&&(n.value={type:"RegularExpressionLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RegularExpressionLiteral",t,n,i),n}var RegularExpressionClass$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)(OpenBracket,RegularExpressionClassCharacters,CloseBracket));function RegularExpressionClass(e,t){let r=e.enter&&e.enter("RegularExpressionClass",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RegularExpressionClass$parser(e,t);if(!n)return void(e.exit&&e.exit("RegularExpressionClass",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RegularExpressionClass",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RegularExpressionClass",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("RegularExpressionClass",t,l,i),l}var RegularExpressionClassCharacters$parser=(0,import_lib2.$EXPECT)($R56,"RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/");function RegularExpressionClassCharacters(e,t){let r=e.enter&&e.enter("RegularExpressionClassCharacters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RegularExpressionClassCharacters$parser(e,t);if(!n)return void(e.exit&&e.exit("RegularExpressionClassCharacters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"RegularExpressionClassCharacters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("RegularExpressionClassCharacters",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("RegularExpressionClassCharacters",t,l,i),l}var HeregexLiteral$parser=(0,import_lib2.$S)(TripleSlash,HeregexBody,TripleSlash,RegularExpressionFlags);function HeregexLiteral(e,t){let r=e.enter&&e.enter("HeregexLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=HeregexLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("HeregexLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"HeregexLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("HeregexLiteral",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){var a=i,p=n,s=l,u=o;if(p.some(e=>"Substitution"===e.type)){let e=[{...a,token:"RegExp(`"},p.map(e=>"Substitution"===e.type?e:{...e,token:e.token.replace(/`|\\|\$/g,"\\$&")}),"`"];return u.length&&e.push(", ",JSON.stringify(u)),e.push({...s,token:")"}),{type:"RegularExpressionLiteral",children:e}}return{type:"RegularExpressionLiteral",children:r}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("HeregexLiteral",t,l,i),l}var HeregexBody$parser=(0,import_lib2.$S)((0,import_lib2.$N)(TripleSlash),(0,import_lib2.$Q)(HeregexPart));function HeregexBody(e,t){let r=e.enter&&e.enter("HeregexBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=HeregexBody$parser(e,t);if(!n)return void(e.exit&&e.exit("HeregexBody",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"HeregexBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("HeregexBody",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("HeregexBody",t,l,i),l}var HeregexPart$1$parser=(0,import_lib2.$S)(CoffeeInterpolationEnabled,CoffeeStringSubstitution),HeregexPart$2$parser=(0,import_lib2.$S)(TemplateSubstitution),HeregexPart$3$parser=(0,import_lib2.$EXPECT)($R57,"HeregexPart /(?:\\\\.)/"),HeregexPart$4$parser=(0,import_lib2.$S)(HeregexComment),HeregexPart$5$parser=(0,import_lib2.$EXPECT)($R58,"HeregexPart /[\\s]+/"),HeregexPart$6$parser=(0,import_lib2.$EXPECT)($R59,"HeregexPart /\\/(?!\\/\\/)/"),HeregexPart$7$parser=(0,import_lib2.$EXPECT)($R60,"HeregexPart /[^[\\/\\s#$\\\\]+|[#$]/");function HeregexPart$0(e,t){return RegularExpressionClass(e,t)}function HeregexPart$1(e,t){let r=HeregexPart$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"Substitution",children:n}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function HeregexPart$2(e,t){let r=HeregexPart$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return{type:"Substitution",children:i}}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function HeregexPart$3(e,t){let r=HeregexPart$3$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r){let i=r;switch(r[1]){case"\n":i="\\n";break;case"\r":i="\\r";break;case" ":i=" "}return{$loc:t,token:i}}(import_lib2.SKIP,n,l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function HeregexPart$4(e,t){let r=HeregexPart$4$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t){return{$loc:t,token:""}}(import_lib2.SKIP,n,0,l[0]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function HeregexPart$5(e,t){let r=HeregexPart$5$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t){return{$loc:t,token:""}}(import_lib2.SKIP,n,l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function HeregexPart$6(e,t){let r=HeregexPart$6$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t){return{$loc:t,token:"\\/"}}(import_lib2.SKIP,n,l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function HeregexPart$7(e,t){let r=HeregexPart$7$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,n,l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function HeregexPart(e,t){let r=e.enter&&e.enter("HeregexPart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=HeregexPart$0(e,t);return n||(n=HeregexPart$1(e,t)),n||(n=HeregexPart$2(e,t)),n||(n=HeregexPart$3(e,t)),n||(n=HeregexPart$4(e,t)),n||(n=HeregexPart$5(e,t)),n||(n=HeregexPart$6(e,t)),n||(n=HeregexPart$7(e,t)),n&&e.tokenize&&(n.value={type:"HeregexPart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("HeregexPart",t,n,i),n}var HeregexComment$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeDivEnabled),JSSingleLineComment),HeregexComment$1$parser=(0,import_lib2.$S)(CoffeeCommentEnabled,CoffeeSingleLineComment);function HeregexComment$0(e,t){return HeregexComment$0$parser(e,t)}function HeregexComment$1(e,t){let r=HeregexComment$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function HeregexComment(e,t){let r=e.enter&&e.enter("HeregexComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=HeregexComment$0(e,t);return n||(n=HeregexComment$1(e,t)),n&&e.tokenize&&(n.value={type:"HeregexComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("HeregexComment",t,n,i),n}var RegularExpressionBody$parser=(0,import_lib2.$S)((0,import_lib2.$N)((0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R61,"RegularExpressionBody /[*\\/\\r\\n]/"))),(0,import_lib2.$Q)(RegExpPart));function RegularExpressionBody(e,t){let r=e.enter&&e.enter("RegularExpressionBody",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RegularExpressionBody$parser(e,t);return n&&e.tokenize&&(n.value={type:"RegularExpressionBody",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RegularExpressionBody",t,n,i),n}function RegExpPart$0(e,t){return RegularExpressionClass(e,t)}function RegExpPart$1(e,t){return RegExpCharacter(e,t)}function RegExpPart(e,t){let r=e.enter&&e.enter("RegExpPart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RegExpPart$0(e,t);return n||(n=RegExpPart$1(e,t)),n&&e.tokenize&&(n.value={type:"RegExpPart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RegExpPart",t,n,i),n}var RegExpCharacter$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R62,"RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));function RegExpCharacter(e,t){let r=e.enter&&e.enter("RegExpCharacter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RegExpCharacter$parser(e,t);return n&&e.tokenize&&(n.value={type:"RegExpCharacter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RegExpCharacter",t,n,i),n}var RegularExpressionFlags$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R63,"RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));function RegularExpressionFlags(e,t){let r=e.enter&&e.enter("RegularExpressionFlags",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RegularExpressionFlags$parser(e,t);return n&&e.tokenize&&(n.value={type:"RegularExpressionFlags",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RegularExpressionFlags",t,n,i),n}var TemplateLiteral$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R64,"TemplateLiteral /(?=[`'\"])/"),_TemplateLiteral);function TemplateLiteral(e,t){let r=e.enter&&e.enter("TemplateLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TemplateLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("TemplateLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TemplateLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TemplateLiteral",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TemplateLiteral",t,l,i),l}var _TemplateLiteral$0$parser=(0,import_lib2.$S)(TripleTick,(0,import_lib2.$Q)((0,import_lib2.$C)(TemplateBlockCharacters,TemplateSubstitution)),TripleTick),_TemplateLiteral$1$parser=(0,import_lib2.$S)(Backtick,(0,import_lib2.$Q)((0,import_lib2.$C)(TemplateCharacters,TemplateSubstitution)),Backtick),_TemplateLiteral$2$parser=(0,import_lib2.$S)(TripleDoubleQuote,TripleDoubleStringContents,TripleDoubleQuote),_TemplateLiteral$3$parser=(0,import_lib2.$S)(TripleSingleQuote,TripleSingleStringCharacters,TripleSingleQuote);function _TemplateLiteral$0(e,t){let r=_TemplateLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],n[2],dedentBlockSubstitutions(o,config.tab));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _TemplateLiteral$1(e,t){let r=_TemplateLiteral$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{type:"TemplateLiteral",children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _TemplateLiteral$2(e,t){let r=_TemplateLiteral$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],n[2],dedentBlockSubstitutions(o,config.tab));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _TemplateLiteral$3(e,t){let r=_TemplateLiteral$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=p,{type:"TemplateLiteral",children:[o,dedentBlockString(a,config.tab),s]});var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function _TemplateLiteral$4(e,t){return CoffeeInterpolatedDoubleQuotedString(e,t)}function _TemplateLiteral(e,t){let r=e.enter&&e.enter("_TemplateLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=_TemplateLiteral$0(e,t);return n||(n=_TemplateLiteral$1(e,t)),n||(n=_TemplateLiteral$2(e,t)),n||(n=_TemplateLiteral$3(e,t)),n||(n=_TemplateLiteral$4(e,t)),n&&e.tokenize&&(n.value={type:"_TemplateLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("_TemplateLiteral",t,n,i),n}var TemplateSubstitution$parser=(0,import_lib2.$S)(SubstitutionStart,AllowAll,(0,import_lib2.$E)((0,import_lib2.$S)(PostfixedExpressionOrCommaLoop,__,CloseBrace)),RestoreAll);function TemplateSubstitution(e,t){let r=e.enter&&e.enter("TemplateSubstitution",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TemplateSubstitution$parser(e,t);if(!n)return void(e.exit&&e.exit("TemplateSubstitution",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TemplateSubstitution",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TemplateSubstitution",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o[0],o[1],u=o[2],o[3],u?[s,...u]:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TemplateSubstitution",t,l,i),l}var TemplateCharacters$parser=(0,import_lib2.$EXPECT)($R65,"TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/");function TemplateCharacters(e,t){let r=e.enter&&e.enter("TemplateCharacters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TemplateCharacters$parser(e,t);if(!n)return void(e.exit&&e.exit("TemplateCharacters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TemplateCharacters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TemplateCharacters",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("TemplateCharacters",t,l,i),l}var TemplateBlockCharacters$parser=(0,import_lib2.$EXPECT)($R66,"TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/");function TemplateBlockCharacters(e,t){let r=e.enter&&e.enter("TemplateBlockCharacters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TemplateBlockCharacters$parser(e,t);if(!n)return void(e.exit&&e.exit("TemplateBlockCharacters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TemplateBlockCharacters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TemplateBlockCharacters",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("TemplateBlockCharacters",t,l,i),l}var ReservedWord$0$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R67,"ReservedWord /(?:off|yes|on|no)/"),NonIdContinue,CoffeeBooleansEnabled),ReservedWord$1$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R68,"ReservedWord /isnt/"),NonIdContinue,CoffeeIsntEnabled),ReservedWord$2$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R69,"ReservedWord /by/"),NonIdContinue,CoffeeForLoopsEnabled),ReservedWord$3$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R70,"ReservedWord /of/"),NonIdContinue,CoffeeOfEnabled),ReservedWord$4$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R71,"ReservedWord /(?:instanceof|interface|protected|continue|debugger|function|default|extends|finally|private|delete|export|import|public|return|static|switch|typeof|unless|await|break|catch|class|const|false|super|throw|until|while|yield|case|else|enum|loop|null|this|true|void|with|and|for|let|new|not|try|var|do|if|in|is|or)/"),NonIdContinue);function ReservedWord$0(e,t){let r=ReservedWord$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ReservedWord$1(e,t){let r=ReservedWord$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ReservedWord$2(e,t){let r=ReservedWord$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ReservedWord$3(e,t){let r=ReservedWord$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ReservedWord$4(e,t){let r=ReservedWord$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ReservedWord(e,t){let r=e.enter&&e.enter("ReservedWord",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ReservedWord$0(e,t);return n||(n=ReservedWord$1(e,t)),n||(n=ReservedWord$2(e,t)),n||(n=ReservedWord$3(e,t)),n||(n=ReservedWord$4(e,t)),n&&e.tokenize&&(n.value={type:"ReservedWord",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ReservedWord",t,n,i),n}var Comment$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R72,"Comment /(?=\\/|#)/"),_Comment);function Comment(e,t){let r=e.enter&&e.enter("Comment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Comment$parser(e,t);if(!n)return void(e.exit&&e.exit("Comment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Comment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Comment",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Comment",t,l,i),l}function _Comment$0(e,t){return MultiLineComment(e,t)}function _Comment$1(e,t){return SingleLineComment(e,t)}function _Comment(e,t){let r=e.enter&&e.enter("_Comment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=_Comment$0(e,t);return n||(n=_Comment$1(e,t)),n&&e.tokenize&&(n.value={type:"_Comment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("_Comment",t,n,i),n}var SingleLineComment$1$parser=(0,import_lib2.$S)(CoffeeCommentEnabled,CoffeeSingleLineComment);function SingleLineComment$0(e,t){return JSSingleLineComment(e,t)}function SingleLineComment$1(e,t){return SingleLineComment$1$parser(e,t)}function SingleLineComment(e,t){let r=e.enter&&e.enter("SingleLineComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineComment$0(e,t);return n||(n=SingleLineComment$1(e,t)),n&&e.tokenize&&(n.value={type:"SingleLineComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("SingleLineComment",t,n,i),n}var JSSingleLineComment$parser=(0,import_lib2.$EXPECT)($R73,"JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/");function JSSingleLineComment(e,t){let r=e.enter&&e.enter("JSSingleLineComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSSingleLineComment$parser(e,t);if(!n)return void(e.exit&&e.exit("JSSingleLineComment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSSingleLineComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSSingleLineComment",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{type:"Comment",$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("JSSingleLineComment",t,l,i),l}function MultiLineComment$0(e,t){return JSMultiLineComment(e,t)}function MultiLineComment$1(e,t){return CoffeeMultiLineComment(e,t)}function MultiLineComment(e,t){let r=e.enter&&e.enter("MultiLineComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MultiLineComment$0(e,t);return n||(n=MultiLineComment$1(e,t)),n&&e.tokenize&&(n.value={type:"MultiLineComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MultiLineComment",t,n,i),n}var JSMultiLineComment$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)((0,import_lib2.$EXPECT)($L139,'JSMultiLineComment "/*"'),(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$N)((0,import_lib2.$EXPECT)($L140,'JSMultiLineComment "*/"')),(0,import_lib2.$EXPECT)($R74,"JSMultiLineComment /./"))),(0,import_lib2.$EXPECT)($L140,'JSMultiLineComment "*/"')));function JSMultiLineComment(e,t){let r=e.enter&&e.enter("JSMultiLineComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSMultiLineComment$parser(e,t);if(!n)return void(e.exit&&e.exit("JSMultiLineComment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSMultiLineComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSMultiLineComment",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{type:"Comment",$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("JSMultiLineComment",t,l,i),l}var CoffeeSingleLineComment$parser=(0,import_lib2.$EXPECT)($R75,"CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/");function CoffeeSingleLineComment(e,t){let r=e.enter&&e.enter("CoffeeSingleLineComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeSingleLineComment$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeSingleLineComment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeSingleLineComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeSingleLineComment",t,r,i),r}let l,o=n.loc,a=n.value,p=(import_lib2.SKIP,s=o,a[0],u=a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],{type:"Comment",$loc:s,token:`//${u}`});var s,u;return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CoffeeSingleLineComment",t,l,i),l}var CoffeeMultiLineComment$parser=(0,import_lib2.$S)(CoffeeHereCommentStart,(0,import_lib2.$TEXT)((0,import_lib2.$EXPECT)($R76,"CoffeeMultiLineComment /[^]*?###/")));function CoffeeMultiLineComment(e,t){let r=e.enter&&e.enter("CoffeeMultiLineComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeMultiLineComment$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeMultiLineComment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeMultiLineComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeMultiLineComment",t,r,i),r}let l,o=n.loc,a=n.value,p=(import_lib2.SKIP,s=o,a[0],u=a[1],{type:"Comment",$loc:s,token:`/*${u=u.slice(0,u.length-3).replace(/\*\//g,"* /")}*/`});var s,u;return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CoffeeMultiLineComment",t,l,i),l}var CoffeeHereCommentStart$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R77,"CoffeeHereCommentStart /###(?!#)/"));function CoffeeHereCommentStart(e,t){let r=e.enter&&e.enter("CoffeeHereCommentStart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeHereCommentStart$parser(e,t);return n&&e.tokenize&&(n.value={type:"CoffeeHereCommentStart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CoffeeHereCommentStart",t,n,i),n}var InlineComment$0$parser=(0,import_lib2.$EXPECT)($R78,"InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//");function InlineComment$0(e,t){let r=InlineComment$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,n,l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function InlineComment$1(e,t){return CoffeeMultiLineComment(e,t)}function InlineComment(e,t){let r=e.enter&&e.enter("InlineComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineComment$0(e,t);return n||(n=InlineComment$1(e,t)),n&&e.tokenize&&(n.value={type:"InlineComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineComment",t,n,i),n}var RestOfLine$parser=(0,import_lib2.$S)((0,import_lib2.$Q)((0,import_lib2.$C)(NonNewlineWhitespace,Comment)),EOL);function RestOfLine(e,t){let r=e.enter&&e.enter("RestOfLine",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=RestOfLine$parser(e,t);return n&&e.tokenize&&(n.value={type:"RestOfLine",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("RestOfLine",t,n,i),n}var TrailingComment$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$E)(SingleLineComment));function TrailingComment(e,t){let r=e.enter&&e.enter("TrailingComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TrailingComment$parser(e,t);return n&&e.tokenize&&(n.value={type:"TrailingComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TrailingComment",t,n,i),n}var _$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R79,"_ /(?=[ \\t\\/\\\\#])/"),(0,import_lib2.$P)((0,import_lib2.$C)(NonNewlineWhitespace,InlineComment)));function _(e,t){let r=e.enter&&e.enter("_",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=_$parser(e,t);if(!n)return void(e.exit&&e.exit("_",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"_",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("_",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("_",t,l,i),l}var NonNewlineWhitespace$0$parser=(0,import_lib2.$EXPECT)($R24,"NonNewlineWhitespace /[ \\t]+/"),NonNewlineWhitespace$1$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L141,'NonNewlineWhitespace "\\\\\\\\"'),CoffeeLineContinuationEnabled,EOL);function NonNewlineWhitespace$0(e,t){let r=NonNewlineWhitespace$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,n,l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function NonNewlineWhitespace$1(e,t){let r=NonNewlineWhitespace$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(){return" "}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function NonNewlineWhitespace(e,t){let r=e.enter&&e.enter("NonNewlineWhitespace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonNewlineWhitespace$0(e,t);return n||(n=NonNewlineWhitespace$1(e,t)),n&&e.tokenize&&(n.value={type:"NonNewlineWhitespace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NonNewlineWhitespace",t,n,i),n}var Trimmed_$parser=_;function Trimmed_(e,t){let r=e.enter&&e.enter("Trimmed_",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Trimmed_$parser(e,t);if(!n)return void(e.exit&&e.exit("Trimmed_",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Trimmed_",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Trimmed_",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,trimFirstSpace(o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Trimmed_",t,l,i),l}var __$0$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R80,"__ /(?=\\s|\\/|#)/"),(0,import_lib2.$Q)((0,import_lib2.$C)(Whitespace,Comment))),__$1$parser=(0,import_lib2.$EXPECT)($L0,'__ ""');function __$0(e,t){let r=__$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function __$1(e,t){return __$1$parser(e,t)}function __(e,t){let r=e.enter&&e.enter("__",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=__$0(e,t);return n||(n=__$1(e,t)),n&&e.tokenize&&(n.value={type:"__",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("__",t,n,i),n}var Whitespace$parser=(0,import_lib2.$EXPECT)($R58,"Whitespace /[\\s]+/");function Whitespace(e,t){let r=e.enter&&e.enter("Whitespace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Whitespace$parser(e,t);if(!n)return void(e.exit&&e.exit("Whitespace",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Whitespace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Whitespace",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Whitespace",t,l,i),l}var ExpressionDelimiter$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Semicolon,InsertComma,TrailingComment),ExpressionDelimiter$1$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),InsertComma);function ExpressionDelimiter$0(e,t){let r=ExpressionDelimiter$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return[i,l,o]}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExpressionDelimiter$1(e,t){let r=ExpressionDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function ExpressionDelimiter(e,t){let r=e.enter&&e.enter("ExpressionDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExpressionDelimiter$0(e,t);return n||(n=ExpressionDelimiter$1(e,t)),n&&e.tokenize&&(n.value={type:"ExpressionDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ExpressionDelimiter",t,n,i),n}var SimpleStatementDelimiter$0$parser=(0,import_lib2.$Y)(EOS);function SimpleStatementDelimiter$0(e,t){let r=SimpleStatementDelimiter$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function SimpleStatementDelimiter$1(e,t){return SemicolonDelimiter(e,t)}function SimpleStatementDelimiter(e,t){let r=e.enter&&e.enter("SimpleStatementDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SimpleStatementDelimiter$0(e,t);return n||(n=SimpleStatementDelimiter$1(e,t)),n&&e.tokenize&&(n.value={type:"SimpleStatementDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("SimpleStatementDelimiter",t,n,i),n}var StatementDelimiter$0$parser=(0,import_lib2.$Y)(EOS);function StatementDelimiter$0(e,t){let r=StatementDelimiter$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function StatementDelimiter$1(e,t){return SemicolonDelimiter(e,t)}function StatementDelimiter$2(e,t){return ClosingDelimiter(e,t)}function StatementDelimiter(e,t){let r=e.enter&&e.enter("StatementDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=StatementDelimiter$0(e,t);return n||(n=StatementDelimiter$1(e,t)),n||(n=StatementDelimiter$2(e,t)),n&&e.tokenize&&(n.value={type:"StatementDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("StatementDelimiter",t,n,i),n}var ClosingDelimiter$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(__,(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L36,'ClosingDelimiter "}"'),(0,import_lib2.$EXPECT)($L142,'ClosingDelimiter ")"'),(0,import_lib2.$EXPECT)($L45,'ClosingDelimiter "]"'))));function ClosingDelimiter(e,t){let r=e.enter&&e.enter("ClosingDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ClosingDelimiter$parser(e,t);if(!n)return void(e.exit&&e.exit("ClosingDelimiter",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ClosingDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ClosingDelimiter",t,r,i),r}n.loc,n.value;let l,o=void import_lib2.SKIP;return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ClosingDelimiter",t,l,i),l}var SemicolonDelimiter$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Semicolon,TrailingComment);function SemicolonDelimiter(e,t){let r=e.enter&&e.enter("SemicolonDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SemicolonDelimiter$parser(e,t);if(!n)return void(e.exit&&e.exit("SemicolonDelimiter",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SemicolonDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SemicolonDelimiter",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r){return{type:"SemicolonDelimiter",children:r}}(import_lib2.SKIP,0,o,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SemicolonDelimiter",t,l,i),l}var NonIdContinue$parser=(0,import_lib2.$EXPECT)($R81,"NonIdContinue /(?!\\p{ID_Continue}|[^\\u0000-\\u007F\\p{ID_Continue}\\s÷—‖’•‥…⁇→⇒∈∉∋∌≔≠≡≢≣≤≥≪≫⋙▷⧺⩵⩶])/");function NonIdContinue(e,t){let r=e.enter&&e.enter("NonIdContinue",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NonIdContinue$parser(e,t);if(!n)return void(e.exit&&e.exit("NonIdContinue",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NonIdContinue",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NonIdContinue",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7],o[8],void o[9]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NonIdContinue",t,l,i),l}var Loc$parser=(0,import_lib2.$EXPECT)($L0,'Loc ""');function Loc(e,t){let r=e.enter&&e.enter("Loc",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Loc$parser(e,t);if(!n)return void(e.exit&&e.exit("Loc",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Loc",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Loc",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:""}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Loc",t,l,i),l}var Abstract$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)((0,import_lib2.$EXPECT)($L143,'Abstract "abstract"'),NonIdContinue,(0,import_lib2.$E)((0,import_lib2.$EXPECT)($L16,'Abstract " "'))));function Abstract(e,t){let r=e.enter&&e.enter("Abstract",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Abstract$parser(e,t);if(!n)return void(e.exit&&e.exit("Abstract",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Abstract",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Abstract",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,ts:!0}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Abstract",t,l,i),l}var Ampersand$parser=(0,import_lib2.$EXPECT)($L116,'Ampersand "&"');function Ampersand(e,t){let r=e.enter&&e.enter("Ampersand",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Ampersand$parser(e,t);if(!n)return void(e.exit&&e.exit("Ampersand",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Ampersand",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Ampersand",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Ampersand",t,l,i),l}var As$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L144,'As "as"'),NonIdContinue);function As(e,t){let r=e.enter&&e.enter("As",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=As$parser(e,t);if(!n)return void(e.exit&&e.exit("As",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"As",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("As",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("As",t,l,i),l}var At$parser=(0,import_lib2.$EXPECT)($L145,'At "@"');function At(e,t){let r=e.enter&&e.enter("At",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=At$parser(e,t);if(!n)return void(e.exit&&e.exit("At",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"At",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("At",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("At",t,l,i),l}var AtAt$parser=(0,import_lib2.$EXPECT)($L146,'AtAt "@@"');function AtAt(e,t){let r=e.enter&&e.enter("AtAt",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=AtAt$parser(e,t);if(!n)return void(e.exit&&e.exit("AtAt",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"AtAt",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("AtAt",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"@"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("AtAt",t,l,i),l}var Async$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L147,'Async "async"'),NonIdContinue);function Async(e,t){let r=e.enter&&e.enter("Async",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Async$parser(e,t);if(!n)return void(e.exit&&e.exit("Async",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Async",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Async",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,type:"Async"}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Async",t,l,i),l}var Await$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L148,'Await "await"'),NonIdContinue);function Await(e,t){let r=e.enter&&e.enter("Await",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Await$parser(e,t);if(!n)return void(e.exit&&e.exit("Await",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Await",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Await",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,type:"Await"}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Await",t,l,i),l}var Backtick$parser=(0,import_lib2.$EXPECT)($L149,'Backtick "`"');function Backtick(e,t){let r=e.enter&&e.enter("Backtick",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Backtick$parser(e,t);if(!n)return void(e.exit&&e.exit("Backtick",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Backtick",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Backtick",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Backtick",t,l,i),l}var By$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L150,'By "by"'),NonIdContinue);function By(e,t){let r=e.enter&&e.enter("By",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=By$parser(e,t);if(!n)return void(e.exit&&e.exit("By",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"By",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("By",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("By",t,l,i),l}var Caret$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L20,'Caret "^"'),(0,import_lib2.$N)((0,import_lib2.$EXPECT)($L20,'Caret "^"')));function Caret(e,t){let r=e.enter&&e.enter("Caret",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Caret$parser(e,t);if(!n)return void(e.exit&&e.exit("Caret",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Caret",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Caret",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Caret",t,l,i),l}var Case$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L151,'Case "case"'),NonIdContinue);function Case(e,t){let r=e.enter&&e.enter("Case",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Case$parser(e,t);if(!n)return void(e.exit&&e.exit("Case",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Case",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Case",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Case",t,l,i),l}var Catch$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L152,'Catch "catch"'),NonIdContinue);function Catch(e,t){let r=e.enter&&e.enter("Catch",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Catch$parser(e,t);if(!n)return void(e.exit&&e.exit("Catch",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Catch",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Catch",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Catch",t,l,i),l}var Class$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L153,'Class "class"'),NonIdContinue);function Class(e,t){let r=e.enter&&e.enter("Class",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Class$parser(e,t);if(!n)return void(e.exit&&e.exit("Class",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Class",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Class",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Class",t,l,i),l}var CloseAngleBracket$parser=(0,import_lib2.$EXPECT)($L44,'CloseAngleBracket ">"');function CloseAngleBracket(e,t){let r=e.enter&&e.enter("CloseAngleBracket",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CloseAngleBracket$parser(e,t);if(!n)return void(e.exit&&e.exit("CloseAngleBracket",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CloseAngleBracket",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CloseAngleBracket",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CloseAngleBracket",t,l,i),l}var CloseBrace$parser=(0,import_lib2.$EXPECT)($L36,'CloseBrace "}"');function CloseBrace(e,t){let r=e.enter&&e.enter("CloseBrace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CloseBrace$parser(e,t);if(!n)return void(e.exit&&e.exit("CloseBrace",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CloseBrace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CloseBrace",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CloseBrace",t,l,i),l}var CloseBracket$parser=(0,import_lib2.$EXPECT)($L45,'CloseBracket "]"');function CloseBracket(e,t){let r=e.enter&&e.enter("CloseBracket",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CloseBracket$parser(e,t);if(!n)return void(e.exit&&e.exit("CloseBracket",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CloseBracket",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CloseBracket",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CloseBracket",t,l,i),l}var CloseParen$parser=(0,import_lib2.$EXPECT)($L142,'CloseParen ")"');function CloseParen(e,t){let r=e.enter&&e.enter("CloseParen",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CloseParen$parser(e,t);if(!n)return void(e.exit&&e.exit("CloseParen",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CloseParen",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CloseParen",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CloseParen",t,l,i),l}var CoffeeSubstitutionStart$parser=(0,import_lib2.$EXPECT)($L154,'CoffeeSubstitutionStart "#{"');function CoffeeSubstitutionStart(e,t){let r=e.enter&&e.enter("CoffeeSubstitutionStart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeSubstitutionStart$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeSubstitutionStart",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeSubstitutionStart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeSubstitutionStart",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"${"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CoffeeSubstitutionStart",t,l,i),l}var Colon$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L15,'Colon ":"'),(0,import_lib2.$N)((0,import_lib2.$EXPECT)($R82,"Colon /[=:]/")));function Colon(e,t){let r=e.enter&&e.enter("Colon",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Colon$parser(e,t);if(!n)return void(e.exit&&e.exit("Colon",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Colon",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Colon",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Colon",t,l,i),l}var Comma$parser=(0,import_lib2.$EXPECT)($L25,'Comma ","');function Comma(e,t){let r=e.enter&&e.enter("Comma",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Comma$parser(e,t);if(!n)return void(e.exit&&e.exit("Comma",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Comma",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Comma",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Comma",t,l,i),l}var Comptime$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L155,'Comptime "comptime"'),NonIdContinue,(0,import_lib2.$N)((0,import_lib2.$EXPECT)($L15,'Comptime ":"')));function Comptime(e,t){let r=e.enter&&e.enter("Comptime",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Comptime$parser(e,t);if(!n)return void(e.exit&&e.exit("Comptime",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Comptime",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Comptime",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1],a[2]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Comptime",t,l,i),l}var ConstructorShorthand$parser=(0,import_lib2.$EXPECT)($L145,'ConstructorShorthand "@"');function ConstructorShorthand(e,t){let r=e.enter&&e.enter("ConstructorShorthand",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ConstructorShorthand$parser(e,t);if(!n)return void(e.exit&&e.exit("ConstructorShorthand",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ConstructorShorthand",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ConstructorShorthand",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"constructor"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ConstructorShorthand",t,l,i),l}var Declare$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L156,'Declare "declare"'),NonIdContinue);function Declare(e,t){let r=e.enter&&e.enter("Declare",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Declare$parser(e,t);if(!n)return void(e.exit&&e.exit("Declare",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Declare",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Declare",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Declare",t,l,i),l}var Default$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L157,'Default "default"'),NonIdContinue);function Default(e,t){let r=e.enter&&e.enter("Default",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Default$parser(e,t);if(!n)return void(e.exit&&e.exit("Default",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Default",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Default",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Default",t,l,i),l}var Delete$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L158,'Delete "delete"'),NonIdContinue);function Delete(e,t){let r=e.enter&&e.enter("Delete",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Delete$parser(e,t);if(!n)return void(e.exit&&e.exit("Delete",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Delete",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Delete",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Delete",t,l,i),l}var Do$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L159,'Do "do"'),NonIdContinue);function Do(e,t){let r=e.enter&&e.enter("Do",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Do$parser(e,t);if(!n)return void(e.exit&&e.exit("Do",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Do",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Do",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Do",t,l,i),l}var Dot$0$parser=(0,import_lib2.$EXPECT)($L7,'Dot "."'),Dot$1$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R83,"Dot /['’]s/"),Trimmed_);function Dot$0(e,t){let r=Dot$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,n,0,l);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function Dot$1(e,t){let r=Dot$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i,n){return[{$loc:t,token:"."},n]}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function Dot(e,t){let r=e.enter&&e.enter("Dot",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Dot$0(e,t);return n||(n=Dot$1(e,t)),n&&e.tokenize&&(n.value={type:"Dot",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Dot",t,n,i),n}var DotDot$0$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L160,'DotDot ".."'),(0,import_lib2.$N)((0,import_lib2.$EXPECT)($L7,'DotDot "."'))),DotDot$1$parser=(0,import_lib2.$EXPECT)($L161,'DotDot "‥"');function DotDot$0(e,t){let r=DotDot$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function DotDot$1(e,t){let r=DotDot$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:".."}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function DotDot(e,t){let r=e.enter&&e.enter("DotDot",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DotDot$0(e,t);return n||(n=DotDot$1(e,t)),n&&e.tokenize&&(n.value={type:"DotDot",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DotDot",t,n,i),n}var DotDotDot$0$parser=(0,import_lib2.$EXPECT)($L162,'DotDotDot "..."'),DotDotDot$1$parser=(0,import_lib2.$EXPECT)($L163,'DotDotDot "…"');function DotDotDot$0(e,t){let r=DotDotDot$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,n,0,l);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function DotDotDot$1(e,t){let r=DotDotDot$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"..."}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function DotDotDot(e,t){let r=e.enter&&e.enter("DotDotDot",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DotDotDot$0(e,t);return n||(n=DotDotDot$1(e,t)),n&&e.tokenize&&(n.value={type:"DotDotDot",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DotDotDot",t,n,i),n}var InsertDotDotDot$parser=(0,import_lib2.$EXPECT)($L0,'InsertDotDotDot ""');function InsertDotDotDot(e,t){let r=e.enter&&e.enter("InsertDotDotDot",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertDotDotDot$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertDotDotDot",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertDotDotDot",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertDotDotDot",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"..."}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertDotDotDot",t,l,i),l}var DoubleColon$parser=(0,import_lib2.$EXPECT)($L164,'DoubleColon "::"');function DoubleColon(e,t){let r=e.enter&&e.enter("DoubleColon",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DoubleColon$parser(e,t);if(!n)return void(e.exit&&e.exit("DoubleColon",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DoubleColon",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DoubleColon",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("DoubleColon",t,l,i),l}var DoubleColonAsColon$parser=(0,import_lib2.$EXPECT)($L164,'DoubleColonAsColon "::"');function DoubleColonAsColon(e,t){let r=e.enter&&e.enter("DoubleColonAsColon",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DoubleColonAsColon$parser(e,t);if(!n)return void(e.exit&&e.exit("DoubleColonAsColon",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DoubleColonAsColon",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DoubleColonAsColon",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:":"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("DoubleColonAsColon",t,l,i),l}var DoubleQuote$parser=(0,import_lib2.$EXPECT)($L165,'DoubleQuote "\\\\\\""');function DoubleQuote(e,t){let r=e.enter&&e.enter("DoubleQuote",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DoubleQuote$parser(e,t);if(!n)return void(e.exit&&e.exit("DoubleQuote",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DoubleQuote",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DoubleQuote",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("DoubleQuote",t,l,i),l}var Each$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L166,'Each "each"'),NonIdContinue);function Each(e,t){let r=e.enter&&e.enter("Each",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Each$parser(e,t);if(!n)return void(e.exit&&e.exit("Each",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Each",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Each",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Each",t,l,i),l}var Else$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L167,'Else "else"'),NonIdContinue);function Else(e,t){let r=e.enter&&e.enter("Else",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Else$parser(e,t);if(!n)return void(e.exit&&e.exit("Else",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Else",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Else",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Else",t,l,i),l}var Equals$parser=(0,import_lib2.$EXPECT)($L3,'Equals "="');function Equals(e,t){let r=e.enter&&e.enter("Equals",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Equals$parser(e,t);if(!n)return void(e.exit&&e.exit("Equals",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Equals",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Equals",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Equals",t,l,i),l}var ExclamationPoint$parser=(0,import_lib2.$EXPECT)($L168,'ExclamationPoint "!"');function ExclamationPoint(e,t){let r=e.enter&&e.enter("ExclamationPoint",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ExclamationPoint$parser(e,t);if(!n)return void(e.exit&&e.exit("ExclamationPoint",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ExclamationPoint",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ExclamationPoint",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("ExclamationPoint",t,l,i),l}var Export$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L169,'Export "export"'),NonIdContinue);function Export(e,t){let r=e.enter&&e.enter("Export",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Export$parser(e,t);if(!n)return void(e.exit&&e.exit("Export",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Export",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Export",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Export",t,l,i),l}var Extends$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L170,'Extends "extends"'),NonIdContinue);function Extends(e,t){let r=e.enter&&e.enter("Extends",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Extends$parser(e,t);if(!n)return void(e.exit&&e.exit("Extends",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Extends",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Extends",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Extends",t,l,i),l}var Finally$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L171,'Finally "finally"'),NonIdContinue);function Finally(e,t){let r=e.enter&&e.enter("Finally",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Finally$parser(e,t);if(!n)return void(e.exit&&e.exit("Finally",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Finally",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Finally",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Finally",t,l,i),l}var For$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L172,'For "for"'),NonIdContinue);function For(e,t){let r=e.enter&&e.enter("For",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=For$parser(e,t);if(!n)return void(e.exit&&e.exit("For",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"For",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("For",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("For",t,l,i),l}var From$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L173,'From "from"'),NonIdContinue);function From(e,t){let r=e.enter&&e.enter("From",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=From$parser(e,t);if(!n)return void(e.exit&&e.exit("From",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"From",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("From",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("From",t,l,i),l}var Function$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L174,'Function "function"'),NonIdContinue);function Function2(e,t){let r=e.enter&&e.enter("Function",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Function$parser(e,t);if(!n)return void(e.exit&&e.exit("Function",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Function",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Function",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Function",t,l,i),l}var GetOrSet$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L175,'GetOrSet "get"'),(0,import_lib2.$EXPECT)($L176,'GetOrSet "set"')),NonIdContinue);function GetOrSet(e,t){let r=e.enter&&e.enter("GetOrSet",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=GetOrSet$parser(e,t);if(!n)return void(e.exit&&e.exit("GetOrSet",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"GetOrSet",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("GetOrSet",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,type:"GetOrSet"}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("GetOrSet",t,l,i),l}var Hash$parser=(0,import_lib2.$EXPECT)($L177,'Hash "#"');function Hash(e,t){let r=e.enter&&e.enter("Hash",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Hash$parser(e,t);if(!n)return void(e.exit&&e.exit("Hash",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Hash",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Hash",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Hash",t,l,i),l}var If$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)((0,import_lib2.$EXPECT)($L178,'If "if"'),NonIdContinue,(0,import_lib2.$E)((0,import_lib2.$EXPECT)($L16,'If " "'))));function If(e,t){let r=e.enter&&e.enter("If",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=If$parser(e,t);if(!n)return void(e.exit&&e.exit("If",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"If",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("If",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("If",t,l,i),l}var Import$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L179,'Import "import"'),NonIdContinue);function Import(e,t){let r=e.enter&&e.enter("Import",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Import$parser(e,t);if(!n)return void(e.exit&&e.exit("Import",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Import",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Import",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Import",t,l,i),l}var In$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L180,'In "in"'),NonIdContinue);function In(e,t){let r=e.enter&&e.enter("In",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=In$parser(e,t);if(!n)return void(e.exit&&e.exit("In",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"In",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("In",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,spaced:!0}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("In",t,l,i),l}var Infer$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L181,'Infer "infer"'),NonIdContinue);function Infer(e,t){let r=e.enter&&e.enter("Infer",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Infer$parser(e,t);if(!n)return void(e.exit&&e.exit("Infer",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Infer",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Infer",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Infer",t,l,i),l}var LetOrConst$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L182,'LetOrConst "let"'),(0,import_lib2.$EXPECT)($L183,'LetOrConst "const"')),NonIdContinue);function LetOrConst(e,t){let r=e.enter&&e.enter("LetOrConst",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LetOrConst$parser(e,t);if(!n)return void(e.exit&&e.exit("LetOrConst",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"LetOrConst",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("LetOrConst",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("LetOrConst",t,l,i),l}var Const$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L183,'Const "const"'),NonIdContinue);function Const(e,t){let r=e.enter&&e.enter("Const",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Const$parser(e,t);if(!n)return void(e.exit&&e.exit("Const",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Const",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Const",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Const",t,l,i),l}var Is$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L184,'Is "is"'),NonIdContinue);function Is(e,t){let r=e.enter&&e.enter("Is",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Is$parser(e,t);if(!n)return void(e.exit&&e.exit("Is",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Is",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Is",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Is",t,l,i),l}var LetOrConstOrVar$parser=(0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L182,'LetOrConstOrVar "let"'),(0,import_lib2.$EXPECT)($L183,'LetOrConstOrVar "const"'),(0,import_lib2.$EXPECT)($L185,'LetOrConstOrVar "var"')),NonIdContinue);function LetOrConstOrVar(e,t){let r=e.enter&&e.enter("LetOrConstOrVar",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=LetOrConstOrVar$parser(e,t);if(!n)return void(e.exit&&e.exit("LetOrConstOrVar",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"LetOrConstOrVar",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("LetOrConstOrVar",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("LetOrConstOrVar",t,l,i),l}var Like$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L186,'Like "like"'),NonIdContinue);function Like(e,t){let r=e.enter&&e.enter("Like",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Like$parser(e,t);if(!n)return void(e.exit&&e.exit("Like",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Like",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Like",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Like",t,l,i),l}var Loop$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L187,'Loop "loop"'),NonIdContinue);function Loop(e,t){let r=e.enter&&e.enter("Loop",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Loop$parser(e,t);if(!n)return void(e.exit&&e.exit("Loop",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Loop",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Loop",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t){return{$loc:t,token:"while"}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Loop",t,l,i),l}var New$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L188,'New "new"'),NonIdContinue);function New(e,t){let r=e.enter&&e.enter("New",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=New$parser(e,t);if(!n)return void(e.exit&&e.exit("New",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"New",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("New",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("New",t,l,i),l}var Not$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L189,'Not "not"'),NonIdContinue,(0,import_lib2.$N)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$EXPECT)($L15,'Not ":"'))));function Not(e,t){let r=e.enter&&e.enter("Not",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Not$parser(e,t);if(!n)return void(e.exit&&e.exit("Not",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Not",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Not",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t){return{$loc:t,token:"!"}}(import_lib2.SKIP,o,0,a[0],a[1],a[2]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Not",t,l,i),l}var Of$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L190,'Of "of"'),NonIdContinue);function Of(e,t){let r=e.enter&&e.enter("Of",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Of$parser(e,t);if(!n)return void(e.exit&&e.exit("Of",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Of",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Of",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Of",t,l,i),l}var OpenAngleBracket$parser=(0,import_lib2.$EXPECT)($L17,'OpenAngleBracket "<"');function OpenAngleBracket(e,t){let r=e.enter&&e.enter("OpenAngleBracket",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OpenAngleBracket$parser(e,t);if(!n)return void(e.exit&&e.exit("OpenAngleBracket",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OpenAngleBracket",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OpenAngleBracket",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("OpenAngleBracket",t,l,i),l}var OpenBrace$parser=(0,import_lib2.$EXPECT)($L1,'OpenBrace "{"');function OpenBrace(e,t){let r=e.enter&&e.enter("OpenBrace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OpenBrace$parser(e,t);if(!n)return void(e.exit&&e.exit("OpenBrace",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OpenBrace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OpenBrace",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("OpenBrace",t,l,i),l}var OpenBracket$parser=(0,import_lib2.$EXPECT)($L191,'OpenBracket "["');function OpenBracket(e,t){let r=e.enter&&e.enter("OpenBracket",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OpenBracket$parser(e,t);if(!n)return void(e.exit&&e.exit("OpenBracket",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OpenBracket",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OpenBracket",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("OpenBracket",t,l,i),l}var OpenParen$parser=(0,import_lib2.$EXPECT)($L4,'OpenParen "("');function OpenParen(e,t){let r=e.enter&&e.enter("OpenParen",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OpenParen$parser(e,t);if(!n)return void(e.exit&&e.exit("OpenParen",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"OpenParen",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("OpenParen",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("OpenParen",t,l,i),l}var Operator$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L192,'Operator "operator"'),NonIdContinue);function Operator(e,t){let r=e.enter&&e.enter("Operator",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Operator$parser(e,t);if(!n)return void(e.exit&&e.exit("Operator",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Operator",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Operator",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Operator",t,l,i),l}var Override$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L193,'Override "override"'),NonIdContinue);function Override(e,t){let r=e.enter&&e.enter("Override",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Override$parser(e,t);if(!n)return void(e.exit&&e.exit("Override",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Override",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Override",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,ts:!0}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Override",t,l,i),l}var Own$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L194,'Own "own"'),NonIdContinue);function Own(e,t){let r=e.enter&&e.enter("Own",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Own$parser(e,t);if(!n)return void(e.exit&&e.exit("Own",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Own",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Own",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Own",t,l,i),l}var Public$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L195,'Public "public"'),NonIdContinue);function Public(e,t){let r=e.enter&&e.enter("Public",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Public$parser(e,t);if(!n)return void(e.exit&&e.exit("Public",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Public",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Public",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Public",t,l,i),l}var Private$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L196,'Private "private"'),NonIdContinue);function Private(e,t){let r=e.enter&&e.enter("Private",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Private$parser(e,t);if(!n)return void(e.exit&&e.exit("Private",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Private",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Private",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Private",t,l,i),l}var Protected$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L197,'Protected "protected"'),NonIdContinue);function Protected(e,t){let r=e.enter&&e.enter("Protected",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Protected$parser(e,t);if(!n)return void(e.exit&&e.exit("Protected",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Protected",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Protected",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Protected",t,l,i),l}var Pipe$0$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L198,'Pipe "||>"'),(0,import_lib2.$EXPECT)($L199,'Pipe "|▷"')),Pipe$1$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L200,'Pipe "|>="'),(0,import_lib2.$EXPECT)($L201,'Pipe "▷="')),Pipe$2$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L202,'Pipe "|>"'),(0,import_lib2.$EXPECT)($L203,'Pipe "▷"'));function Pipe$0(e,t){let r=Pipe$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"||>"}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Pipe$1(e,t){let r=Pipe$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"|>="}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Pipe$2(e,t){let r=Pipe$2$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"|>"}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function Pipe(e,t){let r=e.enter&&e.enter("Pipe",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Pipe$0(e,t);return n||(n=Pipe$1(e,t)),n||(n=Pipe$2(e,t)),n&&e.tokenize&&(n.value={type:"Pipe",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Pipe",t,n,i),n}var QuestionMark$parser=(0,import_lib2.$EXPECT)($L6,'QuestionMark "?"');function QuestionMark(e,t){let r=e.enter&&e.enter("QuestionMark",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=QuestionMark$parser(e,t);if(!n)return void(e.exit&&e.exit("QuestionMark",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"QuestionMark",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("QuestionMark",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("QuestionMark",t,l,i),l}var Readonly$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L204,'Readonly "readonly"'),NonIdContinue);function Readonly(e,t){let r=e.enter&&e.enter("Readonly",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Readonly$parser(e,t);if(!n)return void(e.exit&&e.exit("Readonly",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Readonly",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Readonly",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,ts:!0}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Readonly",t,l,i),l}var Return$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L205,'Return "return"'),NonIdContinue);function Return(e,t){let r=e.enter&&e.enter("Return",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Return$parser(e,t);if(!n)return void(e.exit&&e.exit("Return",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Return",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Return",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Return",t,l,i),l}var Satisfies$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L206,'Satisfies "satisfies"'),NonIdContinue);function Satisfies(e,t){let r=e.enter&&e.enter("Satisfies",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Satisfies$parser(e,t);if(!n)return void(e.exit&&e.exit("Satisfies",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Satisfies",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Satisfies",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Satisfies",t,l,i),l}var Semicolon$parser=(0,import_lib2.$EXPECT)($L118,'Semicolon ";"');function Semicolon(e,t){let r=e.enter&&e.enter("Semicolon",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Semicolon$parser(e,t);if(!n)return void(e.exit&&e.exit("Semicolon",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Semicolon",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Semicolon",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Semicolon",t,l,i),l}var SingleQuote$parser=(0,import_lib2.$EXPECT)($L207,'SingleQuote "\'"');function SingleQuote(e,t){let r=e.enter&&e.enter("SingleQuote",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleQuote$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleQuote",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleQuote",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleQuote",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("SingleQuote",t,l,i),l}var Star$parser=(0,import_lib2.$EXPECT)($L74,'Star "*"');function Star(e,t){let r=e.enter&&e.enter("Star",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Star$parser(e,t);if(!n)return void(e.exit&&e.exit("Star",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Star",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Star",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,type:"Star"}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Star",t,l,i),l}var Static$0$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L208,'Static "static"'),NonIdContinue),Static$1$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L145,'Static "@"'),(0,import_lib2.$N)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L4,'Static "("'),(0,import_lib2.$EXPECT)($L145,'Static "@"'))));function Static$0(e,t){let r=Static$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function Static$1(e,t){let r=Static$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t){return{$loc:t,token:"static "}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function Static(e,t){let r=e.enter&&e.enter("Static",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Static$0(e,t);return n||(n=Static$1(e,t)),n&&e.tokenize&&(n.value={type:"Static",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Static",t,n,i),n}var SubstitutionStart$parser=(0,import_lib2.$EXPECT)($L209,'SubstitutionStart "${"');function SubstitutionStart(e,t){let r=e.enter&&e.enter("SubstitutionStart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SubstitutionStart$parser(e,t);if(!n)return void(e.exit&&e.exit("SubstitutionStart",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SubstitutionStart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SubstitutionStart",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("SubstitutionStart",t,l,i),l}var Super$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L210,'Super "super"'),NonIdContinue);function Super(e,t){let r=e.enter&&e.enter("Super",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Super$parser(e,t);if(!n)return void(e.exit&&e.exit("Super",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Super",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Super",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Super",t,l,i),l}var Switch$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L211,'Switch "switch"'),NonIdContinue);function Switch(e,t){let r=e.enter&&e.enter("Switch",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Switch$parser(e,t);if(!n)return void(e.exit&&e.exit("Switch",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Switch",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Switch",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Switch",t,l,i),l}var Target$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L212,'Target "target"'),NonIdContinue);function Target(e,t){let r=e.enter&&e.enter("Target",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Target$parser(e,t);if(!n)return void(e.exit&&e.exit("Target",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Target",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Target",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Target",t,l,i),l}var Then$parser=(0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($L213,'Then "then"'),NonIdContinue);function Then(e,t){let r=e.enter&&e.enter("Then",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Then$parser(e,t);if(!n)return void(e.exit&&e.exit("Then",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Then",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Then",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t){return{$loc:t,token:""}}(import_lib2.SKIP,o,0,a[0],a[1],a[2]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Then",t,l,i),l}var This$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L214,'This "this"'),NonIdContinue);function This(e,t){let r=e.enter&&e.enter("This",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=This$parser(e,t);if(!n)return void(e.exit&&e.exit("This",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"This",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("This",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("This",t,l,i),l}var Throw$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L215,'Throw "throw"'),NonIdContinue);function Throw(e,t){let r=e.enter&&e.enter("Throw",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Throw$parser(e,t);if(!n)return void(e.exit&&e.exit("Throw",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Throw",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Throw",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Throw",t,l,i),l}var TripleDoubleQuote$parser=(0,import_lib2.$EXPECT)($L216,'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""');function TripleDoubleQuote(e,t){let r=e.enter&&e.enter("TripleDoubleQuote",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TripleDoubleQuote$parser(e,t);if(!n)return void(e.exit&&e.exit("TripleDoubleQuote",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TripleDoubleQuote",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TripleDoubleQuote",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"`"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TripleDoubleQuote",t,l,i),l}var TripleSingleQuote$parser=(0,import_lib2.$EXPECT)($L217,"TripleSingleQuote \"'''\"");function TripleSingleQuote(e,t){let r=e.enter&&e.enter("TripleSingleQuote",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TripleSingleQuote$parser(e,t);if(!n)return void(e.exit&&e.exit("TripleSingleQuote",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TripleSingleQuote",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TripleSingleQuote",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"`"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TripleSingleQuote",t,l,i),l}var TripleSlash$parser=(0,import_lib2.$EXPECT)($L218,'TripleSlash "///"');function TripleSlash(e,t){let r=e.enter&&e.enter("TripleSlash",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TripleSlash$parser(e,t);if(!n)return void(e.exit&&e.exit("TripleSlash",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TripleSlash",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TripleSlash",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"/"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TripleSlash",t,l,i),l}var TripleTick$parser=(0,import_lib2.$EXPECT)($L219,'TripleTick "```"');function TripleTick(e,t){let r=e.enter&&e.enter("TripleTick",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TripleTick$parser(e,t);if(!n)return void(e.exit&&e.exit("TripleTick",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TripleTick",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TripleTick",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"`"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TripleTick",t,l,i),l}var Try$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L220,'Try "try"'),NonIdContinue);function Try(e,t){let r=e.enter&&e.enter("Try",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Try$parser(e,t);if(!n)return void(e.exit&&e.exit("Try",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Try",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Try",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Try",t,l,i),l}var Typeof$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L221,'Typeof "typeof"'),NonIdContinue);function Typeof(e,t){let r=e.enter&&e.enter("Typeof",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Typeof$parser(e,t);if(!n)return void(e.exit&&e.exit("Typeof",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Typeof",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Typeof",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Typeof",t,l,i),l}var Undefined$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L222,'Undefined "undefined"'),NonIdContinue);function Undefined(e,t){let r=e.enter&&e.enter("Undefined",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Undefined$parser(e,t);if(!n)return void(e.exit&&e.exit("Undefined",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Undefined",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Undefined",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Undefined",t,l,i),l}var Unless$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L223,'Unless "unless"'),NonIdContinue);function Unless(e,t){let r=e.enter&&e.enter("Unless",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Unless$parser(e,t);if(!n)return void(e.exit&&e.exit("Unless",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Unless",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Unless",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,negated:!0}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Unless",t,l,i),l}var Until$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L224,'Until "until"'),NonIdContinue);function Until(e,t){let r=e.enter&&e.enter("Until",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Until$parser(e,t);if(!n)return void(e.exit&&e.exit("Until",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Until",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Until",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,negated:!0}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Until",t,l,i),l}var Using$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L225,'Using "using"'),NonIdContinue);function Using(e,t){let r=e.enter&&e.enter("Using",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Using$parser(e,t);if(!n)return void(e.exit&&e.exit("Using",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Using",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Using",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Using",t,l,i),l}var Var$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L185,'Var "var"'),NonIdContinue);function Var(e,t){let r=e.enter&&e.enter("Var",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Var$parser(e,t);if(!n)return void(e.exit&&e.exit("Var",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Var",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Var",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Var",t,l,i),l}var Void$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L226,'Void "void"'),NonIdContinue);function Void(e,t){let r=e.enter&&e.enter("Void",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Void$parser(e,t);if(!n)return void(e.exit&&e.exit("Void",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Void",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Void",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Void",t,l,i),l}var When$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L227,'When "when"'),NonIdContinue);function When(e,t){let r=e.enter&&e.enter("When",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=When$parser(e,t);if(!n)return void(e.exit&&e.exit("When",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"When",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("When",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t){return{$loc:t,token:"case"}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("When",t,l,i),l}var While$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L228,'While "while"'),NonIdContinue);function While(e,t){let r=e.enter&&e.enter("While",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=While$parser(e,t);if(!n)return void(e.exit&&e.exit("While",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"While",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("While",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("While",t,l,i),l}var With$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L133,'With "with"'),NonIdContinue);function With(e,t){let r=e.enter&&e.enter("With",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=With$parser(e,t);if(!n)return void(e.exit&&e.exit("With",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"With",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("With",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("With",t,l,i),l}var Yield$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L229,'Yield "yield"'),NonIdContinue);function Yield(e,t){let r=e.enter&&e.enter("Yield",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Yield$parser(e,t);if(!n)return void(e.exit&&e.exit("Yield",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Yield",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Yield",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i,type:"Yield"}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Yield",t,l,i),l}var JSXImplicitFragment$parser=(0,import_lib2.$S)(JSXTag,(0,import_lib2.$E)((0,import_lib2.$S)(ImplicitFragmentAllowed,NestedBinaryOpAllowed,NewlineBinaryOpAllowed,(0,import_lib2.$Q)((0,import_lib2.$S)(Nested,(0,import_lib2.$C)(JSXTag,JSXAngleChild))))));function JSXImplicitFragment(e,t){let r=e.enter&&e.enter("JSXImplicitFragment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXImplicitFragment$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXImplicitFragment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXImplicitFragment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXImplicitFragment",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=i,o=n;let a=0===(o=o?o[3]:[]).length?l:{type:"JSXFragment",children:["<>\n",state.currentIndent.token,l,...o,"\n",state.currentIndent.token,"</>"],jsxChildren:[l,...o.map(([,e])=>e)]},p=typeOfJSX(a,config);return p?[{ts:!0,children:["("]},a,{ts:!0,children:[" as any as ",p,")"]}]:a}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("JSXImplicitFragment",t,l,i),l}var JSXTag$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R84,"JSXTag /(?=[<])/"),_JSXTag);function JSXTag(e,t){let r=e.enter&&e.enter("JSXTag",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXTag$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXTag",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXTag",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXTag",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("JSXTag",t,l,i),l}function _JSXTag$0(e,t){return JSXElement(e,t)}function _JSXTag$1(e,t){return JSXFragment(e,t)}function _JSXTag$2(e,t){return JSXComment(e,t)}function _JSXTag(e,t){let r=e.enter&&e.enter("_JSXTag",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=_JSXTag$0(e,t);return n||(n=_JSXTag$1(e,t)),n||(n=_JSXTag$2(e,t)),n&&e.tokenize&&(n.value={type:"_JSXTag",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("_JSXTag",t,n,i),n}var JSXElement$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeJSXEnabled),PushJSXOpeningElement,(0,import_lib2.$E)(JSXMixedChildren),JSXOptionalClosingElement,PopJSXStack),JSXElement$2$parser=(0,import_lib2.$S)(CoffeeJSXEnabled,JSXOpeningElement,(0,import_lib2.$E)(JSXChildren),(0,import_lib2.$E)(Whitespace),JSXClosingElement);function JSXElement$0(e,t){return JSXSelfClosingElement(e,t)}function JSXElement$1(e,t){let r=JSXElement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){var a=n,p=l,s=o;if(!p)return e;let u;return r=r.slice(1),u=s?r:p.jsxChildren.length?[...r,"\n",state.currentIndent.token,["</",a[1],">"]]:[a.slice(0,-1)," />"],{type:"JSXElement",children:u,tag:a[1]}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXElement$2(e,t){let r=JSXElement$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n,n[0],p=n[1],n[2],n[3],s=n[4],u=p,c=s,a=a.slice(1),u[1]!==c[2]?o:{type:"JSXElement",children:a,tag:u[1]});var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXElement(e,t){let r=e.enter&&e.enter("JSXElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXElement$0(e,t);return n||(n=JSXElement$1(e,t)),n||(n=JSXElement$2(e,t)),n&&e.tokenize&&(n.value={type:"JSXElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXElement",t,n,i),n}var JSXSelfClosingElement$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L17,'JSXSelfClosingElement "<"'),JSXElementName,(0,import_lib2.$E)(TypeArguments),(0,import_lib2.$E)(JSXAttributes),(0,import_lib2.$E)(Whitespace),(0,import_lib2.$EXPECT)($L230,'JSXSelfClosingElement "/>"'));function JSXSelfClosingElement(e,t){let r=e.enter&&e.enter("JSXSelfClosingElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXSelfClosingElement$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXSelfClosingElement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXSelfClosingElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXSelfClosingElement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return{type:"JSXElement",children:r,tag:n}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3],o[4],o[5]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("JSXSelfClosingElement",t,l,i),l}var PushJSXOpeningElement$parser=(0,import_lib2.$S)(JSXOpeningElement);function PushJSXOpeningElement(e,t){let r=e.enter&&e.enter("PushJSXOpeningElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PushJSXOpeningElement$parser(e,t);if(!n)return void(e.exit&&e.exit("PushJSXOpeningElement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PushJSXOpeningElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PushJSXOpeningElement",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],state.JSXTagStack.push(p[1]),p);var p;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PushJSXOpeningElement",t,l,i),l}var PopJSXStack$parser=(0,import_lib2.$EXPECT)($L0,'PopJSXStack ""');function PopJSXStack(e,t){let r=e.enter&&e.enter("PopJSXStack",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PopJSXStack$parser(e,t);if(!n)return void(e.exit&&e.exit("PopJSXStack",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PopJSXStack",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PopJSXStack",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,void state.JSXTagStack.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("PopJSXStack",t,l,i),l}var JSXOpeningElement$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L17,'JSXOpeningElement "<"'),JSXElementName,(0,import_lib2.$E)(TypeArguments),(0,import_lib2.$E)(JSXAttributes),(0,import_lib2.$E)(Whitespace),(0,import_lib2.$EXPECT)($L44,'JSXOpeningElement ">"'));function JSXOpeningElement(e,t){let r=e.enter&&e.enter("JSXOpeningElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXOpeningElement$parser(e,t);return n&&e.tokenize&&(n.value={type:"JSXOpeningElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXOpeningElement",t,n,i),n}var JSXOptionalClosingElement$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Whitespace),JSXClosingElement),JSXOptionalClosingElement$1$parser=(0,import_lib2.$EXPECT)($L0,'JSXOptionalClosingElement ""');function JSXOptionalClosingElement$0(e,t){let r=JSXOptionalClosingElement$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n,n[0],p=n[1],s=p,state.currentJSXTag!==s[2]?o:a);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXOptionalClosingElement$1(e,t){return JSXOptionalClosingElement$1$parser(e,t)}function JSXOptionalClosingElement(e,t){let r=e.enter&&e.enter("JSXOptionalClosingElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXOptionalClosingElement$0(e,t);return n||(n=JSXOptionalClosingElement$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXOptionalClosingElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXOptionalClosingElement",t,n,i),n}var JSXClosingElement$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L231,'JSXClosingElement "</"'),(0,import_lib2.$E)(Whitespace),JSXElementName,(0,import_lib2.$E)(Whitespace),(0,import_lib2.$EXPECT)($L44,'JSXClosingElement ">"'));function JSXClosingElement(e,t){let r=e.enter&&e.enter("JSXClosingElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXClosingElement$parser(e,t);return n&&e.tokenize&&(n.value={type:"JSXClosingElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXClosingElement",t,n,i),n}var JSXFragment$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeJSXEnabled),PushJSXOpeningFragment,(0,import_lib2.$E)(JSXMixedChildren),JSXOptionalClosingFragment,PopJSXStack),JSXFragment$1$parser=(0,import_lib2.$S)(CoffeeJSXEnabled,(0,import_lib2.$EXPECT)($L232,'JSXFragment "<>"'),(0,import_lib2.$E)(JSXChildren),(0,import_lib2.$E)(Whitespace),JSXClosingFragment);function JSXFragment$0(e,t){let r=JSXFragment$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n,n[0],n[1],p=n[2],s=n[3],n[4],c=s,(u=p)?(a=a.slice(1),{type:"JSXFragment",children:c?a:[...a,"\n",state.currentIndent.token,"</>"],jsxChildren:u.jsxChildren}):o);var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXFragment$1(e,t){let r=JSXFragment$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],n[3],n[4],p=a,{type:"JSXFragment",children:o=o.slice(1),jsxChildren:p?p.jsxChildren:[]});var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXFragment(e,t){let r=e.enter&&e.enter("JSXFragment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXFragment$0(e,t);return n||(n=JSXFragment$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXFragment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXFragment",t,n,i),n}var PushJSXOpeningFragment$parser=(0,import_lib2.$EXPECT)($L232,'PushJSXOpeningFragment "<>"');function PushJSXOpeningFragment(e,t){let r=e.enter&&e.enter("PushJSXOpeningFragment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PushJSXOpeningFragment$parser(e,t);if(!n)return void(e.exit&&e.exit("PushJSXOpeningFragment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PushJSXOpeningFragment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PushJSXOpeningFragment",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,state.JSXTagStack.push(""),p);var p;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PushJSXOpeningFragment",t,l,i),l}var JSXOptionalClosingFragment$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Whitespace),JSXClosingFragment),JSXOptionalClosingFragment$1$parser=(0,import_lib2.$EXPECT)($L0,'JSXOptionalClosingFragment ""');function JSXOptionalClosingFragment$0(e,t){let r=JSXOptionalClosingFragment$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n,n[0],n[1],""!==state.currentJSXTag?o:a);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXOptionalClosingFragment$1(e,t){return JSXOptionalClosingFragment$1$parser(e,t)}function JSXOptionalClosingFragment(e,t){let r=e.enter&&e.enter("JSXOptionalClosingFragment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXOptionalClosingFragment$0(e,t);return n||(n=JSXOptionalClosingFragment$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXOptionalClosingFragment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXOptionalClosingFragment",t,n,i),n}var JSXClosingFragment$parser=(0,import_lib2.$EXPECT)($L233,'JSXClosingFragment "</>"');function JSXClosingFragment(e,t){let r=e.enter&&e.enter("JSXClosingFragment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXClosingFragment$parser(e,t);return n&&e.tokenize&&(n.value={type:"JSXClosingFragment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXClosingFragment",t,n,i),n}var JSXElementName$0$parser=(0,import_lib2.$Y)((0,import_lib2.$S)((0,import_lib2.$C)((0,import_lib2.$EXPECT)($L177,'JSXElementName "#"'),Dot),JSXShorthandString)),JSXElementName$1$parser=(0,import_lib2.$TEXT)((0,import_lib2.$S)(JSXIdentifierName,(0,import_lib2.$C)((0,import_lib2.$S)(Colon,JSXIdentifierName),(0,import_lib2.$Q)((0,import_lib2.$S)(Dot,JSXIdentifierName)))));function JSXElementName$0(e,t){let r=JSXElementName$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=(import_lib2.SKIP,config.defaultElement);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function JSXElementName$1(e,t){return JSXElementName$1$parser(e,t)}function JSXElementName(e,t){let r=e.enter&&e.enter("JSXElementName",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXElementName$0(e,t);return n||(n=JSXElementName$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXElementName",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXElementName",t,n,i),n}var JSXIdentifierName$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R85,"JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));function JSXIdentifierName(e,t){let r=e.enter&&e.enter("JSXIdentifierName",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXIdentifierName$parser(e,t);return n&&e.tokenize&&(n.value={type:"JSXIdentifierName",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXIdentifierName",t,n,i),n}var JSXAttributes$parser=(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$E)(Whitespace),JSXAttribute));function JSXAttributes(e,t){let r=e.enter&&e.enter("JSXAttributes",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXAttributes$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXAttributes",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXAttributes",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXAttributes",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r){let i=[],n=r.filter(e=>{let t=e[1];return"JSXClass"!==t.type||(i.push(t.class),!1)});if(i.length){let e=function(e){return"{"===e[0]||"{"===e[0]?.token},t=function(e){return e.slice(1,-1)},r=function(e){return(e=e.token||e).startsWith("'")&&(e='"'+e.slice(1,-1).replace(/\\*"/g,e=>e.length%2==0?e:"\\"+e)+'"'),JSON.parse(e)};let l=config.react?"className":"class";n=n.filter(e=>{let t=e[1];return!!("class"!==t[0][0]&&"className"!==t[0][0]||t[0][1])||(l=t[0][0],i.push(t[1][t[1].length-1]),!1)});let[o,a]=[[],[]];i.forEach(i=>{e(i)?(a.push(t(i)),a.push(", ")):o.push(r(i))});let p,s=o.filter(Boolean).join(" ");if(a.length)if(a.pop(),s&&a.unshift(JSON.stringify(s),", "),1===a.length){let e=a[0];for(;e.length&&isWhitespaceOrEmpty(e[e.length-1]);)e=e.slice(0,-1);for(;1===e?.length;)e=e[0];e?.children&&(e=e.children),p="`"===e?.[0]?.token?["{",...a,"}"]:["{(",...a,') || ""}']}else p=["{[",...a,'].filter(Boolean).join(" ")}'];else p=s.includes("&")||s.includes('"')?s.includes("&")||s.includes("'")?`{${JSON.stringify(s)}}`:`'${s}'`:`"${s}"`;n.splice(0,0,[" ",[l,["=",p]]])}return n.map(e=>{let[t,r]=e;return t&&" "===r[0]&&(e=[t,r.slice(1)]),e})}(import_lib2.SKIP,0,o);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("JSXAttributes",t,l,i),l}var JSXAttribute$0$parser=(0,import_lib2.$S)(BracedObjectLiteral),JSXAttribute$1$parser=(0,import_lib2.$S)(JSXAttributeName,(0,import_lib2.$C)(JSXAttributeInitializer,(0,import_lib2.$Y)(JSXAttributeSpace))),JSXAttribute$2$parser=(0,import_lib2.$S)(InsertInlineOpenBrace,DotDotDot,InlineJSXAttributeValue,InsertCloseBrace,(0,import_lib2.$Y)(JSXAttributeSpace)),JSXAttribute$3$parser=(0,import_lib2.$S)(AtThis,(0,import_lib2.$E)(Identifier),(0,import_lib2.$Q)(InlineJSXCallExpressionRest),(0,import_lib2.$Y)(JSXAttributeSpace)),JSXAttribute$4$parser=(0,import_lib2.$S)(Identifier,(0,import_lib2.$P)(InlineJSXCallExpressionRest),(0,import_lib2.$Y)(JSXAttributeSpace)),JSXAttribute$5$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L177,'JSXAttribute "#"'),JSXShorthandString),JSXAttribute$6$parser=(0,import_lib2.$S)(Dot,JSXShorthandString),JSXAttribute$7$parser=(0,import_lib2.$S)((0,import_lib2.$TEXT)((0,import_lib2.$EXPECT)($R86,"JSXAttribute /[!+-]/")),JSXAttributeName,(0,import_lib2.$Y)(JSXAttributeSpace));function JSXAttribute$0(e,t){let r=JSXAttribute$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,convertObjectToJSXAttributes(n[0]));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttribute$1(e,t){let r=JSXAttribute$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],"boolean"==typeof(s=a)&&(s=void 0),"ComputedPropertyName"===(p=o).type?(s?(s=s[s.length-1],"{"===s[0]?.token&&"}"===s[s.length-1]?.token&&(s=s.slice(1,-1))):s="true",["{...{",p,": ",s,"}}"]):[p,s]);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttribute$2(e,t){let r=JSXAttribute$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return[i,n,l,o]}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttribute$3(e,t){let r=JSXAttribute$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=n;let a=[i,...l.flat()];o&&a.splice(1,0,{type:"PropertyAccess",children:[".",o],name:o});let p=processCallMemberExpression({type:"CallExpression",children:a}),s=lastAccessInCallExpression(p);return assert(s,"AtThis+id/rest guarantees lastAccess"),"Index"===s.type?["{...{",{...s,type:"ComputedPropertyName"},": ",p,"}}"]:s.name?[s.name,"={",p,"}"]:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttribute$4(e,t){let r=JSXAttribute$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){let l=processCallMemberExpression({type:"CallExpression",children:[i,...n.flat()]});if("ObjectExpression"===l.type)return convertObjectToJSXAttributes(l);let o=lastAccessInCallExpression(l);return assert(o,"Identifier base guarantees lastAccess"),"Index"===o.type?["{...{",{...o,type:"ComputedPropertyName"},": ",l,"}}"]:o.name?[o.name,"={",l,"}"]:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttribute$5(e,t){let r=JSXAttribute$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return[" ","id=",n]}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttribute$6(e,t){let r=JSXAttribute$6$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"JSXClass",class:n}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttribute$7(e,t){let r=JSXAttribute$7$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return[" ",n,"={","+"===i?"true":"false","}"]}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttribute(e,t){let r=e.enter&&e.enter("JSXAttribute",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXAttribute$0(e,t);return n||(n=JSXAttribute$1(e,t)),n||(n=JSXAttribute$2(e,t)),n||(n=JSXAttribute$3(e,t)),n||(n=JSXAttribute$4(e,t)),n||(n=JSXAttribute$5(e,t)),n||(n=JSXAttribute$6(e,t)),n||(n=JSXAttribute$7(e,t)),n&&e.tokenize&&(n.value={type:"JSXAttribute",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXAttribute",t,n,i),n}var JSXAttributeSpace$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R87,"JSXAttributeSpace /[\\s>]|\\/>/"));function JSXAttributeSpace(e,t){let r=e.enter&&e.enter("JSXAttributeSpace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXAttributeSpace$parser(e,t);return n&&e.tokenize&&(n.value={type:"JSXAttributeSpace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXAttributeSpace",t,n,i),n}var JSXShorthandString$0$parser=(0,import_lib2.$EXPECT)($R88,"JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"),JSXShorthandString$1$parser=(0,import_lib2.$S)(TemplateLiteral),JSXShorthandString$3$parser=(0,import_lib2.$S)(OpenBrace,PostfixedExpressionOrCommaLoop,__,CloseBrace);function JSXShorthandString$0(e,t){let r=JSXShorthandString$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],quoteString(o));var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXShorthandString$1(e,t){let r=JSXShorthandString$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return["{",i,"}"]}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXShorthandString$2(e,t){return StringLiteral(e,t)}function JSXShorthandString$3(e,t){return JSXShorthandString$3$parser(e,t)}function JSXShorthandString(e,t){let r=e.enter&&e.enter("JSXShorthandString",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXShorthandString$0(e,t);return n||(n=JSXShorthandString$1(e,t)),n||(n=JSXShorthandString$2(e,t)),n||(n=JSXShorthandString$3(e,t)),n&&e.tokenize&&(n.value={type:"JSXShorthandString",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXShorthandString",t,n,i),n}var JSXAttributeName$0$parser=IdentifierName,JSXAttributeName$1$parser=(0,import_lib2.$S)(JSXIdentifierName,(0,import_lib2.$E)((0,import_lib2.$S)(Colon,JSXIdentifierName)));function JSXAttributeName$0(e,t){let r=JSXAttributeName$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){var i=r;if(!i.unicode)return e;let n=propertyKey(i);return{type:"ComputedPropertyName",children:[n],expression:n}}(import_lib2.SKIP,0,n);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttributeName$1(e,t){return JSXAttributeName$1$parser(e,t)}function JSXAttributeName$2(e,t){return ComputedPropertyName(e,t)}function JSXAttributeName(e,t){let r=e.enter&&e.enter("JSXAttributeName",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXAttributeName$0(e,t);return n||(n=JSXAttributeName$1(e,t)),n||(n=JSXAttributeName$2(e,t)),n&&e.tokenize&&(n.value={type:"JSXAttributeName",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXAttributeName",t,n,i),n}var JSXAttributeInitializer$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(CoffeeJSXEnabled),(0,import_lib2.$E)(Whitespace),Equals,(0,import_lib2.$Y)((0,import_lib2.$S)((0,import_lib2.$Q)(NonNewlineWhitespace),EOL)),InsertInlineOpenBrace,NestedPostfixedExpressionNoTrailing,InsertCloseBrace),JSXAttributeInitializer$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Whitespace),Equals,(0,import_lib2.$E)(Whitespace),JSXAttributeValue);function JSXAttributeInitializer$0(e,t){let r=JSXAttributeInitializer$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],a=n[2],n[3],p=n[4],s=n[5],u=n[6],c=u,[o,a,p,trimFirstSpace(s),c]);var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttributeInitializer$1(e,t){return JSXAttributeInitializer$1$parser(e,t)}function JSXAttributeInitializer(e,t){let r=e.enter&&e.enter("JSXAttributeInitializer",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXAttributeInitializer$0(e,t);return n||(n=JSXAttributeInitializer$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXAttributeInitializer",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXAttributeInitializer",t,n,i),n}var JSXAttributeValue$0$parser=(0,import_lib2.$S)(OpenBrace,PostfixedExpressionOrCommaLoop,__,CloseBrace),JSXAttributeValue$3$parser=(0,import_lib2.$S)(InsertInlineOpenBrace,InlineJSXAttributeValue,InsertCloseBrace,(0,import_lib2.$Y)(JSXAttributeSpace)),JSXAttributeValue$4$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R89,"JSXAttributeValue /\"[^\"]*\"|'[^']*'/"));function JSXAttributeValue$0(e,t){return JSXAttributeValue$0$parser(e,t)}function JSXAttributeValue$1(e,t){return JSXElement(e,t)}function JSXAttributeValue$2(e,t){return JSXFragment(e,t)}function JSXAttributeValue$3(e,t){let r=JSXAttributeValue$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,a=n[0],p=n[1],s=n[2],n[3],u=a,m=s,"StringLiteral"===(c=p).type?o:[u,c,m]);var o,a,p,s,u,c,m;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXAttributeValue$4(e,t){return JSXAttributeValue$4$parser(e,t)}function JSXAttributeValue(e,t){let r=e.enter&&e.enter("JSXAttributeValue",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXAttributeValue$0(e,t);return n||(n=JSXAttributeValue$1(e,t)),n||(n=JSXAttributeValue$2(e,t)),n||(n=JSXAttributeValue$3(e,t)),n||(n=JSXAttributeValue$4(e,t)),n&&e.tokenize&&(n.value={type:"JSXAttributeValue",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXAttributeValue",t,n,i),n}var InlineJSXAttributeValue$parser=(0,import_lib2.$S)(InlineJSXUnaryExpression,(0,import_lib2.$Q)(InlineJSXBinaryOpRHS));function InlineJSXAttributeValue(e,t){let r=e.enter&&e.enter("InlineJSXAttributeValue",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXAttributeValue$parser(e,t);if(!n)return void(e.exit&&e.exit("InlineJSXAttributeValue",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InlineJSXAttributeValue",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InlineJSXAttributeValue",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,s=o[0],o[1].length?processBinaryOpExpression(p):s);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InlineJSXAttributeValue",t,l,i),l}var InlineJSXBinaryOpRHS$parser=(0,import_lib2.$S)((0,import_lib2.$N)((0,import_lib2.$EXPECT)($R90,"InlineJSXBinaryOpRHS /[<>]/")),BinaryOp,InlineJSXUnaryExpression);function InlineJSXBinaryOpRHS(e,t){let r=e.enter&&e.enter("InlineJSXBinaryOpRHS",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXBinaryOpRHS$parser(e,t);if(!n)return void(e.exit&&e.exit("InlineJSXBinaryOpRHS",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InlineJSXBinaryOpRHS",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InlineJSXBinaryOpRHS",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return[[],n,[],l]}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InlineJSXBinaryOpRHS",t,l,i),l}var InlineJSXUnaryExpression$parser=(0,import_lib2.$S)((0,import_lib2.$Q)(InlineJSXUnaryOp),InlineJSXUpdateExpression,(0,import_lib2.$E)(InlineJSXUnaryPostfix));function InlineJSXUnaryExpression(e,t){let r=e.enter&&e.enter("InlineJSXUnaryExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXUnaryExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("InlineJSXUnaryExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InlineJSXUnaryExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InlineJSXUnaryExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],processUnaryExpression(p,s,u));var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InlineJSXUnaryExpression",t,l,i),l}var InlineJSXUnaryOp$parser=(0,import_lib2.$EXPECT)($R91,"InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/");function InlineJSXUnaryOp(e,t){let r=e.enter&&e.enter("InlineJSXUnaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXUnaryOp$parser(e,t);if(!n)return void(e.exit&&e.exit("InlineJSXUnaryOp",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InlineJSXUnaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InlineJSXUnaryOp",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("InlineJSXUnaryOp",t,l,i),l}function InlineJSXUnaryPostfix(e,t){let r=e.enter&&e.enter("InlineJSXUnaryPostfix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=QuestionMark(e,t);return n&&e.tokenize&&(n.value={type:"InlineJSXUnaryPostfix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineJSXUnaryPostfix",t,n,i),n}var InlineJSXUpdateExpression$0$parser=(0,import_lib2.$S)(UpdateExpressionSymbol,UnaryExpression),InlineJSXUpdateExpression$1$parser=(0,import_lib2.$S)(InlineJSXCallExpression,(0,import_lib2.$E)(UpdateExpressionSymbol));function InlineJSXUpdateExpression$0(e,t){return InlineJSXUpdateExpression$0$parser(e,t)}function InlineJSXUpdateExpression$1(e,t){let r=InlineJSXUpdateExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n?r:i}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function InlineJSXUpdateExpression(e,t){let r=e.enter&&e.enter("InlineJSXUpdateExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXUpdateExpression$0(e,t);return n||(n=InlineJSXUpdateExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"InlineJSXUpdateExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineJSXUpdateExpression",t,n,i),n}var InlineJSXCallExpression$0$parser=(0,import_lib2.$S)(Super,ExplicitArguments,(0,import_lib2.$Q)(InlineJSXCallExpressionRest)),InlineJSXCallExpression$1$parser=(0,import_lib2.$S)(Import,ExplicitArguments,(0,import_lib2.$Q)(InlineJSXCallExpressionRest)),InlineJSXCallExpression$2$parser=(0,import_lib2.$S)(InlineJSXMemberExpression,(0,import_lib2.$Q)(InlineJSXCallExpressionRest));function InlineJSXCallExpression$0(e,t){let r=InlineJSXCallExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],processCallMemberExpression({type:"CallExpression",children:[o,a,...p.flat()]}));var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function InlineJSXCallExpression$1(e,t){let r=InlineJSXCallExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=p,processCallMemberExpression({type:"CallExpression",children:[o,rewriteDynamicImportCall(a),...s.flat()]}));var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function InlineJSXCallExpression$2(e,t){let r=InlineJSXCallExpression$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=o,(s=a).length?(s=s.flat(),processCallMemberExpression({type:"CallExpression",children:[p,...s]})):p);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function InlineJSXCallExpression(e,t){let r=e.enter&&e.enter("InlineJSXCallExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXCallExpression$0(e,t);return n||(n=InlineJSXCallExpression$1(e,t)),n||(n=InlineJSXCallExpression$2(e,t)),n&&e.tokenize&&(n.value={type:"InlineJSXCallExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineJSXCallExpression",t,n,i),n}var InlineJSXCallExpressionRest$1$parser=(0,import_lib2.$C)(TemplateLiteral,StringLiteral),InlineJSXCallExpressionRest$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(OptionalShorthand),ExplicitArguments);function InlineJSXCallExpressionRest$0(e,t){return InlineJSXMemberExpressionRest(e,t)}function InlineJSXCallExpressionRest$1(e,t){let r=InlineJSXCallExpressionRest$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,"StringLiteral"===(o=n).type?"`"+o.token.slice(1,-1).replace(/(`|\$\{)/g,"\\$1")+"`":o);var o;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function InlineJSXCallExpressionRest$2(e,t){let r=InlineJSXCallExpressionRest$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return i?[i,n]:n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function InlineJSXCallExpressionRest(e,t){let r=e.enter&&e.enter("InlineJSXCallExpressionRest",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXCallExpressionRest$0(e,t);return n||(n=InlineJSXCallExpressionRest$1(e,t)),n||(n=InlineJSXCallExpressionRest$2(e,t)),n&&e.tokenize&&(n.value={type:"InlineJSXCallExpressionRest",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineJSXCallExpressionRest",t,n,i),n}var InlineJSXMemberExpression$parser=(0,import_lib2.$S)((0,import_lib2.$C)(InlineJSXPrimaryExpression,SuperProperty,MetaProperty),(0,import_lib2.$Q)(InlineJSXMemberExpressionRest));function InlineJSXMemberExpression(e,t){let r=e.enter&&e.enter("InlineJSXMemberExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXMemberExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("InlineJSXMemberExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InlineJSXMemberExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InlineJSXMemberExpression",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],(u=s).length||Array.isArray(p)?processCallMemberExpression({type:"MemberExpression",children:[p,...u].flat()}):p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InlineJSXMemberExpression",t,l,i),l}var InlineJSXMemberExpressionRest$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(OptionalShorthand),(0,import_lib2.$Q)(InlineComment),MemberBracketContent);function InlineJSXMemberExpressionRest$0(e,t){let r=InlineJSXMemberExpressionRest$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],u=a,c=p,(s=o)||u.length?s?"Optional"===s.type&&"SliceExpression"===c.type?[...s.children.slice(0,-1),...u,c]:[s,...u,c]:[...u,c]:c);var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function InlineJSXMemberExpressionRest$1(e,t){return PropertyAccess(e,t)}function InlineJSXMemberExpressionRest$2(e,t){return PropertyGlob(e,t)}function InlineJSXMemberExpressionRest$3(e,t){return PropertyBindExplicitArguments(e,t)}function InlineJSXMemberExpressionRest$4(e,t){return NonNullAssertion(e,t)}function InlineJSXMemberExpressionRest(e,t){let r=e.enter&&e.enter("InlineJSXMemberExpressionRest",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXMemberExpressionRest$0(e,t);return n||(n=InlineJSXMemberExpressionRest$1(e,t)),n||(n=InlineJSXMemberExpressionRest$2(e,t)),n||(n=InlineJSXMemberExpressionRest$3(e,t)),n||(n=InlineJSXMemberExpressionRest$4(e,t)),n&&e.tokenize&&(n.value={type:"InlineJSXMemberExpressionRest",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineJSXMemberExpressionRest",t,n,i),n}function InlineJSXPrimaryExpression$0(e,t){return NullLiteral(e,t)}function InlineJSXPrimaryExpression$1(e,t){return BooleanLiteral(e,t)}function InlineJSXPrimaryExpression$2(e,t){return NumericLiteral(e,t)}function InlineJSXPrimaryExpression$3(e,t){return TemplateLiteral(e,t)}function InlineJSXPrimaryExpression$4(e,t){return ThisLiteral(e,t)}function InlineJSXPrimaryExpression$5(e,t){return ArrayLiteral(e,t)}function InlineJSXPrimaryExpression$6(e,t){return BracedObjectLiteral(e,t)}function InlineJSXPrimaryExpression$7(e,t){return IdentifierReference(e,t)}function InlineJSXPrimaryExpression$8(e,t){return RegularExpressionLiteral(e,t)}function InlineJSXPrimaryExpression$9(e,t){return OptimizedParenthesizedExpression(e,t)}function InlineJSXPrimaryExpression(e,t){let r=e.enter&&e.enter("InlineJSXPrimaryExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineJSXPrimaryExpression$0(e,t);return n||(n=InlineJSXPrimaryExpression$1(e,t)),n||(n=InlineJSXPrimaryExpression$2(e,t)),n||(n=InlineJSXPrimaryExpression$3(e,t)),n||(n=InlineJSXPrimaryExpression$4(e,t)),n||(n=InlineJSXPrimaryExpression$5(e,t)),n||(n=InlineJSXPrimaryExpression$6(e,t)),n||(n=InlineJSXPrimaryExpression$7(e,t)),n||(n=InlineJSXPrimaryExpression$8(e,t)),n||(n=InlineJSXPrimaryExpression$9(e,t)),n&&e.tokenize&&(n.value={type:"InlineJSXPrimaryExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineJSXPrimaryExpression",t,n,i),n}var JSXMixedChildren$parser=(0,import_lib2.$S)(JSXSameLineChildren,JSXNestedChildren);function JSXMixedChildren(e,t){let r=e.enter&&e.enter("JSXMixedChildren",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXMixedChildren$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXMixedChildren",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXMixedChildren",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXMixedChildren",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],c=s,{children:(u=p).concat(c),jsxChildren:u.concat(c.jsxChildren)});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("JSXMixedChildren",t,l,i),l}var JSXSameLineChildren$0$parser=(0,import_lib2.$S)(JSXCodeSameLineEnabled,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$E)(NonNewlineWhitespace),(0,import_lib2.$N)(EOL),JSXChildForcedCode))),JSXSameLineChildren$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(JSXCodeSameLineEnabled),(0,import_lib2.$Q)(JSXChildForcedNoCode));function JSXSameLineChildren$0(e,t){let r=JSXSameLineChildren$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],n[1].map(([,,e])=>e));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXSameLineChildren$1(e,t){let r=JSXSameLineChildren$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXSameLineChildren(e,t){let r=e.enter&&e.enter("JSXSameLineChildren",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXSameLineChildren$0(e,t);return n||(n=JSXSameLineChildren$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXSameLineChildren",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXSameLineChildren",t,n,i),n}var JSXChildren$parser=(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$E)(NonNewlineWhitespace),EOL,(0,import_lib2.$E)(NonNewlineWhitespace))),JSXChild));function JSXChildren(e,t){let r=e.enter&&e.enter("JSXChildren",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXChildren$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXChildren",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXChildren",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXChildren",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,{children:p=o,jsxChildren:p.map(e=>e[1])});var p;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("JSXChildren",t,l,i),l}var JSXNestedChildren$0$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)((0,import_lib2.$S)(JSXNested,(0,import_lib2.$P)(JSXChild))),PopIndent),JSXNestedChildren$1$parser=(0,import_lib2.$Y)((0,import_lib2.$C)(JSXEOS,(0,import_lib2.$EXPECT)($L36,'JSXNestedChildren "}"'),JSXClosingElement,JSXClosingFragment));function JSXNestedChildren$0(e,t){let r=JSXNestedChildren$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(o=import_lib2.SKIP,n[0],a=n[1],n[2],a.length?{children:a,jsxChildren:[].concat(...a.map(e=>e[1]))}:o);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXNestedChildren$1(e,t){let r=JSXNestedChildren$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=function(){return{children:[],jsxChildren:[]}}(import_lib2.SKIP);return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function JSXNestedChildren(e,t){let r=e.enter&&e.enter("JSXNestedChildren",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXNestedChildren$0(e,t);return n||(n=JSXNestedChildren$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXNestedChildren",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXNestedChildren",t,n,i),n}var JSXEOS$parser=(0,import_lib2.$P)((0,import_lib2.$S)((0,import_lib2.$E)(NonNewlineWhitespace),EOL));function JSXEOS(e,t){let r=e.enter&&e.enter("JSXEOS",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXEOS$parser(e,t);return n&&e.tokenize&&(n.value={type:"JSXEOS",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXEOS",t,n,i),n}var JSXNested$parser=(0,import_lib2.$S)(JSXEOS,Indent);function JSXNested(e,t){let r=e.enter&&e.enter("JSXNested",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXNested$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXNested",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXNested",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXNested",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=n;let{level:o}=l;return o!==state.currentIndent.level?e:r}(import_lib2.SKIP,0,o,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("JSXNested",t,l,i),l}var JSXChild$1$parser=(0,import_lib2.$S)(JSXCodeNestedEnabled,JSXCodeChild),JSXChild$2$parser=(0,import_lib2.$S)((0,import_lib2.$N)(JSXCodeNestedEnabled),JSXText);function JSXChild$0(e,t){return JSXChildGeneral(e,t)}function JSXChild$1(e,t){let r=JSXChild$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXChild$2(e,t){let r=JSXChild$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXChild(e,t){let r=e.enter&&e.enter("JSXChild",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXChild$0(e,t);return n||(n=JSXChild$1(e,t)),n||(n=JSXChild$2(e,t)),n&&e.tokenize&&(n.value={type:"JSXChild",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXChild",t,n,i),n}function JSXChildForcedCode$0(e,t){return JSXChildGeneral(e,t)}function JSXChildForcedCode$1(e,t){return JSXCodeChild(e,t)}function JSXChildForcedCode(e,t){let r=e.enter&&e.enter("JSXChildForcedCode",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXChildForcedCode$0(e,t);return n||(n=JSXChildForcedCode$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXChildForcedCode",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXChildForcedCode",t,n,i),n}function JSXChildForcedNoCode$0(e,t){return JSXChildGeneral(e,t)}function JSXChildForcedNoCode$1(e,t){return JSXText(e,t)}function JSXChildForcedNoCode(e,t){let r=e.enter&&e.enter("JSXChildForcedNoCode",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXChildForcedNoCode$0(e,t);return n||(n=JSXChildForcedNoCode$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXChildForcedNoCode",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXChildForcedNoCode",t,n,i),n}var JSXChildGeneral$3$parser=(0,import_lib2.$S)(OpenBrace,IndentedJSXChildExpression,__,CloseBrace),JSXChildGeneral$4$parser=(0,import_lib2.$S)(OpenBrace,(0,import_lib2.$E)(JSXChildExpression),__,CloseBrace),JSXChildGeneral$5$parser=(0,import_lib2.$S)(InsertInlineOpenBrace,ArrowFunction,InsertCloseBrace);function JSXChildGeneral$0(e,t){return JSXElement(e,t)}function JSXChildGeneral$1(e,t){return JSXFragment(e,t)}function JSXChildGeneral$2(e,t){return JSXComment(e,t)}function JSXChildGeneral$3(e,t){let r=JSXChildGeneral$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"JSXChildExpression",children:r,expression:n}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXChildGeneral$4(e,t){let r=JSXChildGeneral$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"JSXChildExpression",children:r,expression:n}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXChildGeneral$5(e,t){let r=JSXChildGeneral$5$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"JSXChildExpression",children:r,expression:n}}(import_lib2.SKIP,0,n,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXChildGeneral$6(e,t){return JSXAngleChild(e,t)}function JSXChildGeneral(e,t){let r=e.enter&&e.enter("JSXChildGeneral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXChildGeneral$0(e,t);return n||(n=JSXChildGeneral$1(e,t)),n||(n=JSXChildGeneral$2(e,t)),n||(n=JSXChildGeneral$3(e,t)),n||(n=JSXChildGeneral$4(e,t)),n||(n=JSXChildGeneral$5(e,t)),n||(n=JSXChildGeneral$6(e,t)),n&&e.tokenize&&(n.value={type:"JSXChildGeneral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXChildGeneral",t,n,i),n}var JSXComment$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L234,'JSXComment "\x3c!--"'),JSXCommentContent,(0,import_lib2.$EXPECT)($L235,'JSXComment "--\x3e"'));function JSXComment(e,t){let r=e.enter&&e.enter("JSXComment",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXComment$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXComment",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXComment",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXComment",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return["{/*",n,"*/}"]}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("JSXComment",t,l,i),l}var JSXCommentContent$parser=(0,import_lib2.$EXPECT)($R92,"JSXCommentContent /(?:-[^-]|[^-]*)*/");function JSXCommentContent(e,t){let r=e.enter&&e.enter("JSXCommentContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXCommentContent$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXCommentContent",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXCommentContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXCommentContent",t,r,i),r}let l,o=n.loc,a=n.value,p=(import_lib2.SKIP,s=o,u=a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],{$loc:s,token:u.replace(/\*\//g,"* /")});var s,u;return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("JSXCommentContent",t,l,i),l}var JSXText$parser=(0,import_lib2.$EXPECT)($R93,"JSXText /[^{}<>\\r\\n]+/");function JSXText(e,t){let r=e.enter&&e.enter("JSXText",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXText$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXText",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXText",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXText",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{type:"JSXText",token:r,$loc:t}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("JSXText",t,l,i),l}var JSXChildExpression$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Whitespace),LexicalDeclaration),JSXChildExpression$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Whitespace),(0,import_lib2.$E)((0,import_lib2.$S)(DotDotDot,(0,import_lib2.$E)(Whitespace))),PostfixedExpressionOrCommaLoop);function JSXChildExpression$0(e,t){let r=JSXChildExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){var l=n;let o=l.names.concat(l.thisAssignments.map(e=>e[1][1]));return o.sort(),o=o.filter((e,t)=>0===t||e!==o[t-1]),l={...l,hoistDec:{type:"Declaration",children:["let ",o.map((e,t)=>0===t?[e]:[",",e]).flat()]},children:l.children.slice(1)},l.thisAssignments?.length?l.children.push(...l.splices,",",...l.thisAssignments.map((e,t)=>[...e.slice(0,-1),t===l.thisAssignments.length-1?"":","])):l.splices?.length&&l.children.push(...l.splices),l.children.push(",void 0"),l}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXChildExpression$1(e,t){return JSXChildExpression$1$parser(e,t)}function JSXChildExpression(e,t){let r=e.enter&&e.enter("JSXChildExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXChildExpression$0(e,t);return n||(n=JSXChildExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXChildExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXChildExpression",t,n,i),n}var IndentedJSXChildExpression$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$E)(NestedJSXChildExpression),PopIndent);function IndentedJSXChildExpression(e,t){let r=e.enter&&e.enter("IndentedJSXChildExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IndentedJSXChildExpression$parser(e,t);if(!n)return void(e.exit&&e.exit("IndentedJSXChildExpression",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IndentedJSXChildExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IndentedJSXChildExpression",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IndentedJSXChildExpression",t,l,i),l}var NestedJSXChildExpression$parser=(0,import_lib2.$S)(JSXNested,JSXChildExpression);function NestedJSXChildExpression(e,t){let r=e.enter&&e.enter("NestedJSXChildExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedJSXChildExpression$parser(e,t);return n&&e.tokenize&&(n.value={type:"NestedJSXChildExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedJSXChildExpression",t,n,i),n}var JSXAngleChild$parser=(0,import_lib2.$S)(CloseAngleBracket,JSXCodeChild);function JSXAngleChild(e,t){let r=e.enter&&e.enter("JSXAngleChild",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXAngleChild$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXAngleChild",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXAngleChild",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXAngleChild",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("JSXAngleChild",t,l,i),l}var JSXCodeChild$parser=(0,import_lib2.$S)(InsertInlineOpenBrace,JSXCodeChildExpression,InsertCloseBrace);function JSXCodeChild(e,t){let r=e.enter&&e.enter("JSXCodeChild",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXCodeChild$parser(e,t);return n&&e.tokenize&&(n.value={type:"JSXCodeChild",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXCodeChild",t,n,i),n}var JSXCodeChildExpression$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(JSXEOS),ForbidNewlineBinaryOp,(0,import_lib2.$E)(JSXChildExpression),RestoreNewlineBinaryOp),JSXCodeChildExpression$1$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(JSXEOS),ImplicitNestedBlock);function JSXCodeChildExpression$0(e,t){let r=JSXCodeChildExpression$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return l||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXCodeChildExpression$1(e,t){let r=JSXCodeChildExpression$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){if(!n)return e;let l={type:"DoStatement",children:[n],block:n};return{type:"StatementExpression",statement:l,children:[l]}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function JSXCodeChildExpression(e,t){let r=e.enter&&e.enter("JSXCodeChildExpression",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXCodeChildExpression$0(e,t);return n||(n=JSXCodeChildExpression$1(e,t)),n&&e.tokenize&&(n.value={type:"JSXCodeChildExpression",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("JSXCodeChildExpression",t,n,i),n}var UsingDeclaration$parser=(0,import_lib2.$S)(Using,(0,import_lib2.$E)(_),UsingBinding,(0,import_lib2.$Q)((0,import_lib2.$S)(__,Comma,__,UsingBinding)),UsingJSModeError);function UsingDeclaration(e,t){let r=e.enter&&e.enter("UsingDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UsingDeclaration$parser(e,t);if(!n)return void(e.exit&&e.exit("UsingDeclaration",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"UsingDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("UsingDeclaration",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){var a=i;let p=[l].concat(o.map(([,,,e])=>e));return{type:"Declaration",children:r,names:p.flatMap(e=>e.names),bindings:p,decl:a,splices:p.flatMap(e=>e.splices),thisAssignments:p.flatMap(e=>e.thisAssignments)}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("UsingDeclaration",t,l,i),l}var UsingBinding$parser=(0,import_lib2.$S)(BindingIdentifier,(0,import_lib2.$E)(TypeSuffix),Initializer);function UsingBinding(e,t){let r=e.enter&&e.enter("UsingBinding",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UsingBinding$parser(e,t);if(!n)return void(e.exit&&e.exit("UsingBinding",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"UsingBinding",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("UsingBinding",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,s=o[0],u=o[1],c=o[2],d=u,f=c,{type:"Binding",children:p,names:(m=s).names,pattern:m,typeSuffix:d,initializer:f,splices:[],thisAssignments:[]});var p,s,u,c,m,d,f;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("UsingBinding",t,l,i),l}var UsingJSModeError$parser=(0,import_lib2.$EXPECT)($L0,'UsingJSModeError ""');function UsingJSModeError(e,t){let r=e.enter&&e.enter("UsingJSModeError",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UsingJSModeError$parser(e,t);if(!n)return void(e.exit&&e.exit("UsingJSModeError",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"UsingJSModeError",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("UsingJSModeError",t,r,i),r}n.loc,n.value;let l,o=function(){return{type:"Error",js:!0,message:"`using` is not currently transpiled in JS mode."}}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("UsingJSModeError",t,l,i),l}var TypeDeclaration$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Export,(0,import_lib2.$E)(_))),(0,import_lib2.$S)(Declare,(0,import_lib2.$E)(_)),TypeLexicalDeclaration),TypeDeclaration$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Export,(0,import_lib2.$E)(_))),(0,import_lib2.$E)((0,import_lib2.$S)(Declare,(0,import_lib2.$E)(_))),TypeDeclarationRest);function TypeDeclaration$0(e,t){let r=TypeDeclaration$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],{type:"Declaration",ts:!0,children:o,names:a.names??[]});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeDeclaration$1(e,t){let r=TypeDeclaration$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],s=o,u=a,c=p,{...c,ts:!0,export:s,declare:u,children:[s,u,...c.children]});var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeDeclaration(e,t){let r=e.enter&&e.enter("TypeDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeDeclaration$0(e,t);return n||(n=TypeDeclaration$1(e,t)),n&&e.tokenize&&(n.value={type:"TypeDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeDeclaration",t,n,i),n}function TypeDeclarationRest$0(e,t){return TypeAliasDeclaration(e,t)}function TypeDeclarationRest$1(e,t){return InterfaceDeclaration(e,t)}function TypeDeclarationRest$2(e,t){return NamespaceDeclaration(e,t)}function TypeDeclarationRest$3(e,t){return FunctionSignature(e,t)}function TypeDeclarationRest(e,t){let r=e.enter&&e.enter("TypeDeclarationRest",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeDeclarationRest$0(e,t);return n||(n=TypeDeclarationRest$1(e,t)),n||(n=TypeDeclarationRest$2(e,t)),n||(n=TypeDeclarationRest$3(e,t)),n&&e.tokenize&&(n.value={type:"TypeDeclarationRest",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeDeclarationRest",t,n,i),n}var TypeAliasDeclaration$0$parser=(0,import_lib2.$S)(TypeKeyword,(0,import_lib2.$E)(_),IdentifierName,(0,import_lib2.$E)(TypeParameters),OptionalEquals,(0,import_lib2.$C)(MaybeNestedType,(0,import_lib2.$S)(__,Type))),TypeAliasDeclaration$1$parser=(0,import_lib2.$S)(InsertType,IdentifierName,(0,import_lib2.$E)(TypeParameters),__,TypeAssignment,(0,import_lib2.$C)(MaybeNestedType,(0,import_lib2.$S)(__,Type)));function TypeAliasDeclaration$0(e,t){let r=TypeAliasDeclaration$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return{type:"TypeDeclaration",id:l,children:r,ts:!0}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeAliasDeclaration$1(e,t){let r=TypeAliasDeclaration$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"TypeDeclaration",id:n,children:r,ts:!0}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeAliasDeclaration(e,t){let r=e.enter&&e.enter("TypeAliasDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeAliasDeclaration$0(e,t);return n||(n=TypeAliasDeclaration$1(e,t)),n&&e.tokenize&&(n.value={type:"TypeAliasDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeAliasDeclaration",t,n,i),n}var InterfaceDeclaration$parser=(0,import_lib2.$S)(Interface,(0,import_lib2.$E)(_),IdentifierName,(0,import_lib2.$E)(TypeParameters),(0,import_lib2.$E)(InterfaceExtendsClause),InterfaceOrEmptyBlock);function InterfaceDeclaration(e,t){let r=e.enter&&e.enter("InterfaceDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InterfaceDeclaration$parser(e,t);if(!n)return void(e.exit&&e.exit("InterfaceDeclaration",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InterfaceDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InterfaceDeclaration",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return{type:"InterfaceDeclaration",id:l,children:r,ts:!0}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3],o[4],o[5]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InterfaceDeclaration",t,l,i),l}var NamespaceDeclaration$parser=(0,import_lib2.$S)(Namespace,(0,import_lib2.$E)(_),IdentifierName,ModuleOrEmptyBlock);function NamespaceDeclaration(e,t){let r=e.enter&&e.enter("NamespaceDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NamespaceDeclaration$parser(e,t);if(!n)return void(e.exit&&e.exit("NamespaceDeclaration",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NamespaceDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NamespaceDeclaration",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){return{type:"NamespaceDeclaration",id:l,children:r,ts:!0}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NamespaceDeclaration",t,l,i),l}var OptionalEquals$0$parser=(0,import_lib2.$S)(__,Equals),OptionalEquals$1$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(IndentedFurther),InsertSpaceEquals);function OptionalEquals$0(e,t){return OptionalEquals$0$parser(e,t)}function OptionalEquals$1(e,t){let r=OptionalEquals$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function OptionalEquals(e,t){let r=e.enter&&e.enter("OptionalEquals",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=OptionalEquals$0(e,t);return n||(n=OptionalEquals$1(e,t)),n&&e.tokenize&&(n.value={type:"OptionalEquals",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("OptionalEquals",t,n,i),n}var TypeLexicalDeclaration$1$parser=(0,import_lib2.$S)(__,EnumDeclaration),TypeLexicalDeclaration$3$parser=(0,import_lib2.$S)(Namespace,(0,import_lib2.$E)(_),IdentifierName,DeclareBlock),TypeLexicalDeclaration$4$parser=(0,import_lib2.$S)(Module,_,StringLiteral,(0,import_lib2.$E)(DeclareBlock)),TypeLexicalDeclaration$5$parser=(0,import_lib2.$S)(Global,(0,import_lib2.$E)(DeclareBlock));function TypeLexicalDeclaration$0(e,t){return TypeLetOrConstDeclaration(e,t)}function TypeLexicalDeclaration$1(e,t){return TypeLexicalDeclaration$1$parser(e,t)}function TypeLexicalDeclaration$2(e,t){return ClassSignature(e,t)}function TypeLexicalDeclaration$3(e,t){return TypeLexicalDeclaration$3$parser(e,t)}function TypeLexicalDeclaration$4(e,t){return TypeLexicalDeclaration$4$parser(e,t)}function TypeLexicalDeclaration$5(e,t){return TypeLexicalDeclaration$5$parser(e,t)}function TypeLexicalDeclaration(e,t){let r=e.enter&&e.enter("TypeLexicalDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeLexicalDeclaration$0(e,t);return n||(n=TypeLexicalDeclaration$1(e,t)),n||(n=TypeLexicalDeclaration$2(e,t)),n||(n=TypeLexicalDeclaration$3(e,t)),n||(n=TypeLexicalDeclaration$4(e,t)),n||(n=TypeLexicalDeclaration$5(e,t)),n&&e.tokenize&&(n.value={type:"TypeLexicalDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeLexicalDeclaration",t,n,i),n}var TypeLetOrConstDeclaration$parser=(0,import_lib2.$S)(__,LetOrConstOrVar,TypeDeclarationBinding,(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,__,TypeDeclarationBinding)));function TypeLetOrConstDeclaration(e,t){let r=e.enter&&e.enter("TypeLetOrConstDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeLetOrConstDeclaration$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeLetOrConstDeclaration",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeLetOrConstDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeLetOrConstDeclaration",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,o[0],o[1],s=o[2],u=o[3],c=u,{type:"TypeLexicalDeclaration",children:p,ts:!0,names:s.names.concat(...c.map(e=>e[2].names))});var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeLetOrConstDeclaration",t,l,i),l}var TypeDeclarationBinding$parser=(0,import_lib2.$S)((0,import_lib2.$C)(BindingPattern,BindingIdentifier),(0,import_lib2.$E)(TypeSuffix));function TypeDeclarationBinding(e,t){let r=e.enter&&e.enter("TypeDeclarationBinding",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeDeclarationBinding$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeDeclarationBinding",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeDeclarationBinding",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeDeclarationBinding",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,s=o[0],o[1],{type:"TypeDeclarationBinding",children:p,names:s.names});var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeDeclarationBinding",t,l,i),l}var InterfaceExtendsClause$parser=(0,import_lib2.$S)(ExtendsToken,InterfaceExtendsTarget,(0,import_lib2.$Q)((0,import_lib2.$S)(Comma,InterfaceExtendsTarget)));function InterfaceExtendsClause(e,t){let r=e.enter&&e.enter("InterfaceExtendsClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InterfaceExtendsClause$parser(e,t);return n&&e.tokenize&&(n.value={type:"InterfaceExtendsClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InterfaceExtendsClause",t,n,i),n}function InterfaceExtendsTarget(e,t){let r=e.enter&&e.enter("InterfaceExtendsTarget",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplementsTarget(e,t);return n&&e.tokenize&&(n.value={type:"InterfaceExtendsTarget",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InterfaceExtendsTarget",t,n,i),n}var TypeKeyword$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L236,'TypeKeyword "type"'),NonIdContinue);function TypeKeyword(e,t){let r=e.enter&&e.enter("TypeKeyword",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeKeyword$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeKeyword",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeKeyword",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeKeyword",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("TypeKeyword",t,l,i),l}var Enum$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L237,'Enum "enum"'),NonIdContinue);function Enum(e,t){let r=e.enter&&e.enter("Enum",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Enum$parser(e,t);if(!n)return void(e.exit&&e.exit("Enum",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Enum",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Enum",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Enum",t,l,i),l}var Interface$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L238,'Interface "interface"'),NonIdContinue);function Interface(e,t){let r=e.enter&&e.enter("Interface",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Interface$parser(e,t);if(!n)return void(e.exit&&e.exit("Interface",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Interface",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Interface",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Interface",t,l,i),l}var Global$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L239,'Global "global"'),NonIdContinue);function Global(e,t){let r=e.enter&&e.enter("Global",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Global$parser(e,t);if(!n)return void(e.exit&&e.exit("Global",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Global",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Global",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Global",t,l,i),l}var Module$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L240,'Module "module"'),NonIdContinue);function Module(e,t){let r=e.enter&&e.enter("Module",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Module$parser(e,t);if(!n)return void(e.exit&&e.exit("Module",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Module",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Module",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Module",t,l,i),l}var Namespace$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L241,'Namespace "namespace"'),NonIdContinue);function Namespace(e,t){let r=e.enter&&e.enter("Namespace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Namespace$parser(e,t);if(!n)return void(e.exit&&e.exit("Namespace",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Namespace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Namespace",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r,i){return{$loc:t,token:i}}(import_lib2.SKIP,o,0,a[0],a[1]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Namespace",t,l,i),l}function InterfaceOrEmptyBlock$0(e,t){return InterfaceBlock(e,t)}function InterfaceOrEmptyBlock$1(e,t){return EmptyBlock(e,t)}function InterfaceOrEmptyBlock(e,t){let r=e.enter&&e.enter("InterfaceOrEmptyBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InterfaceOrEmptyBlock$0(e,t);return n||(n=InterfaceOrEmptyBlock$1(e,t)),n&&e.tokenize&&(n.value={type:"InterfaceOrEmptyBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InterfaceOrEmptyBlock",t,n,i),n}var InterfaceBlock$0$parser=(0,import_lib2.$S)(__,OpenBrace,NestedInterfaceProperties,__,CloseBrace),InterfaceBlock$1$parser=(0,import_lib2.$S)(__,OpenBrace,(0,import_lib2.$Q)((0,import_lib2.$S)(__,InterfaceProperty)),__,CloseBrace);function InterfaceBlock$0(e,t){return InterfaceBlock$0$parser(e,t)}function InterfaceBlock$1(e,t){return InterfaceBlock$1$parser(e,t)}function InterfaceBlock$2(e,t){return NestedInterfaceBlock(e,t)}function InterfaceBlock(e,t){let r=e.enter&&e.enter("InterfaceBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InterfaceBlock$0(e,t);return n||(n=InterfaceBlock$1(e,t)),n||(n=InterfaceBlock$2(e,t)),n&&e.tokenize&&(n.value={type:"InterfaceBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InterfaceBlock",t,n,i),n}var NestedInterfaceBlock$parser=(0,import_lib2.$S)(InsertOpenBrace,NestedInterfaceProperties,InsertNewline,InsertIndent,InsertCloseBrace);function NestedInterfaceBlock(e,t){let r=e.enter&&e.enter("NestedInterfaceBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedInterfaceBlock$parser(e,t);return n&&e.tokenize&&(n.value={type:"NestedInterfaceBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedInterfaceBlock",t,n,i),n}var NestedInterfaceProperties$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedInterfaceProperty),PopIndent);function NestedInterfaceProperties(e,t){let r=e.enter&&e.enter("NestedInterfaceProperties",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedInterfaceProperties$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedInterfaceProperties",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedInterfaceProperties",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedInterfaceProperties",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedInterfaceProperties",t,l,i),l}var NestedInterfaceProperty$parser=(0,import_lib2.$S)(Nested,InterfaceProperty);function NestedInterfaceProperty(e,t){let r=e.enter&&e.enter("NestedInterfaceProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedInterfaceProperty$parser(e,t);return n&&e.tokenize&&(n.value={type:"NestedInterfaceProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedInterfaceProperty",t,n,i),n}var InterfaceProperty$1$parser=(0,import_lib2.$S)(NonEmptyParameters,ReturnTypeSuffix,InterfacePropertyDelimiter),InterfaceProperty$2$parser=(0,import_lib2.$S)(MethodSignature,InterfacePropertyDelimiter);function InterfaceProperty$0(e,t){return BasicInterfaceProperty(e,t)}function InterfaceProperty$1(e,t){return InterfaceProperty$1$parser(e,t)}function InterfaceProperty$2(e,t){return InterfaceProperty$2$parser(e,t)}function InterfaceProperty(e,t){let r=e.enter&&e.enter("InterfaceProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InterfaceProperty$0(e,t);return n||(n=InterfaceProperty$1(e,t)),n||(n=InterfaceProperty$2(e,t)),n&&e.tokenize&&(n.value={type:"InterfaceProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InterfaceProperty",t,n,i),n}var BasicInterfaceProperty$parser=(0,import_lib2.$S)((0,import_lib2.$C)(TypeIndexSignature,TypeProperty),(0,import_lib2.$E)(_),TypeSuffix,InterfacePropertyDelimiter);function BasicInterfaceProperty(e,t){let r=e.enter&&e.enter("BasicInterfaceProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=BasicInterfaceProperty$parser(e,t);return n&&e.tokenize&&(n.value={type:"BasicInterfaceProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("BasicInterfaceProperty",t,n,i),n}var InterfacePropertyDelimiter$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)(Semicolon,Comma)),InterfacePropertyDelimiter$1$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(__,CloseBrace)),InterfacePropertyDelimiter$2$parser=(0,import_lib2.$Y)(EOS);function InterfacePropertyDelimiter$0(e,t){return InterfacePropertyDelimiter$0$parser(e,t)}function InterfacePropertyDelimiter$1(e,t){let r=InterfacePropertyDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function InterfacePropertyDelimiter$2(e,t){let r=InterfacePropertyDelimiter$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function InterfacePropertyDelimiter(e,t){let r=e.enter&&e.enter("InterfacePropertyDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InterfacePropertyDelimiter$0(e,t);return n||(n=InterfacePropertyDelimiter$1(e,t)),n||(n=InterfacePropertyDelimiter$2(e,t)),n&&e.tokenize&&(n.value={type:"InterfacePropertyDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InterfacePropertyDelimiter",t,n,i),n}var ModuleOrEmptyBlock$0$parser=(0,import_lib2.$S)(__,OpenBrace,NestedModuleItems,__,CloseBrace),ModuleOrEmptyBlock$1$parser=(0,import_lib2.$S)(InsertOpenBrace,NestedModuleItems,InsertNewline,InsertIndent,InsertCloseBrace);function ModuleOrEmptyBlock$0(e,t){return ModuleOrEmptyBlock$0$parser(e,t)}function ModuleOrEmptyBlock$1(e,t){return ModuleOrEmptyBlock$1$parser(e,t)}function ModuleOrEmptyBlock$2(e,t){return EmptyBlock(e,t)}function ModuleOrEmptyBlock(e,t){let r=e.enter&&e.enter("ModuleOrEmptyBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ModuleOrEmptyBlock$0(e,t);return n||(n=ModuleOrEmptyBlock$1(e,t)),n||(n=ModuleOrEmptyBlock$2(e,t)),n&&e.tokenize&&(n.value={type:"ModuleOrEmptyBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ModuleOrEmptyBlock",t,n,i),n}var NestedModuleItems$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedModuleItem),PopIndent);function NestedModuleItems(e,t){let r=e.enter&&e.enter("NestedModuleItems",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedModuleItems$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedModuleItems",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedModuleItems",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedModuleItems",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedModuleItems",t,l,i),l}var NestedModuleItem$parser=(0,import_lib2.$S)(Nested,ModuleItem,StatementDelimiter);function NestedModuleItem(e,t){let r=e.enter&&e.enter("NestedModuleItem",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedModuleItem$parser(e,t);return n&&e.tokenize&&(n.value={type:"NestedModuleItem",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedModuleItem",t,n,i),n}var DeclareBlock$0$parser=(0,import_lib2.$S)(__,OpenBrace,NestedDeclareElements,__,CloseBrace),DeclareBlock$1$parser=(0,import_lib2.$S)(__,OpenBrace,(0,import_lib2.$Q)((0,import_lib2.$S)(__,DeclareElement,InterfacePropertyDelimiter)),__,CloseBrace),DeclareBlock$2$parser=(0,import_lib2.$S)(InsertOpenBrace,NestedDeclareElements,InsertNewline,InsertIndent,InsertCloseBrace);function DeclareBlock$0(e,t){return DeclareBlock$0$parser(e,t)}function DeclareBlock$1(e,t){return DeclareBlock$1$parser(e,t)}function DeclareBlock$2(e,t){return DeclareBlock$2$parser(e,t)}function DeclareBlock(e,t){let r=e.enter&&e.enter("DeclareBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DeclareBlock$0(e,t);return n||(n=DeclareBlock$1(e,t)),n||(n=DeclareBlock$2(e,t)),n&&e.tokenize&&(n.value={type:"DeclareBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DeclareBlock",t,n,i),n}var NestedDeclareElements$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedDeclareElement),PopIndent);function NestedDeclareElements(e,t){let r=e.enter&&e.enter("NestedDeclareElements",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedDeclareElements$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedDeclareElements",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedDeclareElements",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedDeclareElements",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedDeclareElements",t,l,i),l}var NestedDeclareElement$parser=(0,import_lib2.$S)(Nested,DeclareElement,InterfacePropertyDelimiter);function NestedDeclareElement(e,t){let r=e.enter&&e.enter("NestedDeclareElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedDeclareElement$parser(e,t);return n&&e.tokenize&&(n.value={type:"NestedDeclareElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("NestedDeclareElement",t,n,i),n}var DeclareElement$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Decorators),Export,__,Default,__,(0,import_lib2.$C)(Identifier,ClassSignature,InterfaceDeclaration)),DeclareElement$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Decorators),(0,import_lib2.$E)((0,import_lib2.$S)(Export,(0,import_lib2.$E)(_))),TypeLexicalDeclaration),DeclareElement$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Export,(0,import_lib2.$E)(_))),TypeDeclarationRest);function DeclareElement$0(e,t){return DeclareElement$0$parser(e,t)}function DeclareElement$1(e,t){let r=DeclareElement$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{ts:!0,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function DeclareElement$2(e,t){let r=DeclareElement$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{ts:!0,children:r}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function DeclareElement(e,t){let r=e.enter&&e.enter("DeclareElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DeclareElement$0(e,t);return n||(n=DeclareElement$1(e,t)),n||(n=DeclareElement$2(e,t)),n&&e.tokenize&&(n.value={type:"DeclareElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("DeclareElement",t,n,i),n}var EnumDeclaration$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Const,_)),Enum,(0,import_lib2.$E)(_),IdentifierName,EnumBlock);function EnumDeclaration(e,t){let r=e.enter&&e.enter("EnumDeclaration",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EnumDeclaration$parser(e,t);if(!n)return void(e.exit&&e.exit("EnumDeclaration",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EnumDeclaration",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EnumDeclaration",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a){var p=o,s=a;let u={ts:!0,children:r},c=new Set(s.properties.map(e=>e.name.name));return{type:"EnumDeclaration",id:p,children:[u,{js:!0,children:[["let ",p," = {};\n"],...s.properties.map((e,t)=>{let r,i,n=e.name.unicode??e.name.name;if(e.initializer){r=replaceNodes(deepCopy(e.initializer),e=>"Identifier"===e.type&&c.has(e.name),e=>[p,'["',e.unicode??e.name,'"]']);let t=r[r.length-1];i="TemplateLiteral"===t.type||"Literal"===t.type&&"StringLiteral"===t.subtype}else{let e=s.properties[t-1]?.name;r=0===t?" = 0":[" = ",p,'["',e?.unicode??e?.name,'"] + 1']}return i?[p,'["',n,'"]',r,";\n"]:[p,"[",p,'["',n,'"]',r,'] = "',n,'";\n']})]}]}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("EnumDeclaration",t,l,i),l}var EnumBlock$0$parser=(0,import_lib2.$S)(__,OpenBrace,NestedEnumProperties,__,CloseBrace),EnumBlock$1$parser=(0,import_lib2.$S)(__,OpenBrace,(0,import_lib2.$Q)((0,import_lib2.$S)(__,EnumProperty)),__,CloseBrace),EnumBlock$2$parser=(0,import_lib2.$S)(InsertOpenBrace,NestedEnumProperties,InsertNewline,InsertIndent,InsertCloseBrace);function EnumBlock$0(e,t){let r=EnumBlock$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],n[3],n[4],{properties:a.properties,children:o});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function EnumBlock$1(e,t){let r=EnumBlock$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],n[1],a=n[2],n[3],n[4],{properties:a.map(e=>e[1]),children:o});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function EnumBlock$2(e,t){let r=EnumBlock$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],a=n[1],n[2],n[3],n[4],{properties:a.properties,children:o});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function EnumBlock(e,t){let r=e.enter&&e.enter("EnumBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EnumBlock$0(e,t);return n||(n=EnumBlock$1(e,t)),n||(n=EnumBlock$2(e,t)),n&&e.tokenize&&(n.value={type:"EnumBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("EnumBlock",t,n,i),n}var NestedEnumProperties$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedEnumPropertyLine),PopIndent);function NestedEnumProperties(e,t){let r=e.enter&&e.enter("NestedEnumProperties",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedEnumProperties$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedEnumProperties",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedEnumProperties",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedEnumProperties",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?{properties:u.flat().map(e=>e.property),children:[u]}:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedEnumProperties",t,l,i),l}var NestedEnumPropertyLine$parser=(0,import_lib2.$S)((0,import_lib2.$S)(Nested,EnumProperty),(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$E)(_),EnumProperty)));function NestedEnumPropertyLine(e,t){let r=e.enter&&e.enter("NestedEnumPropertyLine",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedEnumPropertyLine$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedEnumPropertyLine",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedEnumPropertyLine",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedEnumPropertyLine",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[p,...s].map(e=>({property:e[1],children:e})));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedEnumPropertyLine",t,l,i),l}var EnumProperty$parser=(0,import_lib2.$S)(Identifier,(0,import_lib2.$E)((0,import_lib2.$S)(__,Equals,MaybeNestedExpression)),ObjectPropertyDelimiter);function EnumProperty(e,t){let r=e.enter&&e.enter("EnumProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EnumProperty$parser(e,t);if(!n)return void(e.exit&&e.exit("EnumProperty",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EnumProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EnumProperty",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,s=o[0],u=o[1],o[2],{type:"EnumProperty",name:s,initializer:u,children:[propertyKey(s),...p.slice(1)]});var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("EnumProperty",t,l,i),l}var TypeProperty$parser=(0,import_lib2.$S)((0,import_lib2.$E)(ReadonlyModifier),PropertyName);function TypeProperty(e,t){let r=e.enter&&e.enter("TypeProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeProperty$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeProperty",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeProperty",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[p,propertyKey(s)]);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeProperty",t,l,i),l}var TypeIndexSignature$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$EXPECT)($R94,"TypeIndexSignature /[+-]?/"),Readonly,NotDedented)),OpenBracket,TypeIndex,CloseBracket,(0,import_lib2.$E)((0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($R15,"TypeIndexSignature /[+-]/"),(0,import_lib2.$Y)((0,import_lib2.$S)((0,import_lib2.$E)(_),QuestionMark)))));function TypeIndexSignature(e,t){let r=e.enter&&e.enter("TypeIndexSignature",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeIndexSignature$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeIndexSignature",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeIndexSignature",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeIndexSignature",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=o[4],d=p,f=s,$=u,b=c,(S=m)&&(S=[S[0],S[1]]),[d,f,$,b,S]);var p,s,u,c,m,d,f,$,b,S;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeIndexSignature",t,l,i),l}var TypeIndex$0$parser=(0,import_lib2.$S)(__,Identifier,TypeSuffix),TypeIndex$1$parser=(0,import_lib2.$S)(__,PropertyName,__,In,Type,(0,import_lib2.$E)((0,import_lib2.$S)(__,As,Type)));function TypeIndex$0(e,t){return TypeIndex$0$parser(e,t)}function TypeIndex$1(e,t){return TypeIndex$1$parser(e,t)}function TypeIndex(e,t){let r=e.enter&&e.enter("TypeIndex",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeIndex$0(e,t);return n||(n=TypeIndex$1(e,t)),n&&e.tokenize&&(n.value={type:"TypeIndex",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeIndex",t,n,i),n}var TypeSuffix$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$E)(QuestionMark),(0,import_lib2.$E)(_),Colon,MaybeNestedType),TypeSuffix$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),QuestionMark,(0,import_lib2.$E)(_)),TypeSuffix$2$parser=(0,import_lib2.$S)(NonNullAssertion,(0,import_lib2.$E)(_),(0,import_lib2.$E)((0,import_lib2.$S)(Colon,MaybeNestedType)));function TypeSuffix$0(e,t){let r=TypeSuffix$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a){return{type:"TypeSuffix",ts:!0,optional:n,t:a,colon:o,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3],n[4]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeSuffix$1(e,t){let r=TypeSuffix$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"TypeSuffix",ts:!0,optional:n,colon:void 0,children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeSuffix$2(e,t){let r=TypeSuffix$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=i,a=l;let[p,s]=a??[];return{type:"TypeSuffix",ts:!0,nonnull:o,t:s,colon:p,children:[i,n,p,s]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeSuffix(e,t){let r=e.enter&&e.enter("TypeSuffix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeSuffix$0(e,t);return n||(n=TypeSuffix$1(e,t)),n||(n=TypeSuffix$2(e,t)),n&&e.tokenize&&(n.value={type:"TypeSuffix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeSuffix",t,n,i),n}var MaybeNestedType$3$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,Type)),PopIndent);function MaybeNestedType$0(e,t){return NestedTypeBulletedTuple(e,t)}function MaybeNestedType$1(e,t){return NestedInterfaceBlock(e,t)}function MaybeNestedType$2(e,t){return NestedTypeBinaryChain(e,t)}function MaybeNestedType$3(e,t){let r=MaybeNestedType$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedType$4(e,t){return Type(e,t)}function MaybeNestedType(e,t){let r=e.enter&&e.enter("MaybeNestedType",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeNestedType$0(e,t);return n||(n=MaybeNestedType$1(e,t)),n||(n=MaybeNestedType$2(e,t)),n||(n=MaybeNestedType$3(e,t)),n||(n=MaybeNestedType$4(e,t)),n&&e.tokenize&&(n.value={type:"MaybeNestedType",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeNestedType",t,n,i),n}var MaybeNestedTypePrimary$3$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,Type)),PopIndent);function MaybeNestedTypePrimary$0(e,t){return NestedTypeBulletedTuple(e,t)}function MaybeNestedTypePrimary$1(e,t){return NestedInterfaceBlock(e,t)}function MaybeNestedTypePrimary$2(e,t){return NestedTypeBinaryChain(e,t)}function MaybeNestedTypePrimary$3(e,t){let r=MaybeNestedTypePrimary$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedTypePrimary$4(e,t){return TypePrimary(e,t)}function MaybeNestedTypePrimary(e,t){let r=e.enter&&e.enter("MaybeNestedTypePrimary",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeNestedTypePrimary$0(e,t);return n||(n=MaybeNestedTypePrimary$1(e,t)),n||(n=MaybeNestedTypePrimary$2(e,t)),n||(n=MaybeNestedTypePrimary$3(e,t)),n||(n=MaybeNestedTypePrimary$4(e,t)),n&&e.tokenize&&(n.value={type:"MaybeNestedTypePrimary",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeNestedTypePrimary",t,n,i),n}var MaybeNestedTypeUnary$3$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,Type)),PopIndent),MaybeNestedTypeUnary$4$parser=(0,import_lib2.$S)(NotDedented,TypeUnary);function MaybeNestedTypeUnary$0(e,t){return NestedTypeBulletedTuple(e,t)}function MaybeNestedTypeUnary$1(e,t){return NestedInterfaceBlock(e,t)}function MaybeNestedTypeUnary$2(e,t){return NestedTypeBinaryChain(e,t)}function MaybeNestedTypeUnary$3(e,t){let r=MaybeNestedTypeUnary$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function MaybeNestedTypeUnary$4(e,t){return MaybeNestedTypeUnary$4$parser(e,t)}function MaybeNestedTypeUnary(e,t){let r=e.enter&&e.enter("MaybeNestedTypeUnary",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=MaybeNestedTypeUnary$0(e,t);return n||(n=MaybeNestedTypeUnary$1(e,t)),n||(n=MaybeNestedTypeUnary$2(e,t)),n||(n=MaybeNestedTypeUnary$3(e,t)),n||(n=MaybeNestedTypeUnary$4(e,t)),n&&e.tokenize&&(n.value={type:"MaybeNestedTypeUnary",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("MaybeNestedTypeUnary",t,n,i),n}var ReturnTypeSuffix$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$E)(QuestionMark),(0,import_lib2.$E)(_),Colon,ReturnType);function ReturnTypeSuffix(e,t){let r=e.enter&&e.enter("ReturnTypeSuffix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ReturnTypeSuffix$parser(e,t);if(!n)return void(e.exit&&e.exit("ReturnTypeSuffix",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ReturnTypeSuffix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ReturnTypeSuffix",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=o[4],d=s,f=m,{...f,optional:d,children:[p,d,u,c,...f.children]});var p,s,u,c,m,d,f;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ReturnTypeSuffix",t,l,i),l}var ReturnType$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($L242,'ReturnType "asserts"'),NonIdContinue)),ForbidIndentedApplication,(0,import_lib2.$E)(TypePredicate),RestoreIndentedApplication);function ReturnType(e,t){let r=e.enter&&e.enter("ReturnType",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ReturnType$parser(e,t);if(!n)return void(e.exit&&e.exit("ReturnType",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ReturnType",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ReturnType",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o[0],o[1],u=o[2],o[3],c=s,(m=u)?(c&&(m={type:"TypeAsserts",t:m,children:[c[0],c[1],m],ts:!0}),{type:"ReturnTypeAnnotation",children:[m],t:m,ts:!0}):p);var p,s,u,c,m;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ReturnType",t,l,i),l}var TypePredicate$parser=(0,import_lib2.$S)(MaybeNestedType,(0,import_lib2.$E)((0,import_lib2.$S)(__,Is,Type)));function TypePredicate(e,t){let r=e.enter&&e.enter("TypePredicate",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypePredicate$parser(e,t);if(!n)return void(e.exit&&e.exit("TypePredicate",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypePredicate",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypePredicate",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,(c=s)?{type:"TypePredicate",lhs:u,rhs:c[3],children:[u,...c]}:u);var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypePredicate",t,l,i),l}function Type(e,t){let r=e.enter&&e.enter("Type",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeWithPostfix(e,t);return n&&e.tokenize&&(n.value={type:"Type",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Type",t,n,i),n}var TypeBinary$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(NotDedented,TypeBinaryOp,__)),TypeUnary,(0,import_lib2.$Q)((0,import_lib2.$S)(NotDedented,TypeBinaryOp,MaybeNestedTypeUnary)));function TypeBinary(e,t){let r=e.enter&&e.enter("TypeBinary",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeBinary$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeBinary",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeBinary",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeBinary",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=p,m=s,(d=u).length||c?d.length?c?[c,m,d]:[m,...d]:[c,m]:m);var p,s,u,c,m,d;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeBinary",t,l,i),l}var NestedTypeBinaryChain$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedTypeBinary),PopIndent);function NestedTypeBinaryChain(e,t){let r=e.enter&&e.enter("NestedTypeBinaryChain",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTypeBinaryChain$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTypeBinaryChain",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTypeBinaryChain",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTypeBinaryChain",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],s.length?s:p);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTypeBinaryChain",t,l,i),l}var NestedTypeBinary$parser=(0,import_lib2.$S)(Nested,TypeBinaryOp,PushExtraIndent1,(0,import_lib2.$E)(TypeUnary),PopIndent);function NestedTypeBinary(e,t){let r=e.enter&&e.enter("NestedTypeBinary",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTypeBinary$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTypeBinary",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTypeBinary",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTypeBinary",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){return o?[i,n,o]:e}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTypeBinary",t,l,i),l}var TypeUnary$parser=(0,import_lib2.$S)((0,import_lib2.$Q)((0,import_lib2.$S)(__,TypeUnaryOp)),TypePrimary,(0,import_lib2.$Q)(TypeUnarySuffix));function TypeUnary(e,t){let r=e.enter&&e.enter("TypeUnary",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeUnary$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeUnary",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeUnary",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeUnary",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,s=o[0],u=o[1],c=o[2],d=u,f=c,(m=s).length||f.length?{type:"TypeUnary",prefix:m,suffix:f,t:d,children:m.length?p:[d,f]}:d);var p,s,u,c,m,d,f;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeUnary",t,l,i),l}function TypeUnarySuffix$0(e,t){return TypeIndexedAccess(e,t)}function TypeUnarySuffix$1(e,t){return QuestionMark(e,t)}function TypeUnarySuffix$2(e,t){return NonNullAssertion(e,t)}function TypeUnarySuffix(e,t){let r=e.enter&&e.enter("TypeUnarySuffix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeUnarySuffix$0(e,t);return n||(n=TypeUnarySuffix$1(e,t)),n||(n=TypeUnarySuffix$2(e,t)),n&&e.tokenize&&(n.value={type:"TypeUnarySuffix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeUnarySuffix",t,n,i),n}var TypeUnaryOp$0$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L243,'TypeUnaryOp "keyof"'),NonIdContinue),TypeUnaryOp$1$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L204,'TypeUnaryOp "readonly"'),NonIdContinue);function TypeUnaryOp$0(e,t){return TypeUnaryOp$0$parser(e,t)}function TypeUnaryOp$1(e,t){return TypeUnaryOp$1$parser(e,t)}function TypeUnaryOp(e,t){let r=e.enter&&e.enter("TypeUnaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeUnaryOp$0(e,t);return n||(n=TypeUnaryOp$1(e,t)),n&&e.tokenize&&(n.value={type:"TypeUnaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeUnaryOp",t,n,i),n}var TypeIndexedAccess$0$parser=(0,import_lib2.$S)(OpenBracket,(0,import_lib2.$E)(Type),__,CloseBracket),TypeIndexedAccess$1$parser=(0,import_lib2.$S)(Dot,(0,import_lib2.$C)(TemplateLiteral,StringLiteral,IntegerLiteral)),TypeIndexedAccess$2$parser=(0,import_lib2.$S)(CoffeePrototypeEnabled,DoubleColon,(0,import_lib2.$E)((0,import_lib2.$C)(IdentifierName,LengthShorthand)));function TypeIndexedAccess$0(e,t){return TypeIndexedAccess$0$parser(e,t)}function TypeIndexedAccess$1(e,t){let r=TypeIndexedAccess$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],[{...o,token:"["},a,"]"]);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeIndexedAccess$2(e,t){let r=TypeIndexedAccess$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],a=n[2],[{...o,token:'["'},a,'"]']);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeIndexedAccess(e,t){let r=e.enter&&e.enter("TypeIndexedAccess",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeIndexedAccess$0(e,t);return n||(n=TypeIndexedAccess$1(e,t)),n||(n=TypeIndexedAccess$2(e,t)),n&&e.tokenize&&(n.value={type:"TypeIndexedAccess",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeIndexedAccess",t,n,i),n}var UnknownAlias$parser=(0,import_lib2.$EXPECT)($L244,'UnknownAlias "???"');function UnknownAlias(e,t){let r=e.enter&&e.enter("UnknownAlias",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnknownAlias$parser(e,t);if(!n)return void(e.exit&&e.exit("UnknownAlias",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"UnknownAlias",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("UnknownAlias",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"unknown"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("UnknownAlias",t,l,i),l}var TypePrimary$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Infer,(0,import_lib2.$E)(_),IdentifierName,(0,import_lib2.$E)((0,import_lib2.$S)(NotDedented,ExtendsToken,Type))),TypePrimary$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Typeof,(0,import_lib2.$E)(_),UnaryWithoutParenthesizedAssignment),TypePrimary$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),TypeTuple),TypePrimary$4$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),TypeFunction),TypePrimary$5$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),InlineInterfaceLiteral),TypePrimary$6$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),ImportType),TypePrimary$7$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),TypeLiteral),TypePrimary$9$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),OpenParen,AllowAll,(0,import_lib2.$E)((0,import_lib2.$C)(MaybeNestedType,(0,import_lib2.$S)(EOS,Type))),RestoreAll,__,CloseParen);function TypePrimary$0(e,t){return TypePrimary$0$parser(e,t)}function TypePrimary$1(e,t){let r=TypePrimary$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return{type:"TypeTypeof",children:r,expression:o}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypePrimary$2(e,t){let r=TypePrimary$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],prepend(o,a));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypePrimary$3(e,t){return InterfaceBlock(e,t)}function TypePrimary$4(e,t){return TypePrimary$4$parser(e,t)}function TypePrimary$5(e,t){return TypePrimary$5$parser(e,t)}function TypePrimary$6(e,t){let r=TypePrimary$6$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"ImportType",t:n,children:r}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypePrimary$7(e,t){let r=TypePrimary$7$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return{type:"TypeLiteral",t:n,children:r}}(import_lib2.SKIP,0,n,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypePrimary$8(e,t){return TypeIdentifier(e,t)}function TypePrimary$9(e,t){let r=TypePrimary$9$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p,s){return o?{type:"TypeParenthesized",children:[i,n,o,p,s]}:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypePrimary(e,t){let r=e.enter&&e.enter("TypePrimary",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypePrimary$0(e,t);return n||(n=TypePrimary$1(e,t)),n||(n=TypePrimary$2(e,t)),n||(n=TypePrimary$3(e,t)),n||(n=TypePrimary$4(e,t)),n||(n=TypePrimary$5(e,t)),n||(n=TypePrimary$6(e,t)),n||(n=TypePrimary$7(e,t)),n||(n=TypePrimary$8(e,t)),n||(n=TypePrimary$9(e,t)),n&&e.tokenize&&(n.value={type:"TypePrimary",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypePrimary",t,n,i),n}var TypeIdentifier$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),UnknownAlias),TypeIdentifier$1$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Identifier,(0,import_lib2.$Q)((0,import_lib2.$S)(Dot,IdentifierName)),(0,import_lib2.$E)((0,import_lib2.$C)(TypeArguments,ImplicitTypeArguments))),TypeIdentifier$2$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),BasicThisLiteral);function TypeIdentifier$0(e,t){let r=TypeIdentifier$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],a=n[1],{type:"TypeIdentifier",children:o,raw:a.token,args:void 0});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeIdentifier$1(e,t){let r=TypeIdentifier$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],a=n[1],p=n[2],s=n[3],u=s,{type:"TypeIdentifier",children:o,raw:[a.name,...p.map(([e,t])=>e.token+t.name)].join(""),args:u});var o,a,p,s,u;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeIdentifier$2(e,t){let r=TypeIdentifier$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,n[0],a=n[1],{type:"TypeIdentifier",children:o,raw:a.name});var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeIdentifier(e,t){let r=e.enter&&e.enter("TypeIdentifier",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeIdentifier$0(e,t);return n||(n=TypeIdentifier$1(e,t)),n||(n=TypeIdentifier$2(e,t)),n&&e.tokenize&&(n.value={type:"TypeIdentifier",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeIdentifier",t,n,i),n}var ImportType$0$parser=(0,import_lib2.$S)(Import,OpenParen,__,StringLiteral,__,CloseParen,(0,import_lib2.$E)((0,import_lib2.$S)(Dot,IdentifierName)),(0,import_lib2.$E)(TypeArguments)),ImportType$1$parser=(0,import_lib2.$S)(Import,InsertOpenParen,(0,import_lib2.$E)(Trimmed_),StringLiteral,InsertCloseParen);function ImportType$0(e,t){return ImportType$0$parser(e,t)}function ImportType$1(e,t){return ImportType$1$parser(e,t)}function ImportType(e,t){let r=e.enter&&e.enter("ImportType",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImportType$0(e,t);return n||(n=ImportType$1(e,t)),n&&e.tokenize&&(n.value={type:"ImportType",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ImportType",t,n,i),n}var TypeTuple$parser=(0,import_lib2.$S)(OpenBracket,AllowAll,(0,import_lib2.$E)(TypeTupleContent),RestoreAll,__,CloseBracket);function TypeTuple(e,t){let r=e.enter&&e.enter("TypeTuple",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeTuple$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeTuple",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeTuple",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeTuple",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a,p){return l?{type:"TypeTuple",elements:l,children:[i,l,a,p]}:e}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4],o[5]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeTuple",t,l,i),l}var TypeTupleContent$0$parser=(0,import_lib2.$S)(NestedTypeElementList,(0,import_lib2.$Y)((0,import_lib2.$S)(__,CloseBracket))),TypeTupleContent$1$parser=(0,import_lib2.$S)(TypeElementListWithIndentedApplicationForbidden,ArrayElementDelimiter,(0,import_lib2.$E)(NestedTypeElementList),(0,import_lib2.$Y)((0,import_lib2.$S)(__,CloseBracket))),TypeTupleContent$2$parser=(0,import_lib2.$Q)((0,import_lib2.$S)(__,TypeElementListWithIndentedApplicationForbidden,ArrayElementDelimiter));function TypeTupleContent$0(e,t){let r=TypeTupleContent$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeTupleContent$1(e,t){let r=TypeTupleContent$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],p=n[2],n[3],s=o,u=a,(c=p)?[...s,u,...c]:s);var o,a,p,s,u,c;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeTupleContent$2(e,t){let r=TypeTupleContent$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n.flat());return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeTupleContent(e,t){let r=e.enter&&e.enter("TypeTupleContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeTupleContent$0(e,t);return n||(n=TypeTupleContent$1(e,t)),n||(n=TypeTupleContent$2(e,t)),n&&e.tokenize&&(n.value={type:"TypeTupleContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeTupleContent",t,n,i),n}var TypeElementListWithIndentedApplicationForbidden$parser=(0,import_lib2.$S)(ForbidIndentedApplication,(0,import_lib2.$E)(TypeElementList),RestoreIndentedApplication);function TypeElementListWithIndentedApplicationForbidden(e,t){let r=e.enter&&e.enter("TypeElementListWithIndentedApplicationForbidden",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeElementListWithIndentedApplicationForbidden$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeElementListWithIndentedApplicationForbidden",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeElementListWithIndentedApplicationForbidden",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeElementListWithIndentedApplicationForbidden",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeElementListWithIndentedApplicationForbidden",t,l,i),l}var TypeElementList$0$parser=(0,import_lib2.$S)(TypeBulletedTuple),TypeElementList$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),TypeElement,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma,(0,import_lib2.$N)(EOS)),TypeElement)));function TypeElementList$0(e,t){let r=TypeElementList$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i){return[i]}(import_lib2.SKIP,0,0,n[0]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeElementList$1(e,t){let r=TypeElementList$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){var o=n,a=l;if(!a.length)return[o];return[append(o,[a[0][0][0],a[0][0][1]])].concat(a.map(([e,t],r)=>append(t,a[r+1]&&[a[r+1][0][0],a[r+1][0][1]])))}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeElementList(e,t){let r=e.enter&&e.enter("TypeElementList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeElementList$0(e,t);return n||(n=TypeElementList$1(e,t)),n&&e.tokenize&&(n.value={type:"TypeElementList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeElementList",t,n,i),n}var TypeElement$0$parser=(0,import_lib2.$S)(__,(0,import_lib2.$E)((0,import_lib2.$S)(DotDotDot,__)),IdentifierName,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot)),(0,import_lib2.$S)(__,(0,import_lib2.$E)((0,import_lib2.$S)(QuestionMark,(0,import_lib2.$E)(_))),Colon,__),Type),TypeElement$1$parser=(0,import_lib2.$S)(__,DotDotDot,__,Type),TypeElement$2$parser=(0,import_lib2.$S)(Type,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),DotDotDot)));function TypeElement$0(e,t){let r=TypeElement$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o,a,p){var s=i,u=n,c=l,m=o,d=a,f=p;let $=u||m&&[m[1],m[0]];return u&&m&&($=[$,{type:"Error",message:"... both before and after identifier"}]),{type:"TypeElement",name:c,t:f,children:[s,$,c,d,f]}}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeElement$1(e,t){return TypeElement$1$parser(e,t)}function TypeElement$2(e,t){let r=TypeElement$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){var l=i,o=n;if(o){let[e,t]=o;o=[getTrimmingSpace(l),t,e],l=trimFirstSpace(l)}return{type:"TypeElement",t:l,children:[o,l]}}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeElement(e,t){let r=e.enter&&e.enter("TypeElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeElement$0(e,t);return n||(n=TypeElement$1(e,t)),n||(n=TypeElement$2(e,t)),n&&e.tokenize&&(n.value={type:"TypeElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeElement",t,n,i),n}var NestedTypeElementList$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedTypeElement),PopIndent);function NestedTypeElementList(e,t){let r=e.enter&&e.enter("NestedTypeElementList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTypeElementList$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTypeElementList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTypeElementList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTypeElementList",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u:p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTypeElementList",t,l,i),l}var NestedTypeElement$parser=(0,import_lib2.$S)(Nested,TypeElementList,ArrayElementDelimiter);function NestedTypeElement(e,t){let r=e.enter&&e.enter("NestedTypeElement",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTypeElement$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTypeElement",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTypeElement",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTypeElement",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){var o=i,a=n,p=l;let{length:s}=a;return a.map((e,t)=>(0===t&&(e=prepend(o,e)),t===s-1&&(e=append(e,p)),e))}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTypeElement",t,l,i),l}var NestedTypeBulletedTuple$parser=(0,import_lib2.$S)((0,import_lib2.$S)(InsertSpace,InsertOpenBracket),PushIndent,(0,import_lib2.$Q)(NestedTypeBullet),InsertCloseBracket,PopIndent);function NestedTypeBulletedTuple(e,t){let r=e.enter&&e.enter("NestedTypeBulletedTuple",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTypeBulletedTuple$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTypeBulletedTuple",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTypeBulletedTuple",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTypeBulletedTuple",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){var a=i,p=l,s=o;if(!p.length)return e;let u=(p=p.flat())[p.length-1],c=u?.children;return c?.at(-1).implicit&&(c=c.slice(0,-1),p[p.length-1]={...u,children:c}),{type:"TypeTuple",children:[...a,...p,s]}}(import_lib2.SKIP,0,0,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTypeBulletedTuple",t,l,i),l}var TypeBulletedTuple$parser=(0,import_lib2.$S)(InsertOpenBracket,(0,import_lib2.$E)((0,import_lib2.$S)(TypeBullet,(0,import_lib2.$Q)(NestedTypeBullet))),InsertCloseBracket);function TypeBulletedTuple(e,t){let r=e.enter&&e.enter("TypeBulletedTuple",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeBulletedTuple$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeBulletedTuple",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeBulletedTuple",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeBulletedTuple",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){var o=i,a=n,p=l;if(!a)return e;let s=(a=[...trimFirstSpace(a[0]),...a[1].flat()])[a.length-1],u=s?.children;return u?.at(-1).implicit&&(u=u.slice(0,-1),a[a.length-1]={...s,children:u}),{type:"TypeTuple",children:[o,...a,p]}}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeBulletedTuple",t,l,i),l}var NestedTypeBullet$parser=(0,import_lib2.$S)(Nested,TypeBullet);function NestedTypeBullet(e,t){let r=e.enter&&e.enter("NestedTypeBullet",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTypeBullet$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTypeBullet",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTypeBullet",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTypeBullet",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,s.map((e,t)=>0===t?prepend(u,e):e));var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTypeBullet",t,l,i),l}var TypeBullet$parser=(0,import_lib2.$S)(BulletIndent,(0,import_lib2.$E)((0,import_lib2.$S)(TypeElementList,ArrayBulletDelimiter)),PopIndent);function TypeBullet(e,t){let r=e.enter&&e.enter("TypeBullet",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeBullet$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeBullet",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeBullet",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeBullet",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){var l=i,o=n;if(!o)return e;let[a,p]=o;if(a=a.slice(),a[0]=prepend(l,a[0]),p){let e=a.length-1;a[e]=append(a[e],p)}return a}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeBullet",t,l,i),l}var TypeWithPostfix$parser=(0,import_lib2.$S)(TypeConditional,(0,import_lib2.$E)((0,import_lib2.$S)((0,import_lib2.$E)(_),TypeIfClause)));function TypeWithPostfix(e,t){let r=e.enter&&e.enter("TypeWithPostfix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeWithPostfix$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeWithPostfix",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeWithPostfix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeWithPostfix",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=p,(c=s)?prepend(c[0],expressionizeTypeIf([...c[1],p,void 0])):u);var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeWithPostfix",t,l,i),l}var TypeConditional$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$EXPECT)($R95,"TypeConditional /(?=if|unless)/"),TypeIfThenElse),TypeConditional$1$parser=(0,import_lib2.$S)(TypeCondition,NotDedented,QuestionMark,__,Type,__,Colon,__,Type);function TypeConditional$0(e,t){let r=TypeConditional$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],n[1],a=n[2],prepend(o,expressionizeTypeIf(a)));var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeConditional$1(e,t){let r=TypeConditional$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,a=n[0],p=n[1],s=n[2],u=n[3],c=n[4],m=n[5],d=n[6],f=n[7],$=n[8],a.negated?[a,p,s,u,$,m,d,f,c]:o);var o,a,p,s,u,c,m,d,f,$;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeConditional$2(e,t){return TypeBinary(e,t)}function TypeConditional(e,t){let r=e.enter&&e.enter("TypeConditional",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeConditional$0(e,t);return n||(n=TypeConditional$1(e,t)),n||(n=TypeConditional$2(e,t)),n&&e.tokenize&&(n.value={type:"TypeConditional",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeConditional",t,n,i),n}var TypeCondition$parser=(0,import_lib2.$S)(TypeBinary,(0,import_lib2.$E)(IndentedFurther),(0,import_lib2.$C)(ExtendsToken,NotExtendsToken),TypeConditional);function TypeCondition(e,t){let r=e.enter&&e.enter("TypeCondition",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeCondition$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeCondition",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeCondition",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeCondition",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,o[0],o[1],s=o[2],o[3],{type:"TypeCondition",negated:s.negated,children:p});var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeCondition",t,l,i),l}var TypeIfThenElse$parser=(0,import_lib2.$S)(TypeIfClause,TypeBlock,(0,import_lib2.$E)(TypeElse));function TypeIfThenElse(e,t){let r=e.enter&&e.enter("TypeIfThenElse",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeIfThenElse$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeIfThenElse",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeIfThenElse",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeIfThenElse",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],[...p,s,u]);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeIfThenElse",t,l,i),l}var TypeIfClause$0$parser=(0,import_lib2.$S)((0,import_lib2.$C)(If,Unless),OpenParen,AllowAll,(0,import_lib2.$E)(TypeCondition),RestoreAll,CloseParen),TypeIfClause$1$parser=(0,import_lib2.$S)((0,import_lib2.$C)(If,Unless),ForbidIndentedApplication,(0,import_lib2.$E)(TypeCondition),RestoreIndentedApplication);function TypeIfClause$0(e,t){let r=TypeIfClause$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l,o){return o?[i,o]:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeIfClause$1(e,t){let r=TypeIfClause$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return l?[i,l]:e}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeIfClause(e,t){let r=e.enter&&e.enter("TypeIfClause",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeIfClause$0(e,t);return n||(n=TypeIfClause$1(e,t)),n&&e.tokenize&&(n.value={type:"TypeIfClause",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeIfClause",t,n,i),n}var TypeElse$parser=(0,import_lib2.$S)(NotDedented,Else,TypeBlock);function TypeElse(e,t){let r=e.enter&&e.enter("TypeElse",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeElse$parser(e,t);return n&&e.tokenize&&(n.value={type:"TypeElse",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeElse",t,n,i),n}var TypeBlock$0$parser=(0,import_lib2.$S)(Then,Type),TypeBlock$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),Type),TypeBlock$3$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$E)((0,import_lib2.$S)(Nested,Type)),PopIndent);function TypeBlock$0(e,t){let r=TypeBlock$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeBlock$1(e,t){let r=TypeBlock$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeBlock$2(e,t){return NestedInterfaceBlock(e,t)}function TypeBlock$3(e,t){let r=TypeBlock$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n||e}(import_lib2.SKIP,0,0,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeBlock(e,t){let r=e.enter&&e.enter("TypeBlock",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeBlock$0(e,t);return n||(n=TypeBlock$1(e,t)),n||(n=TypeBlock$2(e,t)),n||(n=TypeBlock$3(e,t)),n&&e.tokenize&&(n.value={type:"TypeBlock",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeBlock",t,n,i),n}var TypeTemplateSubstitution$parser=(0,import_lib2.$S)(SubstitutionStart,Type,__,CloseBrace);function TypeTemplateSubstitution(e,t){let r=e.enter&&e.enter("TypeTemplateSubstitution",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeTemplateSubstitution$parser(e,t);return n&&e.tokenize&&(n.value={type:"TypeTemplateSubstitution",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeTemplateSubstitution",t,n,i),n}var TypeTemplateLiteral$0$parser=(0,import_lib2.$S)(Backtick,(0,import_lib2.$Q)((0,import_lib2.$C)(TemplateCharacters,TypeTemplateSubstitution)),Backtick);function TypeTemplateLiteral$0(e,t){let r=TypeTemplateLiteral$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{type:"TemplateLiteral",children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeTemplateLiteral$1(e,t){return CoffeeInterpolatedDoubleQuotedTypeLiteral(e,t)}function TypeTemplateLiteral(e,t){let r=e.enter&&e.enter("TypeTemplateLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeTemplateLiteral$0(e,t);return n||(n=TypeTemplateLiteral$1(e,t)),n&&e.tokenize&&(n.value={type:"TypeTemplateLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeTemplateLiteral",t,n,i),n}var CoffeeStringTypeSubstitution$parser=(0,import_lib2.$S)(CoffeeSubstitutionStart,Type,__,CloseBrace);function CoffeeStringTypeSubstitution(e,t){let r=e.enter&&e.enter("CoffeeStringTypeSubstitution",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeStringTypeSubstitution$parser(e,t);return n&&e.tokenize&&(n.value={type:"CoffeeStringTypeSubstitution",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CoffeeStringTypeSubstitution",t,n,i),n}var CoffeeInterpolatedDoubleQuotedTypeLiteral$parser=(0,import_lib2.$S)(CoffeeInterpolationEnabled,DoubleQuote,(0,import_lib2.$Q)((0,import_lib2.$C)(CoffeeDoubleQuotedStringCharacters,CoffeeStringTypeSubstitution)),DoubleQuote);function CoffeeInterpolatedDoubleQuotedTypeLiteral(e,t){let r=e.enter&&e.enter("CoffeeInterpolatedDoubleQuotedTypeLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeInterpolatedDoubleQuotedTypeLiteral$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeInterpolatedDoubleQuotedTypeLiteral",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeInterpolatedDoubleQuotedTypeLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeInterpolatedDoubleQuotedTypeLiteral",t,r,i),r}let l,o=n.loc,a=n.value,p=(import_lib2.SKIP,s=o,a[0],u=a[1],c=a[2],m=a[3],processCoffeeInterpolation(u,c,m,s));var s,u,c,m;return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("CoffeeInterpolatedDoubleQuotedTypeLiteral",t,l,i),l}var TypeLiteral$2$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R15,"TypeLiteral /[+-]/"),NumericLiteral),TypeLiteral$3$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L226,'TypeLiteral "void"'),NonIdContinue),TypeLiteral$4$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L245,'TypeLiteral "unique"'),_,(0,import_lib2.$EXPECT)($L246,'TypeLiteral "symbol"'),NonIdContinue),TypeLiteral$5$parser=(0,import_lib2.$EXPECT)($L247,'TypeLiteral "[]"');function TypeLiteral$0(e,t){return TypeTemplateLiteral(e,t)}function TypeLiteral$1(e,t){return Literal(e,t)}function TypeLiteral$2(e,t){let r=TypeLiteral$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n,a=n[0],p=n[1],s=p,"+"===a[0]?s:o);var o,a,p,s;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeLiteral$3(e,t){let r=TypeLiteral$3$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=r.value,o=function(e,t,r,i){return{type:"VoidType",$loc:t,token:i}}(import_lib2.SKIP,n,0,l[0],l[1]);return o!==import_lib2.SKIP&&(r.value=o,i=r),i}function TypeLiteral$4(e,t){let r=TypeLiteral$4$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r){return{type:"UniqueSymbolType",children:r}}(import_lib2.SKIP,0,n,n[0],n[1],n[2],n[3]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeLiteral$5(e,t){let r=TypeLiteral$5$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"[]"}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeLiteral(e,t){let r=e.enter&&e.enter("TypeLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeLiteral$0(e,t);return n||(n=TypeLiteral$1(e,t)),n||(n=TypeLiteral$2(e,t)),n||(n=TypeLiteral$3(e,t)),n||(n=TypeLiteral$4(e,t)),n||(n=TypeLiteral$5(e,t)),n&&e.tokenize&&(n.value={type:"TypeLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeLiteral",t,n,i),n}var InlineInterfaceLiteral$parser=(0,import_lib2.$S)(InsertInlineOpenBrace,InlineBasicInterfaceProperty,(0,import_lib2.$Q)((0,import_lib2.$S)(SameLineOrIndentedFurther,InlineBasicInterfaceProperty)),InsertCloseBrace);function InlineInterfaceLiteral(e,t){let r=e.enter&&e.enter("InlineInterfaceLiteral",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineInterfaceLiteral$parser(e,t);return n&&e.tokenize&&(n.value={type:"InlineInterfaceLiteral",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineInterfaceLiteral",t,n,i),n}var InlineBasicInterfaceProperty$parser=(0,import_lib2.$S)((0,import_lib2.$C)(TypeIndexSignature,TypeProperty),(0,import_lib2.$E)(QuestionMark),Colon,Type,InlineInterfacePropertyDelimiter);function InlineBasicInterfaceProperty(e,t){let r=e.enter&&e.enter("InlineBasicInterfaceProperty",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineBasicInterfaceProperty$parser(e,t);return n&&e.tokenize&&(n.value={type:"InlineBasicInterfaceProperty",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineBasicInterfaceProperty",t,n,i),n}var InlineInterfacePropertyDelimiter$0$parser=(0,import_lib2.$C)((0,import_lib2.$S)((0,import_lib2.$E)(_),Semicolon),CommaDelimiter),InlineInterfacePropertyDelimiter$1$parser=(0,import_lib2.$S)((0,import_lib2.$Y)((0,import_lib2.$S)(SameLineOrIndentedFurther,InlineBasicInterfaceProperty)),InsertComma),InlineInterfacePropertyDelimiter$2$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(__,(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L15,'InlineInterfacePropertyDelimiter ":"'),(0,import_lib2.$EXPECT)($L142,'InlineInterfacePropertyDelimiter ")"'),(0,import_lib2.$EXPECT)($L45,'InlineInterfacePropertyDelimiter "]"'),(0,import_lib2.$EXPECT)($L36,'InlineInterfacePropertyDelimiter "}"')))),InlineInterfacePropertyDelimiter$3$parser=(0,import_lib2.$Y)(EOS);function InlineInterfacePropertyDelimiter$0(e,t){return InlineInterfacePropertyDelimiter$0$parser(e,t)}function InlineInterfacePropertyDelimiter$1(e,t){let r=InlineInterfacePropertyDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function InlineInterfacePropertyDelimiter$2(e,t){let r=InlineInterfacePropertyDelimiter$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function InlineInterfacePropertyDelimiter$3(e,t){let r=InlineInterfacePropertyDelimiter$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function InlineInterfacePropertyDelimiter(e,t){let r=e.enter&&e.enter("InlineInterfacePropertyDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InlineInterfacePropertyDelimiter$0(e,t);return n||(n=InlineInterfacePropertyDelimiter$1(e,t)),n||(n=InlineInterfacePropertyDelimiter$2(e,t)),n||(n=InlineInterfacePropertyDelimiter$3(e,t)),n&&e.tokenize&&(n.value={type:"InlineInterfacePropertyDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("InlineInterfacePropertyDelimiter",t,n,i),n}var TypeBinaryOp$0$parser=(0,import_lib2.$EXPECT)($L117,'TypeBinaryOp "|"'),TypeBinaryOp$1$parser=(0,import_lib2.$EXPECT)($L116,'TypeBinaryOp "&"');function TypeBinaryOp$0(e,t){let r=TypeBinaryOp$0$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"|"}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeBinaryOp$1(e,t){let r=TypeBinaryOp$1$parser(e,t);if(!r)return;if(e.tokenize)return r;let i,n=r.loc,l=(r.value,function(e,t){return{$loc:t,token:"&"}}(import_lib2.SKIP,n));return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeBinaryOp(e,t){let r=e.enter&&e.enter("TypeBinaryOp",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeBinaryOp$0(e,t);return n||(n=TypeBinaryOp$1(e,t)),n&&e.tokenize&&(n.value={type:"TypeBinaryOp",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeBinaryOp",t,n,i),n}var TypeFunction$parser=(0,import_lib2.$S)((0,import_lib2.$E)((0,import_lib2.$S)(Abstract,(0,import_lib2.$E)(_))),(0,import_lib2.$E)((0,import_lib2.$S)(Async,(0,import_lib2.$E)(_))),(0,import_lib2.$E)((0,import_lib2.$S)(New,(0,import_lib2.$E)(_))),Parameters,__,TypeFunctionArrow,(0,import_lib2.$C)(ReturnType,Loc),(0,import_lib2.$N)((0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)(ConstAssignment,LetAssignment))));function TypeFunction(e,t){let r=e.enter&&e.enter("TypeFunction",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeFunction$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeFunction",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeFunction",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeFunction",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o,a,p,s){var u=i,c=n,m=l,d=s;let f=[u,...r.slice(2,-1)];if(u&&!m&&(f[1]={type:"Error",message:"abstract function types must be constructors (abstract new)"}),d.$loc&&""===d.token){let e={type:"VoidType",$loc:d.$loc,token:"void"};f[f.length-1]=d={type:"ReturnTypeAnnotation",ts:!0,t:e,children:[e]}}if(c){let e=wrapTypeInPromise(d.t);f[f.length-1]=d={...d,t:e,children:[e]}}return{type:"TypeFunction",children:f,ts:!0,returnType:d}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeFunction",t,l,i),l}var TypeFunctionArrow$parser=(0,import_lib2.$C)((0,import_lib2.$EXPECT)($L13,'TypeFunctionArrow "=>"'),(0,import_lib2.$EXPECT)($L14,'TypeFunctionArrow "⇒"'),(0,import_lib2.$EXPECT)($L34,'TypeFunctionArrow "->"'),(0,import_lib2.$EXPECT)($L35,'TypeFunctionArrow "→"'));function TypeFunctionArrow(e,t){let r=e.enter&&e.enter("TypeFunctionArrow",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeFunctionArrow$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeFunctionArrow",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeFunctionArrow",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeFunctionArrow",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"=>"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeFunctionArrow",t,l,i),l}var TypeArguments$parser=(0,import_lib2.$S)(OpenAngleBracket,(0,import_lib2.$P)((0,import_lib2.$S)(__,TypeArgumentDelimited)),__,CloseAngleBracket);function TypeArguments(e,t){let r=e.enter&&e.enter("TypeArguments",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeArguments$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeArguments",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeArguments",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeArguments",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],u=o[2],c=o[3],m=p,f=u,$=c,(d=(d=s).flatMap(([e,[t,r]])=>[prepend(e,t),r])).pop(),{type:"TypeArguments",ts:!0,args:d,children:[m,d,f,$]});var p,s,u,c,m,d,f,$;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeArguments",t,l,i),l}var ImplicitTypeArguments$parser=(0,import_lib2.$S)(TypeApplicationStart,InsertOpenAngleBracket,(0,import_lib2.$E)(Trimmed_),TypeArgumentList,InsertCloseAngleBracket);function ImplicitTypeArguments(e,t){let r=e.enter&&e.enter("ImplicitTypeArguments",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ImplicitTypeArguments$parser(e,t);if(!n)return void(e.exit&&e.exit("ImplicitTypeArguments",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ImplicitTypeArguments",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ImplicitTypeArguments",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],p=o[1],s=o[2],u=o[3],c=o[4],m=p,d=s,$=c,isComma((f=u)[f.length-1])&&(f=f.slice(0,-1)),{type:"TypeArguments",ts:!0,args:f,children:[m,d,f,$]});var p,s,u,c,m,d,f,$;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ImplicitTypeArguments",t,l,i),l}var TypeApplicationStart$0$parser=(0,import_lib2.$S)(IndentedApplicationAllowed,(0,import_lib2.$Y)((0,import_lib2.$S)(IndentedFurther,(0,import_lib2.$N)(ForbiddenImplicitTypeCalls)))),TypeApplicationStart$1$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),(0,import_lib2.$Y)((0,import_lib2.$S)(_,(0,import_lib2.$N)(ForbiddenImplicitTypeCalls))));function TypeApplicationStart$0(e,t){return TypeApplicationStart$0$parser(e,t)}function TypeApplicationStart$1(e,t){return TypeApplicationStart$1$parser(e,t)}function TypeApplicationStart(e,t){let r=e.enter&&e.enter("TypeApplicationStart",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeApplicationStart$0(e,t);return n||(n=TypeApplicationStart$1(e,t)),n&&e.tokenize&&(n.value={type:"TypeApplicationStart",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeApplicationStart",t,n,i),n}var ForbiddenImplicitTypeCalls$1$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R96,"ForbiddenImplicitTypeCalls /[|&<!=\\-⇒→]/")),ForbiddenImplicitTypeCalls$2$parser=(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R97,"ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));function ForbiddenImplicitTypeCalls$0(e,t){return ReservedBinary(e,t)}function ForbiddenImplicitTypeCalls$1(e,t){return ForbiddenImplicitTypeCalls$1$parser(e,t)}function ForbiddenImplicitTypeCalls$2(e,t){return ForbiddenImplicitTypeCalls$2$parser(e,t)}function ForbiddenImplicitTypeCalls(e,t){let r=e.enter&&e.enter("ForbiddenImplicitTypeCalls",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ForbiddenImplicitTypeCalls$0(e,t);return n||(n=ForbiddenImplicitTypeCalls$1(e,t)),n||(n=ForbiddenImplicitTypeCalls$2(e,t)),n&&e.tokenize&&(n.value={type:"ForbiddenImplicitTypeCalls",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ForbiddenImplicitTypeCalls",t,n,i),n}var TypeArgumentList$0$parser=(0,import_lib2.$S)((0,import_lib2.$N)(EOS),TypeArgument,(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,(0,import_lib2.$N)(EOS),WTypeArgument)),(0,import_lib2.$P)((0,import_lib2.$S)(CommaDelimiter,(0,import_lib2.$C)(NestedTypeBulletedTuple,NestedInterfaceBlock,NestedTypeArgumentList)))),TypeArgumentList$1$parser=(0,import_lib2.$S)((0,import_lib2.$C)(NestedTypeBulletedTuple,NestedInterfaceBlock),(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,(0,import_lib2.$C)(NestedTypeBulletedTuple,NestedInterfaceBlock,NestedTypeArgumentList)))),TypeArgumentList$3$parser=(0,import_lib2.$S)(TypeArgument,(0,import_lib2.$Q)((0,import_lib2.$S)(CommaDelimiter,WTypeArgument)));function TypeArgumentList$0(e,t){let r=TypeArgumentList$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,n[0],o=n[1],a=n[2],p=n[3],[o,...a.flatMap(([e,t,r])=>[e,r]),...p.flatMap(([e,t])=>Array.isArray(t)?[e,...t]:[e,t])]);var o,a,p;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeArgumentList$1(e,t){let r=TypeArgumentList$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],[trimFirstSpace(o),...a.flatMap(([e,t])=>Array.isArray(t)?[e,...t]:[e,t])]);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeArgumentList$2(e,t){return NestedTypeArgumentList(e,t)}function TypeArgumentList$3(e,t){let r=TypeArgumentList$3$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=(import_lib2.SKIP,o=n[0],a=n[1],[o,...a.flatMap(([e,t])=>[e,t])]);var o,a;return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeArgumentList(e,t){let r=e.enter&&e.enter("TypeArgumentList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeArgumentList$0(e,t);return n||(n=TypeArgumentList$1(e,t)),n||(n=TypeArgumentList$2(e,t)),n||(n=TypeArgumentList$3(e,t)),n&&e.tokenize&&(n.value={type:"TypeArgumentList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeArgumentList",t,n,i),n}var NestedTypeArgumentList$parser=(0,import_lib2.$S)(PushIndent,(0,import_lib2.$Q)(NestedTypeArgument),PopIndent);function NestedTypeArgumentList(e,t){let r=e.enter&&e.enter("NestedTypeArgumentList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTypeArgumentList$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTypeArgumentList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTypeArgumentList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTypeArgumentList",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,o[0],s=o[1],o[2],(u=s).length?u.flat():p);var p,s,u;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTypeArgumentList",t,l,i),l}var NestedTypeArgument$parser=(0,import_lib2.$S)(Nested,SingleLineTypeArgumentList,TypeArgumentDelimiter);function NestedTypeArgument(e,t){let r=e.enter&&e.enter("NestedTypeArgument",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NestedTypeArgument$parser(e,t);if(!n)return void(e.exit&&e.exit("NestedTypeArgument",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NestedTypeArgument",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NestedTypeArgument",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l){var o=i,a=n,p=l;let[s,...u]=a;return s=prepend(o,s),[s,...u,p]}(import_lib2.SKIP,0,0,o[0],o[1],o[2]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NestedTypeArgument",t,l,i),l}var SingleLineTypeArgumentList$parser=(0,import_lib2.$S)(WTypeArgument,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$S)((0,import_lib2.$E)(_),Comma),WTypeArgument)));function SingleLineTypeArgumentList(e,t){let r=e.enter&&e.enter("SingleLineTypeArgumentList",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SingleLineTypeArgumentList$parser(e,t);if(!n)return void(e.exit&&e.exit("SingleLineTypeArgumentList",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SingleLineTypeArgumentList",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SingleLineTypeArgumentList",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],[p,...s]);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SingleLineTypeArgumentList",t,l,i),l}var WTypeArgument$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),TypeArgument);function WTypeArgument(e,t){let r=e.enter&&e.enter("WTypeArgument",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=WTypeArgument$parser(e,t);if(!n)return void(e.exit&&e.exit("WTypeArgument",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"WTypeArgument",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("WTypeArgument",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o[0],s=o[1],prepend(p,s));var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("WTypeArgument",t,l,i),l}var TypeArgumentDelimited$parser=(0,import_lib2.$S)(TypeArgument,TypeArgumentDelimiter);function TypeArgumentDelimited(e,t){let r=e.enter&&e.enter("TypeArgumentDelimited",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeArgumentDelimited$parser(e,t);return n&&e.tokenize&&(n.value={type:"TypeArgumentDelimited",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeArgumentDelimited",t,n,i),n}var TypeArgument$parser=Type;function TypeArgument(e,t){let r=e.enter&&e.enter("TypeArgument",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeArgument$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeArgument",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeArgument",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeArgument",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r){return{type:"TypeArgument",ts:!0,t:r,children:[r]}}(import_lib2.SKIP,0,o);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeArgument",t,l,i),l}function TypeArgumentDelimiter(e,t){let r=e.enter&&e.enter("TypeArgumentDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeParameterDelimiter(e,t);return n&&e.tokenize&&(n.value={type:"TypeArgumentDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeArgumentDelimiter",t,n,i),n}var TypeParameters$parser=(0,import_lib2.$S)(OpenAngleBracket,(0,import_lib2.$P)(TypeParameter),__,CloseAngleBracket);function TypeParameters(e,t){let r=e.enter&&e.enter("TypeParameters",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeParameters$parser(e,t);if(!n)return void(e.exit&&e.exit("TypeParameters",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TypeParameters",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TypeParameters",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return{type:"TypeParameters",parameters:n,ts:!0,children:r}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TypeParameters",t,l,i),l}var TypeParameter$parser=(0,import_lib2.$S)(__,(0,import_lib2.$Q)((0,import_lib2.$S)((0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R98,"TypeParameter /const|in|out/")),_)),Identifier,(0,import_lib2.$E)(TypeConstraint),(0,import_lib2.$E)(TypeInitializer),TypeParameterDelimiter);function TypeParameter(e,t){let r=e.enter&&e.enter("TypeParameter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeParameter$parser(e,t);return n&&e.tokenize&&(n.value={type:"TypeParameter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeParameter",t,n,i),n}var TypeConstraint$parser=(0,import_lib2.$S)(__,ExtendsToken,Type);function TypeConstraint(e,t){let r=e.enter&&e.enter("TypeConstraint",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeConstraint$parser(e,t);return n&&e.tokenize&&(n.value={type:"TypeConstraint",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeConstraint",t,n,i),n}var TypeInitializer$parser=(0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($L3,'TypeInitializer "="'),Type);function TypeInitializer(e,t){let r=e.enter&&e.enter("TypeInitializer",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeInitializer$parser(e,t);return n&&e.tokenize&&(n.value={type:"TypeInitializer",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeInitializer",t,n,i),n}var TypeParameterDelimiter$0$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),Comma),TypeParameterDelimiter$1$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(__,(0,import_lib2.$EXPECT)($L44,'TypeParameterDelimiter ">"'))),TypeParameterDelimiter$2$parser=(0,import_lib2.$S)((0,import_lib2.$Y)(EOS),InsertComma);function TypeParameterDelimiter$0(e,t){return TypeParameterDelimiter$0$parser(e,t)}function TypeParameterDelimiter$1(e,t){let r=TypeParameterDelimiter$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc,r.value;let i,n=void import_lib2.SKIP;return n!==import_lib2.SKIP&&(r.value=n,i=r),i}function TypeParameterDelimiter$2(e,t){let r=TypeParameterDelimiter$2$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,n[0],n[1]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function TypeParameterDelimiter(e,t){let r=e.enter&&e.enter("TypeParameterDelimiter",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TypeParameterDelimiter$0(e,t);return n||(n=TypeParameterDelimiter$1(e,t)),n||(n=TypeParameterDelimiter$2(e,t)),n&&e.tokenize&&(n.value={type:"TypeParameterDelimiter",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TypeParameterDelimiter",t,n,i),n}var ThisType$parser=(0,import_lib2.$S)((0,import_lib2.$E)(_),(0,import_lib2.$C)(This,AtThis),Colon,Type,ParameterElementDelimiter);function ThisType(e,t){let r=e.enter&&e.enter("ThisType",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ThisType$parser(e,t);if(!n)return void(e.exit&&e.exit("ThisType",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ThisType",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ThisType",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r){return{type:"ThisType",ts:!0,children:r}}(import_lib2.SKIP,0,o,o[0],o[1],o[2],o[3],o[4]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("ThisType",t,l,i),l}var Shebang$parser=(0,import_lib2.$S)((0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R99,"Shebang /#![^\\r\\n]*/")),EOL);function Shebang(e,t){let r=e.enter&&e.enter("Shebang",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Shebang$parser(e,t);return n&&e.tokenize&&(n.value={type:"Shebang",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Shebang",t,n,i),n}var CivetPrologue$0$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R100,"CivetPrologue /[\\t ]*/"),DoubleQuote,CivetPrologueContent,DoubleQuote,SimpleStatementDelimiter,(0,import_lib2.$EXPECT)($R23,"CivetPrologue /[ \\t]*/"),(0,import_lib2.$C)(EOL,(0,import_lib2.$Y)(RestOfLine))),CivetPrologue$1$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R100,"CivetPrologue /[\\t ]*/"),SingleQuote,CivetPrologueContent,SingleQuote,SimpleStatementDelimiter,(0,import_lib2.$EXPECT)($R23,"CivetPrologue /[ \\t]*/"),(0,import_lib2.$C)(EOL,(0,import_lib2.$Y)(RestOfLine)));function CivetPrologue$0(e,t){let r=CivetPrologue$0$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return l}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CivetPrologue$1(e,t){let r=CivetPrologue$1$parser(e,t);if(!r)return;if(e.tokenize)return r;r.loc;let i,n=r.value,l=function(e,t,r,i,n,l){return l}(import_lib2.SKIP,0,0,n[0],n[1],n[2],n[3],n[4],n[5],n[6]);return l!==import_lib2.SKIP&&(r.value=l,i=r),i}function CivetPrologue(e,t){let r=e.enter&&e.enter("CivetPrologue",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CivetPrologue$0(e,t);return n||(n=CivetPrologue$1(e,t)),n&&e.tokenize&&(n.value={type:"CivetPrologue",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("CivetPrologue",t,n,i),n}var CivetPrologueContent$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($L248,'CivetPrologueContent "civet"'),NonIdContinue,(0,import_lib2.$Q)(CivetOption),(0,import_lib2.$EXPECT)($R101,"CivetPrologueContent /[\\s]*/"));function CivetPrologueContent(e,t){let r=e.enter&&e.enter("CivetPrologueContent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CivetPrologueContent$parser(e,t);if(!n)return void(e.exit&&e.exit("CivetPrologueContent",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CivetPrologueContent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CivetPrologueContent",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,o[0],o[1],p=o[2],o[3],s=p,{type:"CivetPrologue",children:[],config:Object.fromEntries(s)});var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CivetPrologueContent",t,l,i),l}var CivetOption$parser=(0,import_lib2.$EXPECT)($R102,"CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?/");function CivetOption(e,t){let r=e.enter&&e.enter("CivetOption",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CivetOption$parser(e,t);if(!n)return void(e.exit&&e.exit("CivetOption",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CivetOption",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CivetOption",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n,l,o){let a=n.replace(/-+([a-z]?)/g,(e,t)=>t?t.toUpperCase():""),p=l?o:"-"!==i;switch(a){case"tab":p=parseFloat(p),isNaN(p)&&(p=0);break;case"globals":case"symbols":case"operators":p=p.split(",").filter(Boolean)}return[a,p]}(import_lib2.SKIP,0,o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7],o[8],o[9]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("CivetOption",t,l,i),l}var UnknownPrologue$parser=(0,import_lib2.$S)((0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R100,"UnknownPrologue /[\\t ]*/")),StringLiteral,(0,import_lib2.$TEXT)(SimpleStatementDelimiter),EOS);function UnknownPrologue(e,t){let r=e.enter&&e.enter("UnknownPrologue",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=UnknownPrologue$parser(e,t);return n&&e.tokenize&&(n.value={type:"UnknownPrologue",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("UnknownPrologue",t,n,i),n}var TripleSlashDirective$parser=(0,import_lib2.$S)((0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R103,"TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")),(0,import_lib2.$E)(EOS));function TripleSlashDirective(e,t){let r=e.enter&&e.enter("TripleSlashDirective",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TripleSlashDirective$parser(e,t);return n&&e.tokenize&&(n.value={type:"TripleSlashDirective",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("TripleSlashDirective",t,n,i),n}var DirectivePrologue$parser=(0,import_lib2.$S)(PrologueString,(0,import_lib2.$N)((0,import_lib2.$S)(__,(0,import_lib2.$C)(AccessStart,Pipe))));function DirectivePrologue(e,t){let r=e.enter&&e.enter("DirectivePrologue",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DirectivePrologue$parser(e,t);if(!n)return void(e.exit&&e.exit("DirectivePrologue",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DirectivePrologue",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DirectivePrologue",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i){return i}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("DirectivePrologue",t,l,i),l}function PrologueString$0(e,t){return CivetPrologue(e,t)}function PrologueString$1(e,t){return UnknownPrologue(e,t)}function PrologueString(e,t){let r=e.enter&&e.enter("PrologueString",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PrologueString$0(e,t);return n||(n=PrologueString$1(e,t)),n&&e.tokenize&&(n.value={type:"PrologueString",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PrologueString",t,n,i),n}var EOS$parser=(0,import_lib2.$S)((0,import_lib2.$EXPECT)($R104,"EOS /(?=[ \\t\\r\\n\\/#]|$)/"),(0,import_lib2.$P)(RestOfLine));function EOS(e,t){let r=e.enter&&e.enter("EOS",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EOS$parser(e,t);if(!n)return void(e.exit&&e.exit("EOS",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EOS",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EOS",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("EOS",t,l,i),l}var EOL$parser=(0,import_lib2.$EXPECT)($R105,"EOL /\\r\\n|\\n|\\r|$/");function EOL(e,t){let r=e.enter&&e.enter("EOL",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=EOL$parser(e,t);if(!n)return void(e.exit&&e.exit("EOL",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"EOL",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("EOL",t,r,i),r}let l,o=n.loc,a=n.value,p=function(e,t,r){return{$loc:t,token:r}}(import_lib2.SKIP,o,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("EOL",t,l,i),l}var DebugHere$parser=(0,import_lib2.$EXPECT)($L0,'DebugHere ""');function DebugHere(e,t){let r=e.enter&&e.enter("DebugHere",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=DebugHere$parser(e,t);if(!n)return void(e.exit&&e.exit("DebugHere",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"DebugHere",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("DebugHere",t,r,i),r}n.loc,n.value;let l,o=void import_lib2.SKIP;return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("DebugHere",t,l,i),l}var InsertColon$parser=(0,import_lib2.$EXPECT)($L0,'InsertColon ""');function InsertColon(e,t){let r=e.enter&&e.enter("InsertColon",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertColon$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertColon",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertColon",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertColon",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:":"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertColon",t,l,i),l}var InsertSemicolon$parser=(0,import_lib2.$EXPECT)($L0,'InsertSemicolon ""');function InsertSemicolon(e,t){let r=e.enter&&e.enter("InsertSemicolon",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertSemicolon$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertSemicolon",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertSemicolon",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertSemicolon",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:";"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertSemicolon",t,l,i),l}var InsertOpenParen$parser=(0,import_lib2.$EXPECT)($L0,'InsertOpenParen ""');function InsertOpenParen(e,t){let r=e.enter&&e.enter("InsertOpenParen",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertOpenParen$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertOpenParen",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertOpenParen",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertOpenParen",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"("}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertOpenParen",t,l,i),l}var InsertCloseParen$parser=(0,import_lib2.$EXPECT)($L0,'InsertCloseParen ""');function InsertCloseParen(e,t){let r=e.enter&&e.enter("InsertCloseParen",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertCloseParen$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertCloseParen",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertCloseParen",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertCloseParen",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:")"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertCloseParen",t,l,i),l}var InsertOpenBrace$parser=(0,import_lib2.$EXPECT)($L0,'InsertOpenBrace ""');function InsertOpenBrace(e,t){let r=e.enter&&e.enter("InsertOpenBrace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertOpenBrace$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertOpenBrace",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertOpenBrace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertOpenBrace",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return[{$loc:t,token:" "},{$loc:t,token:"{"}]}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertOpenBrace",t,l,i),l}var InsertInlineOpenBrace$parser=(0,import_lib2.$EXPECT)($L0,'InsertInlineOpenBrace ""');function InsertInlineOpenBrace(e,t){let r=e.enter&&e.enter("InsertInlineOpenBrace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertInlineOpenBrace$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertInlineOpenBrace",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertInlineOpenBrace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertInlineOpenBrace",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"{"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertInlineOpenBrace",t,l,i),l}var InsertCloseBrace$parser=(0,import_lib2.$EXPECT)($L0,'InsertCloseBrace ""');function InsertCloseBrace(e,t){let r=e.enter&&e.enter("InsertCloseBrace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertCloseBrace$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertCloseBrace",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertCloseBrace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertCloseBrace",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"}"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertCloseBrace",t,l,i),l}var InsertOpenBracket$parser=(0,import_lib2.$EXPECT)($L0,'InsertOpenBracket ""');function InsertOpenBracket(e,t){let r=e.enter&&e.enter("InsertOpenBracket",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertOpenBracket$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertOpenBracket",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertOpenBracket",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertOpenBracket",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"["}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertOpenBracket",t,l,i),l}var InsertCloseBracket$parser=(0,import_lib2.$EXPECT)($L0,'InsertCloseBracket ""');function InsertCloseBracket(e,t){let r=e.enter&&e.enter("InsertCloseBracket",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertCloseBracket$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertCloseBracket",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertCloseBracket",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertCloseBracket",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"]"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertCloseBracket",t,l,i),l}var InsertOpenAngleBracket$parser=(0,import_lib2.$EXPECT)($L0,'InsertOpenAngleBracket ""');function InsertOpenAngleBracket(e,t){let r=e.enter&&e.enter("InsertOpenAngleBracket",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertOpenAngleBracket$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertOpenAngleBracket",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertOpenAngleBracket",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertOpenAngleBracket",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"<"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertOpenAngleBracket",t,l,i),l}var InsertCloseAngleBracket$parser=(0,import_lib2.$EXPECT)($L0,'InsertCloseAngleBracket ""');function InsertCloseAngleBracket(e,t){let r=e.enter&&e.enter("InsertCloseAngleBracket",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertCloseAngleBracket$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertCloseAngleBracket",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertCloseAngleBracket",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertCloseAngleBracket",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:">"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertCloseAngleBracket",t,l,i),l}var InsertComma$parser=(0,import_lib2.$EXPECT)($L0,'InsertComma ""');function InsertComma(e,t){let r=e.enter&&e.enter("InsertComma",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertComma$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertComma",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertComma",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertComma",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:",",implicit:!0}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertComma",t,l,i),l}var InsertSpaceEquals$parser=(0,import_lib2.$EXPECT)($L0,'InsertSpaceEquals ""');function InsertSpaceEquals(e,t){let r=e.enter&&e.enter("InsertSpaceEquals",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertSpaceEquals$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertSpaceEquals",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertSpaceEquals",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertSpaceEquals",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:" ="}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertSpaceEquals",t,l,i),l}var InsertConst$parser=(0,import_lib2.$EXPECT)($L0,'InsertConst ""');function InsertConst(e,t){let r=e.enter&&e.enter("InsertConst",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertConst$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertConst",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertConst",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertConst",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"const "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertConst",t,l,i),l}var InsertLet$parser=(0,import_lib2.$EXPECT)($L0,'InsertLet ""');function InsertLet(e,t){let r=e.enter&&e.enter("InsertLet",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertLet$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertLet",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertLet",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertLet",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"let "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertLet",t,l,i),l}var InsertReadonly$parser=(0,import_lib2.$EXPECT)($L0,'InsertReadonly ""');function InsertReadonly(e,t){let r=e.enter&&e.enter("InsertReadonly",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertReadonly$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertReadonly",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertReadonly",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertReadonly",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{ts:!0,children:[{$loc:t,token:"readonly "}]}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertReadonly",t,l,i),l}var InsertNewline$parser=(0,import_lib2.$EXPECT)($L0,'InsertNewline ""');function InsertNewline(e,t){let r=e.enter&&e.enter("InsertNewline",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertNewline$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertNewline",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertNewline",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertNewline",t,r,i),r}n.loc,n.value;let l,o=function(){return"\n"}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("InsertNewline",t,l,i),l}var InsertIndent$parser=(0,import_lib2.$EXPECT)($L0,'InsertIndent ""');function InsertIndent(e,t){let r=e.enter&&e.enter("InsertIndent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertIndent$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertIndent",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertIndent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertIndent",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,state.currentIndent.token);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("InsertIndent",t,l,i),l}var InsertSpace$parser=(0,import_lib2.$EXPECT)($L0,'InsertSpace ""');function InsertSpace(e,t){let r=e.enter&&e.enter("InsertSpace",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertSpace$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertSpace",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertSpace",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertSpace",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:" "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertSpace",t,l,i),l}var InsertDot$parser=(0,import_lib2.$EXPECT)($L0,'InsertDot ""');function InsertDot(e,t){let r=e.enter&&e.enter("InsertDot",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertDot$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertDot",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertDot",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertDot",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"."}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertDot",t,l,i),l}var InsertBreak$parser=(0,import_lib2.$EXPECT)($L0,'InsertBreak ""');function InsertBreak(e,t){let r=e.enter&&e.enter("InsertBreak",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertBreak$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertBreak",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertBreak",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertBreak",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:";break;"}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertBreak",t,l,i),l}var InsertVar$parser=(0,import_lib2.$EXPECT)($L0,'InsertVar ""');function InsertVar(e,t){let r=e.enter&&e.enter("InsertVar",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertVar$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertVar",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertVar",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertVar",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"var "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertVar",t,l,i),l}var InsertType$parser=(0,import_lib2.$EXPECT)($L0,'InsertType ""');function InsertType(e,t){let r=e.enter&&e.enter("InsertType",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=InsertType$parser(e,t);if(!n)return void(e.exit&&e.exit("InsertType",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"InsertType",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("InsertType",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){return{$loc:t,token:"type "}}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("InsertType",t,l,i),l}var CoffeeBinaryExistentialEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeBinaryExistentialEnabled ""');function CoffeeBinaryExistentialEnabled(e,t){let r=e.enter&&e.enter("CoffeeBinaryExistentialEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeBinaryExistentialEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeBinaryExistentialEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeBinaryExistentialEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeBinaryExistentialEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeBinaryExistential)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeBinaryExistentialEnabled",t,l,i),l}var CoffeeBooleansEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeBooleansEnabled ""');function CoffeeBooleansEnabled(e,t){let r=e.enter&&e.enter("CoffeeBooleansEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeBooleansEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeBooleansEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeBooleansEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeBooleansEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeBooleans)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeBooleansEnabled",t,l,i),l}var CoffeeClassesEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeClassesEnabled ""');function CoffeeClassesEnabled(e,t){let r=e.enter&&e.enter("CoffeeClassesEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeClassesEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeClassesEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeClassesEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeClassesEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeClasses)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeClassesEnabled",t,l,i),l}var CoffeeCommentEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeCommentEnabled ""');function CoffeeCommentEnabled(e,t){let r=e.enter&&e.enter("CoffeeCommentEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeCommentEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeCommentEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeCommentEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeCommentEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeComment)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeCommentEnabled",t,l,i),l}var CoffeeDivEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeDivEnabled ""');function CoffeeDivEnabled(e,t){let r=e.enter&&e.enter("CoffeeDivEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeDivEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeDivEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeDivEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeDivEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeDiv)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeDivEnabled",t,l,i),l}var CoffeeDoEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeDoEnabled ""');function CoffeeDoEnabled(e,t){let r=e.enter&&e.enter("CoffeeDoEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeDoEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeDoEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeDoEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeDoEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeDo)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeDoEnabled",t,l,i),l}var CoffeeForLoopsEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeForLoopsEnabled ""');function CoffeeForLoopsEnabled(e,t){let r=e.enter&&e.enter("CoffeeForLoopsEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeForLoopsEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeForLoopsEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeForLoopsEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeForLoopsEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeForLoops)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeForLoopsEnabled",t,l,i),l}var CoffeeInterpolationEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeInterpolationEnabled ""');function CoffeeInterpolationEnabled(e,t){let r=e.enter&&e.enter("CoffeeInterpolationEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeInterpolationEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeInterpolationEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeInterpolationEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeInterpolationEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeInterpolation)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeInterpolationEnabled",t,l,i),l}var CoffeeIsntEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeIsntEnabled ""');function CoffeeIsntEnabled(e,t){let r=e.enter&&e.enter("CoffeeIsntEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeIsntEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeIsntEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeIsntEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeIsntEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeIsnt)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeIsntEnabled",t,l,i),l}var CoffeeJSXEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeJSXEnabled ""');function CoffeeJSXEnabled(e,t){let r=e.enter&&e.enter("CoffeeJSXEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeJSXEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeJSXEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeJSXEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeJSXEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeJSX)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeJSXEnabled",t,l,i),l}var CoffeeLineContinuationEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeLineContinuationEnabled ""');function CoffeeLineContinuationEnabled(e,t){let r=e.enter&&e.enter("CoffeeLineContinuationEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeLineContinuationEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeLineContinuationEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeLineContinuationEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeLineContinuationEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeLineContinuation)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeLineContinuationEnabled",t,l,i),l}var CoffeeNotEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeNotEnabled ""');function CoffeeNotEnabled(e,t){let r=e.enter&&e.enter("CoffeeNotEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeNotEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeNotEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeNotEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeNotEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeNot)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeNotEnabled",t,l,i),l}var CoffeeOfEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeeOfEnabled ""');function CoffeeOfEnabled(e,t){let r=e.enter&&e.enter("CoffeeOfEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeeOfEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeeOfEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeeOfEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeeOfEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeeOf)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeeOfEnabled",t,l,i),l}var CoffeePrototypeEnabled$parser=(0,import_lib2.$EXPECT)($L0,'CoffeePrototypeEnabled ""');function CoffeePrototypeEnabled(e,t){let r=e.enter&&e.enter("CoffeePrototypeEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=CoffeePrototypeEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("CoffeePrototypeEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"CoffeePrototypeEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("CoffeePrototypeEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.coffeePrototype)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("CoffeePrototypeEnabled",t,l,i),l}var ESArrowFunctionEnabled$parser=(0,import_lib2.$EXPECT)($L0,'ESArrowFunctionEnabled ""');function ESArrowFunctionEnabled(e,t){let r=e.enter&&e.enter("ESArrowFunctionEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ESArrowFunctionEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("ESArrowFunctionEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ESArrowFunctionEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ESArrowFunctionEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.esArrowFunction)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ESArrowFunctionEnabled",t,l,i),l}var JSXCodeNestedEnabled$parser=(0,import_lib2.$EXPECT)($L0,'JSXCodeNestedEnabled ""');function JSXCodeNestedEnabled(e,t){let r=e.enter&&e.enter("JSXCodeNestedEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXCodeNestedEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXCodeNestedEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXCodeNestedEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXCodeNestedEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.jsxCodeNested)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("JSXCodeNestedEnabled",t,l,i),l}var JSXCodeSameLineEnabled$parser=(0,import_lib2.$EXPECT)($L0,'JSXCodeSameLineEnabled ""');function JSXCodeSameLineEnabled(e,t){let r=e.enter&&e.enter("JSXCodeSameLineEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=JSXCodeSameLineEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("JSXCodeSameLineEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"JSXCodeSameLineEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("JSXCodeSameLineEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.jsxCodeSameLine)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("JSXCodeSameLineEnabled",t,l,i),l}var ObjectIsEnabled$parser=(0,import_lib2.$EXPECT)($L0,'ObjectIsEnabled ""');function ObjectIsEnabled(e,t){let r=e.enter&&e.enter("ObjectIsEnabled",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ObjectIsEnabled$parser(e,t);if(!n)return void(e.exit&&e.exit("ObjectIsEnabled",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"ObjectIsEnabled",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("ObjectIsEnabled",t,r,i),r}n.loc,n.value;let l,o=function(e){if(!config.objectIs)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("ObjectIsEnabled",t,l,i),l}var IsBare$parser=(0,import_lib2.$EXPECT)($L0,'IsBare ""');function IsBare(e,t){let r=e.enter&&e.enter("IsBare",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IsBare$parser(e,t);if(!n)return void(e.exit&&e.exit("IsBare",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IsBare",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IsBare",t,r,i),r}n.loc,n.value;let l,o=function(e){if(config.iife||config.repl)return e}(import_lib2.SKIP);return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("IsBare",t,l,i),l}var Reset$parser=(0,import_lib2.$EXPECT)($L0,'Reset ""');function Reset(e,t){let r=e.enter&&e.enter("Reset",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Reset$parser(e,t);if(!n)return void(e.exit&&e.exit("Reset",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Reset",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Reset",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,state.indentLevels=[{level:0,token:""}],state.forbidClassImplicitCall=[!1],state.forbidIndentedApplication=[!1],state.forbidBracedApplication=[!1],state.forbidTrailingMemberProperty=[!1],state.forbidNestedBinaryOp=[!1],state.forbidNewlineBinaryOp=[!1],state.forbidImplicitFragment=[!1],state.forbidPipeline=[!1],state.JSXTagStack=[void 0],state.operators=new Map,state.helperRefs={},state.prelude=[],config={autoConst:!1,autoVar:!1,autoLet:!1,coffeeBinaryExistential:!1,coffeeBooleans:!1,coffeeClasses:!1,coffeeComment:!1,coffeeDiv:!1,coffeeDo:!1,coffeeEq:!1,coffeeForLoops:!1,coffeeInterpolation:!1,coffeeIsnt:!1,coffeeJSX:!1,coffeeLineContinuation:!1,coffeeNot:!1,coffeeOf:!1,coffeePrototype:!1,coffeeRange:!1,defaultElement:"div",globals:[],iife:!1,implicitReturns:!0,esArrowFunction:!1,jsxCode:!1,objectIs:!1,react:!1,solid:!1,client:!1,repl:!1,rewriteTsImports:!0,server:!1,strict:!1,symbols:wellKnownSymbols,tab:void 0,verbose:!1},Object.defineProperty(config,"deno",{set(e){config.rewriteTsImports=!e}}),config.deno=typeof Deno<"u",Object.defineProperty(config,"coffeeCompat",{set(e){for(let t of["autoVar","coffeeBinaryExistential","coffeeBooleans","coffeeClasses","coffeeComment","coffeeDiv","coffeeDo","coffeeEq","coffeeForLoops","coffeeInterpolation","coffeeIsnt","coffeeJSX","coffeeLineContinuation","coffeeNot","coffeeOf","coffeePrototype","coffeeRange"])config[t]=e;e&&(config.objectIs=!1)}}),Object.defineProperty(config,"esCompat",{set(e){for(let t of["esArrowFunction"])config[t]=e;config.implicitReturns=!e}}),Object.defineProperty(config,"jsxCode",{set(e){for(let t of["jsxCodeNested","jsxCodeSameLine"])config[t]=e}}),Object.defineProperty(config,"operators",{set(e){if(e){if("object"!=typeof e)throw new Error("operators configuration must be an object or array");if(Array.isArray(e))e.forEach(e=>{if("string"!=typeof e)throw new Error("operators configuration array must contain only strings");return setOperatorBehavior(e,void 0)});else for(let[t,r]of Object.entries(e)){if("string"==typeof r&&(r=r.trim(),r=r?parse(r,{startRule:"OperatorBehavior",filename:`operator config for ${t}`}):void 0),r&&"object"!=typeof r)throw new Error("operators configuration object must have string or object values");setOperatorBehavior(t,r)}}}}),void Object.assign(config,initialConfig));return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("Reset",t,l,i),l}var Init$parser=(0,import_lib2.$S)((0,import_lib2.$E)(Shebang),Prologue);function Init(e,t){let r=e.enter&&e.enter("Init",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Init$parser(e,t);if(!n)return void(e.exit&&e.exit("Init",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Init",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Init",t,r,i),r}n.loc;let l,o=n.value,a=(import_lib2.SKIP,p=o,o[0],o[1].forEach(e=>{if("CivetPrologue"===e.type)return Object.assign(config,e.config)}),config.strict&&(p=[...p,'"use strict";\n']),p);var p;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Init",t,l,i),l}var Prologue$parser=(0,import_lib2.$Q)((0,import_lib2.$C)(TripleSlashDirective,(0,import_lib2.$S)((0,import_lib2.$C)(JSSingleLineComment,JSMultiLineComment),EOS),DirectivePrologue));function Prologue(e,t){let r=e.enter&&e.enter("Prologue",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Prologue$parser(e,t);return n&&e.tokenize&&(n.value={type:"Prologue",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("Prologue",t,n,i),n}var ProloguePrefix$parser=(0,import_lib2.$S)(Prologue,(0,import_lib2.$R$0)((0,import_lib2.$EXPECT)($R106,"ProloguePrefix /[^]*/")));function ProloguePrefix(e,t){let r=e.enter&&e.enter("ProloguePrefix",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=ProloguePrefix$parser(e,t);return n&&e.tokenize&&(n.value={type:"ProloguePrefix",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("ProloguePrefix",t,n,i),n}var Indent$parser=(0,import_lib2.$EXPECT)($R23,"Indent /[ \\t]*/");function Indent(e,t){let r=e.enter&&e.enter("Indent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Indent$parser(e,t);if(!n)return void(e.exit&&e.exit("Indent",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Indent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Indent",t,r,i),r}let l,o=n.loc,a=n.value,p=(import_lib2.SKIP,s=o,u=a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],{$loc:s,token:u,level:getIndentLevel(u,config.tab)});var s,u;return p!==import_lib2.SKIP&&(n.value=p,l=n),e.exit&&e.exit("Indent",t,l,i),l}var TrackIndented$parser=Indent;function TrackIndented(e,t){let r=e.enter&&e.enter("TrackIndented",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=TrackIndented$parser(e,t);if(!n)return void(e.exit&&e.exit("TrackIndented",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"TrackIndented",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("TrackIndented",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i){var n=r;let{level:l}=n;return l<=state.currentIndent.level?e:(config.verbose&&console.log("pushing indent",n),state.indentLevels.push(n),i)}(import_lib2.SKIP,0,o,o);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("TrackIndented",t,l,i),l}var PushIndent$parser=(0,import_lib2.$Y)((0,import_lib2.$S)(EOS,TrackIndented));function PushIndent(e,t){let r=e.enter&&e.enter("PushIndent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PushIndent$parser(e,t);return n&&e.tokenize&&(n.value={type:"PushIndent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc}),e.exit&&e.exit("PushIndent",t,n,i),n}var PopIndent$parser=(0,import_lib2.$EXPECT)($L0,'PopIndent ""');function PopIndent(e,t){let r=e.enter&&e.enter("PopIndent",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PopIndent$parser(e,t);if(!n)return void(e.exit&&e.exit("PopIndent",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PopIndent",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PopIndent",t,r,i),r}n.loc,n.value;let l,o=(import_lib2.SKIP,config.verbose&&console.log("popping indent",state.indentLevels[state.indentLevels.length-1],"->",state.indentLevels[state.indentLevels.length-2]),void state.indentLevels.pop());return o!==import_lib2.SKIP&&(n.value=o,l=n),e.exit&&e.exit("PopIndent",t,l,i),l}var Nested$parser=(0,import_lib2.$S)(EOS,Indent);function Nested(e,t){let r=e.enter&&e.enter("Nested",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Nested$parser(e,t);if(!n)return void(e.exit&&e.exit("Nested",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Nested",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Nested",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o,o[0],u=o[1],(c=u).level===state.currentIndent.level?s:(config.verbose&&console.log(`failing Nested: ${c.level} does not match current indent level ${state.currentIndent.level}`),p));var p,s,u,c;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Nested",t,l,i),l}var IndentedFurther$parser=(0,import_lib2.$S)(EOS,Indent);function IndentedFurther(e,t){let r=e.enter&&e.enter("IndentedFurther",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IndentedFurther$parser(e,t);if(!n)return void(e.exit&&e.exit("IndentedFurther",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IndentedFurther",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IndentedFurther",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o,o[0],o[1].level>state.currentIndent.level?s:p);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IndentedFurther",t,l,i),l}var IndentedAtLeast$parser=(0,import_lib2.$S)(EOS,Indent);function IndentedAtLeast(e,t){let r=e.enter&&e.enter("IndentedAtLeast",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=IndentedAtLeast$parser(e,t);if(!n)return void(e.exit&&e.exit("IndentedAtLeast",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"IndentedAtLeast",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("IndentedAtLeast",t,r,i),r}n.loc;let l,o=n.value,a=(p=import_lib2.SKIP,s=o,o[0],o[1].level>=state.currentIndent.level?s:p);var p,s;return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("IndentedAtLeast",t,l,i),l}var NotDedented$parser=(0,import_lib2.$S)((0,import_lib2.$E)(IndentedAtLeast),(0,import_lib2.$E)(_));function NotDedented(e,t){let r=e.enter&&e.enter("NotDedented",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=NotDedented$parser(e,t);if(!n)return void(e.exit&&e.exit("NotDedented",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"NotDedented",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("NotDedented",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){let l=[];return i&&l.push(...i),n&&l.push(...n),l.flat(1/0).filter(Boolean)}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("NotDedented",t,l,i),l}var SameLineOrIndentedFurther$parser=(0,import_lib2.$S)((0,import_lib2.$E)(IndentedFurther),(0,import_lib2.$E)(_));function SameLineOrIndentedFurther(e,t){let r=e.enter&&e.enter("SameLineOrIndentedFurther",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=SameLineOrIndentedFurther$parser(e,t);if(!n)return void(e.exit&&e.exit("SameLineOrIndentedFurther",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"SameLineOrIndentedFurther",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("SameLineOrIndentedFurther",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){let l=[];return i&&l.push(...i),n&&l.push(...n),l.flat(1/0).filter(Boolean)}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("SameLineOrIndentedFurther",t,l,i),l}var Dedented$parser=(0,import_lib2.$S)((0,import_lib2.$N)(IndentedAtLeast),EOS);function Dedented(e,t){let r=e.enter&&e.enter("Dedented",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=Dedented$parser(e,t);if(!n)return void(e.exit&&e.exit("Dedented",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"Dedented",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("Dedented",t,r,i),r}n.loc;let l,o=n.value,a=function(e,t,r,i,n){return n}(import_lib2.SKIP,0,0,o[0],o[1]);return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("Dedented",t,l,i),l}var PushExtraIndent1$parser=(0,import_lib2.$EXPECT)($L0,'PushExtraIndent1 ""');function PushExtraIndent1(e,t){let r=e.enter&&e.enter("PushExtraIndent1",t);if(r&&"cache"in r)return r.cache;let i=r&&r.data,n=PushExtraIndent1$parser(e,t);if(!n)return void(e.exit&&e.exit("PushExtraIndent1",t,void 0,i));if(e.tokenize){let r=n;return r.value={type:"PushExtraIndent1",children:[n.value].flat(),token:t.input.substring(t.pos,n.pos),loc:n.loc},e.exit&&e.exit("PushExtraIndent1",t,r,i),r}let l,o=n.loc,a=(n.value,function(e,t){let r={token:"",$loc:t,level:state.currentIndent.level+1};return config.verbose&&console.log("pushing bonus indent",r),state.indentLevels.push(r),r}(import_lib2.SKIP,o));return a!==import_lib2.SKIP&&(n.value=a,l=n),e.exit&&e.exit("PushExtraIndent1",t,l,i),l}var parser={parse:(e,t={})=>{let r,{fail:i,validate:n,reset:l}=(0,import_lib2.Validator)(),o={expectation:"",fail:i};if("string"!=typeof e)throw new Error("Input must be a string");if(r=null!==t.startRule&&void 0!==t.startRule?grammar[t.startRule]:Object.values(grammar)[0],!r)throw new Error(`Could not find rule with name '${t.startRule}'`);let a=t.filename||"<anonymous>";return l(),Object.assign(o,{...t.events,tokenize:t.tokenize}),n(e,r(o,{input:e,pos:0}),{filename:a})}},{parse}=parser,filename,initialConfig,config,sync,state={forbidClassImplicitCall:[!1],forbidIndentedApplication:[!1],forbidBracedApplication:[!1],forbidTrailingMemberProperty:[!1],forbidNestedBinaryOp:[!1],forbidNewlineBinaryOp:[!1],forbidImplicitFragment:[!1],forbidPipeline:[!1],JSXTagStack:[void 0]},getState=()=>state,getConfig=()=>config,getInitialConfig=()=>initialConfig,getFilename=()=>filename,getSync=()=>sync;function setOperatorBehavior(e,t){let r=state.operators.get(e);r&&t?state.operators.set(e,{...r,...t}):state.operators.set(e,t||r)}function getStateKey(){return[state.currentIndent.level%256<<9|state.classImplicitCallForbidden<<8|state.indentedApplicationForbidden<<7|state.bracedApplicationForbidden<<6|state.trailingMemberPropertyForbidden<<5|state.nestedBinaryOpForbidden<<4|state.newlineBinaryOpForbidden<<3|state.implicitFragmentForbidden<<2|state.pipelineForbidden<<1|config.coffeeComment,state.currentJSXTag]}function parseProgram(e,t){filename=t?.filename,initialConfig=t?.parseOptions,sync=t?.sync;let r=parse(e,t);return sync?(filename=initialConfig=sync=null,r):processProgramAsync(r).then(()=>(filename=initialConfig=sync=null,r))}Object.defineProperties(state,{currentIndent:{get(){let{indentLevels:e}=state;return e[e.length-1]}},classImplicitCallForbidden:{get(){let{forbidClassImplicitCall:e}=state;return e[e.length-1]}},indentedApplicationForbidden:{get(){let{forbidIndentedApplication:e}=state;return e[e.length-1]}},bracedApplicationForbidden:{get(){let{forbidBracedApplication:e}=state;return e[e.length-1]}},trailingMemberPropertyForbidden:{get(){let{forbidTrailingMemberProperty:e}=state;return e[e.length-1]}},nestedBinaryOpForbidden:{get(){let{forbidNestedBinaryOp:e}=state;return e[e.length-1]}},newlineBinaryOpForbidden:{get(){let{forbidNewlineBinaryOp:e}=state;return e[e.length-1]}},implicitFragmentForbidden:{get(){let{forbidImplicitFragment:e}=state;return e[e.length-1]}},pipelineForbidden:{get(){let{forbidPipeline:e}=state;return e[e.length-1]}},currentJSXTag:{get(){let{JSXTagStack:e}=state;return e[e.length-1]}}});var wellKnownSymbols=["asyncIterator","hasInstance","isConcatSpreadable","iterator","match","matchAll","replace","search","species","split","toPrimitive","toStringTag","unscopables"],sourcemap_exports={};function locationTable(e){let t,r=/([^\r\n]*)(\r\n|\r|\n|$)/y,i=[],n=0,l=0;for(;(t=r.exec(e))&&(l+=t[0].length,i[n++]=l,l!==e.length););return i}function lookupLineColumn(e,t){let r=0,i=0;for(;e[r]<=t;)i=e[r++];return[r,t-i]}__export(sourcemap_exports,{SourceMap:()=>SourceMap,base64Encode:()=>base64Encode,decodeVLQ:()=>decodeVLQ,locationTable:()=>locationTable,lookupLineColumn:()=>lookupLineColumn,smRegexp:()=>smRegexp});var EOL2=/\r?\n|\r/,SourceMap=class e{lines;line;colOffset;srcLine;srcColumn;srcTable;source;sourceFileName;constructor(e,t){this.source=e,this.sourceFileName=t,this.lines=[[]],this.line=0,this.colOffset=0,this.srcLine=0,this.srcColumn=0,this.srcTable=locationTable(this.source)}renderMappings(){let e=0,t=0;return(()=>{let r=[];for(let i=this.lines,n=0,l=i.length;n<l;n++){let l=i[n];r.push((()=>{let r=[];for(let i=0,n=l.length;i<n;i++){let n=l[i];if(4===n.length){let[i,l,o,a]=n,p=o-e;i=a-t,e=o,t=a,r.push(`${encodeVlq(n[0])}${encodeVlq(l)}${encodeVlq(p)}${encodeVlq(i)}`)}else r.push(encodeVlq(n[0]))}return r})().join(","))}return r})().join(";")}json(e){return{version:3,file:e,sources:[this.sourceFileName],mappings:this.renderMappings(),names:[],sourcesContent:[this.source],toString:function(){return JSON.stringify(this)}}}comment(e){return`//# sourceMappingURL=data:application/json;base64,${base64Encode(JSON.stringify(this.json(e)))}`}updateSourceMap(e,t,r=0){let i,n,l=e.split(EOL2);null!=t&&([i,n]=lookupLineColumn(this.srcTable,t),n+=r,this.srcLine=i,this.srcColumn=n);for(let e=0,o=l.length;e<o;e++){let o=e,a=l[e];o>0&&(this.line++,this.srcLine++,this.colOffset=0,this.lines[this.line]=[],this.srcColumn=n=r);let p=this.colOffset;this.colOffset=a.length,this.srcColumn+=a.length,null!=t?this.lines[this.line].push([p,0,i+o,n]):0!=p&&this.lines[this.line].push([p])}}composeUpstream(t){("string"==typeof t||!("lines"in t))&&(t=e.parseWithLines(t)),this.lines=e.composeLines(t.lines,this.lines),t.sourcesContent&&(this.source=t.sourcesContent[0]),t.sources&&(this.sourceFileName=t.sources[0])}composeDownstream(t){("string"==typeof t||!("lines"in t))&&(t=e.parseWithLines(t)),this.lines=e.composeLines(this.lines,t.lines)}static remap=(e,t,r)=>{let i,n=e.replace(smRegexp,(e,t)=>(i=t,""));if(i){let e=this.parseWithLines(i);t.composeDownstream(e)}return`${n}\n${t.comment(r)}`};static composeLines=(e,t)=>t.map(t=>t.map(t=>{if(1===t.length)return t;let[r,i,n,l]=t,o=remapPosition([n,l],e);if(!o)return[t[0]];let[a,p]=o;return 4===t.length?[r,i,a,p]:[r,i,a,p,t[4]]}));static parseWithLines=e=>{"string"==typeof e&&(e=JSON.parse(Buffer.from(e,"base64").toString("utf8")));let t=0,r=0,i=e.mappings.split(";").map(e=>0===e.length?[]:e.split(",").map(e=>{let i=decodeVLQ(e);switch(i.length){case 1:break;case 4:case 5:t+=i[2],i[2]=t,r+=i[3],i[3]=r;break;default:throw new Error(`Unknown source map entry ${JSON.stringify(i)}`)}return i}));return{...e,lines:i}}},smRegexp=/(?:\r?\n|\r)\/\/# sourceMappingURL=data:application\/json;(?:charset=[^;]*;)?base64,([+a-zA-Z0-9\/]*=?=?)(?:\s*)$/,VLQ_SHIFT=5,VLQ_CONTINUATION_BIT=1<<VLQ_SHIFT,VLQ_VALUE_MASK=VLQ_CONTINUATION_BIT-1,encodeVlq=function(e){let t,r="";t=e<0?1:0;let i=t,n=(Math.abs(e)<<1)+i;for(;n||!r;){let e=n&VLQ_VALUE_MASK;n>>=VLQ_SHIFT,n&&(e|=VLQ_CONTINUATION_BIT),r+=BASE64_CHARS[e]}return r},BASE64_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",base64Encode=function(e){if(typeof Buffer<"u")return Buffer.from(e).toString("base64");{let t=(new TextEncoder).encode(e),r=String.fromCodePoint(...t);return btoa(r)}},vlqTable=new Uint8Array(128),vlqChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";{let e=0,t=vlqTable.length;for(;e<t;)vlqTable[e]=255,e++;for(e=0,t=vlqChars.length;e<t;)vlqTable[vlqChars.charCodeAt(e)]=e,e++}var decodeError=function(e){throw new Error(e)},decodeVLQ=e=>{let t=0,r=e.length,i=[];for(;t<r;){let n=0,l=0,o=0;for(;;){t>=r&&decodeError("Unexpected early end of mapping data");let i=e.charCodeAt(t);(127&i)!=i&&decodeError(`Invalid mapping character: ${JSON.stringify(String.fromCharCode(i))}`);let o=vlqTable[127&i];if(255===o&&decodeError(`Invalid mapping character: ${JSON.stringify(String.fromCharCode(i))}`),t++,l|=(31&o)<<n,n+=5,!(32&o))break}o=1&l?-(l>>1):l>>1,i.push(o)}return i},remapPosition=(e,t)=>{let[r,i]=e,n=t[r];if(!n?.length)return;let l,o=0,a=0,p=n.length,s=0;for(;o<p;){let e=n[o];if(a+=e[0],4===e.length&&a<=i&&(l=e,s=a),a>=i)break;o++}return l?[l[2],l[3]+i-s]:void 0};init_browser_shim();var StateCache=class{cache=new Map;get(e){return this.cache.get(e[0])?.get(e[1])?.get(e[2])?.get(e[3])}has(e){return!!this.cache.get(e[0])?.get(e[1])?.get(e[2])?.has(e[3])}set(e,t){let r,i,n,l=this.cache;l.has(e[0])?r=l.get(e[0]):(r=new Map,this.cache.set(e[0],r)),r?.has(e[1])?i=r.get(e[1]):(i=new Map,r.set(e[1],i)),i.has(e[2])?n=i.get(e[2]):(n=new Map,i.set(e[2],n)),n.set(e[3],t)}},ParseErrors=class extends Error{name="ParseErrors";errors;constructor(e){let t=e.map(e=>e.message).join("\n");super(e.map(e=>e.message).join("\n")),this.message=t,this.errors=e}},uncacheable=new Set(["DebugHere","Init","Program","Reset","PushIndent","PopIndent","TrackIndented","BulletIndent","PushExtraIndent1","PushJSXOpeningElement","PushJSXOpeningFragment","PopJSXStack","AllowAll","AllowClassImplicitCall","AllowBracedApplication","AllowIndentedApplication","AllowNestedBinaryOp","AllowNewlineBinaryOp","AllowTrailingMemberProperty","AllowImplicitFragment","AllowPipeline","ForbidClassImplicitCall","ForbidBracedApplication","ForbidIndentedApplication","ForbidNestedBinaryOp","ForbidNewlineBinaryOp","ForbidTrailingMemberProperty","ForbidImplicitFragment","ForbidPipeline","RestoreAll","RestoreClassImplicitCall","RestoreBracedApplication","RestoreIndentedApplication","RestoreTrailingMemberProperty","RestoreNestedBinaryOp","RestoreNewlineBinaryOp","RestoreImplicitFragment","RestorePipeline"]);function decode(e){if("string"==typeof e||typeof Buffer>"u")return e;if(239===e[0]&&187===e[1]&&191===e[2])return e.toString("utf8",3);if(255===e[0]&&254===e[1])return e.toString("utf16le",2);if(254===e[0]&&255===e[1]){for(let t=e.length-2,r=2;r<=t;r+=2){let t=r;[e[t],e[t+1]]=[e[t+1],e[t]]}return e.toString("utf16le",2)}return e.toString("utf8")}function compile(e,t){e=decode(e),(t=t?{...t}:{}).parseOptions={...t.parseOptions},e=e.replace(smRegexp,(e,r)=>(t.upstreamSourceMap??=r,""));let r=t.filename||"unknown";r.endsWith(".coffee")&&!/^(#![^\r\n]*(\r\n|\n|\r))?\s*['"]civet/.test(e)&&(t.parseOptions.coffeeCompat=!0);let i,n,{hits:l,trace:o,noCache:a}=t;a||(i=makeCache({hits:!!l,trace:!!o}));try{n=parseProgram(e,{parseOptions:t.parseOptions,sync:t.sync,filename:r,events:i})}finally{(l||o)&&import("node:fs").then(function({writeFileSync:e}){let t;if((t=i?.meta)&&"object"==typeof t&&"logs"in t){let{logs:r}=t;o&&e(o,r.join("\n"))}if(l){let t;if(t=i?.meta.hits){let r=0,i=[...t.entries()].sort(([,e],[,t])=>t-e).map(([e,t])=>(r+=t,`${e}: ${t}`)).join("\n");return e(l,`Total: ${r}\n\n${i}`)}return}})}let p=null==t.errors;function s(i){if("raw"!==t.ast&&(i=prune(i)),t.ast)return i;function n(){if(p&&t.errors?.length)throw new ParseErrors(t.errors)}if(t.sourceMap||t.inlineMap){let l=new SourceMap(e,r);t.sourceMap=l;let o=generate_default(i,t);if(n(),null!=t.upstreamSourceMap&&l.composeUpstream(t.upstreamSourceMap),t.inlineMap){let e=t.outputFilename??(t.js?r+".jsx":r+".tsx"),i=dirname(e);l.sourceFileName=relative(i,l.sourceFileName)||l.sourceFileName;let n=relative(i,e)||e;return`${o}\n${l.comment(n)}`}return{code:o,sourceMap:l}}let l=generate_default(i,t);return t.errors?.length&&(delete t.errors,t.sourceMap=new SourceMap(e,r),generate_default(i,t),n()),l}return null!=n.then?n.then(s):s(n)}var makeCache=function({hits:e,trace:t}={}){let r,i,n={};e&&(r=new Map,n.hits=r),t&&(i=[],n.logs=i);let l=new StateCache,o=[];return{meta:n,enter:function(n,a){if(e&&r.set(n,(r.get(n)||0)+1),uncacheable.has(n))return;let[p,s]=getStateKey(),u=[s,p,a.pos,n];if(l.has(u)){let e=l.get(u);return t&&i.push("".padStart(2*o.length," ")+n+":"+a.pos+"💰"+(e?"✅":"❌")),{cache:e?{...e}:void 0}}t&&(i.push("".padStart(2*o.length," ")+n+":"+a.pos+"{"),o.push(n))},exit:function(e,r,n){if(uncacheable.has(e))return void(t&&i.push("".padStart(2*o.length," ")+e+":"+r.pos+"⚠️ "+(n?"✅":"❌")));let[a,p]=getStateKey(),s=[p,a,r.pos,e];null!=n&&(n={...n}),l.set(s,n),getConfig().verbose&&n&&console.log(`Parsed ${JSON.stringify(r.input.slice(r.pos,n.pos))} [pos ${r.pos}-${n.pos}] as ${e}`),t&&(o.pop(),i.push("".padStart(2*o.length," ")+e+":"+r.pos+"} "+(n?"✅":"❌")))}}},isCompileError=function(e){return e instanceof import_lib2.ParseError||e instanceof ParseErrors};async function runScripts(e="text/civet"){let t=window.document.querySelectorAll(`script[type=${JSON.stringify(e)}]`);await Promise.all((()=>{let e=[];for(let r=0,i=t.length;r<i;r++){let i=r,n=t[r];e.push(runScript(n,`<script>${i}`))}return e})())}async function runScript(e,t="<script>"){let r,i,n={inlineMap:!0,js:!0};if(i=e.src||e.getAttribute("data-src")){let e=i;n.filename=e,r=await(await fetch(e)).text()}else n.filename=e.id||t,r=e.innerHTML;let l=await compile(r,n);return window.eval(l)}function autoRunScripts(e,t={}){let r=new MutationObserver(async e=>{for(let t=0,r=e.length;t<r;t++){let r=e[t];if("childList"===r.type)for(let e=r.addedNodes,t=0,i=e.length;t<i;t++){let r=e[t];1===r.nodeType&&"SCRIPT"===r.tagName&&"text/civet"===r.type&&await runScript(r)}}});t={...t,childList:!0};for(let i=0,n=e.length;i<n;i++){let n=e[i];r.observe(n,t)}return r}if(!(typeof window>"u")){let{currentScript:e}=document;window?.addEventListener?.("DOMContentLoaded",()=>{if(!e?.hasAttribute("data-no-scripts")&&(e?.hasAttribute("data-no-start-scripts")||runScripts(),!e?.hasAttribute("data-no-auto-scripts")))return autoRunScripts([document.head,document.body])})}return __toCommonJS(browser_exports)})();
|