exports.ids=[0],exports.modules={209:function(e,t,r){var n=r(109),i=["parseSourceAndMetadata","purgeCachedMetadata"];e.exports=function(){var e=new Worker(URL.createObjectURL(new Blob(['!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=374)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={react:!0,assertNode:!0,createTypeAnnotationBasedOnTypeof:!0,createUnionTypeAnnotation:!0,createFlowUnionType:!0,createTSUnionType:!0,cloneNode:!0,clone:!0,cloneDeep:!0,cloneDeepWithoutLoc:!0,cloneWithoutLoc:!0,addComment:!0,addComments:!0,inheritInnerComments:!0,inheritLeadingComments:!0,inheritsComments:!0,inheritTrailingComments:!0,removeComments:!0,ensureBlock:!0,toBindingIdentifierName:!0,toBlock:!0,toComputedKey:!0,toExpression:!0,toIdentifier:!0,toKeyAlias:!0,toSequenceExpression:!0,toStatement:!0,valueToNode:!0,appendToMemberExpression:!0,inherits:!0,prependToMemberExpression:!0,removeProperties:!0,removePropertiesDeep:!0,removeTypeDuplicates:!0,getBindingIdentifiers:!0,getOuterBindingIdentifiers:!0,traverse:!0,traverseFast:!0,shallowEqual:!0,is:!0,isBinding:!0,isBlockScoped:!0,isImmutable:!0,isLet:!0,isNode:!0,isNodesEquivalent:!0,isPlaceholderType:!0,isReferenced:!0,isScope:!0,isSpecifierDefault:!0,isType:!0,isValidES3Identifier:!0,isValidIdentifier:!0,isVar:!0,matchesPattern:!0,validate:!0,buildMatchMemberExpression:!0};Object.defineProperty(t,"assertNode",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"createTypeAnnotationBasedOnTypeof",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"createUnionTypeAnnotation",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"createFlowUnionType",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"createTSUnionType",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"cloneNode",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"clone",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"cloneDeep",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(t,"cloneDeepWithoutLoc",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(t,"cloneWithoutLoc",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(t,"addComment",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"addComments",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(t,"inheritInnerComments",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(t,"inheritLeadingComments",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(t,"inheritsComments",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"inheritTrailingComments",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,"removeComments",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(t,"ensureBlock",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(t,"toBindingIdentifierName",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(t,"toBlock",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(t,"toComputedKey",{enumerable:!0,get:function(){return N.default}}),Object.defineProperty(t,"toExpression",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(t,"toIdentifier",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(t,"toKeyAlias",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,"toSequenceExpression",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(t,"toStatement",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(t,"valueToNode",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(t,"appendToMemberExpression",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(t,"inherits",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(t,"prependToMemberExpression",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(t,"removeProperties",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(t,"removePropertiesDeep",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(t,"removeTypeDuplicates",{enumerable:!0,get:function(){return q.default}}),Object.defineProperty(t,"getBindingIdentifiers",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(t,"getOuterBindingIdentifiers",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(t,"traverse",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(t,"traverseFast",{enumerable:!0,get:function(){return J.default}}),Object.defineProperty(t,"shallowEqual",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(t,"is",{enumerable:!0,get:function(){return G.default}}),Object.defineProperty(t,"isBinding",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(t,"isBlockScoped",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(t,"isImmutable",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(t,"isLet",{enumerable:!0,get:function(){return Z.default}}),Object.defineProperty(t,"isNode",{enumerable:!0,get:function(){return ee.default}}),Object.defineProperty(t,"isNodesEquivalent",{enumerable:!0,get:function(){return te.default}}),Object.defineProperty(t,"isPlaceholderType",{enumerable:!0,get:function(){return re.default}}),Object.defineProperty(t,"isReferenced",{enumerable:!0,get:function(){return ne.default}}),Object.defineProperty(t,"isScope",{enumerable:!0,get:function(){return ie.default}}),Object.defineProperty(t,"isSpecifierDefault",{enumerable:!0,get:function(){return se.default}}),Object.defineProperty(t,"isType",{enumerable:!0,get:function(){return ae.default}}),Object.defineProperty(t,"isValidES3Identifier",{enumerable:!0,get:function(){return oe.default}}),Object.defineProperty(t,"isValidIdentifier",{enumerable:!0,get:function(){return le.default}}),Object.defineProperty(t,"isVar",{enumerable:!0,get:function(){return ce.default}}),Object.defineProperty(t,"matchesPattern",{enumerable:!0,get:function(){return pe.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return ue.default}}),Object.defineProperty(t,"buildMatchMemberExpression",{enumerable:!0,get:function(){return de.default}}),t.react=void 0;var i=fe(r(133)),s=fe(r(134)),a=fe(r(135)),o=fe(r(216)),l=r(217);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var c=fe(r(218)),p=fe(r(219)),u=fe(r(220)),d=r(4);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}));var h=fe(r(14)),f=fe(r(222)),m=fe(r(223)),y=fe(r(224)),T=fe(r(225)),b=fe(r(226)),g=fe(r(86)),S=fe(r(87)),x=fe(r(88)),E=fe(r(89)),P=fe(r(90)),v=fe(r(227)),A=r(228);Object.keys(A).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===A[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return A[e]}}))}));var w=r(13);Object.keys(w).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===w[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return w[e]}}))}));var O=fe(r(229)),I=fe(r(230)),C=fe(r(91)),N=fe(r(231)),k=fe(r(232)),D=fe(r(92)),_=fe(r(233)),L=fe(r(234)),M=fe(r(236)),j=fe(r(237)),F=r(5);Object.keys(F).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===F[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return F[e]}}))}));var R=fe(r(241)),B=fe(r(242)),U=fe(r(243)),V=fe(r(95)),K=fe(r(93)),q=fe(r(85)),Y=fe(r(35)),W=fe(r(244)),X=fe(r(245)),J=fe(r(94)),H=fe(r(39)),G=fe(r(34)),z=fe(r(246)),$=fe(r(247)),Q=fe(r(248)),Z=fe(r(96)),ee=fe(r(84)),te=fe(r(249)),re=fe(r(82)),ne=fe(r(250)),ie=fe(r(251)),se=fe(r(252)),ae=fe(r(51)),oe=fe(r(253)),le=fe(r(23)),ce=fe(r(254)),pe=fe(r(65)),ue=fe(r(52)),de=fe(r(64)),he=r(2);function fe(e){return e&&e.__esModule?e:{default:e}}Object.keys(he).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===he[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return he[e]}}))}));const me={isReactComponent:i.default,isCompatTag:s.default,buildChildren:a.default};t.react=me},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isArrayExpression=function(e,t){if(!e)return!1;if("ArrayExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isAssignmentExpression=function(e,t){if(!e)return!1;if("AssignmentExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBinaryExpression=function(e,t){if(!e)return!1;if("BinaryExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInterpreterDirective=function(e,t){if(!e)return!1;if("InterpreterDirective"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDirective=function(e,t){if(!e)return!1;if("Directive"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDirectiveLiteral=function(e,t){if(!e)return!1;if("DirectiveLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBlockStatement=function(e,t){if(!e)return!1;if("BlockStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBreakStatement=function(e,t){if(!e)return!1;if("BreakStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isCallExpression=function(e,t){if(!e)return!1;if("CallExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isCatchClause=function(e,t){if(!e)return!1;if("CatchClause"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isConditionalExpression=function(e,t){if(!e)return!1;if("ConditionalExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isContinueStatement=function(e,t){if(!e)return!1;if("ContinueStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDebuggerStatement=function(e,t){if(!e)return!1;if("DebuggerStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDoWhileStatement=function(e,t){if(!e)return!1;if("DoWhileStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEmptyStatement=function(e,t){if(!e)return!1;if("EmptyStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExpressionStatement=function(e,t){if(!e)return!1;if("ExpressionStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFile=function(e,t){if(!e)return!1;if("File"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isForInStatement=function(e,t){if(!e)return!1;if("ForInStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isForStatement=function(e,t){if(!e)return!1;if("ForStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionDeclaration=function(e,t){if(!e)return!1;if("FunctionDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionExpression=function(e,t){if(!e)return!1;if("FunctionExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isIdentifier=function(e,t){if(!e)return!1;if("Identifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isIfStatement=function(e,t){if(!e)return!1;if("IfStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isLabeledStatement=function(e,t){if(!e)return!1;if("LabeledStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isStringLiteral=function(e,t){if(!e)return!1;if("StringLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNumericLiteral=function(e,t){if(!e)return!1;if("NumericLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNullLiteral=function(e,t){if(!e)return!1;if("NullLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBooleanLiteral=function(e,t){if(!e)return!1;if("BooleanLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRegExpLiteral=function(e,t){if(!e)return!1;if("RegExpLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isLogicalExpression=function(e,t){if(!e)return!1;if("LogicalExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isMemberExpression=function(e,t){if(!e)return!1;if("MemberExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNewExpression=function(e,t){if(!e)return!1;if("NewExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isProgram=function(e,t){if(!e)return!1;if("Program"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectExpression=function(e,t){if(!e)return!1;if("ObjectExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectMethod=function(e,t){if(!e)return!1;if("ObjectMethod"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectProperty=function(e,t){if(!e)return!1;if("ObjectProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRestElement=function(e,t){if(!e)return!1;if("RestElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isReturnStatement=function(e,t){if(!e)return!1;if("ReturnStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSequenceExpression=function(e,t){if(!e)return!1;if("SequenceExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isParenthesizedExpression=function(e,t){if(!e)return!1;if("ParenthesizedExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSwitchCase=function(e,t){if(!e)return!1;if("SwitchCase"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSwitchStatement=function(e,t){if(!e)return!1;if("SwitchStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isThisExpression=function(e,t){if(!e)return!1;if("ThisExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isThrowStatement=function(e,t){if(!e)return!1;if("ThrowStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTryStatement=function(e,t){if(!e)return!1;if("TryStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isUnaryExpression=function(e,t){if(!e)return!1;if("UnaryExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isUpdateExpression=function(e,t){if(!e)return!1;if("UpdateExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isVariableDeclaration=function(e,t){if(!e)return!1;if("VariableDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isVariableDeclarator=function(e,t){if(!e)return!1;if("VariableDeclarator"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isWhileStatement=function(e,t){if(!e)return!1;if("WhileStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isWithStatement=function(e,t){if(!e)return!1;if("WithStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isAssignmentPattern=function(e,t){if(!e)return!1;if("AssignmentPattern"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isArrayPattern=function(e,t){if(!e)return!1;if("ArrayPattern"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isArrowFunctionExpression=function(e,t){if(!e)return!1;if("ArrowFunctionExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassBody=function(e,t){if(!e)return!1;if("ClassBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassExpression=function(e,t){if(!e)return!1;if("ClassExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassDeclaration=function(e,t){if(!e)return!1;if("ClassDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportAllDeclaration=function(e,t){if(!e)return!1;if("ExportAllDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportDefaultDeclaration=function(e,t){if(!e)return!1;if("ExportDefaultDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportNamedDeclaration=function(e,t){if(!e)return!1;if("ExportNamedDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportSpecifier=function(e,t){if(!e)return!1;if("ExportSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isForOfStatement=function(e,t){if(!e)return!1;if("ForOfStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportDeclaration=function(e,t){if(!e)return!1;if("ImportDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportDefaultSpecifier=function(e,t){if(!e)return!1;if("ImportDefaultSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ImportNamespaceSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportSpecifier=function(e,t){if(!e)return!1;if("ImportSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isMetaProperty=function(e,t){if(!e)return!1;if("MetaProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassMethod=function(e,t){if(!e)return!1;if("ClassMethod"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectPattern=function(e,t){if(!e)return!1;if("ObjectPattern"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSpreadElement=function(e,t){if(!e)return!1;if("SpreadElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSuper=function(e,t){if(!e)return!1;if("Super"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTaggedTemplateExpression=function(e,t){if(!e)return!1;if("TaggedTemplateExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTemplateElement=function(e,t){if(!e)return!1;if("TemplateElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTemplateLiteral=function(e,t){if(!e)return!1;if("TemplateLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isYieldExpression=function(e,t){if(!e)return!1;if("YieldExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isAwaitExpression=function(e,t){if(!e)return!1;if("AwaitExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImport=function(e,t){if(!e)return!1;if("Import"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBigIntLiteral=function(e,t){if(!e)return!1;if("BigIntLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ExportNamespaceSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isOptionalMemberExpression=function(e,t){if(!e)return!1;if("OptionalMemberExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isOptionalCallExpression=function(e,t){if(!e)return!1;if("OptionalCallExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isAnyTypeAnnotation=function(e,t){if(!e)return!1;if("AnyTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isArrayTypeAnnotation=function(e,t){if(!e)return!1;if("ArrayTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBooleanTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBooleanLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanLiteralTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNullLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NullLiteralTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassImplements=function(e,t){if(!e)return!1;if("ClassImplements"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareClass=function(e,t){if(!e)return!1;if("DeclareClass"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareFunction=function(e,t){if(!e)return!1;if("DeclareFunction"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareInterface=function(e,t){if(!e)return!1;if("DeclareInterface"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareModule=function(e,t){if(!e)return!1;if("DeclareModule"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareModuleExports=function(e,t){if(!e)return!1;if("DeclareModuleExports"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareTypeAlias=function(e,t){if(!e)return!1;if("DeclareTypeAlias"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareOpaqueType=function(e,t){if(!e)return!1;if("DeclareOpaqueType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareVariable=function(e,t){if(!e)return!1;if("DeclareVariable"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareExportDeclaration=function(e,t){if(!e)return!1;if("DeclareExportDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareExportAllDeclaration=function(e,t){if(!e)return!1;if("DeclareExportAllDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclaredPredicate=function(e,t){if(!e)return!1;if("DeclaredPredicate"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExistsTypeAnnotation=function(e,t){if(!e)return!1;if("ExistsTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionTypeAnnotation=function(e,t){if(!e)return!1;if("FunctionTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionTypeParam=function(e,t){if(!e)return!1;if("FunctionTypeParam"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isGenericTypeAnnotation=function(e,t){if(!e)return!1;if("GenericTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInferredPredicate=function(e,t){if(!e)return!1;if("InferredPredicate"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInterfaceExtends=function(e,t){if(!e)return!1;if("InterfaceExtends"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInterfaceDeclaration=function(e,t){if(!e)return!1;if("InterfaceDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInterfaceTypeAnnotation=function(e,t){if(!e)return!1;if("InterfaceTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isIntersectionTypeAnnotation=function(e,t){if(!e)return!1;if("IntersectionTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isMixedTypeAnnotation=function(e,t){if(!e)return!1;if("MixedTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEmptyTypeAnnotation=function(e,t){if(!e)return!1;if("EmptyTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNullableTypeAnnotation=function(e,t){if(!e)return!1;if("NullableTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNumberLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NumberLiteralTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNumberTypeAnnotation=function(e,t){if(!e)return!1;if("NumberTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeAnnotation=function(e,t){if(!e)return!1;if("ObjectTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeInternalSlot=function(e,t){if(!e)return!1;if("ObjectTypeInternalSlot"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeCallProperty=function(e,t){if(!e)return!1;if("ObjectTypeCallProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeIndexer=function(e,t){if(!e)return!1;if("ObjectTypeIndexer"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeProperty=function(e,t){if(!e)return!1;if("ObjectTypeProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeSpreadProperty=function(e,t){if(!e)return!1;if("ObjectTypeSpreadProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isOpaqueType=function(e,t){if(!e)return!1;if("OpaqueType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isQualifiedTypeIdentifier=function(e,t){if(!e)return!1;if("QualifiedTypeIdentifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isStringLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("StringLiteralTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isStringTypeAnnotation=function(e,t){if(!e)return!1;if("StringTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSymbolTypeAnnotation=function(e,t){if(!e)return!1;if("SymbolTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isThisTypeAnnotation=function(e,t){if(!e)return!1;if("ThisTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTupleTypeAnnotation=function(e,t){if(!e)return!1;if("TupleTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeofTypeAnnotation=function(e,t){if(!e)return!1;if("TypeofTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeAlias=function(e,t){if(!e)return!1;if("TypeAlias"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeAnnotation=function(e,t){if(!e)return!1;if("TypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeCastExpression=function(e,t){if(!e)return!1;if("TypeCastExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeParameter=function(e,t){if(!e)return!1;if("TypeParameter"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TypeParameterDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TypeParameterInstantiation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isUnionTypeAnnotation=function(e,t){if(!e)return!1;if("UnionTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isVariance=function(e,t){if(!e)return!1;if("Variance"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isVoidTypeAnnotation=function(e,t){if(!e)return!1;if("VoidTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumDeclaration=function(e,t){if(!e)return!1;if("EnumDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumBooleanBody=function(e,t){if(!e)return!1;if("EnumBooleanBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumNumberBody=function(e,t){if(!e)return!1;if("EnumNumberBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumStringBody=function(e,t){if(!e)return!1;if("EnumStringBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumSymbolBody=function(e,t){if(!e)return!1;if("EnumSymbolBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumBooleanMember=function(e,t){if(!e)return!1;if("EnumBooleanMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumNumberMember=function(e,t){if(!e)return!1;if("EnumNumberMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumStringMember=function(e,t){if(!e)return!1;if("EnumStringMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumDefaultedMember=function(e,t){if(!e)return!1;if("EnumDefaultedMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isIndexedAccessType=function(e,t){if(!e)return!1;if("IndexedAccessType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isOptionalIndexedAccessType=function(e,t){if(!e)return!1;if("OptionalIndexedAccessType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXAttribute=function(e,t){if(!e)return!1;if("JSXAttribute"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXClosingElement=function(e,t){if(!e)return!1;if("JSXClosingElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXElement=function(e,t){if(!e)return!1;if("JSXElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXEmptyExpression=function(e,t){if(!e)return!1;if("JSXEmptyExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXExpressionContainer=function(e,t){if(!e)return!1;if("JSXExpressionContainer"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXSpreadChild=function(e,t){if(!e)return!1;if("JSXSpreadChild"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXIdentifier=function(e,t){if(!e)return!1;if("JSXIdentifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXMemberExpression=function(e,t){if(!e)return!1;if("JSXMemberExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXNamespacedName=function(e,t){if(!e)return!1;if("JSXNamespacedName"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXOpeningElement=function(e,t){if(!e)return!1;if("JSXOpeningElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXSpreadAttribute=function(e,t){if(!e)return!1;if("JSXSpreadAttribute"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXText=function(e,t){if(!e)return!1;if("JSXText"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXFragment=function(e,t){if(!e)return!1;if("JSXFragment"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXOpeningFragment=function(e,t){if(!e)return!1;if("JSXOpeningFragment"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXClosingFragment=function(e,t){if(!e)return!1;if("JSXClosingFragment"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNoop=function(e,t){if(!e)return!1;if("Noop"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPlaceholder=function(e,t){if(!e)return!1;if("Placeholder"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isV8IntrinsicIdentifier=function(e,t){if(!e)return!1;if("V8IntrinsicIdentifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isArgumentPlaceholder=function(e,t){if(!e)return!1;if("ArgumentPlaceholder"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBindExpression=function(e,t){if(!e)return!1;if("BindExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassProperty=function(e,t){if(!e)return!1;if("ClassProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPipelineTopicExpression=function(e,t){if(!e)return!1;if("PipelineTopicExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPipelineBareFunction=function(e,t){if(!e)return!1;if("PipelineBareFunction"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPipelinePrimaryTopicReference=function(e,t){if(!e)return!1;if("PipelinePrimaryTopicReference"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassPrivateProperty=function(e,t){if(!e)return!1;if("ClassPrivateProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassPrivateMethod=function(e,t){if(!e)return!1;if("ClassPrivateMethod"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportAttribute=function(e,t){if(!e)return!1;if("ImportAttribute"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDecorator=function(e,t){if(!e)return!1;if("Decorator"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDoExpression=function(e,t){if(!e)return!1;if("DoExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportDefaultSpecifier=function(e,t){if(!e)return!1;if("ExportDefaultSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPrivateName=function(e,t){if(!e)return!1;if("PrivateName"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRecordExpression=function(e,t){if(!e)return!1;if("RecordExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTupleExpression=function(e,t){if(!e)return!1;if("TupleExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDecimalLiteral=function(e,t){if(!e)return!1;if("DecimalLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isStaticBlock=function(e,t){if(!e)return!1;if("StaticBlock"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isModuleExpression=function(e,t){if(!e)return!1;if("ModuleExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSParameterProperty=function(e,t){if(!e)return!1;if("TSParameterProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSDeclareFunction=function(e,t){if(!e)return!1;if("TSDeclareFunction"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSDeclareMethod=function(e,t){if(!e)return!1;if("TSDeclareMethod"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSQualifiedName=function(e,t){if(!e)return!1;if("TSQualifiedName"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSCallSignatureDeclaration=function(e,t){if(!e)return!1;if("TSCallSignatureDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSConstructSignatureDeclaration=function(e,t){if(!e)return!1;if("TSConstructSignatureDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSPropertySignature=function(e,t){if(!e)return!1;if("TSPropertySignature"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSMethodSignature=function(e,t){if(!e)return!1;if("TSMethodSignature"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSIndexSignature=function(e,t){if(!e)return!1;if("TSIndexSignature"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSAnyKeyword=function(e,t){if(!e)return!1;if("TSAnyKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSBooleanKeyword=function(e,t){if(!e)return!1;if("TSBooleanKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSBigIntKeyword=function(e,t){if(!e)return!1;if("TSBigIntKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSIntrinsicKeyword=function(e,t){if(!e)return!1;if("TSIntrinsicKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNeverKeyword=function(e,t){if(!e)return!1;if("TSNeverKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNullKeyword=function(e,t){if(!e)return!1;if("TSNullKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNumberKeyword=function(e,t){if(!e)return!1;if("TSNumberKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSObjectKeyword=function(e,t){if(!e)return!1;if("TSObjectKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSStringKeyword=function(e,t){if(!e)return!1;if("TSStringKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSSymbolKeyword=function(e,t){if(!e)return!1;if("TSSymbolKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSUndefinedKeyword=function(e,t){if(!e)return!1;if("TSUndefinedKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSUnknownKeyword=function(e,t){if(!e)return!1;if("TSUnknownKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSVoidKeyword=function(e,t){if(!e)return!1;if("TSVoidKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSThisType=function(e,t){if(!e)return!1;if("TSThisType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSFunctionType=function(e,t){if(!e)return!1;if("TSFunctionType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSConstructorType=function(e,t){if(!e)return!1;if("TSConstructorType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeReference=function(e,t){if(!e)return!1;if("TSTypeReference"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypePredicate=function(e,t){if(!e)return!1;if("TSTypePredicate"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeQuery=function(e,t){if(!e)return!1;if("TSTypeQuery"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeLiteral=function(e,t){if(!e)return!1;if("TSTypeLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSArrayType=function(e,t){if(!e)return!1;if("TSArrayType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTupleType=function(e,t){if(!e)return!1;if("TSTupleType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSOptionalType=function(e,t){if(!e)return!1;if("TSOptionalType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSRestType=function(e,t){if(!e)return!1;if("TSRestType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNamedTupleMember=function(e,t){if(!e)return!1;if("TSNamedTupleMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSUnionType=function(e,t){if(!e)return!1;if("TSUnionType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSIntersectionType=function(e,t){if(!e)return!1;if("TSIntersectionType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSConditionalType=function(e,t){if(!e)return!1;if("TSConditionalType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSInferType=function(e,t){if(!e)return!1;if("TSInferType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSParenthesizedType=function(e,t){if(!e)return!1;if("TSParenthesizedType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeOperator=function(e,t){if(!e)return!1;if("TSTypeOperator"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSIndexedAccessType=function(e,t){if(!e)return!1;if("TSIndexedAccessType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSMappedType=function(e,t){if(!e)return!1;if("TSMappedType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSLiteralType=function(e,t){if(!e)return!1;if("TSLiteralType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSExpressionWithTypeArguments=function(e,t){if(!e)return!1;if("TSExpressionWithTypeArguments"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSInterfaceDeclaration=function(e,t){if(!e)return!1;if("TSInterfaceDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSInterfaceBody=function(e,t){if(!e)return!1;if("TSInterfaceBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeAliasDeclaration=function(e,t){if(!e)return!1;if("TSTypeAliasDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSAsExpression=function(e,t){if(!e)return!1;if("TSAsExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeAssertion=function(e,t){if(!e)return!1;if("TSTypeAssertion"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSEnumDeclaration=function(e,t){if(!e)return!1;if("TSEnumDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSEnumMember=function(e,t){if(!e)return!1;if("TSEnumMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSModuleDeclaration=function(e,t){if(!e)return!1;if("TSModuleDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSModuleBlock=function(e,t){if(!e)return!1;if("TSModuleBlock"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSImportType=function(e,t){if(!e)return!1;if("TSImportType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSImportEqualsDeclaration=function(e,t){if(!e)return!1;if("TSImportEqualsDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSExternalModuleReference=function(e,t){if(!e)return!1;if("TSExternalModuleReference"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNonNullExpression=function(e,t){if(!e)return!1;if("TSNonNullExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSExportAssignment=function(e,t){if(!e)return!1;if("TSExportAssignment"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNamespaceExportDeclaration=function(e,t){if(!e)return!1;if("TSNamespaceExportDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeAnnotation=function(e,t){if(!e)return!1;if("TSTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TSTypeParameterInstantiation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TSTypeParameterDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeParameter=function(e,t){if(!e)return!1;if("TSTypeParameter"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExpression=function(e,t){if(!e)return!1;const r=e.type;if("ArrayExpression"===r||"AssignmentExpression"===r||"BinaryExpression"===r||"CallExpression"===r||"ConditionalExpression"===r||"FunctionExpression"===r||"Identifier"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"LogicalExpression"===r||"MemberExpression"===r||"NewExpression"===r||"ObjectExpression"===r||"SequenceExpression"===r||"ParenthesizedExpression"===r||"ThisExpression"===r||"UnaryExpression"===r||"UpdateExpression"===r||"ArrowFunctionExpression"===r||"ClassExpression"===r||"MetaProperty"===r||"Super"===r||"TaggedTemplateExpression"===r||"TemplateLiteral"===r||"YieldExpression"===r||"AwaitExpression"===r||"Import"===r||"BigIntLiteral"===r||"OptionalMemberExpression"===r||"OptionalCallExpression"===r||"TypeCastExpression"===r||"JSXElement"===r||"JSXFragment"===r||"BindExpression"===r||"PipelinePrimaryTopicReference"===r||"DoExpression"===r||"RecordExpression"===r||"TupleExpression"===r||"DecimalLiteral"===r||"ModuleExpression"===r||"TSAsExpression"===r||"TSTypeAssertion"===r||"TSNonNullExpression"===r||"Placeholder"===r&&("Expression"===e.expectedNode||"Identifier"===e.expectedNode||"StringLiteral"===e.expectedNode))return void 0===t||(0,n.default)(e,t);return!1},t.isBinary=function(e,t){if(!e)return!1;const r=e.type;if("BinaryExpression"===r||"LogicalExpression"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isScopable=function(e,t){if(!e)return!1;const r=e.type;if("BlockStatement"===r||"CatchClause"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"Program"===r||"ObjectMethod"===r||"SwitchStatement"===r||"WhileStatement"===r||"ArrowFunctionExpression"===r||"ClassExpression"===r||"ClassDeclaration"===r||"ForOfStatement"===r||"ClassMethod"===r||"ClassPrivateMethod"===r||"StaticBlock"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isBlockParent=function(e,t){if(!e)return!1;const r=e.type;if("BlockStatement"===r||"CatchClause"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"Program"===r||"ObjectMethod"===r||"SwitchStatement"===r||"WhileStatement"===r||"ArrowFunctionExpression"===r||"ForOfStatement"===r||"ClassMethod"===r||"ClassPrivateMethod"===r||"StaticBlock"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isBlock=function(e,t){if(!e)return!1;const r=e.type;if("BlockStatement"===r||"Program"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isStatement=function(e,t){if(!e)return!1;const r=e.type;if("BlockStatement"===r||"BreakStatement"===r||"ContinueStatement"===r||"DebuggerStatement"===r||"DoWhileStatement"===r||"EmptyStatement"===r||"ExpressionStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"IfStatement"===r||"LabeledStatement"===r||"ReturnStatement"===r||"SwitchStatement"===r||"ThrowStatement"===r||"TryStatement"===r||"VariableDeclaration"===r||"WhileStatement"===r||"WithStatement"===r||"ClassDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ForOfStatement"===r||"ImportDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r||"EnumDeclaration"===r||"TSDeclareFunction"===r||"TSInterfaceDeclaration"===r||"TSTypeAliasDeclaration"===r||"TSEnumDeclaration"===r||"TSModuleDeclaration"===r||"TSImportEqualsDeclaration"===r||"TSExportAssignment"===r||"TSNamespaceExportDeclaration"===r||"Placeholder"===r&&("Statement"===e.expectedNode||"Declaration"===e.expectedNode||"BlockStatement"===e.expectedNode))return void 0===t||(0,n.default)(e,t);return!1},t.isTerminatorless=function(e,t){if(!e)return!1;const r=e.type;if("BreakStatement"===r||"ContinueStatement"===r||"ReturnStatement"===r||"ThrowStatement"===r||"YieldExpression"===r||"AwaitExpression"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isCompletionStatement=function(e,t){if(!e)return!1;const r=e.type;if("BreakStatement"===r||"ContinueStatement"===r||"ReturnStatement"===r||"ThrowStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isConditional=function(e,t){if(!e)return!1;const r=e.type;if("ConditionalExpression"===r||"IfStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isLoop=function(e,t){if(!e)return!1;const r=e.type;if("DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"WhileStatement"===r||"ForOfStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isWhile=function(e,t){if(!e)return!1;const r=e.type;if("DoWhileStatement"===r||"WhileStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isExpressionWrapper=function(e,t){if(!e)return!1;const r=e.type;if("ExpressionStatement"===r||"ParenthesizedExpression"===r||"TypeCastExpression"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFor=function(e,t){if(!e)return!1;const r=e.type;if("ForInStatement"===r||"ForStatement"===r||"ForOfStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isForXStatement=function(e,t){if(!e)return!1;const r=e.type;if("ForInStatement"===r||"ForOfStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFunction=function(e,t){if(!e)return!1;const r=e.type;if("FunctionDeclaration"===r||"FunctionExpression"===r||"ObjectMethod"===r||"ArrowFunctionExpression"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionParent=function(e,t){if(!e)return!1;const r=e.type;if("FunctionDeclaration"===r||"FunctionExpression"===r||"ObjectMethod"===r||"ArrowFunctionExpression"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isPureish=function(e,t){if(!e)return!1;const r=e.type;if("FunctionDeclaration"===r||"FunctionExpression"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"ArrowFunctionExpression"===r||"BigIntLiteral"===r||"DecimalLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("FunctionDeclaration"===r||"VariableDeclaration"===r||"ClassDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ImportDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r||"EnumDeclaration"===r||"TSDeclareFunction"===r||"TSInterfaceDeclaration"===r||"TSTypeAliasDeclaration"===r||"TSEnumDeclaration"===r||"TSModuleDeclaration"===r||"Placeholder"===r&&"Declaration"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isPatternLike=function(e,t){if(!e)return!1;const r=e.type;if("Identifier"===r||"RestElement"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"Placeholder"===r&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,n.default)(e,t);return!1},t.isLVal=function(e,t){if(!e)return!1;const r=e.type;if("Identifier"===r||"MemberExpression"===r||"RestElement"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"TSParameterProperty"===r||"Placeholder"===r&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,n.default)(e,t);return!1},t.isTSEntityName=function(e,t){if(!e)return!1;const r=e.type;if("Identifier"===r||"TSQualifiedName"===r||"Placeholder"===r&&"Identifier"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isLiteral=function(e,t){if(!e)return!1;const r=e.type;if("StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"TemplateLiteral"===r||"BigIntLiteral"===r||"DecimalLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isImmutable=function(e,t){if(!e)return!1;const r=e.type;if("StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"BigIntLiteral"===r||"JSXAttribute"===r||"JSXClosingElement"===r||"JSXElement"===r||"JSXExpressionContainer"===r||"JSXSpreadChild"===r||"JSXOpeningElement"===r||"JSXText"===r||"JSXFragment"===r||"JSXOpeningFragment"===r||"JSXClosingFragment"===r||"DecimalLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isUserWhitespacable=function(e,t){if(!e)return!1;const r=e.type;if("ObjectMethod"===r||"ObjectProperty"===r||"ObjectTypeInternalSlot"===r||"ObjectTypeCallProperty"===r||"ObjectTypeIndexer"===r||"ObjectTypeProperty"===r||"ObjectTypeSpreadProperty"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isMethod=function(e,t){if(!e)return!1;const r=e.type;if("ObjectMethod"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectMember=function(e,t){if(!e)return!1;const r=e.type;if("ObjectMethod"===r||"ObjectProperty"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isProperty=function(e,t){if(!e)return!1;const r=e.type;if("ObjectProperty"===r||"ClassProperty"===r||"ClassPrivateProperty"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isUnaryLike=function(e,t){if(!e)return!1;const r=e.type;if("UnaryExpression"===r||"SpreadElement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isPattern=function(e,t){if(!e)return!1;const r=e.type;if("AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"Placeholder"===r&&"Pattern"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isClass=function(e,t){if(!e)return!1;const r=e.type;if("ClassExpression"===r||"ClassDeclaration"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isModuleDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ImportDeclaration"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isExportDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isModuleSpecifier=function(e,t){if(!e)return!1;const r=e.type;if("ExportSpecifier"===r||"ImportDefaultSpecifier"===r||"ImportNamespaceSpecifier"===r||"ImportSpecifier"===r||"ExportNamespaceSpecifier"===r||"ExportDefaultSpecifier"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlow=function(e,t){if(!e)return!1;const r=e.type;if("AnyTypeAnnotation"===r||"ArrayTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"BooleanLiteralTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"ClassImplements"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"DeclaredPredicate"===r||"ExistsTypeAnnotation"===r||"FunctionTypeAnnotation"===r||"FunctionTypeParam"===r||"GenericTypeAnnotation"===r||"InferredPredicate"===r||"InterfaceExtends"===r||"InterfaceDeclaration"===r||"InterfaceTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NullableTypeAnnotation"===r||"NumberLiteralTypeAnnotation"===r||"NumberTypeAnnotation"===r||"ObjectTypeAnnotation"===r||"ObjectTypeInternalSlot"===r||"ObjectTypeCallProperty"===r||"ObjectTypeIndexer"===r||"ObjectTypeProperty"===r||"ObjectTypeSpreadProperty"===r||"OpaqueType"===r||"QualifiedTypeIdentifier"===r||"StringLiteralTypeAnnotation"===r||"StringTypeAnnotation"===r||"SymbolTypeAnnotation"===r||"ThisTypeAnnotation"===r||"TupleTypeAnnotation"===r||"TypeofTypeAnnotation"===r||"TypeAlias"===r||"TypeAnnotation"===r||"TypeCastExpression"===r||"TypeParameter"===r||"TypeParameterDeclaration"===r||"TypeParameterInstantiation"===r||"UnionTypeAnnotation"===r||"Variance"===r||"VoidTypeAnnotation"===r||"IndexedAccessType"===r||"OptionalIndexedAccessType"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlowType=function(e,t){if(!e)return!1;const r=e.type;if("AnyTypeAnnotation"===r||"ArrayTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"BooleanLiteralTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"ExistsTypeAnnotation"===r||"FunctionTypeAnnotation"===r||"GenericTypeAnnotation"===r||"InterfaceTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NullableTypeAnnotation"===r||"NumberLiteralTypeAnnotation"===r||"NumberTypeAnnotation"===r||"ObjectTypeAnnotation"===r||"StringLiteralTypeAnnotation"===r||"StringTypeAnnotation"===r||"SymbolTypeAnnotation"===r||"ThisTypeAnnotation"===r||"TupleTypeAnnotation"===r||"TypeofTypeAnnotation"===r||"UnionTypeAnnotation"===r||"VoidTypeAnnotation"===r||"IndexedAccessType"===r||"OptionalIndexedAccessType"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlowBaseAnnotation=function(e,t){if(!e)return!1;const r=e.type;if("AnyTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NumberTypeAnnotation"===r||"StringTypeAnnotation"===r||"SymbolTypeAnnotation"===r||"ThisTypeAnnotation"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlowDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlowPredicate=function(e,t){if(!e)return!1;const r=e.type;if("DeclaredPredicate"===r||"InferredPredicate"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumBody=function(e,t){if(!e)return!1;const r=e.type;if("EnumBooleanBody"===r||"EnumNumberBody"===r||"EnumStringBody"===r||"EnumSymbolBody"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumMember=function(e,t){if(!e)return!1;const r=e.type;if("EnumBooleanMember"===r||"EnumNumberMember"===r||"EnumStringMember"===r||"EnumDefaultedMember"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isJSX=function(e,t){if(!e)return!1;const r=e.type;if("JSXAttribute"===r||"JSXClosingElement"===r||"JSXElement"===r||"JSXEmptyExpression"===r||"JSXExpressionContainer"===r||"JSXSpreadChild"===r||"JSXIdentifier"===r||"JSXMemberExpression"===r||"JSXNamespacedName"===r||"JSXOpeningElement"===r||"JSXSpreadAttribute"===r||"JSXText"===r||"JSXFragment"===r||"JSXOpeningFragment"===r||"JSXClosingFragment"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isPrivate=function(e,t){if(!e)return!1;const r=e.type;if("ClassPrivateProperty"===r||"ClassPrivateMethod"===r||"PrivateName"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeElement=function(e,t){if(!e)return!1;const r=e.type;if("TSCallSignatureDeclaration"===r||"TSConstructSignatureDeclaration"===r||"TSPropertySignature"===r||"TSMethodSignature"===r||"TSIndexSignature"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isTSType=function(e,t){if(!e)return!1;const r=e.type;if("TSAnyKeyword"===r||"TSBooleanKeyword"===r||"TSBigIntKeyword"===r||"TSIntrinsicKeyword"===r||"TSNeverKeyword"===r||"TSNullKeyword"===r||"TSNumberKeyword"===r||"TSObjectKeyword"===r||"TSStringKeyword"===r||"TSSymbolKeyword"===r||"TSUndefinedKeyword"===r||"TSUnknownKeyword"===r||"TSVoidKeyword"===r||"TSThisType"===r||"TSFunctionType"===r||"TSConstructorType"===r||"TSTypeReference"===r||"TSTypePredicate"===r||"TSTypeQuery"===r||"TSTypeLiteral"===r||"TSArrayType"===r||"TSTupleType"===r||"TSOptionalType"===r||"TSRestType"===r||"TSUnionType"===r||"TSIntersectionType"===r||"TSConditionalType"===r||"TSInferType"===r||"TSParenthesizedType"===r||"TSTypeOperator"===r||"TSIndexedAccessType"===r||"TSMappedType"===r||"TSLiteralType"===r||"TSExpressionWithTypeArguments"===r||"TSImportType"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isTSBaseType=function(e,t){if(!e)return!1;const r=e.type;if("TSAnyKeyword"===r||"TSBooleanKeyword"===r||"TSBigIntKeyword"===r||"TSIntrinsicKeyword"===r||"TSNeverKeyword"===r||"TSNullKeyword"===r||"TSNumberKeyword"===r||"TSObjectKeyword"===r||"TSStringKeyword"===r||"TSSymbolKeyword"===r||"TSUndefinedKeyword"===r||"TSUnknownKeyword"===r||"TSVoidKeyword"===r||"TSThisType"===r||"TSLiteralType"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isNumberLiteral=function(e,t){if(console.trace("The node type NumberLiteral has been renamed to NumericLiteral"),!e)return!1;if("NumberLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRegexLiteral=function(e,t){if(console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"),!e)return!1;if("RegexLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRestProperty=function(e,t){if(console.trace("The node type RestProperty has been renamed to RestElement"),!e)return!1;if("RestProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSpreadProperty=function(e,t){if(console.trace("The node type SpreadProperty has been renamed to SpreadElement"),!e)return!1;if("SpreadProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1};var n=r(54)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isArrayExpression=function(e,t){if(!e)return!1;if("ArrayExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isAssignmentExpression=function(e,t){if(!e)return!1;if("AssignmentExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isBinaryExpression=function(e,t){if(!e)return!1;if("BinaryExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isInterpreterDirective=function(e,t){if(!e)return!1;if("InterpreterDirective"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDirective=function(e,t){if(!e)return!1;if("Directive"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDirectiveLiteral=function(e,t){if(!e)return!1;if("DirectiveLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isBlockStatement=function(e,t){if(!e)return!1;if("BlockStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isBreakStatement=function(e,t){if(!e)return!1;if("BreakStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isCallExpression=function(e,t){if(!e)return!1;if("CallExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isCatchClause=function(e,t){if(!e)return!1;if("CatchClause"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isConditionalExpression=function(e,t){if(!e)return!1;if("ConditionalExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isContinueStatement=function(e,t){if(!e)return!1;if("ContinueStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDebuggerStatement=function(e,t){if(!e)return!1;if("DebuggerStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDoWhileStatement=function(e,t){if(!e)return!1;if("DoWhileStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEmptyStatement=function(e,t){if(!e)return!1;if("EmptyStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isExpressionStatement=function(e,t){if(!e)return!1;if("ExpressionStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isFile=function(e,t){if(!e)return!1;if("File"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isForInStatement=function(e,t){if(!e)return!1;if("ForInStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isForStatement=function(e,t){if(!e)return!1;if("ForStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isFunctionDeclaration=function(e,t){if(!e)return!1;if("FunctionDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isFunctionExpression=function(e,t){if(!e)return!1;if("FunctionExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isIdentifier=function(e,t){if(!e)return!1;if("Identifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isIfStatement=function(e,t){if(!e)return!1;if("IfStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isLabeledStatement=function(e,t){if(!e)return!1;if("LabeledStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isStringLiteral=function(e,t){if(!e)return!1;if("StringLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isNumericLiteral=function(e,t){if(!e)return!1;if("NumericLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isNullLiteral=function(e,t){if(!e)return!1;if("NullLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isBooleanLiteral=function(e,t){if(!e)return!1;if("BooleanLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isRegExpLiteral=function(e,t){if(!e)return!1;if("RegExpLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isLogicalExpression=function(e,t){if(!e)return!1;if("LogicalExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isMemberExpression=function(e,t){if(!e)return!1;if("MemberExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isNewExpression=function(e,t){if(!e)return!1;if("NewExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isProgram=function(e,t){if(!e)return!1;if("Program"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectExpression=function(e,t){if(!e)return!1;if("ObjectExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectMethod=function(e,t){if(!e)return!1;if("ObjectMethod"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectProperty=function(e,t){if(!e)return!1;if("ObjectProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isRestElement=function(e,t){if(!e)return!1;if("RestElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isReturnStatement=function(e,t){if(!e)return!1;if("ReturnStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isSequenceExpression=function(e,t){if(!e)return!1;if("SequenceExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isParenthesizedExpression=function(e,t){if(!e)return!1;if("ParenthesizedExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isSwitchCase=function(e,t){if(!e)return!1;if("SwitchCase"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isSwitchStatement=function(e,t){if(!e)return!1;if("SwitchStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isThisExpression=function(e,t){if(!e)return!1;if("ThisExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isThrowStatement=function(e,t){if(!e)return!1;if("ThrowStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTryStatement=function(e,t){if(!e)return!1;if("TryStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isUnaryExpression=function(e,t){if(!e)return!1;if("UnaryExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isUpdateExpression=function(e,t){if(!e)return!1;if("UpdateExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isVariableDeclaration=function(e,t){if(!e)return!1;if("VariableDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isVariableDeclarator=function(e,t){if(!e)return!1;if("VariableDeclarator"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isWhileStatement=function(e,t){if(!e)return!1;if("WhileStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isWithStatement=function(e,t){if(!e)return!1;if("WithStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isAssignmentPattern=function(e,t){if(!e)return!1;if("AssignmentPattern"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isArrayPattern=function(e,t){if(!e)return!1;if("ArrayPattern"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isArrowFunctionExpression=function(e,t){if(!e)return!1;if("ArrowFunctionExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isClassBody=function(e,t){if(!e)return!1;if("ClassBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isClassExpression=function(e,t){if(!e)return!1;if("ClassExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isClassDeclaration=function(e,t){if(!e)return!1;if("ClassDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isExportAllDeclaration=function(e,t){if(!e)return!1;if("ExportAllDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isExportDefaultDeclaration=function(e,t){if(!e)return!1;if("ExportDefaultDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isExportNamedDeclaration=function(e,t){if(!e)return!1;if("ExportNamedDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isExportSpecifier=function(e,t){if(!e)return!1;if("ExportSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isForOfStatement=function(e,t){if(!e)return!1;if("ForOfStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isImportDeclaration=function(e,t){if(!e)return!1;if("ImportDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isImportDefaultSpecifier=function(e,t){if(!e)return!1;if("ImportDefaultSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isImportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ImportNamespaceSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isImportSpecifier=function(e,t){if(!e)return!1;if("ImportSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isMetaProperty=function(e,t){if(!e)return!1;if("MetaProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isClassMethod=function(e,t){if(!e)return!1;if("ClassMethod"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectPattern=function(e,t){if(!e)return!1;if("ObjectPattern"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isSpreadElement=function(e,t){if(!e)return!1;if("SpreadElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isSuper=function(e,t){if(!e)return!1;if("Super"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTaggedTemplateExpression=function(e,t){if(!e)return!1;if("TaggedTemplateExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTemplateElement=function(e,t){if(!e)return!1;if("TemplateElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTemplateLiteral=function(e,t){if(!e)return!1;if("TemplateLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isYieldExpression=function(e,t){if(!e)return!1;if("YieldExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isAwaitExpression=function(e,t){if(!e)return!1;if("AwaitExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isImport=function(e,t){if(!e)return!1;if("Import"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isBigIntLiteral=function(e,t){if(!e)return!1;if("BigIntLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isExportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ExportNamespaceSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isOptionalMemberExpression=function(e,t){if(!e)return!1;if("OptionalMemberExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isOptionalCallExpression=function(e,t){if(!e)return!1;if("OptionalCallExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isAnyTypeAnnotation=function(e,t){if(!e)return!1;if("AnyTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isArrayTypeAnnotation=function(e,t){if(!e)return!1;if("ArrayTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isBooleanTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isBooleanLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanLiteralTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isNullLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NullLiteralTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isClassImplements=function(e,t){if(!e)return!1;if("ClassImplements"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareClass=function(e,t){if(!e)return!1;if("DeclareClass"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareFunction=function(e,t){if(!e)return!1;if("DeclareFunction"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareInterface=function(e,t){if(!e)return!1;if("DeclareInterface"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareModule=function(e,t){if(!e)return!1;if("DeclareModule"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareModuleExports=function(e,t){if(!e)return!1;if("DeclareModuleExports"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareTypeAlias=function(e,t){if(!e)return!1;if("DeclareTypeAlias"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareOpaqueType=function(e,t){if(!e)return!1;if("DeclareOpaqueType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareVariable=function(e,t){if(!e)return!1;if("DeclareVariable"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareExportDeclaration=function(e,t){if(!e)return!1;if("DeclareExportDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclareExportAllDeclaration=function(e,t){if(!e)return!1;if("DeclareExportAllDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclaredPredicate=function(e,t){if(!e)return!1;if("DeclaredPredicate"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isExistsTypeAnnotation=function(e,t){if(!e)return!1;if("ExistsTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isFunctionTypeAnnotation=function(e,t){if(!e)return!1;if("FunctionTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isFunctionTypeParam=function(e,t){if(!e)return!1;if("FunctionTypeParam"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isGenericTypeAnnotation=function(e,t){if(!e)return!1;if("GenericTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isInferredPredicate=function(e,t){if(!e)return!1;if("InferredPredicate"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isInterfaceExtends=function(e,t){if(!e)return!1;if("InterfaceExtends"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isInterfaceDeclaration=function(e,t){if(!e)return!1;if("InterfaceDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isInterfaceTypeAnnotation=function(e,t){if(!e)return!1;if("InterfaceTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isIntersectionTypeAnnotation=function(e,t){if(!e)return!1;if("IntersectionTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isMixedTypeAnnotation=function(e,t){if(!e)return!1;if("MixedTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEmptyTypeAnnotation=function(e,t){if(!e)return!1;if("EmptyTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isNullableTypeAnnotation=function(e,t){if(!e)return!1;if("NullableTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isNumberLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NumberLiteralTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isNumberTypeAnnotation=function(e,t){if(!e)return!1;if("NumberTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectTypeAnnotation=function(e,t){if(!e)return!1;if("ObjectTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectTypeInternalSlot=function(e,t){if(!e)return!1;if("ObjectTypeInternalSlot"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectTypeCallProperty=function(e,t){if(!e)return!1;if("ObjectTypeCallProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectTypeIndexer=function(e,t){if(!e)return!1;if("ObjectTypeIndexer"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectTypeProperty=function(e,t){if(!e)return!1;if("ObjectTypeProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectTypeSpreadProperty=function(e,t){if(!e)return!1;if("ObjectTypeSpreadProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isOpaqueType=function(e,t){if(!e)return!1;if("OpaqueType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isQualifiedTypeIdentifier=function(e,t){if(!e)return!1;if("QualifiedTypeIdentifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isStringLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("StringLiteralTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isStringTypeAnnotation=function(e,t){if(!e)return!1;if("StringTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isSymbolTypeAnnotation=function(e,t){if(!e)return!1;if("SymbolTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isThisTypeAnnotation=function(e,t){if(!e)return!1;if("ThisTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTupleTypeAnnotation=function(e,t){if(!e)return!1;if("TupleTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTypeofTypeAnnotation=function(e,t){if(!e)return!1;if("TypeofTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTypeAlias=function(e,t){if(!e)return!1;if("TypeAlias"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTypeAnnotation=function(e,t){if(!e)return!1;if("TypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTypeCastExpression=function(e,t){if(!e)return!1;if("TypeCastExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTypeParameter=function(e,t){if(!e)return!1;if("TypeParameter"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TypeParameterDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TypeParameterInstantiation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isUnionTypeAnnotation=function(e,t){if(!e)return!1;if("UnionTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isVariance=function(e,t){if(!e)return!1;if("Variance"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isVoidTypeAnnotation=function(e,t){if(!e)return!1;if("VoidTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumDeclaration=function(e,t){if(!e)return!1;if("EnumDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumBooleanBody=function(e,t){if(!e)return!1;if("EnumBooleanBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumNumberBody=function(e,t){if(!e)return!1;if("EnumNumberBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumStringBody=function(e,t){if(!e)return!1;if("EnumStringBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumSymbolBody=function(e,t){if(!e)return!1;if("EnumSymbolBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumBooleanMember=function(e,t){if(!e)return!1;if("EnumBooleanMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumNumberMember=function(e,t){if(!e)return!1;if("EnumNumberMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumStringMember=function(e,t){if(!e)return!1;if("EnumStringMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumDefaultedMember=function(e,t){if(!e)return!1;if("EnumDefaultedMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXAttribute=function(e,t){if(!e)return!1;if("JSXAttribute"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXClosingElement=function(e,t){if(!e)return!1;if("JSXClosingElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXElement=function(e,t){if(!e)return!1;if("JSXElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXEmptyExpression=function(e,t){if(!e)return!1;if("JSXEmptyExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXExpressionContainer=function(e,t){if(!e)return!1;if("JSXExpressionContainer"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXSpreadChild=function(e,t){if(!e)return!1;if("JSXSpreadChild"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXIdentifier=function(e,t){if(!e)return!1;if("JSXIdentifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXMemberExpression=function(e,t){if(!e)return!1;if("JSXMemberExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXNamespacedName=function(e,t){if(!e)return!1;if("JSXNamespacedName"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXOpeningElement=function(e,t){if(!e)return!1;if("JSXOpeningElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXSpreadAttribute=function(e,t){if(!e)return!1;if("JSXSpreadAttribute"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXText=function(e,t){if(!e)return!1;if("JSXText"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXFragment=function(e,t){if(!e)return!1;if("JSXFragment"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXOpeningFragment=function(e,t){if(!e)return!1;if("JSXOpeningFragment"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isJSXClosingFragment=function(e,t){if(!e)return!1;if("JSXClosingFragment"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isNoop=function(e,t){if(!e)return!1;if("Noop"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isPlaceholder=function(e,t){if(!e)return!1;if("Placeholder"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isV8IntrinsicIdentifier=function(e,t){if(!e)return!1;if("V8IntrinsicIdentifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isArgumentPlaceholder=function(e,t){if(!e)return!1;if("ArgumentPlaceholder"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isBindExpression=function(e,t){if(!e)return!1;if("BindExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isClassProperty=function(e,t){if(!e)return!1;if("ClassProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isPipelineTopicExpression=function(e,t){if(!e)return!1;if("PipelineTopicExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isPipelineBareFunction=function(e,t){if(!e)return!1;if("PipelineBareFunction"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isPipelinePrimaryTopicReference=function(e,t){if(!e)return!1;if("PipelinePrimaryTopicReference"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isClassPrivateProperty=function(e,t){if(!e)return!1;if("ClassPrivateProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isClassPrivateMethod=function(e,t){if(!e)return!1;if("ClassPrivateMethod"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isImportAttribute=function(e,t){if(!e)return!1;if("ImportAttribute"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDecorator=function(e,t){if(!e)return!1;if("Decorator"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDoExpression=function(e,t){if(!e)return!1;if("DoExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isExportDefaultSpecifier=function(e,t){if(!e)return!1;if("ExportDefaultSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isPrivateName=function(e,t){if(!e)return!1;if("PrivateName"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isRecordExpression=function(e,t){if(!e)return!1;if("RecordExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTupleExpression=function(e,t){if(!e)return!1;if("TupleExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isDecimalLiteral=function(e,t){if(!e)return!1;if("DecimalLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isStaticBlock=function(e,t){if(!e)return!1;if("StaticBlock"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSParameterProperty=function(e,t){if(!e)return!1;if("TSParameterProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSDeclareFunction=function(e,t){if(!e)return!1;if("TSDeclareFunction"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSDeclareMethod=function(e,t){if(!e)return!1;if("TSDeclareMethod"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSQualifiedName=function(e,t){if(!e)return!1;if("TSQualifiedName"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSCallSignatureDeclaration=function(e,t){if(!e)return!1;if("TSCallSignatureDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSConstructSignatureDeclaration=function(e,t){if(!e)return!1;if("TSConstructSignatureDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSPropertySignature=function(e,t){if(!e)return!1;if("TSPropertySignature"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSMethodSignature=function(e,t){if(!e)return!1;if("TSMethodSignature"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSIndexSignature=function(e,t){if(!e)return!1;if("TSIndexSignature"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSAnyKeyword=function(e,t){if(!e)return!1;if("TSAnyKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSBooleanKeyword=function(e,t){if(!e)return!1;if("TSBooleanKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSBigIntKeyword=function(e,t){if(!e)return!1;if("TSBigIntKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSIntrinsicKeyword=function(e,t){if(!e)return!1;if("TSIntrinsicKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSNeverKeyword=function(e,t){if(!e)return!1;if("TSNeverKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSNullKeyword=function(e,t){if(!e)return!1;if("TSNullKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSNumberKeyword=function(e,t){if(!e)return!1;if("TSNumberKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSObjectKeyword=function(e,t){if(!e)return!1;if("TSObjectKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSStringKeyword=function(e,t){if(!e)return!1;if("TSStringKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSSymbolKeyword=function(e,t){if(!e)return!1;if("TSSymbolKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSUndefinedKeyword=function(e,t){if(!e)return!1;if("TSUndefinedKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSUnknownKeyword=function(e,t){if(!e)return!1;if("TSUnknownKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSVoidKeyword=function(e,t){if(!e)return!1;if("TSVoidKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSThisType=function(e,t){if(!e)return!1;if("TSThisType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSFunctionType=function(e,t){if(!e)return!1;if("TSFunctionType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSConstructorType=function(e,t){if(!e)return!1;if("TSConstructorType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeReference=function(e,t){if(!e)return!1;if("TSTypeReference"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypePredicate=function(e,t){if(!e)return!1;if("TSTypePredicate"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeQuery=function(e,t){if(!e)return!1;if("TSTypeQuery"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeLiteral=function(e,t){if(!e)return!1;if("TSTypeLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSArrayType=function(e,t){if(!e)return!1;if("TSArrayType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTupleType=function(e,t){if(!e)return!1;if("TSTupleType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSOptionalType=function(e,t){if(!e)return!1;if("TSOptionalType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSRestType=function(e,t){if(!e)return!1;if("TSRestType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSNamedTupleMember=function(e,t){if(!e)return!1;if("TSNamedTupleMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSUnionType=function(e,t){if(!e)return!1;if("TSUnionType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSIntersectionType=function(e,t){if(!e)return!1;if("TSIntersectionType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSConditionalType=function(e,t){if(!e)return!1;if("TSConditionalType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSInferType=function(e,t){if(!e)return!1;if("TSInferType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSParenthesizedType=function(e,t){if(!e)return!1;if("TSParenthesizedType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeOperator=function(e,t){if(!e)return!1;if("TSTypeOperator"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSIndexedAccessType=function(e,t){if(!e)return!1;if("TSIndexedAccessType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSMappedType=function(e,t){if(!e)return!1;if("TSMappedType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSLiteralType=function(e,t){if(!e)return!1;if("TSLiteralType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSExpressionWithTypeArguments=function(e,t){if(!e)return!1;if("TSExpressionWithTypeArguments"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSInterfaceDeclaration=function(e,t){if(!e)return!1;if("TSInterfaceDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSInterfaceBody=function(e,t){if(!e)return!1;if("TSInterfaceBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeAliasDeclaration=function(e,t){if(!e)return!1;if("TSTypeAliasDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSAsExpression=function(e,t){if(!e)return!1;if("TSAsExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeAssertion=function(e,t){if(!e)return!1;if("TSTypeAssertion"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSEnumDeclaration=function(e,t){if(!e)return!1;if("TSEnumDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSEnumMember=function(e,t){if(!e)return!1;if("TSEnumMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSModuleDeclaration=function(e,t){if(!e)return!1;if("TSModuleDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSModuleBlock=function(e,t){if(!e)return!1;if("TSModuleBlock"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSImportType=function(e,t){if(!e)return!1;if("TSImportType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSImportEqualsDeclaration=function(e,t){if(!e)return!1;if("TSImportEqualsDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSExternalModuleReference=function(e,t){if(!e)return!1;if("TSExternalModuleReference"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSNonNullExpression=function(e,t){if(!e)return!1;if("TSNonNullExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSExportAssignment=function(e,t){if(!e)return!1;if("TSExportAssignment"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSNamespaceExportDeclaration=function(e,t){if(!e)return!1;if("TSNamespaceExportDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeAnnotation=function(e,t){if(!e)return!1;if("TSTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TSTypeParameterInstantiation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TSTypeParameterDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeParameter=function(e,t){if(!e)return!1;if("TSTypeParameter"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isExpression=function(e,t){if(!e)return!1;const r=e.type;if("Expression"===r||"ArrayExpression"===r||"AssignmentExpression"===r||"BinaryExpression"===r||"CallExpression"===r||"ConditionalExpression"===r||"FunctionExpression"===r||"Identifier"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"LogicalExpression"===r||"MemberExpression"===r||"NewExpression"===r||"ObjectExpression"===r||"SequenceExpression"===r||"ParenthesizedExpression"===r||"ThisExpression"===r||"UnaryExpression"===r||"UpdateExpression"===r||"ArrowFunctionExpression"===r||"ClassExpression"===r||"MetaProperty"===r||"Super"===r||"TaggedTemplateExpression"===r||"TemplateLiteral"===r||"YieldExpression"===r||"AwaitExpression"===r||"Import"===r||"BigIntLiteral"===r||"OptionalMemberExpression"===r||"OptionalCallExpression"===r||"TypeCastExpression"===r||"JSXElement"===r||"JSXFragment"===r||"BindExpression"===r||"PipelinePrimaryTopicReference"===r||"DoExpression"===r||"RecordExpression"===r||"TupleExpression"===r||"DecimalLiteral"===r||"TSAsExpression"===r||"TSTypeAssertion"===r||"TSNonNullExpression"===r||"Placeholder"===r&&("Expression"===e.expectedNode||"Identifier"===e.expectedNode||"StringLiteral"===e.expectedNode))return void 0===t||(0,i.default)(e,t);return!1},t.isBinary=function(e,t){if(!e)return!1;const r=e.type;if("Binary"===r||"BinaryExpression"===r||"LogicalExpression"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isScopable=function(e,t){if(!e)return!1;const r=e.type;if("Scopable"===r||"BlockStatement"===r||"CatchClause"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"Program"===r||"ObjectMethod"===r||"SwitchStatement"===r||"WhileStatement"===r||"ArrowFunctionExpression"===r||"ClassExpression"===r||"ClassDeclaration"===r||"ForOfStatement"===r||"ClassMethod"===r||"ClassPrivateMethod"===r||"StaticBlock"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},t.isBlockParent=function(e,t){if(!e)return!1;const r=e.type;if("BlockParent"===r||"BlockStatement"===r||"CatchClause"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"Program"===r||"ObjectMethod"===r||"SwitchStatement"===r||"WhileStatement"===r||"ArrowFunctionExpression"===r||"ForOfStatement"===r||"ClassMethod"===r||"ClassPrivateMethod"===r||"StaticBlock"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},t.isBlock=function(e,t){if(!e)return!1;const r=e.type;if("Block"===r||"BlockStatement"===r||"Program"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},t.isStatement=function(e,t){if(!e)return!1;const r=e.type;if("Statement"===r||"BlockStatement"===r||"BreakStatement"===r||"ContinueStatement"===r||"DebuggerStatement"===r||"DoWhileStatement"===r||"EmptyStatement"===r||"ExpressionStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"IfStatement"===r||"LabeledStatement"===r||"ReturnStatement"===r||"SwitchStatement"===r||"ThrowStatement"===r||"TryStatement"===r||"VariableDeclaration"===r||"WhileStatement"===r||"WithStatement"===r||"ClassDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ForOfStatement"===r||"ImportDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r||"EnumDeclaration"===r||"TSDeclareFunction"===r||"TSInterfaceDeclaration"===r||"TSTypeAliasDeclaration"===r||"TSEnumDeclaration"===r||"TSModuleDeclaration"===r||"TSImportEqualsDeclaration"===r||"TSExportAssignment"===r||"TSNamespaceExportDeclaration"===r||"Placeholder"===r&&("Statement"===e.expectedNode||"Declaration"===e.expectedNode||"BlockStatement"===e.expectedNode))return void 0===t||(0,i.default)(e,t);return!1},t.isTerminatorless=function(e,t){if(!e)return!1;const r=e.type;if("Terminatorless"===r||"BreakStatement"===r||"ContinueStatement"===r||"ReturnStatement"===r||"ThrowStatement"===r||"YieldExpression"===r||"AwaitExpression"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isCompletionStatement=function(e,t){if(!e)return!1;const r=e.type;if("CompletionStatement"===r||"BreakStatement"===r||"ContinueStatement"===r||"ReturnStatement"===r||"ThrowStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isConditional=function(e,t){if(!e)return!1;const r=e.type;if("Conditional"===r||"ConditionalExpression"===r||"IfStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isLoop=function(e,t){if(!e)return!1;const r=e.type;if("Loop"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"WhileStatement"===r||"ForOfStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isWhile=function(e,t){if(!e)return!1;const r=e.type;if("While"===r||"DoWhileStatement"===r||"WhileStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isExpressionWrapper=function(e,t){if(!e)return!1;const r=e.type;if("ExpressionWrapper"===r||"ExpressionStatement"===r||"ParenthesizedExpression"===r||"TypeCastExpression"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isFor=function(e,t){if(!e)return!1;const r=e.type;if("For"===r||"ForInStatement"===r||"ForStatement"===r||"ForOfStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isForXStatement=function(e,t){if(!e)return!1;const r=e.type;if("ForXStatement"===r||"ForInStatement"===r||"ForOfStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isFunction=function(e,t){if(!e)return!1;const r=e.type;if("Function"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"ObjectMethod"===r||"ArrowFunctionExpression"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isFunctionParent=function(e,t){if(!e)return!1;const r=e.type;if("FunctionParent"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"ObjectMethod"===r||"ArrowFunctionExpression"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isPureish=function(e,t){if(!e)return!1;const r=e.type;if("Pureish"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"ArrowFunctionExpression"===r||"BigIntLiteral"===r||"DecimalLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},t.isDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("Declaration"===r||"FunctionDeclaration"===r||"VariableDeclaration"===r||"ClassDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ImportDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r||"EnumDeclaration"===r||"TSDeclareFunction"===r||"TSInterfaceDeclaration"===r||"TSTypeAliasDeclaration"===r||"TSEnumDeclaration"===r||"TSModuleDeclaration"===r||"Placeholder"===r&&"Declaration"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},t.isPatternLike=function(e,t){if(!e)return!1;const r=e.type;if("PatternLike"===r||"Identifier"===r||"RestElement"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"Placeholder"===r&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,i.default)(e,t);return!1},t.isLVal=function(e,t){if(!e)return!1;const r=e.type;if("LVal"===r||"Identifier"===r||"MemberExpression"===r||"RestElement"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"TSParameterProperty"===r||"Placeholder"===r&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,i.default)(e,t);return!1},t.isTSEntityName=function(e,t){if(!e)return!1;const r=e.type;if("TSEntityName"===r||"Identifier"===r||"TSQualifiedName"===r||"Placeholder"===r&&"Identifier"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},t.isLiteral=function(e,t){if(!e)return!1;const r=e.type;if("Literal"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"TemplateLiteral"===r||"BigIntLiteral"===r||"DecimalLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},t.isImmutable=function(e,t){if(!e)return!1;const r=e.type;if("Immutable"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"BigIntLiteral"===r||"JSXAttribute"===r||"JSXClosingElement"===r||"JSXElement"===r||"JSXExpressionContainer"===r||"JSXSpreadChild"===r||"JSXOpeningElement"===r||"JSXText"===r||"JSXFragment"===r||"JSXOpeningFragment"===r||"JSXClosingFragment"===r||"DecimalLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},t.isUserWhitespacable=function(e,t){if(!e)return!1;const r=e.type;if("UserWhitespacable"===r||"ObjectMethod"===r||"ObjectProperty"===r||"ObjectTypeInternalSlot"===r||"ObjectTypeCallProperty"===r||"ObjectTypeIndexer"===r||"ObjectTypeProperty"===r||"ObjectTypeSpreadProperty"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isMethod=function(e,t){if(!e)return!1;const r=e.type;if("Method"===r||"ObjectMethod"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isObjectMember=function(e,t){if(!e)return!1;const r=e.type;if("ObjectMember"===r||"ObjectMethod"===r||"ObjectProperty"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isProperty=function(e,t){if(!e)return!1;const r=e.type;if("Property"===r||"ObjectProperty"===r||"ClassProperty"===r||"ClassPrivateProperty"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isUnaryLike=function(e,t){if(!e)return!1;const r=e.type;if("UnaryLike"===r||"UnaryExpression"===r||"SpreadElement"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isPattern=function(e,t){if(!e)return!1;const r=e.type;if("Pattern"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"Placeholder"===r&&"Pattern"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},t.isClass=function(e,t){if(!e)return!1;const r=e.type;if("Class"===r||"ClassExpression"===r||"ClassDeclaration"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isModuleDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("ModuleDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ImportDeclaration"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isExportDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("ExportDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isModuleSpecifier=function(e,t){if(!e)return!1;const r=e.type;if("ModuleSpecifier"===r||"ExportSpecifier"===r||"ImportDefaultSpecifier"===r||"ImportNamespaceSpecifier"===r||"ImportSpecifier"===r||"ExportNamespaceSpecifier"===r||"ExportDefaultSpecifier"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isFlow=function(e,t){if(!e)return!1;const r=e.type;if("Flow"===r||"AnyTypeAnnotation"===r||"ArrayTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"BooleanLiteralTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"ClassImplements"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"DeclaredPredicate"===r||"ExistsTypeAnnotation"===r||"FunctionTypeAnnotation"===r||"FunctionTypeParam"===r||"GenericTypeAnnotation"===r||"InferredPredicate"===r||"InterfaceExtends"===r||"InterfaceDeclaration"===r||"InterfaceTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NullableTypeAnnotation"===r||"NumberLiteralTypeAnnotation"===r||"NumberTypeAnnotation"===r||"ObjectTypeAnnotation"===r||"ObjectTypeInternalSlot"===r||"ObjectTypeCallProperty"===r||"ObjectTypeIndexer"===r||"ObjectTypeProperty"===r||"ObjectTypeSpreadProperty"===r||"OpaqueType"===r||"QualifiedTypeIdentifier"===r||"StringLiteralTypeAnnotation"===r||"StringTypeAnnotation"===r||"SymbolTypeAnnotation"===r||"ThisTypeAnnotation"===r||"TupleTypeAnnotation"===r||"TypeofTypeAnnotation"===r||"TypeAlias"===r||"TypeAnnotation"===r||"TypeCastExpression"===r||"TypeParameter"===r||"TypeParameterDeclaration"===r||"TypeParameterInstantiation"===r||"UnionTypeAnnotation"===r||"Variance"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isFlowType=function(e,t){if(!e)return!1;const r=e.type;if("FlowType"===r||"AnyTypeAnnotation"===r||"ArrayTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"BooleanLiteralTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"ExistsTypeAnnotation"===r||"FunctionTypeAnnotation"===r||"GenericTypeAnnotation"===r||"InterfaceTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NullableTypeAnnotation"===r||"NumberLiteralTypeAnnotation"===r||"NumberTypeAnnotation"===r||"ObjectTypeAnnotation"===r||"StringLiteralTypeAnnotation"===r||"StringTypeAnnotation"===r||"SymbolTypeAnnotation"===r||"ThisTypeAnnotation"===r||"TupleTypeAnnotation"===r||"TypeofTypeAnnotation"===r||"UnionTypeAnnotation"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isFlowBaseAnnotation=function(e,t){if(!e)return!1;const r=e.type;if("FlowBaseAnnotation"===r||"AnyTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NumberTypeAnnotation"===r||"StringTypeAnnotation"===r||"SymbolTypeAnnotation"===r||"ThisTypeAnnotation"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isFlowDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("FlowDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isFlowPredicate=function(e,t){if(!e)return!1;const r=e.type;if("FlowPredicate"===r||"DeclaredPredicate"===r||"InferredPredicate"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumBody=function(e,t){if(!e)return!1;const r=e.type;if("EnumBody"===r||"EnumBooleanBody"===r||"EnumNumberBody"===r||"EnumStringBody"===r||"EnumSymbolBody"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isEnumMember=function(e,t){if(!e)return!1;const r=e.type;if("EnumMember"===r||"EnumBooleanMember"===r||"EnumNumberMember"===r||"EnumStringMember"===r||"EnumDefaultedMember"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isJSX=function(e,t){if(!e)return!1;const r=e.type;if("JSX"===r||"JSXAttribute"===r||"JSXClosingElement"===r||"JSXElement"===r||"JSXEmptyExpression"===r||"JSXExpressionContainer"===r||"JSXSpreadChild"===r||"JSXIdentifier"===r||"JSXMemberExpression"===r||"JSXNamespacedName"===r||"JSXOpeningElement"===r||"JSXSpreadAttribute"===r||"JSXText"===r||"JSXFragment"===r||"JSXOpeningFragment"===r||"JSXClosingFragment"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isPrivate=function(e,t){if(!e)return!1;const r=e.type;if("Private"===r||"ClassPrivateProperty"===r||"ClassPrivateMethod"===r||"PrivateName"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isTSTypeElement=function(e,t){if(!e)return!1;const r=e.type;if("TSTypeElement"===r||"TSCallSignatureDeclaration"===r||"TSConstructSignatureDeclaration"===r||"TSPropertySignature"===r||"TSMethodSignature"===r||"TSIndexSignature"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isTSType=function(e,t){if(!e)return!1;const r=e.type;if("TSType"===r||"TSAnyKeyword"===r||"TSBooleanKeyword"===r||"TSBigIntKeyword"===r||"TSIntrinsicKeyword"===r||"TSNeverKeyword"===r||"TSNullKeyword"===r||"TSNumberKeyword"===r||"TSObjectKeyword"===r||"TSStringKeyword"===r||"TSSymbolKeyword"===r||"TSUndefinedKeyword"===r||"TSUnknownKeyword"===r||"TSVoidKeyword"===r||"TSThisType"===r||"TSFunctionType"===r||"TSConstructorType"===r||"TSTypeReference"===r||"TSTypePredicate"===r||"TSTypeQuery"===r||"TSTypeLiteral"===r||"TSArrayType"===r||"TSTupleType"===r||"TSOptionalType"===r||"TSRestType"===r||"TSUnionType"===r||"TSIntersectionType"===r||"TSConditionalType"===r||"TSInferType"===r||"TSParenthesizedType"===r||"TSTypeOperator"===r||"TSIndexedAccessType"===r||"TSMappedType"===r||"TSLiteralType"===r||"TSExpressionWithTypeArguments"===r||"TSImportType"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isTSBaseType=function(e,t){if(!e)return!1;const r=e.type;if("TSBaseType"===r||"TSAnyKeyword"===r||"TSBooleanKeyword"===r||"TSBigIntKeyword"===r||"TSIntrinsicKeyword"===r||"TSNeverKeyword"===r||"TSNullKeyword"===r||"TSNumberKeyword"===r||"TSObjectKeyword"===r||"TSStringKeyword"===r||"TSSymbolKeyword"===r||"TSUndefinedKeyword"===r||"TSUnknownKeyword"===r||"TSVoidKeyword"===r||"TSThisType"===r||"TSLiteralType"===r)return void 0===t||(0,i.default)(e,t);return!1},t.isNumberLiteral=function(e,t){if(console.trace("The node type NumberLiteral has been renamed to NumericLiteral"),!e)return!1;if("NumberLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isRegexLiteral=function(e,t){if(console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"),!e)return!1;if("RegexLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isRestProperty=function(e,t){if(console.trace("The node type RestProperty has been renamed to RestElement"),!e)return!1;if("RestProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},t.isSpreadProperty=function(e,t){if(console.trace("The node type SpreadProperty has been renamed to SpreadElement"),!e)return!1;if("SpreadProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1};var n,i=(n=r(39))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arrayExpression=function(e){return(0,n.default)("ArrayExpression",...arguments)},t.assignmentExpression=function(e,t,r){return(0,n.default)("AssignmentExpression",...arguments)},t.binaryExpression=function(e,t,r){return(0,n.default)("BinaryExpression",...arguments)},t.interpreterDirective=function(e){return(0,n.default)("InterpreterDirective",...arguments)},t.directive=function(e){return(0,n.default)("Directive",...arguments)},t.directiveLiteral=function(e){return(0,n.default)("DirectiveLiteral",...arguments)},t.blockStatement=function(e,t){return(0,n.default)("BlockStatement",...arguments)},t.breakStatement=function(e){return(0,n.default)("BreakStatement",...arguments)},t.callExpression=function(e,t){return(0,n.default)("CallExpression",...arguments)},t.catchClause=function(e,t){return(0,n.default)("CatchClause",...arguments)},t.conditionalExpression=function(e,t,r){return(0,n.default)("ConditionalExpression",...arguments)},t.continueStatement=function(e){return(0,n.default)("ContinueStatement",...arguments)},t.debuggerStatement=function(){return(0,n.default)("DebuggerStatement",...arguments)},t.doWhileStatement=function(e,t){return(0,n.default)("DoWhileStatement",...arguments)},t.emptyStatement=function(){return(0,n.default)("EmptyStatement",...arguments)},t.expressionStatement=function(e){return(0,n.default)("ExpressionStatement",...arguments)},t.file=function(e,t,r){return(0,n.default)("File",...arguments)},t.forInStatement=function(e,t,r){return(0,n.default)("ForInStatement",...arguments)},t.forStatement=function(e,t,r,i){return(0,n.default)("ForStatement",...arguments)},t.functionDeclaration=function(e,t,r,i,s){return(0,n.default)("FunctionDeclaration",...arguments)},t.functionExpression=function(e,t,r,i,s){return(0,n.default)("FunctionExpression",...arguments)},t.identifier=function(e){return(0,n.default)("Identifier",...arguments)},t.ifStatement=function(e,t,r){return(0,n.default)("IfStatement",...arguments)},t.labeledStatement=function(e,t){return(0,n.default)("LabeledStatement",...arguments)},t.stringLiteral=function(e){return(0,n.default)("StringLiteral",...arguments)},t.numericLiteral=function(e){return(0,n.default)("NumericLiteral",...arguments)},t.nullLiteral=function(){return(0,n.default)("NullLiteral",...arguments)},t.booleanLiteral=function(e){return(0,n.default)("BooleanLiteral",...arguments)},t.regExpLiteral=function(e,t){return(0,n.default)("RegExpLiteral",...arguments)},t.logicalExpression=function(e,t,r){return(0,n.default)("LogicalExpression",...arguments)},t.memberExpression=function(e,t,r,i){return(0,n.default)("MemberExpression",...arguments)},t.newExpression=function(e,t){return(0,n.default)("NewExpression",...arguments)},t.program=function(e,t,r,i){return(0,n.default)("Program",...arguments)},t.objectExpression=function(e){return(0,n.default)("ObjectExpression",...arguments)},t.objectMethod=function(e,t,r,i,s,a,o){return(0,n.default)("ObjectMethod",...arguments)},t.objectProperty=function(e,t,r,i,s){return(0,n.default)("ObjectProperty",...arguments)},t.restElement=function(e){return(0,n.default)("RestElement",...arguments)},t.returnStatement=function(e){return(0,n.default)("ReturnStatement",...arguments)},t.sequenceExpression=function(e){return(0,n.default)("SequenceExpression",...arguments)},t.parenthesizedExpression=function(e){return(0,n.default)("ParenthesizedExpression",...arguments)},t.switchCase=function(e,t){return(0,n.default)("SwitchCase",...arguments)},t.switchStatement=function(e,t){return(0,n.default)("SwitchStatement",...arguments)},t.thisExpression=function(){return(0,n.default)("ThisExpression",...arguments)},t.throwStatement=function(e){return(0,n.default)("ThrowStatement",...arguments)},t.tryStatement=function(e,t,r){return(0,n.default)("TryStatement",...arguments)},t.unaryExpression=function(e,t,r){return(0,n.default)("UnaryExpression",...arguments)},t.updateExpression=function(e,t,r){return(0,n.default)("UpdateExpression",...arguments)},t.variableDeclaration=function(e,t){return(0,n.default)("VariableDeclaration",...arguments)},t.variableDeclarator=function(e,t){return(0,n.default)("VariableDeclarator",...arguments)},t.whileStatement=function(e,t){return(0,n.default)("WhileStatement",...arguments)},t.withStatement=function(e,t){return(0,n.default)("WithStatement",...arguments)},t.assignmentPattern=function(e,t){return(0,n.default)("AssignmentPattern",...arguments)},t.arrayPattern=function(e){return(0,n.default)("ArrayPattern",...arguments)},t.arrowFunctionExpression=function(e,t,r){return(0,n.default)("ArrowFunctionExpression",...arguments)},t.classBody=function(e){return(0,n.default)("ClassBody",...arguments)},t.classExpression=function(e,t,r,i){return(0,n.default)("ClassExpression",...arguments)},t.classDeclaration=function(e,t,r,i){return(0,n.default)("ClassDeclaration",...arguments)},t.exportAllDeclaration=function(e){return(0,n.default)("ExportAllDeclaration",...arguments)},t.exportDefaultDeclaration=function(e){return(0,n.default)("ExportDefaultDeclaration",...arguments)},t.exportNamedDeclaration=function(e,t,r){return(0,n.default)("ExportNamedDeclaration",...arguments)},t.exportSpecifier=function(e,t){return(0,n.default)("ExportSpecifier",...arguments)},t.forOfStatement=function(e,t,r,i){return(0,n.default)("ForOfStatement",...arguments)},t.importDeclaration=function(e,t){return(0,n.default)("ImportDeclaration",...arguments)},t.importDefaultSpecifier=function(e){return(0,n.default)("ImportDefaultSpecifier",...arguments)},t.importNamespaceSpecifier=function(e){return(0,n.default)("ImportNamespaceSpecifier",...arguments)},t.importSpecifier=function(e,t){return(0,n.default)("ImportSpecifier",...arguments)},t.metaProperty=function(e,t){return(0,n.default)("MetaProperty",...arguments)},t.classMethod=function(e,t,r,i,s,a,o,l){return(0,n.default)("ClassMethod",...arguments)},t.objectPattern=function(e){return(0,n.default)("ObjectPattern",...arguments)},t.spreadElement=function(e){return(0,n.default)("SpreadElement",...arguments)},t.super=function(){return(0,n.default)("Super",...arguments)},t.taggedTemplateExpression=function(e,t){return(0,n.default)("TaggedTemplateExpression",...arguments)},t.templateElement=function(e,t){return(0,n.default)("TemplateElement",...arguments)},t.templateLiteral=function(e,t){return(0,n.default)("TemplateLiteral",...arguments)},t.yieldExpression=function(e,t){return(0,n.default)("YieldExpression",...arguments)},t.awaitExpression=function(e){return(0,n.default)("AwaitExpression",...arguments)},t.import=function(){return(0,n.default)("Import",...arguments)},t.bigIntLiteral=function(e){return(0,n.default)("BigIntLiteral",...arguments)},t.exportNamespaceSpecifier=function(e){return(0,n.default)("ExportNamespaceSpecifier",...arguments)},t.optionalMemberExpression=function(e,t,r,i){return(0,n.default)("OptionalMemberExpression",...arguments)},t.optionalCallExpression=function(e,t,r){return(0,n.default)("OptionalCallExpression",...arguments)},t.anyTypeAnnotation=function(){return(0,n.default)("AnyTypeAnnotation",...arguments)},t.arrayTypeAnnotation=function(e){return(0,n.default)("ArrayTypeAnnotation",...arguments)},t.booleanTypeAnnotation=function(){return(0,n.default)("BooleanTypeAnnotation",...arguments)},t.booleanLiteralTypeAnnotation=function(e){return(0,n.default)("BooleanLiteralTypeAnnotation",...arguments)},t.nullLiteralTypeAnnotation=function(){return(0,n.default)("NullLiteralTypeAnnotation",...arguments)},t.classImplements=function(e,t){return(0,n.default)("ClassImplements",...arguments)},t.declareClass=function(e,t,r,i){return(0,n.default)("DeclareClass",...arguments)},t.declareFunction=function(e){return(0,n.default)("DeclareFunction",...arguments)},t.declareInterface=function(e,t,r,i){return(0,n.default)("DeclareInterface",...arguments)},t.declareModule=function(e,t,r){return(0,n.default)("DeclareModule",...arguments)},t.declareModuleExports=function(e){return(0,n.default)("DeclareModuleExports",...arguments)},t.declareTypeAlias=function(e,t,r){return(0,n.default)("DeclareTypeAlias",...arguments)},t.declareOpaqueType=function(e,t,r){return(0,n.default)("DeclareOpaqueType",...arguments)},t.declareVariable=function(e){return(0,n.default)("DeclareVariable",...arguments)},t.declareExportDeclaration=function(e,t,r){return(0,n.default)("DeclareExportDeclaration",...arguments)},t.declareExportAllDeclaration=function(e){return(0,n.default)("DeclareExportAllDeclaration",...arguments)},t.declaredPredicate=function(e){return(0,n.default)("DeclaredPredicate",...arguments)},t.existsTypeAnnotation=function(){return(0,n.default)("ExistsTypeAnnotation",...arguments)},t.functionTypeAnnotation=function(e,t,r,i){return(0,n.default)("FunctionTypeAnnotation",...arguments)},t.functionTypeParam=function(e,t){return(0,n.default)("FunctionTypeParam",...arguments)},t.genericTypeAnnotation=function(e,t){return(0,n.default)("GenericTypeAnnotation",...arguments)},t.inferredPredicate=function(){return(0,n.default)("InferredPredicate",...arguments)},t.interfaceExtends=function(e,t){return(0,n.default)("InterfaceExtends",...arguments)},t.interfaceDeclaration=function(e,t,r,i){return(0,n.default)("InterfaceDeclaration",...arguments)},t.interfaceTypeAnnotation=function(e,t){return(0,n.default)("InterfaceTypeAnnotation",...arguments)},t.intersectionTypeAnnotation=function(e){return(0,n.default)("IntersectionTypeAnnotation",...arguments)},t.mixedTypeAnnotation=function(){return(0,n.default)("MixedTypeAnnotation",...arguments)},t.emptyTypeAnnotation=function(){return(0,n.default)("EmptyTypeAnnotation",...arguments)},t.nullableTypeAnnotation=function(e){return(0,n.default)("NullableTypeAnnotation",...arguments)},t.numberLiteralTypeAnnotation=function(e){return(0,n.default)("NumberLiteralTypeAnnotation",...arguments)},t.numberTypeAnnotation=function(){return(0,n.default)("NumberTypeAnnotation",...arguments)},t.objectTypeAnnotation=function(e,t,r,i,s){return(0,n.default)("ObjectTypeAnnotation",...arguments)},t.objectTypeInternalSlot=function(e,t,r,i,s){return(0,n.default)("ObjectTypeInternalSlot",...arguments)},t.objectTypeCallProperty=function(e){return(0,n.default)("ObjectTypeCallProperty",...arguments)},t.objectTypeIndexer=function(e,t,r,i){return(0,n.default)("ObjectTypeIndexer",...arguments)},t.objectTypeProperty=function(e,t,r){return(0,n.default)("ObjectTypeProperty",...arguments)},t.objectTypeSpreadProperty=function(e){return(0,n.default)("ObjectTypeSpreadProperty",...arguments)},t.opaqueType=function(e,t,r,i){return(0,n.default)("OpaqueType",...arguments)},t.qualifiedTypeIdentifier=function(e,t){return(0,n.default)("QualifiedTypeIdentifier",...arguments)},t.stringLiteralTypeAnnotation=function(e){return(0,n.default)("StringLiteralTypeAnnotation",...arguments)},t.stringTypeAnnotation=function(){return(0,n.default)("StringTypeAnnotation",...arguments)},t.symbolTypeAnnotation=function(){return(0,n.default)("SymbolTypeAnnotation",...arguments)},t.thisTypeAnnotation=function(){return(0,n.default)("ThisTypeAnnotation",...arguments)},t.tupleTypeAnnotation=function(e){return(0,n.default)("TupleTypeAnnotation",...arguments)},t.typeofTypeAnnotation=function(e){return(0,n.default)("TypeofTypeAnnotation",...arguments)},t.typeAlias=function(e,t,r){return(0,n.default)("TypeAlias",...arguments)},t.typeAnnotation=function(e){return(0,n.default)("TypeAnnotation",...arguments)},t.typeCastExpression=function(e,t){return(0,n.default)("TypeCastExpression",...arguments)},t.typeParameter=function(e,t,r){return(0,n.default)("TypeParameter",...arguments)},t.typeParameterDeclaration=function(e){return(0,n.default)("TypeParameterDeclaration",...arguments)},t.typeParameterInstantiation=function(e){return(0,n.default)("TypeParameterInstantiation",...arguments)},t.unionTypeAnnotation=function(e){return(0,n.default)("UnionTypeAnnotation",...arguments)},t.variance=function(e){return(0,n.default)("Variance",...arguments)},t.voidTypeAnnotation=function(){return(0,n.default)("VoidTypeAnnotation",...arguments)},t.enumDeclaration=function(e,t){return(0,n.default)("EnumDeclaration",...arguments)},t.enumBooleanBody=function(e){return(0,n.default)("EnumBooleanBody",...arguments)},t.enumNumberBody=function(e){return(0,n.default)("EnumNumberBody",...arguments)},t.enumStringBody=function(e){return(0,n.default)("EnumStringBody",...arguments)},t.enumSymbolBody=function(e){return(0,n.default)("EnumSymbolBody",...arguments)},t.enumBooleanMember=function(e){return(0,n.default)("EnumBooleanMember",...arguments)},t.enumNumberMember=function(e,t){return(0,n.default)("EnumNumberMember",...arguments)},t.enumStringMember=function(e,t){return(0,n.default)("EnumStringMember",...arguments)},t.enumDefaultedMember=function(e){return(0,n.default)("EnumDefaultedMember",...arguments)},t.indexedAccessType=function(e,t){return(0,n.default)("IndexedAccessType",...arguments)},t.optionalIndexedAccessType=function(e,t){return(0,n.default)("OptionalIndexedAccessType",...arguments)},t.jSXAttribute=t.jsxAttribute=function(e,t){return(0,n.default)("JSXAttribute",...arguments)},t.jSXClosingElement=t.jsxClosingElement=function(e){return(0,n.default)("JSXClosingElement",...arguments)},t.jSXElement=t.jsxElement=function(e,t,r,i){return(0,n.default)("JSXElement",...arguments)},t.jSXEmptyExpression=t.jsxEmptyExpression=function(){return(0,n.default)("JSXEmptyExpression",...arguments)},t.jSXExpressionContainer=t.jsxExpressionContainer=function(e){return(0,n.default)("JSXExpressionContainer",...arguments)},t.jSXSpreadChild=t.jsxSpreadChild=function(e){return(0,n.default)("JSXSpreadChild",...arguments)},t.jSXIdentifier=t.jsxIdentifier=function(e){return(0,n.default)("JSXIdentifier",...arguments)},t.jSXMemberExpression=t.jsxMemberExpression=function(e,t){return(0,n.default)("JSXMemberExpression",...arguments)},t.jSXNamespacedName=t.jsxNamespacedName=function(e,t){return(0,n.default)("JSXNamespacedName",...arguments)},t.jSXOpeningElement=t.jsxOpeningElement=function(e,t,r){return(0,n.default)("JSXOpeningElement",...arguments)},t.jSXSpreadAttribute=t.jsxSpreadAttribute=function(e){return(0,n.default)("JSXSpreadAttribute",...arguments)},t.jSXText=t.jsxText=function(e){return(0,n.default)("JSXText",...arguments)},t.jSXFragment=t.jsxFragment=function(e,t,r){return(0,n.default)("JSXFragment",...arguments)},t.jSXOpeningFragment=t.jsxOpeningFragment=function(){return(0,n.default)("JSXOpeningFragment",...arguments)},t.jSXClosingFragment=t.jsxClosingFragment=function(){return(0,n.default)("JSXClosingFragment",...arguments)},t.noop=function(){return(0,n.default)("Noop",...arguments)},t.placeholder=function(e,t){return(0,n.default)("Placeholder",...arguments)},t.v8IntrinsicIdentifier=function(e){return(0,n.default)("V8IntrinsicIdentifier",...arguments)},t.argumentPlaceholder=function(){return(0,n.default)("ArgumentPlaceholder",...arguments)},t.bindExpression=function(e,t){return(0,n.default)("BindExpression",...arguments)},t.classProperty=function(e,t,r,i,s,a){return(0,n.default)("ClassProperty",...arguments)},t.pipelineTopicExpression=function(e){return(0,n.default)("PipelineTopicExpression",...arguments)},t.pipelineBareFunction=function(e){return(0,n.default)("PipelineBareFunction",...arguments)},t.pipelinePrimaryTopicReference=function(){return(0,n.default)("PipelinePrimaryTopicReference",...arguments)},t.classPrivateProperty=function(e,t,r,i){return(0,n.default)("ClassPrivateProperty",...arguments)},t.classPrivateMethod=function(e,t,r,i,s){return(0,n.default)("ClassPrivateMethod",...arguments)},t.importAttribute=function(e,t){return(0,n.default)("ImportAttribute",...arguments)},t.decorator=function(e){return(0,n.default)("Decorator",...arguments)},t.doExpression=function(e,t){return(0,n.default)("DoExpression",...arguments)},t.exportDefaultSpecifier=function(e){return(0,n.default)("ExportDefaultSpecifier",...arguments)},t.privateName=function(e){return(0,n.default)("PrivateName",...arguments)},t.recordExpression=function(e){return(0,n.default)("RecordExpression",...arguments)},t.tupleExpression=function(e){return(0,n.default)("TupleExpression",...arguments)},t.decimalLiteral=function(e){return(0,n.default)("DecimalLiteral",...arguments)},t.staticBlock=function(e){return(0,n.default)("StaticBlock",...arguments)},t.moduleExpression=function(e){return(0,n.default)("ModuleExpression",...arguments)},t.tSParameterProperty=t.tsParameterProperty=function(e){return(0,n.default)("TSParameterProperty",...arguments)},t.tSDeclareFunction=t.tsDeclareFunction=function(e,t,r,i){return(0,n.default)("TSDeclareFunction",...arguments)},t.tSDeclareMethod=t.tsDeclareMethod=function(e,t,r,i,s){return(0,n.default)("TSDeclareMethod",...arguments)},t.tSQualifiedName=t.tsQualifiedName=function(e,t){return(0,n.default)("TSQualifiedName",...arguments)},t.tSCallSignatureDeclaration=t.tsCallSignatureDeclaration=function(e,t,r){return(0,n.default)("TSCallSignatureDeclaration",...arguments)},t.tSConstructSignatureDeclaration=t.tsConstructSignatureDeclaration=function(e,t,r){return(0,n.default)("TSConstructSignatureDeclaration",...arguments)},t.tSPropertySignature=t.tsPropertySignature=function(e,t,r){return(0,n.default)("TSPropertySignature",...arguments)},t.tSMethodSignature=t.tsMethodSignature=function(e,t,r,i){return(0,n.default)("TSMethodSignature",...arguments)},t.tSIndexSignature=t.tsIndexSignature=function(e,t){return(0,n.default)("TSIndexSignature",...arguments)},t.tSAnyKeyword=t.tsAnyKeyword=function(){return(0,n.default)("TSAnyKeyword",...arguments)},t.tSBooleanKeyword=t.tsBooleanKeyword=function(){return(0,n.default)("TSBooleanKeyword",...arguments)},t.tSBigIntKeyword=t.tsBigIntKeyword=function(){return(0,n.default)("TSBigIntKeyword",...arguments)},t.tSIntrinsicKeyword=t.tsIntrinsicKeyword=function(){return(0,n.default)("TSIntrinsicKeyword",...arguments)},t.tSNeverKeyword=t.tsNeverKeyword=function(){return(0,n.default)("TSNeverKeyword",...arguments)},t.tSNullKeyword=t.tsNullKeyword=function(){return(0,n.default)("TSNullKeyword",...arguments)},t.tSNumberKeyword=t.tsNumberKeyword=function(){return(0,n.default)("TSNumberKeyword",...arguments)},t.tSObjectKeyword=t.tsObjectKeyword=function(){return(0,n.default)("TSObjectKeyword",...arguments)},t.tSStringKeyword=t.tsStringKeyword=function(){return(0,n.default)("TSStringKeyword",...arguments)},t.tSSymbolKeyword=t.tsSymbolKeyword=function(){return(0,n.default)("TSSymbolKeyword",...arguments)},t.tSUndefinedKeyword=t.tsUndefinedKeyword=function(){return(0,n.default)("TSUndefinedKeyword",...arguments)},t.tSUnknownKeyword=t.tsUnknownKeyword=function(){return(0,n.default)("TSUnknownKeyword",...arguments)},t.tSVoidKeyword=t.tsVoidKeyword=function(){return(0,n.default)("TSVoidKeyword",...arguments)},t.tSThisType=t.tsThisType=function(){return(0,n.default)("TSThisType",...arguments)},t.tSFunctionType=t.tsFunctionType=function(e,t,r){return(0,n.default)("TSFunctionType",...arguments)},t.tSConstructorType=t.tsConstructorType=function(e,t,r){return(0,n.default)("TSConstructorType",...arguments)},t.tSTypeReference=t.tsTypeReference=function(e,t){return(0,n.default)("TSTypeReference",...arguments)},t.tSTypePredicate=t.tsTypePredicate=function(e,t,r){return(0,n.default)("TSTypePredicate",...arguments)},t.tSTypeQuery=t.tsTypeQuery=function(e){return(0,n.default)("TSTypeQuery",...arguments)},t.tSTypeLiteral=t.tsTypeLiteral=function(e){return(0,n.default)("TSTypeLiteral",...arguments)},t.tSArrayType=t.tsArrayType=function(e){return(0,n.default)("TSArrayType",...arguments)},t.tSTupleType=t.tsTupleType=function(e){return(0,n.default)("TSTupleType",...arguments)},t.tSOptionalType=t.tsOptionalType=function(e){return(0,n.default)("TSOptionalType",...arguments)},t.tSRestType=t.tsRestType=function(e){return(0,n.default)("TSRestType",...arguments)},t.tSNamedTupleMember=t.tsNamedTupleMember=function(e,t,r){return(0,n.default)("TSNamedTupleMember",...arguments)},t.tSUnionType=t.tsUnionType=function(e){return(0,n.default)("TSUnionType",...arguments)},t.tSIntersectionType=t.tsIntersectionType=function(e){return(0,n.default)("TSIntersectionType",...arguments)},t.tSConditionalType=t.tsConditionalType=function(e,t,r,i){return(0,n.default)("TSConditionalType",...arguments)},t.tSInferType=t.tsInferType=function(e){return(0,n.default)("TSInferType",...arguments)},t.tSParenthesizedType=t.tsParenthesizedType=function(e){return(0,n.default)("TSParenthesizedType",...arguments)},t.tSTypeOperator=t.tsTypeOperator=function(e){return(0,n.default)("TSTypeOperator",...arguments)},t.tSIndexedAccessType=t.tsIndexedAccessType=function(e,t){return(0,n.default)("TSIndexedAccessType",...arguments)},t.tSMappedType=t.tsMappedType=function(e,t,r){return(0,n.default)("TSMappedType",...arguments)},t.tSLiteralType=t.tsLiteralType=function(e){return(0,n.default)("TSLiteralType",...arguments)},t.tSExpressionWithTypeArguments=t.tsExpressionWithTypeArguments=function(e,t){return(0,n.default)("TSExpressionWithTypeArguments",...arguments)},t.tSInterfaceDeclaration=t.tsInterfaceDeclaration=function(e,t,r,i){return(0,n.default)("TSInterfaceDeclaration",...arguments)},t.tSInterfaceBody=t.tsInterfaceBody=function(e){return(0,n.default)("TSInterfaceBody",...arguments)},t.tSTypeAliasDeclaration=t.tsTypeAliasDeclaration=function(e,t,r){return(0,n.default)("TSTypeAliasDeclaration",...arguments)},t.tSAsExpression=t.tsAsExpression=function(e,t){return(0,n.default)("TSAsExpression",...arguments)},t.tSTypeAssertion=t.tsTypeAssertion=function(e,t){return(0,n.default)("TSTypeAssertion",...arguments)},t.tSEnumDeclaration=t.tsEnumDeclaration=function(e,t){return(0,n.default)("TSEnumDeclaration",...arguments)},t.tSEnumMember=t.tsEnumMember=function(e,t){return(0,n.default)("TSEnumMember",...arguments)},t.tSModuleDeclaration=t.tsModuleDeclaration=function(e,t){return(0,n.default)("TSModuleDeclaration",...arguments)},t.tSModuleBlock=t.tsModuleBlock=function(e){return(0,n.default)("TSModuleBlock",...arguments)},t.tSImportType=t.tsImportType=function(e,t,r){return(0,n.default)("TSImportType",...arguments)},t.tSImportEqualsDeclaration=t.tsImportEqualsDeclaration=function(e,t){return(0,n.default)("TSImportEqualsDeclaration",...arguments)},t.tSExternalModuleReference=t.tsExternalModuleReference=function(e){return(0,n.default)("TSExternalModuleReference",...arguments)},t.tSNonNullExpression=t.tsNonNullExpression=function(e){return(0,n.default)("TSNonNullExpression",...arguments)},t.tSExportAssignment=t.tsExportAssignment=function(e){return(0,n.default)("TSExportAssignment",...arguments)},t.tSNamespaceExportDeclaration=t.tsNamespaceExportDeclaration=function(e){return(0,n.default)("TSNamespaceExportDeclaration",...arguments)},t.tSTypeAnnotation=t.tsTypeAnnotation=function(e){return(0,n.default)("TSTypeAnnotation",...arguments)},t.tSTypeParameterInstantiation=t.tsTypeParameterInstantiation=function(e){return(0,n.default)("TSTypeParameterInstantiation",...arguments)},t.tSTypeParameterDeclaration=t.tsTypeParameterDeclaration=function(e){return(0,n.default)("TSTypeParameterDeclaration",...arguments)},t.tSTypeParameter=t.tsTypeParameter=function(e,t,r){return(0,n.default)("TSTypeParameter",...arguments)},t.numberLiteral=function(...e){return console.trace("The node type NumberLiteral has been renamed to NumericLiteral"),(0,n.default)("NumberLiteral",...e)},t.regexLiteral=function(...e){return console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"),(0,n.default)("RegexLiteral",...e)},t.restProperty=function(...e){return console.trace("The node type RestProperty has been renamed to RestElement"),(0,n.default)("RestProperty",...e)},t.spreadProperty=function(...e){return console.trace("The node type SpreadProperty has been renamed to SpreadElement"),(0,n.default)("SpreadProperty",...e)};var n=r(268)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayExpression=t.arrayExpression=function(...e){return(0,i.default)("ArrayExpression",...e)},t.AssignmentExpression=t.assignmentExpression=function(...e){return(0,i.default)("AssignmentExpression",...e)},t.BinaryExpression=t.binaryExpression=function(...e){return(0,i.default)("BinaryExpression",...e)},t.InterpreterDirective=t.interpreterDirective=function(...e){return(0,i.default)("InterpreterDirective",...e)},t.Directive=t.directive=function(...e){return(0,i.default)("Directive",...e)},t.DirectiveLiteral=t.directiveLiteral=function(...e){return(0,i.default)("DirectiveLiteral",...e)},t.BlockStatement=t.blockStatement=function(...e){return(0,i.default)("BlockStatement",...e)},t.BreakStatement=t.breakStatement=function(...e){return(0,i.default)("BreakStatement",...e)},t.CallExpression=t.callExpression=function(...e){return(0,i.default)("CallExpression",...e)},t.CatchClause=t.catchClause=function(...e){return(0,i.default)("CatchClause",...e)},t.ConditionalExpression=t.conditionalExpression=function(...e){return(0,i.default)("ConditionalExpression",...e)},t.ContinueStatement=t.continueStatement=function(...e){return(0,i.default)("ContinueStatement",...e)},t.DebuggerStatement=t.debuggerStatement=function(...e){return(0,i.default)("DebuggerStatement",...e)},t.DoWhileStatement=t.doWhileStatement=function(...e){return(0,i.default)("DoWhileStatement",...e)},t.EmptyStatement=t.emptyStatement=function(...e){return(0,i.default)("EmptyStatement",...e)},t.ExpressionStatement=t.expressionStatement=function(...e){return(0,i.default)("ExpressionStatement",...e)},t.File=t.file=function(...e){return(0,i.default)("File",...e)},t.ForInStatement=t.forInStatement=function(...e){return(0,i.default)("ForInStatement",...e)},t.ForStatement=t.forStatement=function(...e){return(0,i.default)("ForStatement",...e)},t.FunctionDeclaration=t.functionDeclaration=function(...e){return(0,i.default)("FunctionDeclaration",...e)},t.FunctionExpression=t.functionExpression=function(...e){return(0,i.default)("FunctionExpression",...e)},t.Identifier=t.identifier=function(...e){return(0,i.default)("Identifier",...e)},t.IfStatement=t.ifStatement=function(...e){return(0,i.default)("IfStatement",...e)},t.LabeledStatement=t.labeledStatement=function(...e){return(0,i.default)("LabeledStatement",...e)},t.StringLiteral=t.stringLiteral=function(...e){return(0,i.default)("StringLiteral",...e)},t.NumericLiteral=t.numericLiteral=function(...e){return(0,i.default)("NumericLiteral",...e)},t.NullLiteral=t.nullLiteral=function(...e){return(0,i.default)("NullLiteral",...e)},t.BooleanLiteral=t.booleanLiteral=function(...e){return(0,i.default)("BooleanLiteral",...e)},t.RegExpLiteral=t.regExpLiteral=function(...e){return(0,i.default)("RegExpLiteral",...e)},t.LogicalExpression=t.logicalExpression=function(...e){return(0,i.default)("LogicalExpression",...e)},t.MemberExpression=t.memberExpression=function(...e){return(0,i.default)("MemberExpression",...e)},t.NewExpression=t.newExpression=function(...e){return(0,i.default)("NewExpression",...e)},t.Program=t.program=function(...e){return(0,i.default)("Program",...e)},t.ObjectExpression=t.objectExpression=function(...e){return(0,i.default)("ObjectExpression",...e)},t.ObjectMethod=t.objectMethod=function(...e){return(0,i.default)("ObjectMethod",...e)},t.ObjectProperty=t.objectProperty=function(...e){return(0,i.default)("ObjectProperty",...e)},t.RestElement=t.restElement=function(...e){return(0,i.default)("RestElement",...e)},t.ReturnStatement=t.returnStatement=function(...e){return(0,i.default)("ReturnStatement",...e)},t.SequenceExpression=t.sequenceExpression=function(...e){return(0,i.default)("SequenceExpression",...e)},t.ParenthesizedExpression=t.parenthesizedExpression=function(...e){return(0,i.default)("ParenthesizedExpression",...e)},t.SwitchCase=t.switchCase=function(...e){return(0,i.default)("SwitchCase",...e)},t.SwitchStatement=t.switchStatement=function(...e){return(0,i.default)("SwitchStatement",...e)},t.ThisExpression=t.thisExpression=function(...e){return(0,i.default)("ThisExpression",...e)},t.ThrowStatement=t.throwStatement=function(...e){return(0,i.default)("ThrowStatement",...e)},t.TryStatement=t.tryStatement=function(...e){return(0,i.default)("TryStatement",...e)},t.UnaryExpression=t.unaryExpression=function(...e){return(0,i.default)("UnaryExpression",...e)},t.UpdateExpression=t.updateExpression=function(...e){return(0,i.default)("UpdateExpression",...e)},t.VariableDeclaration=t.variableDeclaration=function(...e){return(0,i.default)("VariableDeclaration",...e)},t.VariableDeclarator=t.variableDeclarator=function(...e){return(0,i.default)("VariableDeclarator",...e)},t.WhileStatement=t.whileStatement=function(...e){return(0,i.default)("WhileStatement",...e)},t.WithStatement=t.withStatement=function(...e){return(0,i.default)("WithStatement",...e)},t.AssignmentPattern=t.assignmentPattern=function(...e){return(0,i.default)("AssignmentPattern",...e)},t.ArrayPattern=t.arrayPattern=function(...e){return(0,i.default)("ArrayPattern",...e)},t.ArrowFunctionExpression=t.arrowFunctionExpression=function(...e){return(0,i.default)("ArrowFunctionExpression",...e)},t.ClassBody=t.classBody=function(...e){return(0,i.default)("ClassBody",...e)},t.ClassExpression=t.classExpression=function(...e){return(0,i.default)("ClassExpression",...e)},t.ClassDeclaration=t.classDeclaration=function(...e){return(0,i.default)("ClassDeclaration",...e)},t.ExportAllDeclaration=t.exportAllDeclaration=function(...e){return(0,i.default)("ExportAllDeclaration",...e)},t.ExportDefaultDeclaration=t.exportDefaultDeclaration=function(...e){return(0,i.default)("ExportDefaultDeclaration",...e)},t.ExportNamedDeclaration=t.exportNamedDeclaration=function(...e){return(0,i.default)("ExportNamedDeclaration",...e)},t.ExportSpecifier=t.exportSpecifier=function(...e){return(0,i.default)("ExportSpecifier",...e)},t.ForOfStatement=t.forOfStatement=function(...e){return(0,i.default)("ForOfStatement",...e)},t.ImportDeclaration=t.importDeclaration=function(...e){return(0,i.default)("ImportDeclaration",...e)},t.ImportDefaultSpecifier=t.importDefaultSpecifier=function(...e){return(0,i.default)("ImportDefaultSpecifier",...e)},t.ImportNamespaceSpecifier=t.importNamespaceSpecifier=function(...e){return(0,i.default)("ImportNamespaceSpecifier",...e)},t.ImportSpecifier=t.importSpecifier=function(...e){return(0,i.default)("ImportSpecifier",...e)},t.MetaProperty=t.metaProperty=function(...e){return(0,i.default)("MetaProperty",...e)},t.ClassMethod=t.classMethod=function(...e){return(0,i.default)("ClassMethod",...e)},t.ObjectPattern=t.objectPattern=function(...e){return(0,i.default)("ObjectPattern",...e)},t.SpreadElement=t.spreadElement=function(...e){return(0,i.default)("SpreadElement",...e)},t.super=t.Super=function(...e){return(0,i.default)("Super",...e)},t.TaggedTemplateExpression=t.taggedTemplateExpression=function(...e){return(0,i.default)("TaggedTemplateExpression",...e)},t.TemplateElement=t.templateElement=function(...e){return(0,i.default)("TemplateElement",...e)},t.TemplateLiteral=t.templateLiteral=function(...e){return(0,i.default)("TemplateLiteral",...e)},t.YieldExpression=t.yieldExpression=function(...e){return(0,i.default)("YieldExpression",...e)},t.AwaitExpression=t.awaitExpression=function(...e){return(0,i.default)("AwaitExpression",...e)},t.import=t.Import=function(...e){return(0,i.default)("Import",...e)},t.BigIntLiteral=t.bigIntLiteral=function(...e){return(0,i.default)("BigIntLiteral",...e)},t.ExportNamespaceSpecifier=t.exportNamespaceSpecifier=function(...e){return(0,i.default)("ExportNamespaceSpecifier",...e)},t.OptionalMemberExpression=t.optionalMemberExpression=function(...e){return(0,i.default)("OptionalMemberExpression",...e)},t.OptionalCallExpression=t.optionalCallExpression=function(...e){return(0,i.default)("OptionalCallExpression",...e)},t.AnyTypeAnnotation=t.anyTypeAnnotation=function(...e){return(0,i.default)("AnyTypeAnnotation",...e)},t.ArrayTypeAnnotation=t.arrayTypeAnnotation=function(...e){return(0,i.default)("ArrayTypeAnnotation",...e)},t.BooleanTypeAnnotation=t.booleanTypeAnnotation=function(...e){return(0,i.default)("BooleanTypeAnnotation",...e)},t.BooleanLiteralTypeAnnotation=t.booleanLiteralTypeAnnotation=function(...e){return(0,i.default)("BooleanLiteralTypeAnnotation",...e)},t.NullLiteralTypeAnnotation=t.nullLiteralTypeAnnotation=function(...e){return(0,i.default)("NullLiteralTypeAnnotation",...e)},t.ClassImplements=t.classImplements=function(...e){return(0,i.default)("ClassImplements",...e)},t.DeclareClass=t.declareClass=function(...e){return(0,i.default)("DeclareClass",...e)},t.DeclareFunction=t.declareFunction=function(...e){return(0,i.default)("DeclareFunction",...e)},t.DeclareInterface=t.declareInterface=function(...e){return(0,i.default)("DeclareInterface",...e)},t.DeclareModule=t.declareModule=function(...e){return(0,i.default)("DeclareModule",...e)},t.DeclareModuleExports=t.declareModuleExports=function(...e){return(0,i.default)("DeclareModuleExports",...e)},t.DeclareTypeAlias=t.declareTypeAlias=function(...e){return(0,i.default)("DeclareTypeAlias",...e)},t.DeclareOpaqueType=t.declareOpaqueType=function(...e){return(0,i.default)("DeclareOpaqueType",...e)},t.DeclareVariable=t.declareVariable=function(...e){return(0,i.default)("DeclareVariable",...e)},t.DeclareExportDeclaration=t.declareExportDeclaration=function(...e){return(0,i.default)("DeclareExportDeclaration",...e)},t.DeclareExportAllDeclaration=t.declareExportAllDeclaration=function(...e){return(0,i.default)("DeclareExportAllDeclaration",...e)},t.DeclaredPredicate=t.declaredPredicate=function(...e){return(0,i.default)("DeclaredPredicate",...e)},t.ExistsTypeAnnotation=t.existsTypeAnnotation=function(...e){return(0,i.default)("ExistsTypeAnnotation",...e)},t.FunctionTypeAnnotation=t.functionTypeAnnotation=function(...e){return(0,i.default)("FunctionTypeAnnotation",...e)},t.FunctionTypeParam=t.functionTypeParam=function(...e){return(0,i.default)("FunctionTypeParam",...e)},t.GenericTypeAnnotation=t.genericTypeAnnotation=function(...e){return(0,i.default)("GenericTypeAnnotation",...e)},t.InferredPredicate=t.inferredPredicate=function(...e){return(0,i.default)("InferredPredicate",...e)},t.InterfaceExtends=t.interfaceExtends=function(...e){return(0,i.default)("InterfaceExtends",...e)},t.InterfaceDeclaration=t.interfaceDeclaration=function(...e){return(0,i.default)("InterfaceDeclaration",...e)},t.InterfaceTypeAnnotation=t.interfaceTypeAnnotation=function(...e){return(0,i.default)("InterfaceTypeAnnotation",...e)},t.IntersectionTypeAnnotation=t.intersectionTypeAnnotation=function(...e){return(0,i.default)("IntersectionTypeAnnotation",...e)},t.MixedTypeAnnotation=t.mixedTypeAnnotation=function(...e){return(0,i.default)("MixedTypeAnnotation",...e)},t.EmptyTypeAnnotation=t.emptyTypeAnnotation=function(...e){return(0,i.default)("EmptyTypeAnnotation",...e)},t.NullableTypeAnnotation=t.nullableTypeAnnotation=function(...e){return(0,i.default)("NullableTypeAnnotation",...e)},t.NumberLiteralTypeAnnotation=t.numberLiteralTypeAnnotation=function(...e){return(0,i.default)("NumberLiteralTypeAnnotation",...e)},t.NumberTypeAnnotation=t.numberTypeAnnotation=function(...e){return(0,i.default)("NumberTypeAnnotation",...e)},t.ObjectTypeAnnotation=t.objectTypeAnnotation=function(...e){return(0,i.default)("ObjectTypeAnnotation",...e)},t.ObjectTypeInternalSlot=t.objectTypeInternalSlot=function(...e){return(0,i.default)("ObjectTypeInternalSlot",...e)},t.ObjectTypeCallProperty=t.objectTypeCallProperty=function(...e){return(0,i.default)("ObjectTypeCallProperty",...e)},t.ObjectTypeIndexer=t.objectTypeIndexer=function(...e){return(0,i.default)("ObjectTypeIndexer",...e)},t.ObjectTypeProperty=t.objectTypeProperty=function(...e){return(0,i.default)("ObjectTypeProperty",...e)},t.ObjectTypeSpreadProperty=t.objectTypeSpreadProperty=function(...e){return(0,i.default)("ObjectTypeSpreadProperty",...e)},t.OpaqueType=t.opaqueType=function(...e){return(0,i.default)("OpaqueType",...e)},t.QualifiedTypeIdentifier=t.qualifiedTypeIdentifier=function(...e){return(0,i.default)("QualifiedTypeIdentifier",...e)},t.StringLiteralTypeAnnotation=t.stringLiteralTypeAnnotation=function(...e){return(0,i.default)("StringLiteralTypeAnnotation",...e)},t.StringTypeAnnotation=t.stringTypeAnnotation=function(...e){return(0,i.default)("StringTypeAnnotation",...e)},t.SymbolTypeAnnotation=t.symbolTypeAnnotation=function(...e){return(0,i.default)("SymbolTypeAnnotation",...e)},t.ThisTypeAnnotation=t.thisTypeAnnotation=function(...e){return(0,i.default)("ThisTypeAnnotation",...e)},t.TupleTypeAnnotation=t.tupleTypeAnnotation=function(...e){return(0,i.default)("TupleTypeAnnotation",...e)},t.TypeofTypeAnnotation=t.typeofTypeAnnotation=function(...e){return(0,i.default)("TypeofTypeAnnotation",...e)},t.TypeAlias=t.typeAlias=function(...e){return(0,i.default)("TypeAlias",...e)},t.TypeAnnotation=t.typeAnnotation=function(...e){return(0,i.default)("TypeAnnotation",...e)},t.TypeCastExpression=t.typeCastExpression=function(...e){return(0,i.default)("TypeCastExpression",...e)},t.TypeParameter=t.typeParameter=function(...e){return(0,i.default)("TypeParameter",...e)},t.TypeParameterDeclaration=t.typeParameterDeclaration=function(...e){return(0,i.default)("TypeParameterDeclaration",...e)},t.TypeParameterInstantiation=t.typeParameterInstantiation=function(...e){return(0,i.default)("TypeParameterInstantiation",...e)},t.UnionTypeAnnotation=t.unionTypeAnnotation=function(...e){return(0,i.default)("UnionTypeAnnotation",...e)},t.Variance=t.variance=function(...e){return(0,i.default)("Variance",...e)},t.VoidTypeAnnotation=t.voidTypeAnnotation=function(...e){return(0,i.default)("VoidTypeAnnotation",...e)},t.EnumDeclaration=t.enumDeclaration=function(...e){return(0,i.default)("EnumDeclaration",...e)},t.EnumBooleanBody=t.enumBooleanBody=function(...e){return(0,i.default)("EnumBooleanBody",...e)},t.EnumNumberBody=t.enumNumberBody=function(...e){return(0,i.default)("EnumNumberBody",...e)},t.EnumStringBody=t.enumStringBody=function(...e){return(0,i.default)("EnumStringBody",...e)},t.EnumSymbolBody=t.enumSymbolBody=function(...e){return(0,i.default)("EnumSymbolBody",...e)},t.EnumBooleanMember=t.enumBooleanMember=function(...e){return(0,i.default)("EnumBooleanMember",...e)},t.EnumNumberMember=t.enumNumberMember=function(...e){return(0,i.default)("EnumNumberMember",...e)},t.EnumStringMember=t.enumStringMember=function(...e){return(0,i.default)("EnumStringMember",...e)},t.EnumDefaultedMember=t.enumDefaultedMember=function(...e){return(0,i.default)("EnumDefaultedMember",...e)},t.jSXAttribute=t.JSXAttribute=t.jsxAttribute=function(...e){return(0,i.default)("JSXAttribute",...e)},t.jSXClosingElement=t.JSXClosingElement=t.jsxClosingElement=function(...e){return(0,i.default)("JSXClosingElement",...e)},t.jSXElement=t.JSXElement=t.jsxElement=function(...e){return(0,i.default)("JSXElement",...e)},t.jSXEmptyExpression=t.JSXEmptyExpression=t.jsxEmptyExpression=function(...e){return(0,i.default)("JSXEmptyExpression",...e)},t.jSXExpressionContainer=t.JSXExpressionContainer=t.jsxExpressionContainer=function(...e){return(0,i.default)("JSXExpressionContainer",...e)},t.jSXSpreadChild=t.JSXSpreadChild=t.jsxSpreadChild=function(...e){return(0,i.default)("JSXSpreadChild",...e)},t.jSXIdentifier=t.JSXIdentifier=t.jsxIdentifier=function(...e){return(0,i.default)("JSXIdentifier",...e)},t.jSXMemberExpression=t.JSXMemberExpression=t.jsxMemberExpression=function(...e){return(0,i.default)("JSXMemberExpression",...e)},t.jSXNamespacedName=t.JSXNamespacedName=t.jsxNamespacedName=function(...e){return(0,i.default)("JSXNamespacedName",...e)},t.jSXOpeningElement=t.JSXOpeningElement=t.jsxOpeningElement=function(...e){return(0,i.default)("JSXOpeningElement",...e)},t.jSXSpreadAttribute=t.JSXSpreadAttribute=t.jsxSpreadAttribute=function(...e){return(0,i.default)("JSXSpreadAttribute",...e)},t.jSXText=t.JSXText=t.jsxText=function(...e){return(0,i.default)("JSXText",...e)},t.jSXFragment=t.JSXFragment=t.jsxFragment=function(...e){return(0,i.default)("JSXFragment",...e)},t.jSXOpeningFragment=t.JSXOpeningFragment=t.jsxOpeningFragment=function(...e){return(0,i.default)("JSXOpeningFragment",...e)},t.jSXClosingFragment=t.JSXClosingFragment=t.jsxClosingFragment=function(...e){return(0,i.default)("JSXClosingFragment",...e)},t.Noop=t.noop=function(...e){return(0,i.default)("Noop",...e)},t.Placeholder=t.placeholder=function(...e){return(0,i.default)("Placeholder",...e)},t.V8IntrinsicIdentifier=t.v8IntrinsicIdentifier=function(...e){return(0,i.default)("V8IntrinsicIdentifier",...e)},t.ArgumentPlaceholder=t.argumentPlaceholder=function(...e){return(0,i.default)("ArgumentPlaceholder",...e)},t.BindExpression=t.bindExpression=function(...e){return(0,i.default)("BindExpression",...e)},t.ClassProperty=t.classProperty=function(...e){return(0,i.default)("ClassProperty",...e)},t.PipelineTopicExpression=t.pipelineTopicExpression=function(...e){return(0,i.default)("PipelineTopicExpression",...e)},t.PipelineBareFunction=t.pipelineBareFunction=function(...e){return(0,i.default)("PipelineBareFunction",...e)},t.PipelinePrimaryTopicReference=t.pipelinePrimaryTopicReference=function(...e){return(0,i.default)("PipelinePrimaryTopicReference",...e)},t.ClassPrivateProperty=t.classPrivateProperty=function(...e){return(0,i.default)("ClassPrivateProperty",...e)},t.ClassPrivateMethod=t.classPrivateMethod=function(...e){return(0,i.default)("ClassPrivateMethod",...e)},t.ImportAttribute=t.importAttribute=function(...e){return(0,i.default)("ImportAttribute",...e)},t.Decorator=t.decorator=function(...e){return(0,i.default)("Decorator",...e)},t.DoExpression=t.doExpression=function(...e){return(0,i.default)("DoExpression",...e)},t.ExportDefaultSpecifier=t.exportDefaultSpecifier=function(...e){return(0,i.default)("ExportDefaultSpecifier",...e)},t.PrivateName=t.privateName=function(...e){return(0,i.default)("PrivateName",...e)},t.RecordExpression=t.recordExpression=function(...e){return(0,i.default)("RecordExpression",...e)},t.TupleExpression=t.tupleExpression=function(...e){return(0,i.default)("TupleExpression",...e)},t.DecimalLiteral=t.decimalLiteral=function(...e){return(0,i.default)("DecimalLiteral",...e)},t.StaticBlock=t.staticBlock=function(...e){return(0,i.default)("StaticBlock",...e)},t.tSParameterProperty=t.TSParameterProperty=t.tsParameterProperty=function(...e){return(0,i.default)("TSParameterProperty",...e)},t.tSDeclareFunction=t.TSDeclareFunction=t.tsDeclareFunction=function(...e){return(0,i.default)("TSDeclareFunction",...e)},t.tSDeclareMethod=t.TSDeclareMethod=t.tsDeclareMethod=function(...e){return(0,i.default)("TSDeclareMethod",...e)},t.tSQualifiedName=t.TSQualifiedName=t.tsQualifiedName=function(...e){return(0,i.default)("TSQualifiedName",...e)},t.tSCallSignatureDeclaration=t.TSCallSignatureDeclaration=t.tsCallSignatureDeclaration=function(...e){return(0,i.default)("TSCallSignatureDeclaration",...e)},t.tSConstructSignatureDeclaration=t.TSConstructSignatureDeclaration=t.tsConstructSignatureDeclaration=function(...e){return(0,i.default)("TSConstructSignatureDeclaration",...e)},t.tSPropertySignature=t.TSPropertySignature=t.tsPropertySignature=function(...e){return(0,i.default)("TSPropertySignature",...e)},t.tSMethodSignature=t.TSMethodSignature=t.tsMethodSignature=function(...e){return(0,i.default)("TSMethodSignature",...e)},t.tSIndexSignature=t.TSIndexSignature=t.tsIndexSignature=function(...e){return(0,i.default)("TSIndexSignature",...e)},t.tSAnyKeyword=t.TSAnyKeyword=t.tsAnyKeyword=function(...e){return(0,i.default)("TSAnyKeyword",...e)},t.tSBooleanKeyword=t.TSBooleanKeyword=t.tsBooleanKeyword=function(...e){return(0,i.default)("TSBooleanKeyword",...e)},t.tSBigIntKeyword=t.TSBigIntKeyword=t.tsBigIntKeyword=function(...e){return(0,i.default)("TSBigIntKeyword",...e)},t.tSIntrinsicKeyword=t.TSIntrinsicKeyword=t.tsIntrinsicKeyword=function(...e){return(0,i.default)("TSIntrinsicKeyword",...e)},t.tSNeverKeyword=t.TSNeverKeyword=t.tsNeverKeyword=function(...e){return(0,i.default)("TSNeverKeyword",...e)},t.tSNullKeyword=t.TSNullKeyword=t.tsNullKeyword=function(...e){return(0,i.default)("TSNullKeyword",...e)},t.tSNumberKeyword=t.TSNumberKeyword=t.tsNumberKeyword=function(...e){return(0,i.default)("TSNumberKeyword",...e)},t.tSObjectKeyword=t.TSObjectKeyword=t.tsObjectKeyword=function(...e){return(0,i.default)("TSObjectKeyword",...e)},t.tSStringKeyword=t.TSStringKeyword=t.tsStringKeyword=function(...e){return(0,i.default)("TSStringKeyword",...e)},t.tSSymbolKeyword=t.TSSymbolKeyword=t.tsSymbolKeyword=function(...e){return(0,i.default)("TSSymbolKeyword",...e)},t.tSUndefinedKeyword=t.TSUndefinedKeyword=t.tsUndefinedKeyword=function(...e){return(0,i.default)("TSUndefinedKeyword",...e)},t.tSUnknownKeyword=t.TSUnknownKeyword=t.tsUnknownKeyword=function(...e){return(0,i.default)("TSUnknownKeyword",...e)},t.tSVoidKeyword=t.TSVoidKeyword=t.tsVoidKeyword=function(...e){return(0,i.default)("TSVoidKeyword",...e)},t.tSThisType=t.TSThisType=t.tsThisType=function(...e){return(0,i.default)("TSThisType",...e)},t.tSFunctionType=t.TSFunctionType=t.tsFunctionType=function(...e){return(0,i.default)("TSFunctionType",...e)},t.tSConstructorType=t.TSConstructorType=t.tsConstructorType=function(...e){return(0,i.default)("TSConstructorType",...e)},t.tSTypeReference=t.TSTypeReference=t.tsTypeReference=function(...e){return(0,i.default)("TSTypeReference",...e)},t.tSTypePredicate=t.TSTypePredicate=t.tsTypePredicate=function(...e){return(0,i.default)("TSTypePredicate",...e)},t.tSTypeQuery=t.TSTypeQuery=t.tsTypeQuery=function(...e){return(0,i.default)("TSTypeQuery",...e)},t.tSTypeLiteral=t.TSTypeLiteral=t.tsTypeLiteral=function(...e){return(0,i.default)("TSTypeLiteral",...e)},t.tSArrayType=t.TSArrayType=t.tsArrayType=function(...e){return(0,i.default)("TSArrayType",...e)},t.tSTupleType=t.TSTupleType=t.tsTupleType=function(...e){return(0,i.default)("TSTupleType",...e)},t.tSOptionalType=t.TSOptionalType=t.tsOptionalType=function(...e){return(0,i.default)("TSOptionalType",...e)},t.tSRestType=t.TSRestType=t.tsRestType=function(...e){return(0,i.default)("TSRestType",...e)},t.tSNamedTupleMember=t.TSNamedTupleMember=t.tsNamedTupleMember=function(...e){return(0,i.default)("TSNamedTupleMember",...e)},t.tSUnionType=t.TSUnionType=t.tsUnionType=function(...e){return(0,i.default)("TSUnionType",...e)},t.tSIntersectionType=t.TSIntersectionType=t.tsIntersectionType=function(...e){return(0,i.default)("TSIntersectionType",...e)},t.tSConditionalType=t.TSConditionalType=t.tsConditionalType=function(...e){return(0,i.default)("TSConditionalType",...e)},t.tSInferType=t.TSInferType=t.tsInferType=function(...e){return(0,i.default)("TSInferType",...e)},t.tSParenthesizedType=t.TSParenthesizedType=t.tsParenthesizedType=function(...e){return(0,i.default)("TSParenthesizedType",...e)},t.tSTypeOperator=t.TSTypeOperator=t.tsTypeOperator=function(...e){return(0,i.default)("TSTypeOperator",...e)},t.tSIndexedAccessType=t.TSIndexedAccessType=t.tsIndexedAccessType=function(...e){return(0,i.default)("TSIndexedAccessType",...e)},t.tSMappedType=t.TSMappedType=t.tsMappedType=function(...e){return(0,i.default)("TSMappedType",...e)},t.tSLiteralType=t.TSLiteralType=t.tsLiteralType=function(...e){return(0,i.default)("TSLiteralType",...e)},t.tSExpressionWithTypeArguments=t.TSExpressionWithTypeArguments=t.tsExpressionWithTypeArguments=function(...e){return(0,i.default)("TSExpressionWithTypeArguments",...e)},t.tSInterfaceDeclaration=t.TSInterfaceDeclaration=t.tsInterfaceDeclaration=function(...e){return(0,i.default)("TSInterfaceDeclaration",...e)},t.tSInterfaceBody=t.TSInterfaceBody=t.tsInterfaceBody=function(...e){return(0,i.default)("TSInterfaceBody",...e)},t.tSTypeAliasDeclaration=t.TSTypeAliasDeclaration=t.tsTypeAliasDeclaration=function(...e){return(0,i.default)("TSTypeAliasDeclaration",...e)},t.tSAsExpression=t.TSAsExpression=t.tsAsExpression=function(...e){return(0,i.default)("TSAsExpression",...e)},t.tSTypeAssertion=t.TSTypeAssertion=t.tsTypeAssertion=function(...e){return(0,i.default)("TSTypeAssertion",...e)},t.tSEnumDeclaration=t.TSEnumDeclaration=t.tsEnumDeclaration=function(...e){return(0,i.default)("TSEnumDeclaration",...e)},t.tSEnumMember=t.TSEnumMember=t.tsEnumMember=function(...e){return(0,i.default)("TSEnumMember",...e)},t.tSModuleDeclaration=t.TSModuleDeclaration=t.tsModuleDeclaration=function(...e){return(0,i.default)("TSModuleDeclaration",...e)},t.tSModuleBlock=t.TSModuleBlock=t.tsModuleBlock=function(...e){return(0,i.default)("TSModuleBlock",...e)},t.tSImportType=t.TSImportType=t.tsImportType=function(...e){return(0,i.default)("TSImportType",...e)},t.tSImportEqualsDeclaration=t.TSImportEqualsDeclaration=t.tsImportEqualsDeclaration=function(...e){return(0,i.default)("TSImportEqualsDeclaration",...e)},t.tSExternalModuleReference=t.TSExternalModuleReference=t.tsExternalModuleReference=function(...e){return(0,i.default)("TSExternalModuleReference",...e)},t.tSNonNullExpression=t.TSNonNullExpression=t.tsNonNullExpression=function(...e){return(0,i.default)("TSNonNullExpression",...e)},t.tSExportAssignment=t.TSExportAssignment=t.tsExportAssignment=function(...e){return(0,i.default)("TSExportAssignment",...e)},t.tSNamespaceExportDeclaration=t.TSNamespaceExportDeclaration=t.tsNamespaceExportDeclaration=function(...e){return(0,i.default)("TSNamespaceExportDeclaration",...e)},t.tSTypeAnnotation=t.TSTypeAnnotation=t.tsTypeAnnotation=function(...e){return(0,i.default)("TSTypeAnnotation",...e)},t.tSTypeParameterInstantiation=t.TSTypeParameterInstantiation=t.tsTypeParameterInstantiation=function(...e){return(0,i.default)("TSTypeParameterInstantiation",...e)},t.tSTypeParameterDeclaration=t.TSTypeParameterDeclaration=t.tsTypeParameterDeclaration=function(...e){return(0,i.default)("TSTypeParameterDeclaration",...e)},t.tSTypeParameter=t.TSTypeParameter=t.tsTypeParameter=function(...e){return(0,i.default)("TSTypeParameter",...e)},t.numberLiteral=t.NumberLiteral=function(...e){return console.trace("The node type NumberLiteral has been renamed to NumericLiteral"),(0,i.default)("NumberLiteral",...e)},t.regexLiteral=t.RegexLiteral=function(...e){return console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"),(0,i.default)("RegexLiteral",...e)},t.restProperty=t.RestProperty=function(...e){return console.trace("The node type RestProperty has been renamed to RestElement"),(0,i.default)("RestProperty",...e)},t.spreadProperty=t.SpreadProperty=function(...e){return console.trace("The node type SpreadProperty has been renamed to SpreadElement"),(0,i.default)("SpreadProperty",...e)};var n,i=(n=r(137))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"VISITOR_KEYS",{enumerable:!0,get:function(){return s.VISITOR_KEYS}}),Object.defineProperty(t,"ALIAS_KEYS",{enumerable:!0,get:function(){return s.ALIAS_KEYS}}),Object.defineProperty(t,"FLIPPED_ALIAS_KEYS",{enumerable:!0,get:function(){return s.FLIPPED_ALIAS_KEYS}}),Object.defineProperty(t,"NODE_FIELDS",{enumerable:!0,get:function(){return s.NODE_FIELDS}}),Object.defineProperty(t,"BUILDER_KEYS",{enumerable:!0,get:function(){return s.BUILDER_KEYS}}),Object.defineProperty(t,"DEPRECATED_KEYS",{enumerable:!0,get:function(){return s.DEPRECATED_KEYS}}),Object.defineProperty(t,"NODE_PARENT_VALIDATIONS",{enumerable:!0,get:function(){return s.NODE_PARENT_VALIDATIONS}}),Object.defineProperty(t,"PLACEHOLDERS",{enumerable:!0,get:function(){return a.PLACEHOLDERS}}),Object.defineProperty(t,"PLACEHOLDERS_ALIAS",{enumerable:!0,get:function(){return a.PLACEHOLDERS_ALIAS}}),Object.defineProperty(t,"PLACEHOLDERS_FLIPPED_ALIAS",{enumerable:!0,get:function(){return a.PLACEHOLDERS_FLIPPED_ALIAS}}),t.TYPES=void 0;var n,i=(n=r(81))&&n.__esModule?n:{default:n};r(50),r(211),r(212),r(213),r(214),r(215);var s=r(9),a=r(83);(0,i.default)(s.VISITOR_KEYS),(0,i.default)(s.ALIAS_KEYS),(0,i.default)(s.FLIPPED_ALIAS_KEYS),(0,i.default)(s.NODE_FIELDS),(0,i.default)(s.BUILDER_KEYS),(0,i.default)(s.DEPRECATED_KEYS),(0,i.default)(a.PLACEHOLDERS_ALIAS),(0,i.default)(a.PLACEHOLDERS_FLIPPED_ALIAS);const o=Object.keys(s.VISITOR_KEYS).concat(Object.keys(s.FLIPPED_ALIAS_KEYS)).concat(Object.keys(s.DEPRECATED_KEYS));t.TYPES=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"VISITOR_KEYS",{enumerable:!0,get:function(){return i.VISITOR_KEYS}}),Object.defineProperty(t,"ALIAS_KEYS",{enumerable:!0,get:function(){return i.ALIAS_KEYS}}),Object.defineProperty(t,"FLIPPED_ALIAS_KEYS",{enumerable:!0,get:function(){return i.FLIPPED_ALIAS_KEYS}}),Object.defineProperty(t,"NODE_FIELDS",{enumerable:!0,get:function(){return i.NODE_FIELDS}}),Object.defineProperty(t,"BUILDER_KEYS",{enumerable:!0,get:function(){return i.BUILDER_KEYS}}),Object.defineProperty(t,"DEPRECATED_KEYS",{enumerable:!0,get:function(){return i.DEPRECATED_KEYS}}),Object.defineProperty(t,"NODE_PARENT_VALIDATIONS",{enumerable:!0,get:function(){return i.NODE_PARENT_VALIDATIONS}}),Object.defineProperty(t,"PLACEHOLDERS",{enumerable:!0,get:function(){return s.PLACEHOLDERS}}),Object.defineProperty(t,"PLACEHOLDERS_ALIAS",{enumerable:!0,get:function(){return s.PLACEHOLDERS_ALIAS}}),Object.defineProperty(t,"PLACEHOLDERS_FLIPPED_ALIAS",{enumerable:!0,get:function(){return s.PLACEHOLDERS_FLIPPED_ALIAS}}),t.TYPES=void 0;var n=r(81);r(55),r(269),r(270),r(271),r(272),r(273);var i=r(10),s=r(105);n(i.VISITOR_KEYS),n(i.ALIAS_KEYS),n(i.FLIPPED_ALIAS_KEYS),n(i.NODE_FIELDS),n(i.BUILDER_KEYS),n(i.DEPRECATED_KEYS),n(s.PLACEHOLDERS_ALIAS),n(s.PLACEHOLDERS_FLIPPED_ALIAS);const a=Object.keys(i.VISITOR_KEYS).concat(Object.keys(i.FLIPPED_ALIAS_KEYS)).concat(Object.keys(i.DEPRECATED_KEYS));t.TYPES=a},function(e,t,r){var n=r(68),i="object"==typeof self&&self&&self.Object===Object&&self,s=n||i||Function("return this")();e.exports=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.SHOULD_SKIP=t.SHOULD_STOP=t.REMOVED=void 0;var n=P(r(63)),i=x(r(255)),s=x(r(17)),a=x(r(100)),o=P(r(0)),l=r(38),c=x(r(314)),p=P(r(338)),u=P(r(339)),d=P(r(342)),h=P(r(353)),f=P(r(354)),m=P(r(363)),y=P(r(364)),T=P(r(365)),b=P(r(367)),g=P(r(369)),S=P(r(370));function x(e){return e&&e.__esModule?e:{default:e}}function E(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return E=function(){return e},e}function P(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=E();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=n?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}const v=(0,i.default)("babel");t.REMOVED=1;t.SHOULD_STOP=2;t.SHOULD_SKIP=4;class A{constructor(e,t){this.contexts=[],this.state=null,this.opts=null,this._traverseFlags=0,this.skipKeys=null,this.parentPath=null,this.container=null,this.listKey=null,this.key=null,this.node=null,this.type=null,this.parent=t,this.hub=e,this.data=null,this.context=null,this.scope=null}static get({hub:e,parentPath:t,parent:r,container:n,listKey:i,key:s}){if(!e&&t&&(e=t.hub),!r)throw new Error("To get a node path the parent needs to exist");const a=n[s],o=l.path.get(r)||[];let c;l.path.has(r)||l.path.set(r,o);for(let e=0;e{l[t]=l[t]||[],l[t].push(e)}),t.validate&&(d[e]=t.validate);v[e]=t},t.NODE_PARENT_VALIDATIONS=t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.NODE_FIELDS=t.FLIPPED_ALIAS_KEYS=t.ALIAS_KEYS=t.VISITOR_KEYS=void 0;var n,i=(n=r(34))&&n.__esModule?n:{default:n},s=r(52);const a={};t.VISITOR_KEYS=a;const o={};t.ALIAS_KEYS=o;const l={};t.FLIPPED_ALIAS_KEYS=l;const c={};t.NODE_FIELDS=c;const p={};t.BUILDER_KEYS=p;const u={};t.DEPRECATED_KEYS=u;const d={};function h(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function f(e){return{validate:e}}function m(e){return"string"==typeof e?g(e):g(...e)}function y(e){return x(S("array"),b(e))}function T(e){return y(m(e))}function b(e){function t(t,r,n){if(Array.isArray(n))for(let i=0;i0:i&&"object"==typeof i)throw new Error("field defaults can only be primitives or empty arrays currently");n[t]={default:Array.isArray(i)?[]:i,optional:e.optional,validate:e.validate}}}const i=t.visitor||r.visitor||[],h=t.aliases||r.aliases||[],f=t.builder||r.builder||t.visitor||[];for(const r of Object.keys(t))if(-1===x.indexOf(r))throw new Error(`Unknown type option "${r}" on ${e}`);t.deprecatedAlias&&(p[t.deprecatedAlias]=e);for(const e of i.concat(f))n[e]=n[e]||{};for(const t of Object.keys(n)){const r=n[t];void 0!==r.default&&-1===f.indexOf(t)&&(r.optional=!0),void 0===r.default?r.default=null:r.validate||null==r.default||(r.validate=g(d(r.default)));for(const n of Object.keys(r))if(-1===E.indexOf(n))throw new Error(`Unknown field key "${n}" on ${e}.${t}`)}s[e]=t.visitor=i,c[e]=t.builder=f,l[e]=t.fields=n,a[e]=t.aliases=h,h.forEach(t=>{o[t]=o[t]||[],o[t].push(e)}),t.validate&&(u[e]=t.validate);P[e]=t},t.NODE_PARENT_VALIDATIONS=t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.NODE_FIELDS=t.FLIPPED_ALIAS_KEYS=t.ALIAS_KEYS=t.VISITOR_KEYS=void 0;var n=r(36),i=r(57);const s={};t.VISITOR_KEYS=s;const a={};t.ALIAS_KEYS=a;const o={};t.FLIPPED_ALIAS_KEYS=o;const l={};t.NODE_FIELDS=l;const c={};t.BUILDER_KEYS=c;const p={};t.DEPRECATED_KEYS=p;const u={};function d(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function h(e){return{validate:e}}function f(e){return"string"==typeof e?b(e):b(...e)}function m(e){return S(g("array"),T(e))}function y(e){return m(f(e))}function T(e){function t(t,r,n){if(Array.isArray(n))for(let s=0;s=2&&"type"in e[0]&&"array"===e[0].type&&!("each"in e[1]))throw new Error(\'An assertValueType("array") validator can only be followed by an assertEach(...) validator.\');return t}t.NODE_PARENT_VALIDATIONS=u;const x=["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"],E=["default","optional","validate"];const P={}},function(e,t,r){var n=r(151),i=r(156);e.exports=function(e,t){var r=i(e,t);return n(r)?r:void 0}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NOT_LOCAL_BINDING=t.BLOCK_SCOPED_SYMBOL=t.INHERIT_KEYS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.NUMBER_UNARY_OPERATORS=t.BOOLEAN_UNARY_OPERATORS=t.ASSIGNMENT_OPERATORS=t.BINARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.EQUALITY_BINARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.UPDATE_OPERATORS=t.LOGICAL_OPERATORS=t.COMMENT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.STATEMENT_OR_BLOCK_KEYS=void 0;t.STATEMENT_OR_BLOCK_KEYS=["consequent","body","alternate"];t.FLATTENABLE_KEYS=["body","expressions"];t.FOR_INIT_KEYS=["left","init"];t.COMMENT_KEYS=["leadingComments","trailingComments","innerComments"];const n=["||","&&","??"];t.LOGICAL_OPERATORS=n;t.UPDATE_OPERATORS=["++","--"];const i=[">","<",">=","<="];t.BOOLEAN_NUMBER_BINARY_OPERATORS=i;const s=["==","===","!=","!=="];t.EQUALITY_BINARY_OPERATORS=s;const a=[...s,"in","instanceof"];t.COMPARISON_BINARY_OPERATORS=a;const o=[...a,...i];t.BOOLEAN_BINARY_OPERATORS=o;const l=["-","/","%","*","**","&","|",">>",">>>","<<","^"];t.NUMBER_BINARY_OPERATORS=l;const c=["+",...l,...o];t.BINARY_OPERATORS=c;const p=["=","+=",...l.map(e=>e+"="),...n.map(e=>e+"=")];t.ASSIGNMENT_OPERATORS=p;const u=["delete","!"];t.BOOLEAN_UNARY_OPERATORS=u;const d=["+","-","~"];t.NUMBER_UNARY_OPERATORS=d;const h=["typeof"];t.STRING_UNARY_OPERATORS=h;const f=["void","throw",...u,...d,...h];t.UNARY_OPERATORS=f;t.INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]};const m=Symbol.for("var used to be block scoped");t.BLOCK_SCOPED_SYMBOL=m;const y=Symbol.for("should not be considered a local binding");t.NOT_LOCAL_BINDING=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var n=r(5);const i=Function.call.bind(Object.prototype.hasOwnProperty);function s(e,t,r){return e&&"string"==typeof e.type?o(e,t,r):e}function a(e,t,r){return Array.isArray(e)?e.map(e=>s(e,t,r)):s(e,t,r)}function o(e,t=!0,r=!1){if(!e)return e;const{type:s}=e,o={type:s};if("Identifier"===s)o.name=e.name,i(e,"optional")&&"boolean"==typeof e.optional&&(o.optional=e.optional),i(e,"typeAnnotation")&&(o.typeAnnotation=t?a(e.typeAnnotation,!0,r):e.typeAnnotation);else{if(!i(n.NODE_FIELDS,s))throw new Error(`Unknown node type: "${s}"`);for(const c of Object.keys(n.NODE_FIELDS[s]))i(e,c)&&(o[c]=t?"File"===s&&"comments"===c?l(e.comments,t,r):a(e[c],!0,r):e[c])}return i(e,"loc")&&(o.loc=r?null:e.loc),i(e,"leadingComments")&&(o.leadingComments=l(e.leadingComments,t,r)),i(e,"innerComments")&&(o.innerComments=l(e.innerComments,t,r)),i(e,"trailingComments")&&(o.trailingComments=l(e.trailingComments,t,r)),i(e,"extra")&&(o.extra=Object.assign({},e.extra)),o}function l(e,t,r){return t&&r?function(e){return e.map(({type:e,value:t})=>({type:e,value:t,loc:null}))}(e):e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NOT_LOCAL_BINDING=t.BLOCK_SCOPED_SYMBOL=t.INHERIT_KEYS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.NUMBER_UNARY_OPERATORS=t.BOOLEAN_UNARY_OPERATORS=t.ASSIGNMENT_OPERATORS=t.BINARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.EQUALITY_BINARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.UPDATE_OPERATORS=t.LOGICAL_OPERATORS=t.COMMENT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.STATEMENT_OR_BLOCK_KEYS=void 0;t.STATEMENT_OR_BLOCK_KEYS=["consequent","body","alternate"];t.FLATTENABLE_KEYS=["body","expressions"];t.FOR_INIT_KEYS=["left","init"];t.COMMENT_KEYS=["leadingComments","trailingComments","innerComments"];const n=["||","&&","??"];t.LOGICAL_OPERATORS=n;t.UPDATE_OPERATORS=["++","--"];const i=[">","<",">=","<="];t.BOOLEAN_NUMBER_BINARY_OPERATORS=i;const s=["==","===","!=","!=="];t.EQUALITY_BINARY_OPERATORS=s;const a=[...s,"in","instanceof"];t.COMPARISON_BINARY_OPERATORS=a;const o=[...a,...i];t.BOOLEAN_BINARY_OPERATORS=o;const l=["-","/","%","*","**","&","|",">>",">>>","<<","^"];t.NUMBER_BINARY_OPERATORS=l;const c=["+",...l,...o];t.BINARY_OPERATORS=c;const p=["=","+=",...l.map(e=>e+"="),...n.map(e=>e+"=")];t.ASSIGNMENT_OPERATORS=p;const u=["delete","!"];t.BOOLEAN_UNARY_OPERATORS=u;const d=["+","-","~"];t.NUMBER_UNARY_OPERATORS=d;const h=["typeof"];t.STRING_UNARY_OPERATORS=h;const f=["void","throw",...u,...d,...h];t.UNARY_OPERATORS=f;t.INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]};const m=Symbol.for("var used to be block scoped");t.BLOCK_SCOPED_SYMBOL=m;const y=Symbol.for("should not be considered a local binding");t.NOT_LOCAL_BINDING=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=l;var n=r(6),i=r(1);const s=Function.call.bind(Object.prototype.hasOwnProperty);function a(e,t,r){return e&&"string"==typeof e.type?l(e,t,r):e}function o(e,t,r){return Array.isArray(e)?e.map(e=>a(e,t,r)):a(e,t,r)}function l(e,t=!0,r=!1){if(!e)return e;const{type:a}=e,l={type:e.type};if((0,i.isIdentifier)(e))l.name=e.name,s(e,"optional")&&"boolean"==typeof e.optional&&(l.optional=e.optional),s(e,"typeAnnotation")&&(l.typeAnnotation=t?o(e.typeAnnotation,!0,r):e.typeAnnotation);else{if(!s(n.NODE_FIELDS,a))throw new Error(`Unknown node type: "${a}"`);for(const p of Object.keys(n.NODE_FIELDS[a]))s(e,p)&&(l[p]=t?(0,i.isFile)(e)&&"comments"===p?c(e.comments,t,r):o(e[p],!0,r):e[p])}return s(e,"loc")&&(l.loc=r?null:e.loc),s(e,"leadingComments")&&(l.leadingComments=c(e.leadingComments,t,r)),s(e,"innerComments")&&(l.innerComments=c(e.innerComments,t,r)),s(e,"trailingComments")&&(l.trailingComments=c(e.trailingComments,t,r)),s(e,"extra")&&(l.extra=Object.assign({},e.extra)),l}function c(e,t,r){return e&&t?e.map(({type:e,value:t,loc:n})=>r?{type:e,value:t,loc:null}:{type:e,value:t,loc:n}):e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=h,Object.defineProperty(t,"NodePath",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"Hub",{enumerable:!0,get:function(){return c.default}}),t.visitors=void 0;var n=d(r(132)),i=u(r(371));t.visitors=i;var s=u(r(0)),a=u(r(38)),o=d(r(8)),l=d(r(100)),c=d(r(372));function p(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return p=function(){return e},e}function u(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=p();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=n?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}function d(e){return e&&e.__esModule?e:{default:e}}function h(e,t,r,n,a){if(e){if(t||(t={}),!t.noScope&&!r&&"Program"!==e.type&&"File"!==e.type)throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);s.VISITOR_KEYS[e.type]&&(i.explode(t),h.node(e,t,r,n,a))}}function f(e,t){e.node.type===t.type&&(t.has=!0,e.stop())}h.visitors=i,h.verify=i.verify,h.explode=i.explode,h.cheap=function(e,t){return s.traverseFast(e,t)},h.node=function(e,t,r,i,a,o){const l=s.VISITOR_KEYS[e.type];if(!l)return;const c=new n.default(r,t,i,a);for(const t of l)if((!o||!o[t])&&c.visit(e,t))return},h.clearNode=function(e,t){s.removeProperties(e,t),a.path.delete(e)},h.removeProperties=function(e,t){return s.traverseFast(e,h.clearNode,t),e},h.hasType=function(e,t,r){if(null==r?void 0:r.includes(e.type))return!1;if(e.type===t)return!0;const n={has:!1,type:t};return h(e,{noScope:!0,denylist:r,enter:f},null,n),n.has},h.cache=a},function(e,t,r){var n=r(41),i=r(152),s=r(153),a=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":a&&a in Object(e)?i(e):s(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return n.isIdentifierName}}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return n.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return n.isIdentifierStart}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return i.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return i.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return i.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return i.isStrictReservedWord}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return i.isKeyword}});var n=r(209),i=r(210)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={react:!0,assertNode:!0,createTypeAnnotationBasedOnTypeof:!0,createUnionTypeAnnotation:!0,createFlowUnionType:!0,createTSUnionType:!0,cloneNode:!0,clone:!0,cloneDeep:!0,cloneDeepWithoutLoc:!0,cloneWithoutLoc:!0,addComment:!0,addComments:!0,inheritInnerComments:!0,inheritLeadingComments:!0,inheritsComments:!0,inheritTrailingComments:!0,removeComments:!0,ensureBlock:!0,toBindingIdentifierName:!0,toBlock:!0,toComputedKey:!0,toExpression:!0,toIdentifier:!0,toKeyAlias:!0,toSequenceExpression:!0,toStatement:!0,valueToNode:!0,appendToMemberExpression:!0,inherits:!0,prependToMemberExpression:!0,removeProperties:!0,removePropertiesDeep:!0,removeTypeDuplicates:!0,getBindingIdentifiers:!0,getOuterBindingIdentifiers:!0,traverse:!0,traverseFast:!0,shallowEqual:!0,is:!0,isBinding:!0,isBlockScoped:!0,isImmutable:!0,isLet:!0,isNode:!0,isNodesEquivalent:!0,isPlaceholderType:!0,isReferenced:!0,isScope:!0,isSpecifierDefault:!0,isType:!0,isValidES3Identifier:!0,isValidIdentifier:!0,isVar:!0,matchesPattern:!0,validate:!0,buildMatchMemberExpression:!0};Object.defineProperty(t,"assertNode",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"createTypeAnnotationBasedOnTypeof",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"createUnionTypeAnnotation",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"createFlowUnionType",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"createTSUnionType",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"cloneNode",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"clone",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(t,"cloneDeep",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(t,"cloneDeepWithoutLoc",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(t,"cloneWithoutLoc",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"addComment",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(t,"addComments",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(t,"inheritInnerComments",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(t,"inheritLeadingComments",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"inheritsComments",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,"inheritTrailingComments",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(t,"removeComments",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(t,"ensureBlock",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(t,"toBindingIdentifierName",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(t,"toBlock",{enumerable:!0,get:function(){return N.default}}),Object.defineProperty(t,"toComputedKey",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(t,"toExpression",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(t,"toIdentifier",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,"toKeyAlias",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(t,"toSequenceExpression",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(t,"toStatement",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(t,"valueToNode",{enumerable:!0,get:function(){return F.default}}),Object.defineProperty(t,"appendToMemberExpression",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(t,"inherits",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(t,"prependToMemberExpression",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(t,"removeProperties",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(t,"removePropertiesDeep",{enumerable:!0,get:function(){return q.default}}),Object.defineProperty(t,"removeTypeDuplicates",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(t,"getBindingIdentifiers",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(t,"getOuterBindingIdentifiers",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(t,"traverse",{enumerable:!0,get:function(){return J.default}}),Object.defineProperty(t,"traverseFast",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(t,"shallowEqual",{enumerable:!0,get:function(){return G.default}}),Object.defineProperty(t,"is",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(t,"isBinding",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(t,"isBlockScoped",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(t,"isImmutable",{enumerable:!0,get:function(){return Z.default}}),Object.defineProperty(t,"isLet",{enumerable:!0,get:function(){return ee.default}}),Object.defineProperty(t,"isNode",{enumerable:!0,get:function(){return te.default}}),Object.defineProperty(t,"isNodesEquivalent",{enumerable:!0,get:function(){return re.default}}),Object.defineProperty(t,"isPlaceholderType",{enumerable:!0,get:function(){return ne.default}}),Object.defineProperty(t,"isReferenced",{enumerable:!0,get:function(){return ie.default}}),Object.defineProperty(t,"isScope",{enumerable:!0,get:function(){return se.default}}),Object.defineProperty(t,"isSpecifierDefault",{enumerable:!0,get:function(){return ae.default}}),Object.defineProperty(t,"isType",{enumerable:!0,get:function(){return oe.default}}),Object.defineProperty(t,"isValidES3Identifier",{enumerable:!0,get:function(){return le.default}}),Object.defineProperty(t,"isValidIdentifier",{enumerable:!0,get:function(){return ce.default}}),Object.defineProperty(t,"isVar",{enumerable:!0,get:function(){return pe.default}}),Object.defineProperty(t,"matchesPattern",{enumerable:!0,get:function(){return ue.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return de.default}}),Object.defineProperty(t,"buildMatchMemberExpression",{enumerable:!0,get:function(){return he.default}}),t.react=void 0;var i=r(264),s=r(265),a=r(266),o=r(274),l=r(275);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var c=r(276),p=r(277),u=r(278),d=r(3);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}));var h=r(280);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===h[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return h[e]}}))}));var f=r(16),m=r(281),y=r(282),T=r(283),b=r(284),g=r(285),S=r(108),x=r(109),E=r(110),P=r(111),v=r(112),A=r(286),w=r(287);Object.keys(w).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===w[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return w[e]}}))}));var O=r(15);Object.keys(O).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===O[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return O[e]}}))}));var I=r(288),C=r(289),N=r(113),k=r(290),D=r(291),_=r(114),L=r(292),M=r(293),j=r(295),F=r(296),R=r(6);Object.keys(R).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===R[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return R[e]}}))}));var B=r(297),U=r(298),V=r(299),K=r(117),q=r(115),Y=r(107),W=r(37),X=r(300),J=r(301);Object.keys(J).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===J[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return J[e]}}))}));var H=r(116),G=r(54),z=r(36),$=r(302),Q=r(303),Z=r(304),ee=r(118),te=r(106),re=r(305),ne=r(104),ie=r(306),se=r(307),ae=r(308),oe=r(56),le=r(309),ce=r(24),pe=r(310),ue=r(103),de=r(57),he=r(102),fe=r(1);Object.keys(fe).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===fe[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return fe[e]}}))}));var me=r(311);Object.keys(me).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===me[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return me[e]}}))}));const ye={isReactComponent:i.default,isCompatTag:s.default,buildChildren:a.default};t.react=ye},function(e,t){t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error(\'"\'+t+\'" is a required argument.\')};var r=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,n=/^data:.+\\,.+$/;function i(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function s(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}t.urlParse=i,t.urlGenerate=s;var a,o,l=(a=function(e){var r=e,n=i(e);if(n){if(!n.path)return e;r=n.path}for(var a=t.isAbsolute(r),o=[],l=0,c=0;;){if(l=c,-1===(c=r.indexOf("/",l))){o.push(r.slice(l));break}for(o.push(r.slice(l,c));c=0;c--)"."===(p=o[c])?o.splice(c,1):".."===p?u++:u>0&&(""===p?(o.splice(c+1,u),u=0):(o.splice(c,2),u--));return""===(r=o.join("/"))&&(r=a?"/":"."),n?(n.path=r,s(n)):r},o=[],function(e){for(var t=0;t32&&o.pop(),n});function c(e,t){""===e&&(e="."),""===t&&(t=".");var r=i(t),a=i(e);if(a&&(e=a.path||"/"),r&&!r.scheme)return a&&(r.scheme=a.scheme),s(r);if(r||t.match(n))return t;if(a&&!a.host&&!a.path)return a.host=t,s(a);var o="/"===t.charAt(0)?t:l(e.replace(/\\/+$/,"")+"/"+t);return a?(a.path=o,s(a)):o}t.normalize=l,t.join=c,t.isAbsolute=function(e){return"/"===e.charAt(0)||r.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)};var p=!("__proto__"in Object.create(null));function u(e){return e}function d(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function h(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=p?u:function(e){return d(e)?"$"+e:e},t.fromSetString=p?u:function(e){return d(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=h(e.source,t.source);return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:h(e.name,t.name)},t.compareByOriginalPositionsNoSource=function(e,t,r){var n;return 0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:h(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=h(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:h(e.name,t.name)},t.compareByGeneratedPositionsDeflatedNoLine=function(e,t,r){var n=e.generatedColumn-t.generatedColumn;return 0!==n||r||0!==(n=h(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:h(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=h(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:h(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}\'[^\\n]*\\n/,""))},t.computeSourceURL=function(e,t,r){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),r){var n=i(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var a=n.path.lastIndexOf("/");a>=0&&(n.path=n.path.substring(0,a+1))}t=c(s(n),t)}return l(t)}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=!0){if("string"!=typeof e)return!1;if(t){if((0,n.isKeyword)(e)||(0,n.isStrictReservedWord)(e))return!1;if("await"===e)return!1}return(0,n.isIdentifierName)(e)};var n=r(19)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=!0){if("string"!=typeof e)return!1;if(t&&((0,n.isKeyword)(e)||(0,n.isStrictReservedWord)(e,!0)))return!1;return(0,n.isIdentifierName)(e)};var n=r(19)},function(e,t){t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error(\'"\'+t+\'" is a required argument.\')};var r=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/,n=/^data:.+\\,.+$/;function i(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function s(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function a(e){var r=e,n=i(e);if(n){if(!n.path)return e;r=n.path}for(var a,o=t.isAbsolute(r),l=r.split(/\\/+/),c=0,p=l.length-1;p>=0;p--)"."===(a=l[p])?l.splice(p,1):".."===a?c++:c>0&&(""===a?(l.splice(p+1,c),c=0):(l.splice(p,2),c--));return""===(r=l.join("/"))&&(r=o?"/":"."),n?(n.path=r,s(n)):r}t.urlParse=i,t.urlGenerate=s,t.normalize=a,t.join=function(e,t){""===e&&(e="."),""===t&&(t=".");var r=i(t),o=i(e);if(o&&(e=o.path||"/"),r&&!r.scheme)return o&&(r.scheme=o.scheme),s(r);if(r||t.match(n))return t;if(o&&!o.host&&!o.path)return o.host=t,s(o);var l="/"===t.charAt(0)?t:a(e.replace(/\\/+$/,"")+"/"+t);return o?(o.path=l,s(o)):l},t.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(r)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)};var o=!("__proto__"in Object.create(null));function l(e){return e}function c(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function p(e,t){return e===t?0:e>t?1:-1}t.toSetString=o?l:function(e){return c(e)?"$"+e:e},t.fromSetString=o?l:function(e){return c(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=e.source-t.source;return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:e.name-t.name},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=e.source-t.source)||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:e.name-t.name},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=p(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:p(e.name,t.name)}},function(e,t,r){var n=r(141),i=r(142),s=r(143),a=r(144),o=r(145);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{},{each:{oneOfNodeTypes:["CommentBlock","CommentLine"]}}),optional:!0},tokens:{validate:(0,o.assertEach)(Object.assign(()=>{},{type:"any"})),optional:!0}}}),(0,o.default)("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.assertNodeType)("VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern"):(0,o.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,o.assertNodeType)("Expression")},body:{validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,o.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,o.assertNodeType)("Expression"),optional:!0},update:{validate:(0,o.assertNodeType)("Expression"),optional:!0},body:{validate:(0,o.assertNodeType)("Statement")}}});const p={params:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Identifier","Pattern","RestElement","TSParameterProperty")))},generator:{default:!1},async:{default:!1}};t.functionCommon=p;const u={returnType:{validate:(0,o.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,o.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0}};t.functionTypeAnnotationCommon=u;const d=Object.assign({},p,{declare:{validate:(0,o.assertValueType)("boolean"),optional:!0},id:{validate:(0,o.assertNodeType)("Identifier"),optional:!0}});t.functionDeclarationCommon=d,(0,o.default)("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:Object.assign({},d,u,{body:{validate:(0,o.assertNodeType)("BlockStatement")}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:function(){if(!process.env.BABEL_TYPES_8_BREAKING)return()=>{};const e=(0,o.assertNodeType)("Identifier");return function(t,r,i){(0,n.default)("ExportDefaultDeclaration",t)||e(i,"id",i.id)}}()}),(0,o.default)("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},p,u,{id:{validate:(0,o.assertNodeType)("Identifier"),optional:!0},body:{validate:(0,o.assertNodeType)("BlockStatement")}})});const h={typeAnnotation:{validate:(0,o.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator")))}};t.patternLikeCommon=h,(0,o.default)("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","PatternLike","LVal","TSEntityName"],fields:Object.assign({},h,{name:{validate:(0,o.chain)((0,o.assertValueType)("string"),Object.assign((function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&!(0,i.default)(r,!1))throw new TypeError(`"${r}" is not a valid identifier name`)}),{type:"string"}))},optional:{validate:(0,o.assertValueType)("boolean"),optional:!0}}),validate(e,t,r){if(!process.env.BABEL_TYPES_8_BREAKING)return;const i=/\\.(\\w+)$/.exec(t);if(!i)return;const[,a]=i,o={computed:!1};if("property"===a){if((0,n.default)("MemberExpression",e,o))return;if((0,n.default)("OptionalMemberExpression",e,o))return}else if("key"===a){if((0,n.default)("Property",e,o))return;if((0,n.default)("Method",e,o))return}else if("exported"===a){if((0,n.default)("ExportSpecifier",e))return}else if("imported"===a){if((0,n.default)("ImportSpecifier",e,{imported:r}))return}else if("meta"===a&&(0,n.default)("MetaProperty",e,{meta:r}))return;if(((0,s.isKeyword)(r.name)||(0,s.isReservedWord)(r.name))&&"this"!==r.name)throw new TypeError(`"${r.name}" is not a valid identifier`)}}),(0,o.default)("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,o.assertNodeType)("Expression")},consequent:{validate:(0,o.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,o.assertNodeType)("Identifier")},body:{validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("StringLiteral",{builder:["value"],fields:{value:{validate:(0,o.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,o.assertValueType)("number")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,o.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:(0,o.assertValueType)("string")},flags:{validate:(0,o.chain)((0,o.assertValueType)("string"),Object.assign((function(e,t,r){if(!process.env.BABEL_TYPES_8_BREAKING)return;const n=/[^gimsuy]/.exec(r);if(n)throw new TypeError(`"${n[0]}" is not a valid RegExp flag`)}),{type:"string"})),default:""}}}),(0,o.default)("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:(0,o.assertOneOf)(...a.LOGICAL_OPERATORS)},left:{validate:(0,o.assertNodeType)("Expression")},right:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("MemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression","LVal"],fields:Object.assign({object:{validate:(0,o.assertNodeType)("Expression")},property:{validate:function(){const e=(0,o.assertNodeType)("Identifier","PrivateName"),t=(0,o.assertNodeType)("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier","PrivateName"],r}()},computed:{default:!1}},process.env.BABEL_TYPES_8_BREAKING?{}:{optional:{validate:(0,o.assertOneOf)(!0,!1),optional:!0}})}),(0,o.default)("NewExpression",{inherits:"CallExpression"}),(0,o.default)("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceFile:{validate:(0,o.assertValueType)("string")},sourceType:{validate:(0,o.assertOneOf)("script","module"),default:"script"},interpreter:{validate:(0,o.assertNodeType)("InterpreterDirective"),default:null,optional:!0},directives:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Directive"))),default:[]},body:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block"]}),(0,o.default)("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("ObjectMethod","ObjectProperty","SpreadElement")))}}}),(0,o.default)("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],fields:Object.assign({},p,u,{kind:Object.assign({validate:(0,o.assertOneOf)("method","get","set")},process.env.BABEL_TYPES_8_BREAKING?{}:{default:"method"}),computed:{default:!1},key:{validate:function(){const e=(0,o.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,o.assertNodeType)("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral"],r}()},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0},body:{validate:(0,o.assertNodeType)("BlockStatement")}}),visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),(0,o.default)("ObjectProperty",{builder:["key","value","computed","shorthand",...process.env.BABEL_TYPES_8_BREAKING?[]:["decorators"]],fields:{computed:{default:!1},key:{validate:function(){const e=(0,o.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,o.assertNodeType)("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral"],r}()},value:{validate:(0,o.assertNodeType)("Expression","PatternLike")},shorthand:{validate:(0,o.chain)((0,o.assertValueType)("boolean"),Object.assign((function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&e.computed)throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true")}),{type:"boolean"}),(function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&!(0,n.default)("Identifier",e.key))throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier")})),default:!1},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:function(){const e=(0,o.assertNodeType)("Identifier","Pattern"),t=(0,o.assertNodeType)("Expression");return function(r,i,s){if(!process.env.BABEL_TYPES_8_BREAKING)return;((0,n.default)("ObjectPattern",r)?e:t)(s,"value",s.value)}}()}),(0,o.default)("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["LVal","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},h,{argument:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.assertNodeType)("Identifier","Pattern","MemberExpression"):(0,o.assertNodeType)("LVal")}}),validate(e,t){if(!process.env.BABEL_TYPES_8_BREAKING)return;const r=/(\\w+)\\[(\\d+)\\]/.exec(t);if(!r)throw new Error("Internal Babel error: malformed key.");const[,n,i]=r;if(e[n].length>i+1)throw new TypeError("RestElement must be last element of "+n)}}),(0,o.default)("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,o.assertNodeType)("Expression"),optional:!0}}}),(0,o.default)("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Expression")))}},aliases:["Expression"]}),(0,o.default)("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,o.assertNodeType)("Expression"),optional:!0},consequent:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Statement")))}}}),(0,o.default)("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,o.assertNodeType)("Expression")},cases:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("SwitchCase")))}}}),(0,o.default)("ThisExpression",{aliases:["Expression"]}),(0,o.default)("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:(0,o.chain)((0,o.assertNodeType)("BlockStatement"),Object.assign((function(e){if(process.env.BABEL_TYPES_8_BREAKING&&!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")}),{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:(0,o.assertNodeType)("CatchClause")},finalizer:{optional:!0,validate:(0,o.assertNodeType)("BlockStatement")}}}),(0,o.default)("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,o.assertNodeType)("Expression")},operator:{validate:(0,o.assertOneOf)(...a.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),(0,o.default)("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.assertNodeType)("Identifier","MemberExpression"):(0,o.assertNodeType)("Expression")},operator:{validate:(0,o.assertOneOf)(...a.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),(0,o.default)("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:(0,o.assertValueType)("boolean"),optional:!0},kind:{validate:(0,o.assertOneOf)("var","let","const")},declarations:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("VariableDeclarator")))}},validate(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&(0,n.default)("ForXStatement",e,{left:r})&&1!==r.declarations.length)throw new TypeError("Exactly one VariableDeclarator is required in the VariableDeclaration of a "+e.type)}}),(0,o.default)("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:function(){if(!process.env.BABEL_TYPES_8_BREAKING)return(0,o.assertNodeType)("LVal");const e=(0,o.assertNodeType)("Identifier","ArrayPattern","ObjectPattern"),t=(0,o.assertNodeType)("Identifier");return function(r,n,i){(r.init?e:t)(r,n,i)}}()},definite:{optional:!0,validate:(0,o.assertValueType)("boolean")},init:{optional:!0,validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,o.assertNodeType)("Expression")},body:{validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:(0,o.assertNodeType)("Expression")},body:{validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},h,{left:{validate:(0,o.assertNodeType)("Identifier","ObjectPattern","ArrayPattern","MemberExpression")},right:{validate:(0,o.assertNodeType)("Expression")},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0}})}),(0,o.default)("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},h,{elements:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeOrValueType)("null","PatternLike")))},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0}})}),(0,o.default)("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},p,u,{expression:{validate:(0,o.assertValueType)("boolean")},body:{validate:(0,o.assertNodeType)("BlockStatement","Expression")}})}),(0,o.default)("ClassBody",{visitor:["body"],fields:{body:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","TSDeclareMethod","TSIndexSignature")))}}}),(0,o.default)("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:(0,o.assertNodeType)("Identifier"),optional:!0},typeParameters:{validate:(0,o.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,o.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,o.assertNodeType)("Expression")},superTypeParameters:{validate:(0,o.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0},mixins:{validate:(0,o.assertNodeType)("InterfaceExtends"),optional:!0}}}),(0,o.default)("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:(0,o.assertNodeType)("Identifier")},typeParameters:{validate:(0,o.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,o.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,o.assertNodeType)("Expression")},superTypeParameters:{validate:(0,o.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0},mixins:{validate:(0,o.assertNodeType)("InterfaceExtends"),optional:!0},declare:{validate:(0,o.assertValueType)("boolean"),optional:!0},abstract:{validate:(0,o.assertValueType)("boolean"),optional:!0}},validate:function(){const e=(0,o.assertNodeType)("Identifier");return function(t,r,i){process.env.BABEL_TYPES_8_BREAKING&&((0,n.default)("ExportDefaultDeclaration",t)||e(i,"id",i.id))}}()}),(0,o.default)("ExportAllDeclaration",{visitor:["source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{source:{validate:(0,o.assertNodeType)("StringLiteral")},assertions:{optional:!0,validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertNodeType)("ImportAttribute"))}}}),(0,o.default)("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,o.assertNodeType)("FunctionDeclaration","TSDeclareFunction","ClassDeclaration","Expression")}}}),(0,o.default)("ExportNamedDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{optional:!0,validate:(0,o.chain)((0,o.assertNodeType)("Declaration"),Object.assign((function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration")}),{oneOfNodeTypes:["Declaration"]}),(function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&e.source)throw new TypeError("Cannot export a declaration from a source")}))},assertions:{optional:!0,validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertNodeType)("ImportAttribute"))},specifiers:{default:[],validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)(function(){const e=(0,o.assertNodeType)("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),t=(0,o.assertNodeType)("ExportSpecifier");return process.env.BABEL_TYPES_8_BREAKING?function(r,n,i){(r.source?e:t)(r,n,i)}:e}()))},source:{validate:(0,o.assertNodeType)("StringLiteral"),optional:!0},exportKind:(0,o.validateOptional)((0,o.assertOneOf)("type","value"))}}),(0,o.default)("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,o.assertNodeType)("Identifier")},exported:{validate:(0,o.assertNodeType)("Identifier","StringLiteral")}}}),(0,o.default)("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){if(!process.env.BABEL_TYPES_8_BREAKING)return(0,o.assertNodeType)("VariableDeclaration","LVal");const e=(0,o.assertNodeType)("VariableDeclaration"),t=(0,o.assertNodeType)("Identifier","MemberExpression","ArrayPattern","ObjectPattern");return function(r,i,s){(0,n.default)("VariableDeclaration",s)?e(r,i,s):t(r,i,s)}}()},right:{validate:(0,o.assertNodeType)("Expression")},body:{validate:(0,o.assertNodeType)("Statement")},await:{default:!1}}}),(0,o.default)("ImportDeclaration",{visitor:["specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration"],fields:{assertions:{optional:!0,validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertNodeType)("ImportAttribute"))},specifiers:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:(0,o.assertNodeType)("StringLiteral")},importKind:{validate:(0,o.assertOneOf)("type","typeof","value"),optional:!0}}}),(0,o.default)("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,o.assertNodeType)("Identifier")}}}),(0,o.default)("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,o.assertNodeType)("Identifier")}}}),(0,o.default)("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,o.assertNodeType)("Identifier")},imported:{validate:(0,o.assertNodeType)("Identifier","StringLiteral")},importKind:{validate:(0,o.assertOneOf)("type","typeof"),optional:!0}}}),(0,o.default)("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:(0,o.chain)((0,o.assertNodeType)("Identifier"),Object.assign((function(e,t,r){if(!process.env.BABEL_TYPES_8_BREAKING)return;let i;switch(r.name){case"function":i="sent";break;case"new":i="target";break;case"import":i="meta"}if(!(0,n.default)("Identifier",e.property,{name:i}))throw new TypeError("Unrecognised MetaProperty")}),{oneOfNodeTypes:["Identifier"]}))},property:{validate:(0,o.assertNodeType)("Identifier")}}});const f={abstract:{validate:(0,o.assertValueType)("boolean"),optional:!0},accessibility:{validate:(0,o.assertOneOf)("public","private","protected"),optional:!0},static:{default:!1},computed:{default:!1},optional:{validate:(0,o.assertValueType)("boolean"),optional:!0},key:{validate:(0,o.chain)(function(){const e=(0,o.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,o.assertNodeType)("Expression");return function(r,n,i){(r.computed?t:e)(r,n,i)}}(),(0,o.assertNodeType)("Identifier","StringLiteral","NumericLiteral","Expression"))}};t.classMethodOrPropertyCommon=f;const m=Object.assign({},p,f,{kind:{validate:(0,o.assertOneOf)("get","set","method","constructor"),default:"method"},access:{validate:(0,o.chain)((0,o.assertValueType)("string"),(0,o.assertOneOf)("public","private","protected")),optional:!0},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0}});t.classMethodOrDeclareMethodCommon=m,(0,o.default)("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:Object.assign({},m,u,{body:{validate:(0,o.assertNodeType)("BlockStatement")}})}),(0,o.default)("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},h,{properties:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("RestElement","ObjectProperty")))}})}),(0,o.default)("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("Super",{aliases:["Expression"]}),(0,o.default)("TaggedTemplateExpression",{visitor:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,o.assertNodeType)("Expression")},quasi:{validate:(0,o.assertNodeType)("TemplateLiteral")},typeParameters:{validate:(0,o.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),(0,o.default)("TemplateElement",{builder:["value","tail"],fields:{value:{validate:(0,o.assertShape)({raw:{validate:(0,o.assertValueType)("string")},cooked:{validate:(0,o.assertValueType)("string"),optional:!0}})},tail:{default:!1}}}),(0,o.default)("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("TemplateElement")))},expressions:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Expression","TSType")),(function(e,t,r){if(e.quasis.length!==r.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\\nExpected ${r.length+1} quasis but got ${e.quasis.length}`)}))}}}),(0,o.default)("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:(0,o.chain)((0,o.assertValueType)("boolean"),Object.assign((function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&!e.argument)throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")}),{type:"boolean"})),default:!1},argument:{optional:!0,validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("Import",{aliases:["Expression"]}),(0,o.default)("BigIntLiteral",{builder:["value"],fields:{value:{validate:(0,o.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,o.assertNodeType)("Identifier")}}}),(0,o.default)("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:(0,o.assertNodeType)("Expression")},property:{validate:function(){const e=(0,o.assertNodeType)("Identifier"),t=(0,o.assertNodeType)("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier"],r}()},computed:{default:!1},optional:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.chain)((0,o.assertValueType)("boolean"),(0,o.assertOptionalChainStart)()):(0,o.assertValueType)("boolean")}}}),(0,o.default)("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:{callee:{validate:(0,o.assertNodeType)("Expression")},arguments:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Expression","SpreadElement","JSXNamespacedName")))},optional:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.chain)((0,o.assertValueType)("boolean"),(0,o.assertOptionalChainStart)()):(0,o.assertValueType)("boolean")},typeArguments:{validate:(0,o.assertNodeType)("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:(0,o.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e===t)return!0;if(n.ALIAS_KEYS[t])return!1;const r=n.FLIPPED_ALIAS_KEYS[t];if(r){if(r[0]===e)return!0;for(const t of r)if(e===t)return!0}return!1};var n=r(5)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(!e)return;const a=n.NODE_FIELDS[e.type];if(!a)return;const o=a[t];i(e,t,r,o),s(e,t,r)},t.validateField=i,t.validateChild=s;var n=r(5);function i(e,t,r,n){(null==n?void 0:n.validate)&&(n.optional&&null==r||n.validate(e,t,r))}function s(e,t,r){if(null==r)return;const i=n.NODE_PARENT_VALIDATIONS[r.type];i&&i(e,t,r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){t&&r&&(t[e]=Array.from(new Set([].concat(t[e],r[e]).filter(Boolean))))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const r=Object.keys(t);for(const n of r)if(e[n]!==t[n])return!1;return!0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.classMethodOrDeclareMethodCommon=t.classMethodOrPropertyCommon=t.patternLikeCommon=t.functionDeclarationCommon=t.functionTypeAnnotationCommon=t.functionCommon=void 0;var n=r(36),i=r(24),s=r(19),a=r(15),o=r(10);(0,o.default)("ArrayExpression",{fields:{elements:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeOrValueType)("null","Expression","SpreadElement"))),default:process.env.BABEL_TYPES_8_BREAKING?void 0:[]}},visitor:["elements"],aliases:["Expression"]}),(0,o.default)("AssignmentExpression",{fields:{operator:{validate:function(){if(!process.env.BABEL_TYPES_8_BREAKING)return(0,o.assertValueType)("string");const e=(0,o.assertOneOf)(...a.ASSIGNMENT_OPERATORS),t=(0,o.assertOneOf)("=");return function(r,i,s){((0,n.default)("Pattern",r.left)?t:e)(r,i,s)}}()},left:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.assertNodeType)("Identifier","MemberExpression","ArrayPattern","ObjectPattern"):(0,o.assertNodeType)("LVal")},right:{validate:(0,o.assertNodeType)("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),(0,o.default)("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:(0,o.assertOneOf)(...a.BINARY_OPERATORS)},left:{validate:function(){const e=(0,o.assertNodeType)("Expression"),t=(0,o.assertNodeType)("Expression","PrivateName"),r=function(r,n,i){("in"===r.operator?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","PrivateName"],r}()},right:{validate:(0,o.assertNodeType)("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),(0,o.default)("InterpreterDirective",{builder:["value"],fields:{value:{validate:(0,o.assertValueType)("string")}}}),(0,o.default)("Directive",{visitor:["value"],fields:{value:{validate:(0,o.assertNodeType)("DirectiveLiteral")}}}),(0,o.default)("DirectiveLiteral",{builder:["value"],fields:{value:{validate:(0,o.assertValueType)("string")}}}),(0,o.default)("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Directive"))),default:[]},body:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","Statement"]}),(0,o.default)("BreakStatement",{visitor:["label"],fields:{label:{validate:(0,o.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,o.default)("CallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:(0,o.assertNodeType)("Expression","V8IntrinsicIdentifier")},arguments:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))}},process.env.BABEL_TYPES_8_BREAKING?{}:{optional:{validate:(0,o.assertOneOf)(!0,!1),optional:!0}},{typeArguments:{validate:(0,o.assertNodeType)("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:(0,o.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}})}),(0,o.default)("CatchClause",{visitor:["param","body"],fields:{param:{validate:(0,o.assertNodeType)("Identifier","ArrayPattern","ObjectPattern"),optional:!0},body:{validate:(0,o.assertNodeType)("BlockStatement")}},aliases:["Scopable","BlockParent"]}),(0,o.default)("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:(0,o.assertNodeType)("Expression")},consequent:{validate:(0,o.assertNodeType)("Expression")},alternate:{validate:(0,o.assertNodeType)("Expression")}},aliases:["Expression","Conditional"]}),(0,o.default)("ContinueStatement",{visitor:["label"],fields:{label:{validate:(0,o.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,o.default)("DebuggerStatement",{aliases:["Statement"]}),(0,o.default)("DoWhileStatement",{visitor:["test","body"],fields:{test:{validate:(0,o.assertNodeType)("Expression")},body:{validate:(0,o.assertNodeType)("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),(0,o.default)("EmptyStatement",{aliases:["Statement"]}),(0,o.default)("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:(0,o.assertNodeType)("Expression")}},aliases:["Statement","ExpressionWrapper"]}),(0,o.default)("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:(0,o.assertNodeType)("Program")},comments:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.assertEach)((0,o.assertNodeType)("CommentBlock","CommentLine")):Object.assign(()=>{},{each:{oneOfNodeTypes:["CommentBlock","CommentLine"]}}),optional:!0},tokens:{validate:(0,o.assertEach)(Object.assign(()=>{},{type:"any"})),optional:!0}}}),(0,o.default)("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.assertNodeType)("VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern"):(0,o.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,o.assertNodeType)("Expression")},body:{validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,o.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,o.assertNodeType)("Expression"),optional:!0},update:{validate:(0,o.assertNodeType)("Expression"),optional:!0},body:{validate:(0,o.assertNodeType)("Statement")}}});const l={params:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Identifier","Pattern","RestElement","TSParameterProperty")))},generator:{default:!1},async:{default:!1}};t.functionCommon=l;const c={returnType:{validate:(0,o.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,o.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0}};t.functionTypeAnnotationCommon=c;const p=Object.assign({},l,{declare:{validate:(0,o.assertValueType)("boolean"),optional:!0},id:{validate:(0,o.assertNodeType)("Identifier"),optional:!0}});t.functionDeclarationCommon=p,(0,o.default)("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:Object.assign({},p,c,{body:{validate:(0,o.assertNodeType)("BlockStatement")}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:function(){if(!process.env.BABEL_TYPES_8_BREAKING)return()=>{};const e=(0,o.assertNodeType)("Identifier");return function(t,r,i){(0,n.default)("ExportDefaultDeclaration",t)||e(i,"id",i.id)}}()}),(0,o.default)("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},l,c,{id:{validate:(0,o.assertNodeType)("Identifier"),optional:!0},body:{validate:(0,o.assertNodeType)("BlockStatement")}})});const u={typeAnnotation:{validate:(0,o.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator")))}};t.patternLikeCommon=u,(0,o.default)("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","PatternLike","LVal","TSEntityName"],fields:Object.assign({},u,{name:{validate:(0,o.chain)((0,o.assertValueType)("string"),Object.assign((function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&!(0,i.default)(r,!1))throw new TypeError(`"${r}" is not a valid identifier name`)}),{type:"string"}))},optional:{validate:(0,o.assertValueType)("boolean"),optional:!0}}),validate(e,t,r){if(!process.env.BABEL_TYPES_8_BREAKING)return;const i=/\\.(\\w+)$/.exec(t);if(!i)return;const[,a]=i,o={computed:!1};if("property"===a){if((0,n.default)("MemberExpression",e,o))return;if((0,n.default)("OptionalMemberExpression",e,o))return}else if("key"===a){if((0,n.default)("Property",e,o))return;if((0,n.default)("Method",e,o))return}else if("exported"===a){if((0,n.default)("ExportSpecifier",e))return}else if("imported"===a){if((0,n.default)("ImportSpecifier",e,{imported:r}))return}else if("meta"===a&&(0,n.default)("MetaProperty",e,{meta:r}))return;if(((0,s.isKeyword)(r.name)||(0,s.isReservedWord)(r.name,!1))&&"this"!==r.name)throw new TypeError(`"${r.name}" is not a valid identifier`)}}),(0,o.default)("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,o.assertNodeType)("Expression")},consequent:{validate:(0,o.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,o.assertNodeType)("Identifier")},body:{validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("StringLiteral",{builder:["value"],fields:{value:{validate:(0,o.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,o.assertValueType)("number")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,o.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:(0,o.assertValueType)("string")},flags:{validate:(0,o.chain)((0,o.assertValueType)("string"),Object.assign((function(e,t,r){if(!process.env.BABEL_TYPES_8_BREAKING)return;const n=/[^gimsuy]/.exec(r);if(n)throw new TypeError(`"${n[0]}" is not a valid RegExp flag`)}),{type:"string"})),default:""}}}),(0,o.default)("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:(0,o.assertOneOf)(...a.LOGICAL_OPERATORS)},left:{validate:(0,o.assertNodeType)("Expression")},right:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("MemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression","LVal"],fields:Object.assign({object:{validate:(0,o.assertNodeType)("Expression")},property:{validate:function(){const e=(0,o.assertNodeType)("Identifier","PrivateName"),t=(0,o.assertNodeType)("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier","PrivateName"],r}()},computed:{default:!1}},process.env.BABEL_TYPES_8_BREAKING?{}:{optional:{validate:(0,o.assertOneOf)(!0,!1),optional:!0}})}),(0,o.default)("NewExpression",{inherits:"CallExpression"}),(0,o.default)("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceFile:{validate:(0,o.assertValueType)("string")},sourceType:{validate:(0,o.assertOneOf)("script","module"),default:"script"},interpreter:{validate:(0,o.assertNodeType)("InterpreterDirective"),default:null,optional:!0},directives:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Directive"))),default:[]},body:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block"]}),(0,o.default)("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("ObjectMethod","ObjectProperty","SpreadElement")))}}}),(0,o.default)("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],fields:Object.assign({},l,c,{kind:Object.assign({validate:(0,o.assertOneOf)("method","get","set")},process.env.BABEL_TYPES_8_BREAKING?{}:{default:"method"}),computed:{default:!1},key:{validate:function(){const e=(0,o.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,o.assertNodeType)("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral"],r}()},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0},body:{validate:(0,o.assertNodeType)("BlockStatement")}}),visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),(0,o.default)("ObjectProperty",{builder:["key","value","computed","shorthand",...process.env.BABEL_TYPES_8_BREAKING?[]:["decorators"]],fields:{computed:{default:!1},key:{validate:function(){const e=(0,o.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,o.assertNodeType)("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral"],r}()},value:{validate:(0,o.assertNodeType)("Expression","PatternLike")},shorthand:{validate:(0,o.chain)((0,o.assertValueType)("boolean"),Object.assign((function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&e.computed)throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true")}),{type:"boolean"}),(function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&!(0,n.default)("Identifier",e.key))throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier")})),default:!1},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:function(){const e=(0,o.assertNodeType)("Identifier","Pattern"),t=(0,o.assertNodeType)("Expression");return function(r,i,s){if(!process.env.BABEL_TYPES_8_BREAKING)return;((0,n.default)("ObjectPattern",r)?e:t)(s,"value",s.value)}}()}),(0,o.default)("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["LVal","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},u,{argument:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.assertNodeType)("Identifier","Pattern","MemberExpression"):(0,o.assertNodeType)("LVal")}}),validate(e,t){if(!process.env.BABEL_TYPES_8_BREAKING)return;const r=/(\\w+)\\[(\\d+)\\]/.exec(t);if(!r)throw new Error("Internal Babel error: malformed key.");const[,n,i]=r;if(e[n].length>i+1)throw new TypeError("RestElement must be last element of "+n)}}),(0,o.default)("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,o.assertNodeType)("Expression"),optional:!0}}}),(0,o.default)("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Expression")))}},aliases:["Expression"]}),(0,o.default)("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,o.assertNodeType)("Expression"),optional:!0},consequent:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Statement")))}}}),(0,o.default)("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,o.assertNodeType)("Expression")},cases:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("SwitchCase")))}}}),(0,o.default)("ThisExpression",{aliases:["Expression"]}),(0,o.default)("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:(0,o.chain)((0,o.assertNodeType)("BlockStatement"),Object.assign((function(e){if(process.env.BABEL_TYPES_8_BREAKING&&!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")}),{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:(0,o.assertNodeType)("CatchClause")},finalizer:{optional:!0,validate:(0,o.assertNodeType)("BlockStatement")}}}),(0,o.default)("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,o.assertNodeType)("Expression")},operator:{validate:(0,o.assertOneOf)(...a.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),(0,o.default)("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.assertNodeType)("Identifier","MemberExpression"):(0,o.assertNodeType)("Expression")},operator:{validate:(0,o.assertOneOf)(...a.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),(0,o.default)("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:(0,o.assertValueType)("boolean"),optional:!0},kind:{validate:(0,o.assertOneOf)("var","let","const")},declarations:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("VariableDeclarator")))}},validate(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&(0,n.default)("ForXStatement",e,{left:r})&&1!==r.declarations.length)throw new TypeError("Exactly one VariableDeclarator is required in the VariableDeclaration of a "+e.type)}}),(0,o.default)("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:function(){if(!process.env.BABEL_TYPES_8_BREAKING)return(0,o.assertNodeType)("LVal");const e=(0,o.assertNodeType)("Identifier","ArrayPattern","ObjectPattern"),t=(0,o.assertNodeType)("Identifier");return function(r,n,i){(r.init?e:t)(r,n,i)}}()},definite:{optional:!0,validate:(0,o.assertValueType)("boolean")},init:{optional:!0,validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,o.assertNodeType)("Expression")},body:{validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:(0,o.assertNodeType)("Expression")},body:{validate:(0,o.assertNodeType)("Statement")}}}),(0,o.default)("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},u,{left:{validate:(0,o.assertNodeType)("Identifier","ObjectPattern","ArrayPattern","MemberExpression")},right:{validate:(0,o.assertNodeType)("Expression")},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0}})}),(0,o.default)("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},u,{elements:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeOrValueType)("null","PatternLike")))},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0}})}),(0,o.default)("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},l,c,{expression:{validate:(0,o.assertValueType)("boolean")},body:{validate:(0,o.assertNodeType)("BlockStatement","Expression")}})}),(0,o.default)("ClassBody",{visitor:["body"],fields:{body:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","TSDeclareMethod","TSIndexSignature")))}}}),(0,o.default)("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:(0,o.assertNodeType)("Identifier"),optional:!0},typeParameters:{validate:(0,o.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,o.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,o.assertNodeType)("Expression")},superTypeParameters:{validate:(0,o.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0},mixins:{validate:(0,o.assertNodeType)("InterfaceExtends"),optional:!0}}}),(0,o.default)("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:(0,o.assertNodeType)("Identifier")},typeParameters:{validate:(0,o.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,o.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,o.assertNodeType)("Expression")},superTypeParameters:{validate:(0,o.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0},mixins:{validate:(0,o.assertNodeType)("InterfaceExtends"),optional:!0},declare:{validate:(0,o.assertValueType)("boolean"),optional:!0},abstract:{validate:(0,o.assertValueType)("boolean"),optional:!0}},validate:function(){const e=(0,o.assertNodeType)("Identifier");return function(t,r,i){process.env.BABEL_TYPES_8_BREAKING&&((0,n.default)("ExportDefaultDeclaration",t)||e(i,"id",i.id))}}()}),(0,o.default)("ExportAllDeclaration",{visitor:["source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{source:{validate:(0,o.assertNodeType)("StringLiteral")},exportKind:(0,o.validateOptional)((0,o.assertOneOf)("type","value")),assertions:{optional:!0,validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("ImportAttribute")))}}}),(0,o.default)("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,o.assertNodeType)("FunctionDeclaration","TSDeclareFunction","ClassDeclaration","Expression")}}}),(0,o.default)("ExportNamedDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{optional:!0,validate:(0,o.chain)((0,o.assertNodeType)("Declaration"),Object.assign((function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration")}),{oneOfNodeTypes:["Declaration"]}),(function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&e.source)throw new TypeError("Cannot export a declaration from a source")}))},assertions:{optional:!0,validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("ImportAttribute")))},specifiers:{default:[],validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)(function(){const e=(0,o.assertNodeType)("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),t=(0,o.assertNodeType)("ExportSpecifier");return process.env.BABEL_TYPES_8_BREAKING?function(r,n,i){(r.source?e:t)(r,n,i)}:e}()))},source:{validate:(0,o.assertNodeType)("StringLiteral"),optional:!0},exportKind:(0,o.validateOptional)((0,o.assertOneOf)("type","value"))}}),(0,o.default)("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,o.assertNodeType)("Identifier")},exported:{validate:(0,o.assertNodeType)("Identifier","StringLiteral")}}}),(0,o.default)("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){if(!process.env.BABEL_TYPES_8_BREAKING)return(0,o.assertNodeType)("VariableDeclaration","LVal");const e=(0,o.assertNodeType)("VariableDeclaration"),t=(0,o.assertNodeType)("Identifier","MemberExpression","ArrayPattern","ObjectPattern");return function(r,i,s){(0,n.default)("VariableDeclaration",s)?e(r,i,s):t(r,i,s)}}()},right:{validate:(0,o.assertNodeType)("Expression")},body:{validate:(0,o.assertNodeType)("Statement")},await:{default:!1}}}),(0,o.default)("ImportDeclaration",{visitor:["specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration"],fields:{assertions:{optional:!0,validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("ImportAttribute")))},specifiers:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:(0,o.assertNodeType)("StringLiteral")},importKind:{validate:(0,o.assertOneOf)("type","typeof","value"),optional:!0}}}),(0,o.default)("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,o.assertNodeType)("Identifier")}}}),(0,o.default)("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,o.assertNodeType)("Identifier")}}}),(0,o.default)("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,o.assertNodeType)("Identifier")},imported:{validate:(0,o.assertNodeType)("Identifier","StringLiteral")},importKind:{validate:(0,o.assertOneOf)("type","typeof"),optional:!0}}}),(0,o.default)("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:(0,o.chain)((0,o.assertNodeType)("Identifier"),Object.assign((function(e,t,r){if(!process.env.BABEL_TYPES_8_BREAKING)return;let i;switch(r.name){case"function":i="sent";break;case"new":i="target";break;case"import":i="meta"}if(!(0,n.default)("Identifier",e.property,{name:i}))throw new TypeError("Unrecognised MetaProperty")}),{oneOfNodeTypes:["Identifier"]}))},property:{validate:(0,o.assertNodeType)("Identifier")}}});const d={abstract:{validate:(0,o.assertValueType)("boolean"),optional:!0},accessibility:{validate:(0,o.assertOneOf)("public","private","protected"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:(0,o.assertValueType)("boolean"),optional:!0},key:{validate:(0,o.chain)(function(){const e=(0,o.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,o.assertNodeType)("Expression");return function(r,n,i){(r.computed?t:e)(r,n,i)}}(),(0,o.assertNodeType)("Identifier","StringLiteral","NumericLiteral","Expression"))}};t.classMethodOrPropertyCommon=d;const h=Object.assign({},l,d,{kind:{validate:(0,o.assertOneOf)("get","set","method","constructor"),default:"method"},access:{validate:(0,o.chain)((0,o.assertValueType)("string"),(0,o.assertOneOf)("public","private","protected")),optional:!0},decorators:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Decorator"))),optional:!0}});t.classMethodOrDeclareMethodCommon=h,(0,o.default)("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:Object.assign({},h,c,{body:{validate:(0,o.assertNodeType)("BlockStatement")}})}),(0,o.default)("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},u,{properties:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("RestElement","ObjectProperty")))}})}),(0,o.default)("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("Super",{aliases:["Expression"]}),(0,o.default)("TaggedTemplateExpression",{visitor:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,o.assertNodeType)("Expression")},quasi:{validate:(0,o.assertNodeType)("TemplateLiteral")},typeParameters:{validate:(0,o.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),(0,o.default)("TemplateElement",{builder:["value","tail"],fields:{value:{validate:(0,o.assertShape)({raw:{validate:(0,o.assertValueType)("string")},cooked:{validate:(0,o.assertValueType)("string"),optional:!0}})},tail:{default:!1}}}),(0,o.default)("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("TemplateElement")))},expressions:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Expression","TSType")),(function(e,t,r){if(e.quasis.length!==r.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\\nExpected ${r.length+1} quasis but got ${e.quasis.length}`)}))}}}),(0,o.default)("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:(0,o.chain)((0,o.assertValueType)("boolean"),Object.assign((function(e,t,r){if(process.env.BABEL_TYPES_8_BREAKING&&r&&!e.argument)throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")}),{type:"boolean"})),default:!1},argument:{optional:!0,validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,o.assertNodeType)("Expression")}}}),(0,o.default)("Import",{aliases:["Expression"]}),(0,o.default)("BigIntLiteral",{builder:["value"],fields:{value:{validate:(0,o.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,o.assertNodeType)("Identifier")}}}),(0,o.default)("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:(0,o.assertNodeType)("Expression")},property:{validate:function(){const e=(0,o.assertNodeType)("Identifier"),t=(0,o.assertNodeType)("Expression"),r=function(r,n,i){(r.computed?t:e)(r,n,i)};return r.oneOfNodeTypes=["Expression","Identifier"],r}()},computed:{default:!1},optional:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.chain)((0,o.assertValueType)("boolean"),(0,o.assertOptionalChainStart)()):(0,o.assertValueType)("boolean")}}}),(0,o.default)("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:{callee:{validate:(0,o.assertNodeType)("Expression")},arguments:{validate:(0,o.chain)((0,o.assertValueType)("array"),(0,o.assertEach)((0,o.assertNodeType)("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))},optional:{validate:process.env.BABEL_TYPES_8_BREAKING?(0,o.chain)((0,o.assertValueType)("boolean"),(0,o.assertOptionalChainStart)()):(0,o.assertValueType)("boolean")},typeArguments:{validate:(0,o.assertNodeType)("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:(0,o.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e===t)return!0;if(n.ALIAS_KEYS[t])return!1;const r=n.FLIPPED_ALIAS_KEYS[t];if(r){if(r[0]===e)return!0;for(const t of r)if(e===t)return!0}return!1};var n=r(6)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(!e)return;const a=n.NODE_FIELDS[e.type];if(!a)return;const o=a[t];i(e,t,r,o),s(e,t,r)},t.validateField=i,t.validateChild=s;var n=r(6);function i(e,t,r,n){null!=n&&n.validate&&(n.optional&&null==r||n.validate(e,t,r))}function s(e,t,r){if(null==r)return;const i=n.NODE_PARENT_VALIDATIONS[r.type];i&&i(e,t,r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){t&&r&&(t[e]=Array.from(new Set([].concat(t[e],r[e]).filter(Boolean))))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.merge=function(e,t){const{placeholderWhitelist:r=e.placeholderWhitelist,placeholderPattern:n=e.placeholderPattern,preserveComments:i=e.preserveComments,syntacticPlaceholders:s=e.syntacticPlaceholders}=t;return{parser:Object.assign({},e.parser,t.parser),placeholderWhitelist:r,placeholderPattern:n,preserveComments:i,syntacticPlaceholders:s}},t.validate=function(e){if(null!=e&&"object"!=typeof e)throw new Error("Unknown template options.");const t=e||{},{placeholderWhitelist:r,placeholderPattern:n,preserveComments:i,syntacticPlaceholders:s}=t,a=function(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}(t,["placeholderWhitelist","placeholderPattern","preserveComments","syntacticPlaceholders"]);if(null!=r&&!(r instanceof Set))throw new Error("\'.placeholderWhitelist\' must be a Set, null, or undefined");if(null!=n&&!(n instanceof RegExp)&&!1!==n)throw new Error("\'.placeholderPattern\' must be a RegExp, false, null, or undefined");if(null!=i&&"boolean"!=typeof i)throw new Error("\'.preserveComments\' must be a boolean, null, or undefined");if(null!=s&&"boolean"!=typeof s)throw new Error("\'.syntacticPlaceholders\' must be a boolean, null, or undefined");if(!0===s&&(null!=r||null!=n))throw new Error("\'.placeholderWhitelist\' and \'.placeholderPattern\' aren\'t compatible with \'.syntacticPlaceholders: true\'");return{parser:a,placeholderWhitelist:r||void 0,placeholderPattern:null==n?void 0:n,preserveComments:null==i?void 0:i,syntacticPlaceholders:null==s?void 0:s}},t.normalizeReplacements=function(e){if(Array.isArray(e))return e.reduce((e,t,r)=>(e["$"+r]=t,e),{});if("object"==typeof e||null==e)return e||void 0;throw new Error("Template replacements must be an array, object, null, or undefined")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e,t={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null,this.updateContext=null}}const i=new Map;function s(e,t={}){t.keyword=e;const r=new n(e,t);return i.set(e,r),r}function a(e,t){return new n(e,{beforeExpr:!0,binop:t})}const o={num:new n("num",{startsExpr:!0}),bigint:new n("bigint",{startsExpr:!0}),decimal:new n("decimal",{startsExpr:!0}),regexp:new n("regexp",{startsExpr:!0}),string:new n("string",{startsExpr:!0}),name:new n("name",{startsExpr:!0}),eof:new n("eof"),bracketL:new n("[",{beforeExpr:!0,startsExpr:!0}),bracketHashL:new n("#[",{beforeExpr:!0,startsExpr:!0}),bracketBarL:new n("[|",{beforeExpr:!0,startsExpr:!0}),bracketR:new n("]"),bracketBarR:new n("|]"),braceL:new n("{",{beforeExpr:!0,startsExpr:!0}),braceBarL:new n("{|",{beforeExpr:!0,startsExpr:!0}),braceHashL:new n("#{",{beforeExpr:!0,startsExpr:!0}),braceR:new n("}"),braceBarR:new n("|}"),parenL:new n("(",{beforeExpr:!0,startsExpr:!0}),parenR:new n(")"),comma:new n(",",{beforeExpr:!0}),semi:new n(";",{beforeExpr:!0}),colon:new n(":",{beforeExpr:!0}),doubleColon:new n("::",{beforeExpr:!0}),dot:new n("."),question:new n("?",{beforeExpr:!0}),questionDot:new n("?."),arrow:new n("=>",{beforeExpr:!0}),template:new n("template"),ellipsis:new n("...",{beforeExpr:!0}),backQuote:new n("`",{startsExpr:!0}),dollarBraceL:new n("${",{beforeExpr:!0,startsExpr:!0}),at:new n("@"),hash:new n("#",{startsExpr:!0}),interpreterDirective:new n("#!..."),eq:new n("=",{beforeExpr:!0,isAssign:!0}),assign:new n("_=",{beforeExpr:!0,isAssign:!0}),incDec:new n("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),bang:new n("!",{beforeExpr:!0,prefix:!0,startsExpr:!0}),tilde:new n("~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),pipeline:a("|>",0),nullishCoalescing:a("??",1),logicalOR:a("||",1),logicalAND:a("&&",2),bitwiseOR:a("|",3),bitwiseXOR:a("^",4),bitwiseAND:a("&",5),equality:a("==/!=/===/!==",6),relational:a("/<=/>=",7),bitShift:a("<>/>>>",8),plusMin:new n("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:new n("%",{beforeExpr:!0,binop:10,startsExpr:!0}),star:new n("*",{binop:10}),slash:a("/",10),exponent:new n("**",{beforeExpr:!0,binop:11,rightAssociative:!0}),_break:s("break"),_case:s("case",{beforeExpr:!0}),_catch:s("catch"),_continue:s("continue"),_debugger:s("debugger"),_default:s("default",{beforeExpr:!0}),_do:s("do",{isLoop:!0,beforeExpr:!0}),_else:s("else",{beforeExpr:!0}),_finally:s("finally"),_for:s("for",{isLoop:!0}),_function:s("function",{startsExpr:!0}),_if:s("if"),_return:s("return",{beforeExpr:!0}),_switch:s("switch"),_throw:s("throw",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_try:s("try"),_var:s("var"),_const:s("const"),_while:s("while",{isLoop:!0}),_with:s("with"),_new:s("new",{beforeExpr:!0,startsExpr:!0}),_this:s("this",{startsExpr:!0}),_super:s("super",{startsExpr:!0}),_class:s("class",{startsExpr:!0}),_extends:s("extends",{beforeExpr:!0}),_export:s("export"),_import:s("import",{startsExpr:!0}),_null:s("null",{startsExpr:!0}),_true:s("true",{startsExpr:!0}),_false:s("false",{startsExpr:!0}),_in:s("in",{beforeExpr:!0,binop:7}),_instanceof:s("instanceof",{beforeExpr:!0,binop:7}),_typeof:s("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:s("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:s("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},l=/\\r\\n?|[\\n\\u2028\\u2029]/,c=new RegExp(l.source,"g");function p(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const u=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;function d(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class h{constructor(e,t){this.line=void 0,this.column=void 0,this.line=e,this.column=t}}class f{constructor(e,t){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=e,this.end=t}}function m(e){return e[e.length-1]}const y=Object.freeze({AccessorIsGenerator:"A %0ter cannot be a generator",ArgumentsInClass:"\'arguments\' is only allowed in functions and class methods",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block",AwaitBindingIdentifier:"Can not use \'await\' as identifier inside an async function",AwaitExpressionFormalParameter:"await is not allowed in async function parameters",AwaitNotInAsyncContext:"\'await\' is only allowed within async functions and at the top levels of modules",AwaitNotInAsyncFunction:"\'await\' is only allowed within async functions",BadGetterArity:"getter must not have any formal parameters",BadSetterArity:"setter must have exactly one formal parameter",BadSetterRestParameter:"setter function argument must not be a rest parameter",ConstructorClassField:"Classes may not have a field named \'constructor\'",ConstructorClassPrivateField:"Classes may not have a private field named \'#constructor\'",ConstructorIsAccessor:"Class constructor may not be an accessor",ConstructorIsAsync:"Constructor can\'t be an async function",ConstructorIsGenerator:"Constructor can\'t be a generator",DeclarationMissingInitializer:"%0 require an initialization value",DecoratorBeforeExport:"Decorators must be placed *before* the \'export\' keyword. You can set the \'decoratorsBeforeExport\' option to false to use the \'export @decorator class {}\' syntax",DecoratorConstructor:"Decorators can\'t be used with a constructor. Did you mean \'@dec class { ... }\'?",DecoratorExportClass:"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",DecoratorSemicolon:"Decorators must not be followed by a semicolon",DecoratorStaticBlock:"Decorators can\'t be used with a static block",DeletePrivateField:"Deleting a private field is not allowed",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:"`%0` has already been exported. Exported identifiers must be unique.",DuplicateProto:"Redefinition of __proto__ property",DuplicateRegExpFlags:"Duplicate regular expression flag",DuplicateStaticBlock:"Duplicate static block in the same class",ElementAfterRest:"Rest element must be last element",EscapedCharNotAnIdentifier:"Invalid Unicode escape",ExportBindingIsString:"A string literal cannot be used as an exported binding without `from`.\\n- Did you mean `export { %0 as \'%1\' } from \'some-module\'`?",ExportDefaultFromAsIdentifier:"\'from\' is not allowed as an identifier after \'export default\'",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block",IllegalBreakContinue:"Unsyntactic %0",IllegalLanguageModeDirective:"Illegal \'use strict\' directive in function with non-simple parameter list",IllegalReturn:"\'return\' outside of function",ImportBindingIsString:\'A string literal cannot be used as an imported binding.\\n- Did you mean `import { "%0" as foo }`?\',ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments",ImportCallArity:"import() requires exactly %0",ImportCallNotNewExpression:"Cannot use new with import(...)",ImportCallSpreadArgument:"... is not allowed in import()",ImportMetaOutsideModule:"import.meta may appear only with \'sourceType: \\"module\\"\'",ImportOutsideModule:"\'import\' and \'export\' may appear only with \'sourceType: \\"module\\"\'",InvalidBigIntLiteral:"Invalid BigIntLiteral",InvalidCodePoint:"Code point out of bounds",InvalidDecimal:"Invalid decimal",InvalidDigit:"Expected number in radix %0",InvalidEscapeSequence:"Bad character escape sequence",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template",InvalidEscapedReservedWord:"Escape sequence in keyword %0",InvalidIdentifier:"Invalid identifier %0",InvalidLhs:"Invalid left-hand side in %0",InvalidLhsBinding:"Binding invalid left-hand side in %0",InvalidNumber:"Invalid number",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the \'e\'",InvalidOrUnexpectedToken:"Unexpected character \'%0\'",InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern",InvalidPrivateFieldResolution:"Private name #%0 is not defined",InvalidPropertyBindingPattern:"Binding member expression",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions",InvalidRestAssignmentPattern:"Invalid rest operator\'s argument",LabelRedeclaration:"Label \'%0\' is already declared",LetInLexicalBinding:"\'let\' is not allowed to be used as a name in \'let\' or \'const\' declarations.",LineTerminatorBeforeArrow:"No line break is allowed before \'=>\'",MalformedRegExpFlags:"Invalid regular expression flag",MissingClassName:"A class name is required",MissingEqInAssignment:"Only \'=\' operator can be used for specifying default value.",MissingUnicodeEscape:"Expecting Unicode escape sequence \\\\uXXXX",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values",ModuleAttributesWithDuplicateKeys:\'Duplicate key "%0" is not allowed in module attributes\',ModuleExportNameHasLoneSurrogate:"An export name cannot include a lone surrogate, found \'\\\\u%0\'",ModuleExportUndefined:"Export \'%0\' is not defined",MultipleDefaultsInSwitch:"Multiple default clauses",NewlineAfterThrow:"Illegal newline after throw",NoCatchOrFinally:"Missing catch or finally clause",NumberIdentifier:"Identifier directly after number",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences",ObsoleteAwaitStar:"await* has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"constructors in/after an Optional Chain are not allowed",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain",ParamDupe:"Argument name clash",PatternHasAccessor:"Object pattern can\'t contain getter or setter",PatternHasMethod:"Object pattern can\'t contain methods",PipelineBodyNoArrow:\'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized\',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding",PrimaryTopicRequiresSmartPipeline:"Primary Topic Reference found but pipelineOperator not passed \'smart\' for \'proposal\' option.",PrivateInExpectedIn:"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`)",PrivateNameRedeclaration:"Duplicate private name #%0",RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with \'|}\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'bar\'",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with \'{|\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'bar\'",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with \'#{\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'hash\'",RecordNoProto:"\'__proto__\' is not allowed in Record expressions",RestTrailingComma:"Unexpected trailing comma after rest element",SloppyFunction:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",StaticPrototype:"Classes may not have static property named prototype",StrictDelete:"Deleting local variable in strict mode",StrictEvalArguments:"Assigning to \'%0\' in strict mode",StrictEvalArgumentsBinding:"Binding \'%0\' in strict mode",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictNumericEscape:"The only valid numeric escape in strict mode is \'\\\\0\'",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode",StrictWith:"\'with\' in strict mode",SuperNotAllowed:"super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name (\'constructor\') or not extending another class?",SuperPrivateField:"Private fields can\'t be accessed on super",TrailingDecorator:"Decorators must be attached to a class element",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with \'|]\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'bar\'",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with \'[|\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'bar\'",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with \'#[\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'hash\'",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder",UnexpectedAwaitAfterPipelineBody:\'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal\',UnexpectedDigitAfterHash:"Unexpected digit after hash token",UnexpectedImportExport:"\'import\' and \'export\' may only appear at the top level",UnexpectedKeyword:"Unexpected keyword \'%0\'",UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context",UnexpectedNewTarget:"new.target can only be used in functions",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits",UnexpectedPrivateField:"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\\n or a property of member expression (i.e. this.#p).",UnexpectedReservedWord:"Unexpected reserved word \'%0\'",UnexpectedSuper:"super is only allowed in object methods and classes",UnexpectedToken:"Unexpected token \'%0\'",UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"import can only be used in import() or import.meta",UnsupportedMetaProperty:"The only valid meta property for %0 is %0.%1",UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties",UnsupportedSuper:"super can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])",UnterminatedComment:"Unterminated comment",UnterminatedRegExp:"Unterminated regular expression",UnterminatedString:"Unterminated string constant",UnterminatedTemplate:"Unterminated template",VarRedeclaration:"Identifier \'%0\' has already been declared",YieldBindingIdentifier:"Can not use \'yield\' as identifier inside a generator",YieldInParameter:"Yield expression is not allowed in formal parameters",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0"});function T(e){return null!=e&&"Property"===e.type&&"init"===e.kind&&!1===e.method}class b{constructor(e,t,r,n){this.token=void 0,this.isExpr=void 0,this.preserveSpace=void 0,this.override=void 0,this.token=e,this.isExpr=!!t,this.preserveSpace=!!r,this.override=n}}const g={braceStatement:new b("{",!1),braceExpression:new b("{",!0),recordExpression:new b("#{",!0),templateQuasi:new b("${",!1),parenStatement:new b("(",!1),parenExpression:new b("(",!0),template:new b("`",!0,!0,e=>e.readTmplToken()),functionExpression:new b("function",!0),functionStatement:new b("function",!1)};o.parenR.updateContext=o.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let e=this.state.context.pop();e===g.braceStatement&&"function"===this.curContext().token&&(e=this.state.context.pop()),this.state.exprAllowed=!e.isExpr},o.name.updateContext=function(e){let t=!1;e!==o.dot&&("of"!==this.state.value||this.state.exprAllowed||e===o._function||e===o._class||(t=!0)),this.state.exprAllowed=t,this.state.isIterator&&(this.state.isIterator=!1)},o.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?g.braceStatement:g.braceExpression),this.state.exprAllowed=!0},o.dollarBraceL.updateContext=function(){this.state.context.push(g.templateQuasi),this.state.exprAllowed=!0},o.parenL.updateContext=function(e){const t=e===o._if||e===o._for||e===o._with||e===o._while;this.state.context.push(t?g.parenStatement:g.parenExpression),this.state.exprAllowed=!0},o.incDec.updateContext=function(){},o._function.updateContext=o._class.updateContext=function(e){!e.beforeExpr||e===o.semi||e===o._else||e===o._return&&this.hasPrecedingLineBreak()||(e===o.colon||e===o.braceL)&&this.curContext()===g.b_stat?this.state.context.push(g.functionStatement):this.state.context.push(g.functionExpression),this.state.exprAllowed=!1},o.backQuote.updateContext=function(){this.curContext()===g.template?this.state.context.pop():this.state.context.push(g.template),this.state.exprAllowed=!1},o.braceHashL.updateContext=function(){this.state.context.push(g.recordExpression),this.state.exprAllowed=!0};let S="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",x="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const E=new RegExp("["+S+"]"),P=new RegExp("["+S+x+"]");S=x=null;const v=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],A=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function w(e,t){let r=65536;for(let n=0,i=t.length;ne)return!1;if(r+=t[n+1],r>=e)return!0}return!1}function O(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&E.test(String.fromCharCode(e)):w(e,v)))}function I(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&P.test(String.fromCharCode(e)):w(e,v)||w(e,A))))}const C=["implements","interface","let","package","private","protected","public","static","yield"],N=["eval","arguments"],k=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),D=new Set(C),_=new Set(N);function L(e,t){return t&&"await"===e||"enum"===e}function M(e,t){return L(e,t)||D.has(e)}function j(e){return _.has(e)}function F(e,t){return M(e,t)||j(e)}function R(e){return k.has(e)}const B=/^in(stanceof)?$/;const U=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),V=Object.freeze({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module",AssignReservedType:"Cannot overwrite reserved type %0",DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement",EnumBooleanMemberNotInitialized:"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.",EnumDuplicateMemberName:"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.",EnumInconsistentMemberValues:"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",EnumInvalidExplicitType:"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidExplicitTypeUnknownSupplied:"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidMemberInitializerPrimaryType:"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.",EnumInvalidMemberInitializerSymbolType:"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.",EnumInvalidMemberInitializerUnknownType:"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.",EnumInvalidMemberName:"Enum member names cannot start with lowercase \'a\' through \'z\'. Instead of using `%0`, consider using `%1`, in enum `%2`.",EnumNumberMemberNotInitialized:"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.",EnumStringMemberInconsistentlyInitailized:"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions",InexactVariance:"Explicit inexact syntax cannot have variance",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`",NestedFlowComment:"Cannot have a flow comment inside another flow comment",OptionalBindingPattern:"A binding pattern parameter cannot be optional in an implementation signature.",SpreadVariance:"Spread properties cannot have variance",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object",UnexpectedReservedType:"Unexpected reserved type %0",UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions",UnexpectedSubtractionOperand:\'Unexpected token, expected "number" or "bigint"\',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`",UnsupportedDeclareExportKind:"`declare export %0` is not supported. Use `%1` instead",UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module",UnterminatedFlowComment:"Unterminated flow-comment"});function K(e){return"type"===e.importKind||"typeof"===e.importKind}function q(e){return(e.type===o.name||!!e.type.keyword)&&"from"!==e.value}const Y={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};const W=/\\*?\\s*@((?:no)?flow)\\b/;const X={quot:\'"\',amp:"&",apos:"\'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},J=/^[\\da-fA-F]+$/,H=/^\\d+$/,G=Object.freeze({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>",UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text",UnterminatedJsxContent:"Unterminated JSX contents",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function z(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function $(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return $(e.object)+"."+$(e.property);throw new Error("Node had unexpected type: "+e.type)}g.j_oTag=new b("...",!0,!0),o.jsxName=new n("jsxName"),o.jsxText=new n("jsxText",{beforeExpr:!0}),o.jsxTagStart=new n("jsxTagStart",{startsExpr:!0}),o.jsxTagEnd=new n("jsxTagEnd"),o.jsxTagStart.updateContext=function(){this.state.context.push(g.j_expr),this.state.context.push(g.j_oTag),this.state.exprAllowed=!1},o.jsxTagEnd.updateContext=function(e){const t=this.state.context.pop();t===g.j_oTag&&e===o.slash||t===g.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===g.j_expr):this.state.exprAllowed=!0};class Q{constructor(e){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=e}}class Z{constructor(e,t){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=e,this.inModule=t}get inFunction(){return(2&this.currentVarScope().flags)>0}get allowSuper(){return(16&this.currentThisScope().flags)>0}get allowDirectSuper(){return(32&this.currentThisScope().flags)>0}get inClass(){return(64&this.currentThisScope().flags)>0}get inNonArrowFunction(){return(2&this.currentThisScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new Q(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(e){return!!(2&e.flags||!this.inModule&&1&e.flags)}declareName(e,t,r){let n=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(n,e,t,r),16&t?n.functions.push(e):n.lexical.push(e),8&t&&this.maybeExportDefined(n,e);else if(4&t)for(let i=this.scopeStack.length-1;i>=0&&(n=this.scopeStack[i],this.checkRedeclarationInScope(n,e,t,r),n.var.push(e),this.maybeExportDefined(n,e),!(131&n.flags));--i);this.inModule&&1&n.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,r,n){this.isRedeclaredInScope(e,t,r)&&this.raise(n,y.VarRedeclaration,t)}isRedeclaredInScope(e,t,r){return!!(1&r)&&(8&r?e.lexical.indexOf(t)>-1||e.functions.indexOf(t)>-1||e.var.indexOf(t)>-1:16&r?e.lexical.indexOf(t)>-1||!this.treatFunctionsAsVarInScope(e)&&e.var.indexOf(t)>-1:e.lexical.indexOf(t)>-1&&!(8&e.flags&&e.lexical[0]===t)||!this.treatFunctionsAsVarInScope(e)&&e.functions.indexOf(t)>-1)}checkLocalExport(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&-1===this.scopeStack[0].functions.indexOf(e.name)&&this.undefinedExports.set(e.name,e.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if(131&t.flags)return t}}currentThisScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if((131&t.flags||64&t.flags)&&!(4&t.flags))return t}}}class ee extends Q{constructor(...e){super(...e),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class te extends Z{createScope(e){return new ee(e)}declareName(e,t,r){const n=this.currentScope();if(1024&t)return this.maybeExportDefined(n,e),void n.exportOnlyBindings.push(e);super.declareName(...arguments),2&t&&(1&t||(this.checkRedeclarationInScope(n,e,t,r),this.maybeExportDefined(n,e)),n.types.push(e)),256&t&&n.enums.push(e),512&t&&n.constEnums.push(e),128&t&&n.classes.push(e)}isRedeclaredInScope(e,t,r){if(e.enums.indexOf(t)>-1){if(256&r){return!!(512&r)!==e.constEnums.indexOf(t)>-1}return!0}return 128&r&&e.classes.indexOf(t)>-1?e.lexical.indexOf(t)>-1&&!!(1&r):!!(2&r&&e.types.indexOf(t)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(e){-1===this.scopeStack[0].types.indexOf(e.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(e.name)&&super.checkLocalExport(e)}}class re{constructor(){this.stacks=[]}enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}}function ne(e,t){return(e?2:0)|(t?1:0)}function ie(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}function se(e){if(!e)throw new Error("Assert fail")}const ae=Object.freeze({ClassMethodHasDeclare:"Class methods cannot have the \'declare\' modifier",ClassMethodHasReadonly:"Class methods cannot have the \'readonly\' modifier",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateModifier:"Duplicate modifier: \'%0\'",EmptyHeritageClauseType:"\'%0\' list cannot be empty.",EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",IndexSignatureHasAbstract:"Index signatures cannot have the \'abstract\' modifier",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier (\'%0\')",IndexSignatureHasStatic:"Index signatures cannot have the \'static\' modifier",IndexSignatureHasDeclare:"Index signatures cannot have the \'declare\' modifier",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the \'abstract\' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier (\'%0\')",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"\'readonly\' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0"});o.placeholder=new n("%%",{startsExpr:!0});function oe(e,t){return e.some(e=>Array.isArray(e)?e[0]===t:e===t)}function le(e,t,r){const n=e.find(e=>Array.isArray(e)?e[0]===t:e===t);return n&&Array.isArray(n)?n[1][r]:null}const ce=["minimal","smart","fsharp"],pe=["hash","bar"];const ue={estree:e=>class extends e{estreeParseRegExpLiteral({pattern:e,flags:t}){let r=null;try{r=new RegExp(e,t)}catch(e){}const n=this.estreeParseLiteral(r);return n.regex={pattern:e,flags:t},n}estreeParseBigIntLiteral(e){const t="undefined"!=typeof BigInt?BigInt(e):null,r=this.estreeParseLiteral(t);return r.bigint=String(r.value||e),r}estreeParseDecimalLiteral(e){const t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}directiveToStmt(e){const t=e.value,r=this.startNodeAt(e.start,e.loc.start),n=this.startNodeAt(t.start,t.loc.start);return n.value=t.value,n.raw=t.extra.raw,r.expression=this.finishNodeAt(n,"Literal",t.end,t.loc.end),r.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",e.end,e.loc.end)}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){T(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}checkLVal(e,t=64,r,n,i){switch(e.type){case"ObjectPattern":e.properties.forEach(e=>{this.checkLVal("Property"===e.type?e.value:e,t,r,"object destructuring pattern",i)});break;default:super.checkLVal(e,t,r,n,i)}}checkProto(e,t,r,n){e.method||super.checkProto(e,t,r,n)}isValidDirective(e){var t;return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!(null==(t=e.expression.extra)?void 0:t.parenthesized)}stmtToDirective(e){const t=super.stmtToDirective(e),r=e.expression.value;return t.value.value=r,t}parseBlockBody(e,t,r,n){super.parseBlockBody(e,t,r,n);const i=e.directives.map(e=>this.directiveToStmt(e));e.body=i.concat(e.body),delete e.directives}pushClassMethod(e,t,r,n,i,s){this.parseMethod(t,r,n,i,s,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parseExprAtom(e){switch(this.state.type){case o.num:case o.string:return this.estreeParseLiteral(this.state.value);case o.regexp:return this.estreeParseRegExpLiteral(this.state.value);case o.bigint:return this.estreeParseBigIntLiteral(this.state.value);case o.decimal:return this.estreeParseDecimalLiteral(this.state.value);case o._null:return this.estreeParseLiteral(null);case o._true:return this.estreeParseLiteral(!0);case o._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(e)}}parseLiteral(e,t,r,n){const i=super.parseLiteral(e,t,r,n);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(e,t,r=!1){super.parseFunctionBody(e,t,r),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,r,n,i,s,a=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,r,n,i,s,a),o.type="FunctionExpression",delete o.kind,e.value=o,s="ClassMethod"===s?"MethodDefinition":s,this.finishNode(e,s)}parseObjectMethod(e,t,r,n,i){const s=super.parseObjectMethod(e,t,r,n,i);return s&&(s.type="Property","method"===s.kind&&(s.kind="init"),s.shorthand=!1),s}parseObjectProperty(e,t,r,n,i){const s=super.parseObjectProperty(e,t,r,n,i);return s&&(s.kind="init",s.type="Property"),s}toAssignable(e){return T(e)?(this.toAssignable(e.value),e):super.toAssignable(e)}toAssignableObjectExpressionProp(e,t){if("get"===e.kind||"set"===e.kind)throw this.raise(e.key.start,y.PatternHasAccessor);if(e.method)throw this.raise(e.key.start,y.PatternHasMethod);super.toAssignableObjectExpressionProp(e,t)}finishCallExpression(e,t){return super.finishCallExpression(e,t),"Import"===e.callee.type&&(e.type="ImportExpression",e.source=e.arguments[0],delete e.arguments,delete e.callee),e}toReferencedArguments(e){"ImportExpression"!==e.type&&super.toReferencedArguments(e)}parseExport(e){switch(super.parseExport(e),e.type){case"ExportAllDeclaration":e.exported=null;break;case"ExportNamedDeclaration":1===e.specifiers.length&&"ExportNamespaceSpecifier"===e.specifiers[0].type&&(e.type="ExportAllDeclaration",e.exported=e.specifiers[0].exported,delete e.specifiers)}return e}parseSubscript(e,t,r,n,i){const s=super.parseSubscript(e,t,r,n,i);if(i.optionalChainMember){if("OptionalMemberExpression"!==s.type&&"OptionalCallExpression"!==s.type||(s.type=s.type.substring(8)),i.stop){const e=this.startNodeAtNode(s);return e.expression=s,this.finishNode(e,"ChainExpression")}}else"MemberExpression"!==s.type&&"CallExpression"!==s.type||(s.optional=!1);return s}},jsx:e=>class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,G.UnterminatedJsxContent);const r=this.input.charCodeAt(this.state.pos);switch(r){case 60:case 123:return this.state.pos===this.state.start?60===r&&this.state.exprAllowed?(++this.state.pos,this.finishToken(o.jsxTagStart)):super.getTokenFromCode(r):(e+=this.input.slice(t,this.state.pos),this.finishToken(o.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:p(r)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){const t=this.input.charCodeAt(this.state.pos);let r;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,r=e?"\\n":"\\r\\n"):r=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,r}jsxReadString(e){let t="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,y.UnterminatedString);const n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadEntity(),r=this.state.pos):p(n)?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}return t+=this.input.slice(r,this.state.pos++),this.finishToken(o.string,t)}jsxReadEntity(){let e,t="",r=0,n=this.input[this.state.pos];const i=++this.state.pos;for(;this.state.posclass extends e{constructor(e,t){super(e,t),this.flowPragma=void 0,this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,t){return e!==o.string&&e!==o.semi&&e!==o.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){const t=W.exec(e.value);if(t)if("flow"===t[1])this.flowPragma="flow";else{if("noflow"!==t[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}else;}return super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||o.colon);const r=this.flowParseType();return this.state.inType=t,r}flowParsePredicate(){const e=this.startNode(),t=this.state.startLoc,r=this.state.start;this.expect(o.modulo);const n=this.state.startLoc;return this.expectContextual("checks"),t.line===n.line&&t.column===n.column-1||this.raise(r,V.UnexpectedSpaceBetweenModuloChecks),this.eat(o.parenL)?(e.value=this.parseExpression(),this.expect(o.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(o.colon);let t=null,r=null;return this.match(o.modulo)?(this.state.inType=e,r=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(o.modulo)&&(r=this.flowParsePredicate())),[t,r]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),r=this.startNode(),n=this.startNode();this.isRelational("<")?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(o.parenL);const i=this.flowParseFunctionTypeParams();return r.params=i.params,r.rest=i.rest,this.expect(o.parenR),[r.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),n.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,t){if(this.match(o._class))return this.flowParseDeclareClass(e);if(this.match(o._function))return this.flowParseDeclareFunction(e);if(this.match(o._var))return this.flowParseDeclareVariable(e);if(this.eatContextual("module"))return this.match(o.dot)?this.flowParseDeclareModuleExports(e):(t&&this.raise(this.state.lastTokStart,V.NestedDeclareModule),this.flowParseDeclareModule(e));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(e);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(e);if(this.isContextual("interface"))return this.flowParseDeclareInterface(e);if(this.match(o._export))return this.flowParseDeclareExportDeclaration(e,t);throw this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,5,e.id.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(0),this.match(o.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),r=t.body=[];for(this.expect(o.braceL);!this.match(o.braceR);){let e=this.startNode();this.match(o._import)?(this.next(),this.isContextual("type")||this.match(o._typeof)||this.raise(this.state.lastTokStart,V.InvalidNonTypeImportInDeclareModule),this.parseImport(e)):(this.expectContextual("declare",V.UnsupportedStatementInDeclareModule),e=this.flowParseDeclare(e,!0)),r.push(e)}this.scope.exit(),this.expect(o.braceR),this.finishNode(t,"BlockStatement");let n=null,i=!1;return r.forEach(e=>{!function(e){return"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type&&(!e.declaration||"TypeAlias"!==e.declaration.type&&"InterfaceDeclaration"!==e.declaration.type)}(e)?"DeclareModuleExports"===e.type&&(i&&this.raise(e.start,V.DuplicateDeclareModuleExports),"ES"===n&&this.raise(e.start,V.AmbiguousDeclareModuleKind),n="CommonJS",i=!0):("CommonJS"===n&&this.raise(e.start,V.AmbiguousDeclareModuleKind),n="ES")}),e.kind=n||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(o._export),this.eat(o._default))return this.match(o._function)||this.match(o._class)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(o._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!t){const e=this.state.value,t=Y[e];throw this.raise(this.state.start,V.UnsupportedDeclareExportKind,e,t)}if(this.match(o._var)||this.match(o._function)||this.match(o._class)||this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(o.star)||this.match(o.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return"ExportNamedDeclaration"===(e=this.parseExport(e)).type&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e;throw this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual("exports"),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){return this.next(),this.flowParseTypeAlias(e),e.type="DeclareTypeAlias",e}flowParseDeclareOpaqueType(e){return this.next(),this.flowParseOpaqueType(e,!0),e.type="DeclareOpaqueType",e}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,t=!1){if(e.id=this.flowParseRestrictedIdentifier(!t,!0),this.scope.declareName(e.id.name,t?17:9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.implements=[],e.mixins=[],this.eat(o._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(o.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(o.comma))}if(this.isContextual("implements")){this.next();do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(o.comma))}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}flowParseInterfaceExtends(){const e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){"_"===e&&this.raise(this.state.start,V.UnexpectedReservedUnderscore)}checkReservedType(e,t,r){U.has(e)&&this.raise(t,r?V.AssignReservedType:V.UnexpectedReservedType,e)}flowParseRestrictedIdentifier(e,t){return this.checkReservedType(this.state.value,this.state.start,t),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(o.eq),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,t){return this.expectContextual("type"),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(o.colon)&&(e.supertype=this.flowParseTypeInitialiser(o.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(o.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){const t=this.state.start,r=this.startNode(),n=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return r.name=i.name,r.variance=n,r.bound=i.typeAnnotation,this.match(o.eq)?(this.eat(o.eq),r.default=this.flowParseType()):e&&this.raise(t,V.MissingTypeParamDefault),this.finishNode(r,"TypeParameter")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(o.jsxTagStart)?this.next():this.unexpected();let r=!1;do{const e=this.flowParseTypeParameter(r);t.params.push(e),e.default&&(r=!0),this.isRelational(">")||this.expect(o.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const e=this.startNode(),t=this.state.inType;e.params=[],this.state.inType=!0,this.expectRelational("<");const r=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(o.comma);return this.state.noAnonFunctionType=r,this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(o.comma);return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){const e=this.startNode();if(this.expectContextual("interface"),e.extends=[],this.eat(o._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(o.comma));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(o.num)||this.match(o.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,r){return e.static=t,this.lookahead().type===o.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(o.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=r,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(o.bracketR),this.expect(o.bracketR),this.isRelational("<")||this.match(o.parenL)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(o.question)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(o.parenL);!this.match(o.parenR)&&!this.match(o.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(o.parenR)||this.expect(o.comma);return this.eat(o.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),this.expect(o.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){const r=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(r),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:r,allowProto:n,allowInexact:i}){const s=this.state.inType;this.state.inType=!0;const a=this.startNode();let l,c;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let p=!1;for(t&&this.match(o.braceBarL)?(this.expect(o.braceBarL),l=o.braceBarR,c=!0):(this.expect(o.braceL),l=o.braceR,c=!1),a.exact=c;!this.match(l);){let t=!1,s=null,l=null;const u=this.startNode();if(n&&this.isContextual("proto")){const t=this.lookahead();t.type!==o.colon&&t.type!==o.question&&(this.next(),s=this.state.start,e=!1)}if(e&&this.isContextual("static")){const e=this.lookahead();e.type!==o.colon&&e.type!==o.question&&(this.next(),t=!0)}const d=this.flowParseVariance();if(this.eat(o.bracketL))null!=s&&this.unexpected(s),this.eat(o.bracketL)?(d&&this.unexpected(d.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):a.indexers.push(this.flowParseObjectTypeIndexer(u,t,d));else if(this.match(o.parenL)||this.isRelational("<"))null!=s&&this.unexpected(s),d&&this.unexpected(d.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e="init";if(this.isContextual("get")||this.isContextual("set")){const t=this.lookahead();t.type!==o.name&&t.type!==o.string&&t.type!==o.num||(e=this.state.value,this.next())}const n=this.flowParseObjectTypeProperty(u,t,s,d,e,r,null!=i?i:!c);null===n?(p=!0,l=this.state.lastTokStart):a.properties.push(n)}this.flowObjectTypeSemicolon(),!l||this.match(o.braceR)||this.match(o.braceBarR)||this.raise(l,V.UnexpectedExplicitInexactInObject)}this.expect(l),r&&(a.inexact=p);const u=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=s,u}flowParseObjectTypeProperty(e,t,r,n,i,s,a){if(this.eat(o.ellipsis)){return this.match(o.comma)||this.match(o.semi)||this.match(o.braceR)||this.match(o.braceBarR)?(s?a||this.raise(this.state.lastTokStart,V.InexactInsideExact):this.raise(this.state.lastTokStart,V.InexactInsideNonObject),n&&this.raise(n.start,V.InexactVariance),null):(s||this.raise(this.state.lastTokStart,V.UnexpectedSpreadType),null!=r&&this.unexpected(r),n&&this.raise(n.start,V.SpreadVariance),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"))}{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=r,e.kind=i;let s=!1;return this.isRelational("<")||this.match(o.parenL)?(e.method=!0,null!=r&&this.unexpected(r),n&&this.unexpected(n.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(e)):("init"!==i&&this.unexpected(),e.method=!1,this.eat(o.question)&&(s=!0),e.value=this.flowParseTypeInitialiser(),e.variance=n),e.optional=s,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,r=e.start;e.value.params.length+(e.value.rest?1:0)!==t&&("get"===e.kind?this.raise(r,y.BadGetterArity):this.raise(r,y.BadSetterArity)),"set"===e.kind&&e.value.rest&&this.raise(r,y.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(o.semi)||this.eat(o.comma)||this.match(o.braceR)||this.match(o.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;let n=r||this.flowParseRestrictedIdentifier(!0);for(;this.eat(o.dot);){const r=this.startNodeAt(e,t);r.qualification=n,r.id=this.flowParseRestrictedIdentifier(!0),n=this.finishNode(r,"QualifiedTypeIdentifier")}return n}flowParseGenericType(e,t,r){const n=this.startNodeAt(e,t);return n.typeParameters=null,n.id=this.flowParseQualifiedTypeIdentifier(e,t,r),this.isRelational("<")&&(n.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(n,"GenericTypeAnnotation")}flowParseTypeofType(){const e=this.startNode();return this.expect(o._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(o.bracketL);this.state.possuper.parseFunctionBody(e,!0,r)):super.parseFunctionBody(e,!1,r)}parseFunctionBodyAndFinish(e,t,r=!1){if(this.match(o.colon)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,t,r)}parseStatement(e,t){if(this.state.strict&&this.match(o.name)&&"interface"===this.state.value){const e=this.lookahead();if(e.type===o.name||R(e.value)){const e=this.startNode();return this.next(),this.flowParseInterface(e)}}else if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}const r=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(r)||(this.flowPragma=null),r}parseExpressionStatement(e,t){if("Identifier"===t.type)if("declare"===t.name){if(this.match(o._class)||this.match(o.name)||this.match(o._function)||this.match(o._var)||this.match(o._export))return this.flowParseDeclare(e)}else if(this.match(o.name)){if("interface"===t.name)return this.flowParseInterface(e);if("type"===t.name)return this.flowParseTypeAlias(e);if("opaque"===t.name)return this.flowParseOpaqueType(e,!1)}return super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||this.shouldParseEnums()&&this.isContextual("enum")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(o.name)||!("type"===this.state.value||"interface"===this.state.value||"opaque"===this.state.value||this.shouldParseEnums()&&"enum"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,t,r,n){if(!this.match(o.question))return e;if(n){const i=this.tryParse(()=>super.parseConditional(e,t,r));return i.node?(i.error&&(this.state=i.failState),i.node):(n.start=i.error.pos||this.state.start,e)}this.expect(o.question);const i=this.state.clone(),s=this.state.noArrowAt,a=this.startNodeAt(t,r);let{consequent:l,failed:c}=this.tryParseConditionalConsequent(),[p,u]=this.getArrowLikeExpressions(l);if(c||u.length>0){const e=[...s];if(u.length>0){this.state=i,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(i.start,V.AmbiguousConditionalArrow),c&&1===p.length&&(this.state=i,this.state.noArrowAt=e.concat(p[0].start),({consequent:l,failed:c}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(l,!0),this.state.noArrowAt=s,this.expect(o.colon),a.test=e,a.consequent=l,a.alternate=this.forwardNoArrowParamsConversionAt(a,()=>this.parseMaybeAssign(void 0,void 0,void 0)),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssignAllowIn(),t=!this.match(o.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const r=[e],n=[];for(;0!==r.length;){const e=r.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):n.push(e),r.push(e.body)):"ConditionalExpression"===e.type&&(r.push(e.consequent),r.push(e.alternate))}return t?(n.forEach(e=>this.finishArrowValidation(e)),[n,[]]):function(e,t){const r=[],n=[];for(let i=0;ie.params.every(e=>this.isAssignable(e,!0)))}finishArrowValidation(e){var t;this.toAssignableList(e.params,null==(t=e.extra)?void 0:t.trailingComma),this.scope.enter(6),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let r;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),r=t(),this.state.noArrowParamsConversionAt.pop()):r=t(),r}parseParenItem(e,t,r){if(e=super.parseParenItem(e,t,r),this.eat(o.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(o.colon)){const n=this.startNodeAt(t,r);return n.expression=e,n.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(n,"TypeCastExpression")}return e}assertModuleNodeAllowed(e){"ImportDeclaration"===e.type&&("type"===e.importKind||"typeof"===e.importKind)||"ExportNamedDeclaration"===e.type&&"type"===e.exportKind||"ExportAllDeclaration"===e.type&&"type"===e.exportKind||super.assertModuleNodeAllowed(e)}parseExport(e){const t=super.parseExport(e);return"ExportNamedDeclaration"!==t.type&&"ExportAllDeclaration"!==t.type||(t.exportKind=t.exportKind||"value"),t}parseExportDeclaration(e){if(this.isContextual("type")){e.exportKind="type";const t=this.startNode();return this.next(),this.match(o.braceL)?(e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e),null):this.flowParseTypeAlias(t)}if(this.isContextual("opaque")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseOpaqueType(t,!1)}if(this.isContextual("interface")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.shouldParseEnums()&&this.isContextual("enum")){e.exportKind="value";const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDeclaration(e)}eatExportStar(e){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==o.star)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const t=this.state.start,r=super.maybeParseExportNamespaceSpecifier(e);return r&&"type"===e.exportKind&&this.unexpected(t),r}parseClassId(e,t,r){super.parseClassId(e,t,r),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,r){const n=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,r),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type?this.raise(n,V.DeclareClassElement):t.value&&this.raise(t.value.start,V.DeclareClassFieldInitializer))}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);return 123===e&&124===t?this.finishOp(o.braceBarL,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?this.finishOp(o.question,1):function(e,t){return 64===e&&64===t}(e,t)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(e):this.finishOp(o.relational,1)}isAssignable(e,t){switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":return!0;case"ObjectExpression":{const t=e.properties.length-1;return e.properties.every((e,r)=>"ObjectMethod"!==e.type&&(r===t||"SpreadElement"===e.type)&&this.isAssignable(e))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every(e=>this.isAssignable(e));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":case"TypeCastExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toAssignable(e){return"TypeCastExpression"===e.type?super.toAssignable(this.typeCastToParameter(e)):super.toAssignable(e)}toAssignableList(e,t){for(let t=0;t1||!t)&&this.raise(i.typeAnnotation.start,V.TypeCastInPattern)}return e}parseArrayLike(e,t,r,n){const i=super.parseArrayLike(e,t,r,n);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}checkLVal(e,t=64,r,n){if("TypeCastExpression"!==e.type)return super.checkLVal(e,t,r,n)}parseClassProperty(e){return this.match(o.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(o.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(o.colon)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(o.colon)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,r,n,i,s){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,r,n,i,s)}pushClassPrivateMethod(e,t,r,n){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,r,n)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const t=e.implements=[];do{const e=this.startNode();e.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,t.push(this.finishNode(e,"ClassImplements"))}while(this.eat(o.comma))}}parsePropertyName(e,t){const r=this.flowParseVariance(),n=super.parsePropertyName(e,t);return e.variance=r,n}parseObjPropValue(e,t,r,n,i,s,a,l){let c;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&!a&&(c=this.flowParseTypeParameterDeclaration(),this.match(o.parenL)||this.unexpected()),super.parseObjPropValue(e,t,r,n,i,s,a,l),c&&((e.value||e).typeParameters=c)}parseAssignableListItemTypes(e){return this.eat(o.question)&&("Identifier"!==e.type&&this.raise(e.start,V.OptionalBindingPattern),e.optional=!0),this.match(o.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(e),e}parseMaybeDefault(e,t,r){const n=super.parseMaybeDefault(e,t,r);return"AssignmentPattern"===n.type&&n.typeAnnotation&&n.right.startsuper.parseMaybeAssign(e,t,r),s),!i.error)return i.node;const{context:n}=this.state;n[n.length-1]===g.j_oTag?n.length-=2:n[n.length-1]===g.j_expr&&(n.length-=1)}if((null==(n=i)?void 0:n.error)||this.isRelational("<")){var a,l;let n;s=s||this.state.clone();const o=this.tryParse(i=>{var s;n=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(n,()=>{const i=super.parseMaybeAssign(e,t,r);return this.resetStartLocationFromNode(i,n),i});"ArrowFunctionExpression"!==a.type&&(null==(s=a.extra)?void 0:s.parenthesized)&&i();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=n,this.resetStartLocationFromNode(o,n),a},s);let c=null;if(o.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(o.node).type){if(!o.error&&!o.aborted)return o.node.async&&this.raise(n.start,V.UnexpectedTypeParameterBeforeAsyncArrowFunction),o.node;c=o.node}if(null==(a=i)?void 0:a.node)return this.state=i.failState,i.node;if(c)return this.state=o.failState,c;if(null==(l=i)?void 0:l.thrown)throw i.error;if(o.thrown)throw o.error;throw this.raise(n.start,V.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(e,t,r)}parseArrow(e){if(this.match(o.colon)){const t=this.tryParse(()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const r=this.startNode();return[r.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(o.arrow)||this.unexpected(),r});if(t.thrown)return null;t.error&&(this.state=t.failState),e.returnType=t.node.typeAnnotation?this.finishNode(t.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(){return this.match(o.colon)||super.shouldParseArrow()}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,r){if(!r||-1===this.state.noArrowParamsConversionAt.indexOf(e.start))return super.checkParams(...arguments)}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,r,n){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const n=this.startNodeAt(t,r);n.callee=e,n.arguments=this.parseCallExpressionArguments(o.parenR,!1),e=this.finishNode(n,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const i=this.state.clone(),s=this.tryParse(e=>this.parseAsyncArrowWithTypeParameters(t,r)||e(),i);if(!s.error&&!s.aborted)return s.node;const a=this.tryParse(()=>super.parseSubscripts(e,t,r,n),i);if(a.node&&!a.error)return a.node;if(s.node)return this.state=s.failState,s.node;if(a.node)return this.state=a.failState,a.node;throw s.error||a.error}return super.parseSubscripts(e,t,r,n)}parseSubscript(e,t,r,n,i){if(this.match(o.questionDot)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,n)return i.stop=!0,e;this.next();const s=this.startNodeAt(t,r);return s.callee=e,s.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(o.parenL),s.arguments=this.parseCallExpressionArguments(o.parenR,!1),s.optional=!0,this.finishCallExpression(s,!0)}if(!n&&this.shouldParseTypes()&&this.isRelational("<")){const n=this.startNodeAt(t,r);n.callee=e;const s=this.tryParse(()=>(n.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(o.parenL),n.arguments=this.parseCallExpressionArguments(o.parenR,!1),i.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,i.optionalChainMember)));if(s.node)return s.error&&(this.state=s.failState),s.node}return super.parseSubscript(e,t,r,n,i)}parseNewArguments(e){let t=null;this.shouldParseTypes()&&this.isRelational("<")&&(t=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),e.typeArguments=t,super.parseNewArguments(e)}parseAsyncArrowWithTypeParameters(e,t){const r=this.startNodeAt(e,t);if(this.parseFunctionParams(r),this.parseArrow(r))return this.parseArrowExpression(r,void 0,!0)}readToken_mult_modulo(e){const t=this.input.charCodeAt(this.state.pos+1);if(42===e&&47===t&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(e)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);124!==e||125!==t?super.readToken_pipe_amp(e):this.finishOp(o.braceBarR,2)}parseTopLevel(e,t){const r=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,V.UnterminatedFlowComment),r}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,V.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const e=this.input.indexOf("*-/",this.state.pos+=2);if(-1===e)throw this.raise(this.state.pos-2,y.UnterminatedComment);this.state.pos=e+3}else super.skipBlockComment()}skipFlowComment(){const{pos:e}=this.state;let t=2;for(;[32,9].includes(this.input.charCodeAt(e+t));)t++;const r=this.input.charCodeAt(t+e),n=this.input.charCodeAt(t+e+1);return 58===r&&58===n?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===r&&58!==n&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,y.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:r}){this.raise(e,V.EnumBooleanMemberNotInitialized,r,t)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:r}){const n=r[0].toUpperCase()+r.slice(1);this.raise(e,V.EnumInvalidMemberName,r,n,t)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:r}){this.raise(e,V.EnumDuplicateMemberName,r,t)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,V.EnumInconsistentMemberValues,t)}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:r}){return this.raise(e,null===r?V.EnumInvalidExplicitTypeUnknownSupplied:V.EnumInvalidExplicitType,t,r)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:r,memberName:n}){let i=null;switch(r){case"boolean":case"number":case"string":i=V.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":i=V.EnumInvalidMemberInitializerSymbolType;break;default:i=V.EnumInvalidMemberInitializerUnknownType}return this.raise(e,i,t,n,r)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:r}){this.raise(e,V.EnumNumberMemberNotInitialized,t,r)}flowEnumErrorStringMemberInconsistentlyInitailized(e,{enumName:t}){this.raise(e,V.EnumStringMemberInconsistentlyInitailized,t)}flowEnumMemberInit(){const e=this.state.start,t=()=>this.match(o.comma)||this.match(o.braceR);switch(this.state.type){case o.num:{const r=this.parseLiteral(this.state.value,"NumericLiteral");return t()?{type:"number",pos:r.start,value:r}:{type:"invalid",pos:e}}case o.string:{const r=this.parseLiteral(this.state.value,"StringLiteral");return t()?{type:"string",pos:r.start,value:r}:{type:"invalid",pos:e}}case o._true:case o._false:{const r=this.parseBooleanLiteral();return t()?{type:"boolean",pos:r.start,value:r}:{type:"invalid",pos:e}}default:return{type:"invalid",pos:e}}}flowEnumMemberRaw(){const e=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(o.eq)?this.flowEnumMemberInit():{type:"none",pos:e}}}flowEnumCheckExplicitTypeMismatch(e,t,r){const{explicitType:n}=t;null!==n&&n!==r&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const r=new Set,n={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};for(;!this.match(o.braceR);){const i=this.startNode(),{id:s,init:a}=this.flowEnumMemberRaw(),l=s.name;if(""===l)continue;/^[a-z]/.test(l)&&this.flowEnumErrorInvalidMemberName(s.start,{enumName:e,memberName:l}),r.has(l)&&this.flowEnumErrorDuplicateMemberName(s.start,{enumName:e,memberName:l}),r.add(l);const c={enumName:e,explicitType:t,memberName:l};switch(i.id=s,a.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(a.pos,c,"boolean"),i.init=a.value,n.booleanMembers.push(this.finishNode(i,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(a.pos,c,"number"),i.init=a.value,n.numberMembers.push(this.finishNode(i,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(a.pos,c,"string"),i.init=a.value,n.stringMembers.push(this.finishNode(i,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(a.pos,c);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(a.pos,c);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(a.pos,c);break;default:n.defaultedMembers.push(this.finishNode(i,"EnumDefaultedMember"))}}this.match(o.braceR)||this.expect(o.comma)}return n}flowEnumStringMembers(e,t,{enumName:r}){if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){for(let t=0;t(e.members=[],this.expect(o.braceR),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;const s=i.booleanMembers.length,a=i.numberMembers.length,l=i.stringMembers.length,c=i.defaultedMembers.length;if(s||a||l||c){if(s||a){if(!a&&!l&&s>=c){for(let e=0,r=i.defaultedMembers;e=c){for(let e=0,r=i.defaultedMembers;eclass extends e{getScopeHandler(){return te}tsIsIdentifier(){return this.match(o.name)}tsNextTokenCanFollowModifier(){return this.next(),!(this.hasPrecedingLineBreak()||this.match(o.parenL)||this.match(o.parenR)||this.match(o.colon)||this.match(o.eq)||this.match(o.question)||this.match(o.bang))}tsParseModifier(e){if(!this.match(o.name))return;const t=this.state.value;return-1!==e.indexOf(t)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?t:void 0}tsParseModifiers(e,t){for(;;){const r=this.state.start,n=this.tsParseModifier(t);if(!n)break;Object.hasOwnProperty.call(e,n)&&this.raise(r,ae.DuplicateModifier,n),e[n]=!0}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(o.braceR);case"HeritageClauseElement":return this.match(o.braceL);case"TupleElementTypes":return this.match(o.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(e,t){const r=[];for(;!this.tsIsListTerminator(e);)r.push(t());return r}tsParseDelimitedList(e,t){return ie(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,r){const n=[];for(;!this.tsIsListTerminator(e);){const i=t();if(null==i)return;if(n.push(i),!this.eat(o.comma)){if(this.tsIsListTerminator(e))break;return void(r&&this.expect(o.comma))}}return n}tsParseBracketedList(e,t,r,n){n||(r?this.expect(o.bracketL):this.expectRelational("<"));const i=this.tsParseDelimitedList(e,t);return r?this.expect(o.bracketR):this.expectRelational(">"),i}tsParseImportType(){const e=this.startNode();return this.expect(o._import),this.expect(o.parenL),this.match(o.string)||this.raise(this.state.start,ae.UnsupportedImportTypeArgument),e.argument=this.parseExprAtom(),this.expect(o.parenR),this.eat(o.dot)&&(e.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseEntityName(e){let t=this.parseIdentifier();for(;this.eat(o.dot);){const r=this.startNodeAtNode(t);r.left=t,r.right=this.parseIdentifier(e),t=this.finishNode(r,"TSQualifiedName")}return t}tsParseTypeReference(){const e=this.startNode();return e.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();const t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){const e=this.startNode();return this.expect(o._typeof),this.match(o._import)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(!0),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsEatThenParseType(o._extends),e.default=this.tsEatThenParseType(o.eq),this.finishNode(e,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const e=this.startNode();return this.isRelational("<")||this.match(o.jsxTagStart)?this.next():this.unexpected(),e.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),0===e.params.length&&this.raise(e.start,ae.EmptyTypeParameters),this.finishNode(e,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===o._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(e,t){const r=e===o.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(o.parenL),t.parameters=this.tsParseBindingListForSignature(),(r||this.match(e))&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return this.parseBindingList(o.parenR,41).map(e=>("Identifier"!==e.type&&"RestElement"!==e.type&&"ObjectPattern"!==e.type&&"ArrayPattern"!==e.type&&this.raise(e.start,ae.UnsupportedSignatureParameterKind,e.type),e))}tsParseTypeMemberSemicolon(){this.eat(o.comma)||this.semicolon()}tsParseSignatureMember(e,t){return this.tsFillSignature(o.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(o.name)&&this.match(o.colon)}tsTryParseIndexSignature(e){if(!this.match(o.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(o.bracketL);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(o.bracketR),e.parameters=[t];const r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(o.question)&&(e.optional=!0);const r=e;if(t||!this.match(o.parenL)&&!this.isRelational("<")){const e=r;t&&(e.readonly=!0);const n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSPropertySignature")}{const e=r;return this.tsFillSignature(o.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSMethodSignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(o.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(o._new)){const t=this.startNode();return this.next(),this.match(o.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}const t=!!this.tsParseModifier(["readonly"]),r=this.tsTryParseIndexSignature(e);return r?(t&&(e.readonly=!0),r):(this.parsePropertyName(e,!1),this.tsParsePropertyOrMethodSignature(e,t))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(o.braceL);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(o.braceR),e}tsIsStartOfMappedType(){return this.next(),this.eat(o.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(o.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(o._in))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsExpectThenParseType(o._in),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){const e=this.startNode();return this.expect(o.braceL),this.match(o.plusMin)?(e.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(e.readonly=!0),this.expect(o.bracketL),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(o.bracketR),this.match(o.plusMin)?(e.optional=this.state.value,this.next(),this.expect(o.question)):this.eat(o.question)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(o.braceR),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1,r=null;return e.elementTypes.forEach(e=>{var n;let{type:i}=e;!t||"TSRestType"===i||"TSOptionalType"===i||"TSNamedTupleMember"===i&&e.optional||this.raise(e.start,ae.OptionalTypeBeforeRequired),t=t||"TSNamedTupleMember"===i&&e.optional||"TSOptionalType"===i,"TSRestType"===i&&(i=(e=e.typeAnnotation).type);const s="TSNamedTupleMember"===i;r=null!=(n=r)?n:s,r!==s&&this.raise(e.start,ae.MixedLabeledAndUnlabeledElements)}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const{start:e,startLoc:t}=this.state,r=this.eat(o.ellipsis);let n=this.tsParseType();const i=this.eat(o.question);if(this.eat(o.colon)){const e=this.startNodeAtNode(n);e.optional=i,"TSTypeReference"!==n.type||n.typeParameters||"Identifier"!==n.typeName.type?(this.raise(n.start,ae.InvalidTupleMemberLabel),e.label=n):e.label=n.typeName,e.elementType=this.tsParseType(),n=this.finishNode(e,"TSNamedTupleMember")}else if(i){const e=this.startNodeAtNode(n);e.typeAnnotation=n,n=this.finishNode(e,"TSOptionalType")}if(r){const r=this.startNodeAt(e,t);r.typeAnnotation=n,n=this.finishNode(r,"TSRestType")}return n}tsParseParenthesizedType(){const e=this.startNode();return this.expect(o.parenL),e.typeAnnotation=this.tsParseType(),this.expect(o.parenR),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e){const t=this.startNode();return"TSConstructorType"===e&&this.expect(o._new),this.tsFillSignature(o.arrow,t),this.finishNode(t,e)}tsParseLiteralTypeNode(){const e=this.startNode();return e.literal=(()=>{switch(this.state.type){case o.num:case o.bigint:case o.string:case o._true:case o._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){const e=this.startNode();return e.literal=this.parseTemplate(!1),this.finishNode(e,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const e=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case o.name:case o._void:case o._null:{const e=this.match(o._void)?"TSVoidKeyword":this.match(o._null)?"TSNullKeyword":function(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==e&&46!==this.lookaheadCharCode()){const t=this.startNode();return this.next(),this.finishNode(t,e)}return this.tsParseTypeReference()}case o.string:case o.num:case o.bigint:case o._true:case o._false:return this.tsParseLiteralTypeNode();case o.plusMin:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();if(t.type!==o.num&&t.type!==o.bigint)throw this.unexpected();return e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case o._this:return this.tsParseThisTypeOrThisTypePredicate();case o._typeof:return this.tsParseTypeQuery();case o._import:return this.tsParseImportType();case o.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case o.bracketL:return this.tsParseTupleType();case o.parenL:return this.tsParseParenthesizedType();case o.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(o.bracketL);)if(this.match(o.bracketR)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(o.bracketR),e=this.finishNode(t,"TSArrayType")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(o.bracketR),e=this.finishNode(t,"TSIndexedAccessType")}return e}tsParseTypeOperator(e){const t=this.startNode();return this.expectContextual(e),t.operator=e,t.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===e&&this.tsCheckTypeAnnotationForReadOnly(t),this.finishNode(t,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(e.start,ae.UnexpectedReadonly)}}tsParseInferType(){const e=this.startNode();this.expectContextual("infer");const t=this.startNode();return t.name=this.parseIdentifierName(t.start),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseTypeOperatorOrHigher(){const e=["keyof","unique","readonly"].find(e=>this.isContextual(e));return e?this.tsParseTypeOperator(e):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(e,t,r){this.eat(r);let n=t();if(this.match(r)){const i=[n];for(;this.eat(r);)i.push(t());const s=this.startNodeAtNode(n);s.types=i,n=this.finishNode(s,e)}return n}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),o.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),o.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(o.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(o.name)||this.match(o._this))return this.next(),!0;if(this.match(o.braceL)){let e=1;for(this.next();e>0;)this.match(o.braceL)?++e:this.match(o.braceR)&&--e,this.next();return!0}if(this.match(o.bracketL)){let e=1;for(this.next();e>0;)this.match(o.bracketL)?++e:this.match(o.bracketR)&&--e,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(o.parenR)||this.match(o.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(o.colon)||this.match(o.comma)||this.match(o.question)||this.match(o.eq))return!0;if(this.match(o.parenR)&&(this.next(),this.match(o.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{const t=this.startNode();this.expect(e);const r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(o._this)){let e=this.tsParseThisTypeOrThisTypePredicate();if("TSThisType"===e.type){const r=this.startNodeAtNode(t);r.parameterName=e,r.asserts=!0,e=this.finishNode(r,"TSTypePredicate")}else e.asserts=!0;return t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const n=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!n){if(!r)return this.tsParseTypeAnnotation(!1,t);const e=this.startNodeAtNode(t);return e.parameterName=this.parseIdentifier(),e.asserts=r,t.typeAnnotation=this.finishNode(e,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}const i=this.tsParseTypeAnnotation(!1),s=this.startNodeAtNode(t);return s.parameterName=n,s.typeAnnotation=i,s.asserts=r,t.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(o.colon)?this.tsParseTypeOrTypePredicateAnnotation(o.colon):void 0}tsTryParseTypeAnnotation(){return this.match(o.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(o.colon)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(!this.match(o.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const e=this.state.containsEsc;return this.next(),!(!this.match(o.name)&&!this.match(o._this))&&(e&&this.raise(this.state.lastTokStart,y.InvalidEscapedReservedWord,"asserts"),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(o.colon),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){se(this.state.inType);const e=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(o._extends))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsParseNonConditionalType(),this.expect(o.question),t.trueType=this.tsParseType(),this.expect(o.colon),t.falseType=this.tsParseType(),this.finishNode(t,"TSConditionalType")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(o._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const e=this.startNode(),t=this.tsTryNextParseConstantContext();return e.typeAnnotation=t||this.tsNextThenParseType(),this.expectRelational(">"),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){const t=this.state.start,r=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return r.length||this.raise(t,ae.EmptyHeritageClauseType,e),r}tsParseExpressionWithTypeArguments(){const e=this.startNode();return e.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(e){e.id=this.parseIdentifier(),this.checkLVal(e.id,130,void 0,"typescript interface declaration"),e.typeParameters=this.tsTryParseTypeParameters(),this.eat(o._extends)&&(e.extends=this.tsParseHeritageClause("extends"));const t=this.startNode();return t.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(t,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkLVal(e.id,2,void 0,"typescript type alias"),e.typeParameters=this.tsTryParseTypeParameters(),e.typeAnnotation=this.tsInType(()=>{if(this.expect(o.eq),this.isContextual("intrinsic")&&this.lookahead().type!==o.dot){const e=this.startNode();return this.next(),this.finishNode(e,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInNoContext(e){const t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}tsInType(e){const t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsEatThenParseType(e){return this.match(e)?this.tsNextThenParseType():void 0}tsExpectThenParseType(e){return this.tsDoThenParseType(()=>this.expect(e))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(e){return this.tsInType(()=>(e(),this.tsParseType()))}tsParseEnumMember(){const e=this.startNode();return e.id=this.match(o.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(o.eq)&&(e.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t){return t&&(e.const=!0),e.id=this.parseIdentifier(),this.checkLVal(e.id,t?779:267,void 0,"typescript enum declaration"),this.expect(o.braceL),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(o.braceR),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(o.braceL),this.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,o.braceR),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){if(e.id=this.parseIdentifier(),t||this.checkLVal(e.id,1024,null,"module or namespace declaration"),this.eat(o.dot)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(128),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual("global")?(e.global=!0,e.id=this.parseIdentifier()):this.match(o.string)?e.id=this.parseExprAtom():this.unexpected(),this.match(o.braceL)?(this.scope.enter(128),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t){return e.isExport=t||!1,e.id=this.parseIdentifier(),this.checkLVal(e.id,9,void 0,"import equals declaration"),this.expect(o.eq),e.moduleReference=this.tsParseModuleReference(),this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const e=this.startNode();if(this.expectContextual("require"),this.expect(o.parenL),!this.match(o.string))throw this.unexpected();return e.expression=this.parseExprAtom(),this.expect(o.parenR),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),r=e();return this.state=t,r}tsTryParseAndCatch(e){const t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){const t=this.state.clone(),r=e();return void 0!==r&&!1!==r?r:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,r=this.state.type;return this.isContextual("let")&&(r=o._var,t="let"),this.tsInDeclareContext(()=>{switch(r){case o._function:return e.declare=!0,this.parseFunctionStatement(e,!1,!0);case o._class:return e.declare=!0,this.parseClass(e,!0,!1);case o._const:if(this.match(o._const)&&this.isLookaheadContextual("enum"))return this.expect(o._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0);case o._var:return t=t||this.state.value,this.parseVarStatement(e,t);case o.name:{const t=this.state.value;return"global"===t?this.tsParseAmbientExternalModuleDeclaration(e):this.tsParseDeclaration(e,t,!0)}}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(e,t){switch(t.name){case"declare":{const t=this.tsTryParseDeclare(e);if(t)return t.declare=!0,t;break}case"global":if(this.match(o.braceL)){this.scope.enter(128),this.prodParam.enter(0);const r=e;return r.global=!0,r.id=t,r.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(r,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,r){switch(t){case"abstract":if(this.tsCheckLineTerminatorAndMatch(o._class,r)){const t=e;return t.abstract=!0,r&&(this.next(),this.match(o._class)||this.unexpected(null,o._class)),this.parseClass(t,!0,!1)}break;case"enum":if(r||this.match(o.name))return r&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminatorAndMatch(o.name,r))return r&&this.next(),this.tsParseInterfaceDeclaration(e);break;case"module":if(r&&this.next(),this.match(o.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.tsCheckLineTerminatorAndMatch(o.name,r))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"namespace":if(this.tsCheckLineTerminatorAndMatch(o.name,r))return r&&this.next(),this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminatorAndMatch(o.name,r))return r&&this.next(),this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminatorAndMatch(e,t){return(t||this.match(e))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e,t){if(!this.isRelational("<"))return;const r=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const n=this.tsTryParseAndCatch(()=>{const r=this.startNodeAt(e,t);return r.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(r),r.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(o.arrow),r});return this.state.maybeInArrowParameters=r,n?this.parseArrowExpression(n,null,!0):void 0}tsParseTypeArguments(){const e=this.startNode();return e.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),0===e.params.length&&this.raise(e.start,ae.EmptyTypeArguments),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(o.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(e,t){const r=this.state.start,n=this.state.startLoc;let i,s=!1;void 0!==e&&(i=this.parseAccessModifier(),s=!!this.tsParseModifier(["readonly"]),!1===e&&(i||s)&&this.raise(r,ae.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(i||s){const e=this.startNodeAt(r,n);return t.length&&(e.decorators=t),i&&(e.accessibility=i),s&&(e.readonly=s),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(e.start,ae.UnsupportedParameterPropertyKind),e.parameter=o,this.finishNode(e,"TSParameterProperty")}return t.length&&(a.decorators=t),o}parseFunctionBodyAndFinish(e,t,r=!1){this.match(o.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(o.colon));const n="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;n&&!this.match(o.braceL)&&this.isLineTerminator()?this.finishNode(e,n):"TSDeclareFunction"===n&&this.state.isDeclareContext&&(this.raise(e.start,ae.DeclareFunctionHasImplementation),e.declare)?super.parseFunctionBodyAndFinish(e,n,r):super.parseFunctionBodyAndFinish(e,t,r)}registerFunctionStatementId(e){!e.body&&e.id?this.checkLVal(e.id,1024,null,"function name"):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{"TSTypeCastExpression"===(null==e?void 0:e.type)&&this.raise(e.typeAnnotation.start,ae.UnexpectedTypeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(...e){const t=super.parseArrayLike(...e);return"ArrayExpression"===t.type&&this.tsCheckForInvalidTypeCasts(t.elements),t}parseSubscript(e,t,r,n,i){if(!this.hasPrecedingLineBreak()&&this.match(o.bang)){this.state.exprAllowed=!1,this.next();const n=this.startNodeAt(t,r);return n.expression=e,this.finishNode(n,"TSNonNullExpression")}if(this.isRelational("<")){const s=this.tsTryParseAndCatch(()=>{if(!n&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,r);if(e)return e}const s=this.startNodeAt(t,r);s.callee=e;const a=this.tsParseTypeArguments();if(a){if(!n&&this.eat(o.parenL))return s.arguments=this.parseCallExpressionArguments(o.parenR,!1),this.tsCheckForInvalidTypeCasts(s.arguments),s.typeParameters=a,this.finishCallExpression(s,i.optionalChainMember);if(this.match(o.backQuote)){const n=this.parseTaggedTemplateExpression(e,t,r,i);return n.typeParameters=a,n}}this.unexpected()});if(s)return s}return super.parseSubscript(e,t,r,n,i)}parseNewArguments(e){if(this.isRelational("<")){const t=this.tsTryParseAndCatch(()=>{const e=this.tsParseTypeArguments();return this.match(o.parenL)||this.unexpected(),e});t&&(e.typeParameters=t)}super.parseNewArguments(e)}parseExprOp(e,t,r,n){if(ie(o._in.binop)>n&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const i=this.startNodeAt(t,r);i.expression=e;const s=this.tsTryNextParseConstantContext();return i.typeAnnotation=s||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,t,r,n)}return super.parseExprOp(e,t,r,n)}checkReservedWord(e,t,r,n){}checkDuplicateExports(){}parseImport(e){if(this.match(o.name)||this.match(o.star)||this.match(o.braceL)){const t=this.lookahead();if(this.match(o.name)&&t.type===o.eq)return this.tsParseImportEqualsDeclaration(e);!this.isContextual("type")||t.type===o.comma||t.type===o.name&&"from"===t.value||(e.importKind="type",this.next())}e.importKind||(e.importKind="value");const t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(t.start,"A type-only import can specify a default import or named bindings, but not both."),t}parseExport(e){if(this.match(o._import))return this.expect(o._import),this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(o.eq)){const t=e;return t.expression=this.parseExpression(),this.semicolon(),this.finishNode(t,"TSExportAssignment")}if(this.eatContextual("as")){const t=e;return this.expectContextual("namespace"),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return this.isContextual("type")&&this.lookahead().type===o.braceL?(this.next(),e.exportKind="type"):e.exportKind="value",super.parseExport(e)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===o._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),this.parseClass(e,!0,!0),e.abstract=!0,e}if("interface"===this.state.value){const e=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(e)return e}return super.parseExportDefaultExpression()}parseStatementContent(e,t){if(this.state.type===o._const){const e=this.lookahead();if(e.type===o.name&&"enum"===e.value){const e=this.startNode();return this.expect(o._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(e,t,r){this.tsParseModifiers(t,["declare"]);const n=this.parseAccessModifier();n&&(t.accessibility=n),this.tsParseModifiers(t,["declare"]);const i=()=>{super.parseClassMember(e,t,r)};t.declare?this.tsInDeclareContext(i):i()}parseClassMemberWithIsStatic(e,t,r,n){this.tsParseModifiers(t,["abstract","readonly","declare"]);const i=this.tsTryParseIndexSignature(t);if(i)return e.body.push(i),t.abstract&&this.raise(t.start,ae.IndexSignatureHasAbstract),n&&this.raise(t.start,ae.IndexSignatureHasStatic),t.accessibility&&this.raise(t.start,ae.IndexSignatureHasAccessibility,t.accessibility),void(t.declare&&this.raise(t.start,ae.IndexSignatureHasDeclare));super.parseClassMemberWithIsStatic(e,t,r,n)}parsePostMemberNameModifiers(e){this.eat(o.question)&&(e.optional=!0),e.readonly&&this.match(o.parenL)&&this.raise(e.start,ae.ClassMethodHasReadonly),e.declare&&this.match(o.parenL)&&this.raise(e.start,ae.ClassMethodHasDeclare)}parseExpressionStatement(e,t){return("Identifier"===t.type?this.tsParseExpressionStatement(e,t):void 0)||super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,r,n){if(!n||!this.match(o.question))return super.parseConditional(e,t,r,n);const i=this.tryParse(()=>super.parseConditional(e,t,r));return i.node?(i.error&&(this.state=i.failState),i.node):(n.start=i.error.pos||this.state.start,e)}parseParenItem(e,t,r){if(e=super.parseParenItem(e,t,r),this.eat(o.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(o.colon)){const n=this.startNodeAt(t,r);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,r=this.state.startLoc,n=this.eatContextual("declare");let i;return this.match(o.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(e)),i&&("TSInterfaceDeclaration"===i.type||"TSTypeAliasDeclaration"===i.type||n)&&(e.exportKind="type"),i&&n&&(this.resetStartLocation(i,t,r),i.declare=!0),i}parseClassId(e,t,r){if((!t||r)&&this.isContextual("implements"))return;super.parseClassId(e,t,r,e.declare?1024:139);const n=this.tsTryParseTypeParameters();n&&(e.typeParameters=n)}parseClassPropertyAnnotation(e){!e.optional&&this.eat(o.bang)&&(e.definite=!0);const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){return this.parseClassPropertyAnnotation(e),this.state.isDeclareContext&&this.match(o.eq)&&this.raise(this.state.start,ae.DeclareClassFieldHasInitializer),super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(e.start,ae.PrivateElementHasAbstract),e.accessibility&&this.raise(e.start,ae.PrivateElementHasAccessibility,e.accessibility),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}pushClassMethod(e,t,r,n,i,s){const a=this.tsTryParseTypeParameters();a&&i&&this.raise(a.start,ae.ConstructorHasTypeParameters),a&&(t.typeParameters=a),super.pushClassMethod(e,t,r,n,i,s)}pushClassPrivateMethod(e,t,r,n){const i=this.tsTryParseTypeParameters();i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,r,n)}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,...t){const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(o.bang)&&(e.definite=!0);const r=this.tsTryParseTypeAnnotation();r&&(e.id.typeAnnotation=r,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(o.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){var t,r,n,i,s,a,l;let c,p,u,d;if(this.match(o.jsxTagStart)){if(c=this.state.clone(),p=this.tryParse(()=>super.parseMaybeAssign(...e),c),!p.error)return p.node;const{context:t}=this.state;t[t.length-1]===g.j_oTag?t.length-=2:t[t.length-1]===g.j_expr&&(t.length-=1)}if(!(null==(t=p)?void 0:t.error)&&!this.isRelational("<"))return super.parseMaybeAssign(...e);c=c||this.state.clone();const h=this.tryParse(t=>{var r;d=this.tsParseTypeParameters();const n=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==n.type||n.extra&&n.extra.parenthesized)&&t(),0!==(null==(r=d)?void 0:r.params.length)&&this.resetStartLocationFromNode(n,d),n.typeParameters=d,n},c);if(!h.error&&!h.aborted)return h.node;if(!p&&(se(!this.hasPlugin("jsx")),u=this.tryParse(()=>super.parseMaybeAssign(...e),c),!u.error))return u.node;if(null==(r=p)?void 0:r.node)return this.state=p.failState,p.node;if(h.node)return this.state=h.failState,h.node;if(null==(n=u)?void 0:n.node)return this.state=u.failState,u.node;if(null==(i=p)?void 0:i.thrown)throw p.error;if(h.thrown)throw h.error;if(null==(s=u)?void 0:s.thrown)throw u.error;throw(null==(a=p)?void 0:a.error)||h.error||(null==(l=u)?void 0:l.error)}parseMaybeUnary(e){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(e)}parseArrow(e){if(this.match(o.colon)){const t=this.tryParse(e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(o.colon);return!this.canInsertSemicolon()&&this.match(o.arrow)||e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseAssignableListItemTypes(e){this.eat(o.question)&&("Identifier"===e.type||this.state.isDeclareContext||this.state.inType||this.raise(e.start,ae.PatternIsOptional),e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}toAssignable(e){switch(e.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(e));case"TSParameterProperty":return super.toAssignable(e);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return e.expression=this.toAssignable(e.expression),e;default:return super.toAssignable(e)}}checkLVal(e,t=64,r,n){switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,t,r,"parameter property");case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(e.expression,t,r,n);default:return void super.checkLVal(e,t,r,n)}}parseBindingAtom(){switch(this.state.type){case o._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(e){if(this.isRelational("<")){const t=this.tsParseTypeArguments();if(this.match(o.parenL)){const r=super.parseMaybeDecoratorArguments(e);return r.typeParameters=t,r}this.unexpected(this.state.start,o.parenL)}return super.parseMaybeDecoratorArguments(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(o.bang)||this.match(o.colon)||super.isClassProperty()}parseMaybeDefault(...e){const t=super.parseMaybeDefault(...e);return"AssignmentPattern"===t.type&&t.typeAnnotation&&t.right.startthis.tsParseTypeArguments());t&&(e.typeParameters=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){const t=super.getGetterSetterExpectedParamCount(e),r=e.params[0];return r&&"Identifier"===r.type&&"this"===r.name?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInDeclareContext(e){const t=this.state.isDeclareContext;this.state.isDeclareContext=!0;try{return e()}finally{this.state.isDeclareContext=t}}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(o.modulo)){const e=this.state.start,t=this.startNode();if(this.eat(o.modulo),this.match(o.name)){const e=this.parseIdentifierName(this.state.start),r=this.createIdentifier(t,e);if(r.type="V8IntrinsicIdentifier",this.match(o.parenL))return r}this.unexpected(e)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(o.placeholder)){const t=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),t.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(o.placeholder),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const r=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,r?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){return 37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(o.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(e){void 0!==e&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(e){"Placeholder"!==e.type&&super.checkLVal(...arguments)}toAssignable(e){return e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?(e.expectedNode="Pattern",e):super.toAssignable(...arguments)}verifyBreakContinue(e){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra&&t.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(o.colon)){const r=e;return r.label=this.finishPlaceholder(t,"Identifier"),this.next(),r.body=this.parseStatement("label"),this.finishNode(r,"LabeledStatement")}return this.semicolon(),e.name=t.name,this.finishPlaceholder(e,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(e,t,r){const n=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const i=this.state.strict,s=this.parsePlaceholder("Identifier");if(s)if(this.match(o._extends)||this.match(o.placeholder)||this.match(o.braceL))e.id=s;else{if(r||!t)return e.id=null,e.body=this.finishPlaceholder(s,"ClassBody"),this.finishNode(e,n);this.unexpected(null,"A class name is required")}else this.parseClassId(e,t,r);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass,i),this.finishNode(e,n)}parseExport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(o.comma))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(t,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const r=this.startNode();return r.exported=t,e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],super.parseExport(e)}isExportDefaultSpecifier(){if(this.match(o._default)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(o.placeholder.label,this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e){return!!(e.specifiers&&e.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(e){const{specifiers:t}=e;(null==t?void 0:t.length)&&(e.specifiers=t.filter(e=>"Placeholder"===e.exported.type)),super.checkExport(e),e.specifiers=t}parseImport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseImport(...arguments);if(e.specifiers=[],!this.isContextual("from")&&!this.match(o.comma))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const r=this.startNodeAtNode(t);if(r.local=t,this.finishNode(r,"ImportDefaultSpecifier"),e.specifiers.push(r),this.eat(o.comma)){this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)}return this.expectContextual("from"),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},de=Object.keys(ue),he={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};class fe{constructor(){this.strict=void 0,this.curLine=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isIterator=!1,this.isDeclareContext=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=o.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[g.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.octalPositions=[],this.exportedIdentifiers=[],this.tokensLength=0}init(e){this.strict=!1!==e.strictMode&&"module"===e.sourceType,this.curLine=e.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new h(this.curLine,this.pos-this.lineStart)}clone(e){const t=new fe,r=Object.keys(this);for(let n=0,i=r.length;n=48&&e<=57};const ye=new Set(["g","m","s","i","y","u"]),Te={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},be={bin:[48,49]};be.oct=[...be.bin,50,51,52,53,54,55],be.dec=[...be.oct,56,57],be.hex=[...be.dec,65,66,67,68,69,70,97,98,99,100,101,102];class ge{constructor(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,this.loc=new f(e.startLoc,e.endLoc)}}class Se{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class xe{constructor(e,t,r){this.type=void 0,this.start=void 0,this.end=void 0,this.loc=void 0,this.range=void 0,this.leadingComments=void 0,this.trailingComments=void 0,this.innerComments=void 0,this.extra=void 0,this.type="",this.start=t,this.end=0,this.loc=new f(r),(null==e?void 0:e.options.ranges)&&(this.range=[t,0]),(null==e?void 0:e.filename)&&(this.loc.filename=e.filename)}__clone(){const e=new xe,t=Object.keys(this);for(let r=0,n=t.length;r"ParenthesizedExpression"===e.type?Ee(e.expression):e;class Pe{constructor(e=0){this.type=void 0,this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class ve extends Pe{constructor(e){super(e),this.errors=new Map}recordDeclarationError(e,t){this.errors.set(e,t)}clearDeclarationError(e){this.errors.delete(e)}iterateErrors(e){this.errors.forEach(e)}}class Ae{constructor(e){this.stack=[new Pe],this.raise=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){const{stack:r}=this;let n=r.length-1,i=r[n];for(;!i.isCertainlyParameterDeclaration();){if(!i.canBeArrowParameterDeclaration())return;i.recordDeclarationError(e,t),i=r[--n]}this.raise(e,t)}recordAsyncArrowParametersError(e,t){const{stack:r}=this;let n=r.length-1,i=r[n];for(;i.canBeArrowParameterDeclaration();)2===i.type&&i.recordDeclarationError(e,t),i=r[--n]}validateAsPattern(){const{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors((t,r)=>{this.raise(r,t);let n=e.length-2,i=e[n];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(r),i=e[--n]})}}function we(){return new Pe}const Oe={kind:"loop"},Ie={kind:"switch"},Ce=/[\\uD800-\\uDFFF]/u;class Ne{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class ke{constructor(e){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Ne)}exit(){const e=this.stack.pop(),t=this.current();for(let r=0,n=Array.from(e.undefinedPrivateNames);r0;)n=t[--i];if(null===n)return;for(let e=0;e0?n.trailingComments=s:void 0!==n.trailingComments&&(n.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let r,n,i,s,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(t.length>0){const r=m(t);r.trailingComments&&r.trailingComments[0].start>=e.end&&(i=r.trailingComments,delete r.trailingComments)}for(t.length>0&&m(t).start>=e.start&&(r=t.pop());t.length>0&&m(t).start>=e.start;)n=t.pop();if(!n&&r&&(n=r),r)switch(e.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(e,e.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(e,e.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(e,e.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(e,e.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(e,e.elements,!0)}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==e.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==e.type)&&this.adjustCommentsAfterTrailingComma(e,[this.state.commentPreviousNode]);if(n){if(n.leadingComments)if(n!==e&&n.leadingComments.length>0&&m(n.leadingComments).end<=e.start)e.leadingComments=n.leadingComments,delete n.leadingComments;else for(s=n.leadingComments.length-2;s>=0;--s)if(n.leadingComments[s].end<=e.start){e.leadingComments=n.leadingComments.splice(0,s+1);break}}else if(this.state.leadingComments.length>0)if(m(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(s=0;se.start);s++);const t=this.state.leadingComments.slice(0,s);t.length&&(e.leadingComments=t),i=this.state.leadingComments.slice(s),0===i.length&&(i=null)}if(this.state.commentPreviousNode=e,i)if(i.length&&i[0].start>=e.start&&m(i).end<=e.end)e.innerComments=i;else{const t=i.findIndex(t=>t.end>=e.end);t>0?(e.innerComments=i.slice(0,t),e.trailingComments=i.slice(t)):e.trailingComments=i}t.push(e)}}{getLocationForPosition(e){let t;return t=e===this.state.start?this.state.startLoc:e===this.state.lastTokStart?this.state.lastTokStartLoc:e===this.state.end?this.state.endLoc:e===this.state.lastTokEnd?this.state.lastTokEndLoc:function(e,t){let r,n=1,i=0;for(c.lastIndex=0;(r=c.exec(e))&&r.indexn[t])+` (${i.line}:${i.column})`;return this._raise(Object.assign({loc:i,pos:e},t),s)}_raise(e,t){const r=new SyntaxError(t);if(Object.assign(r,e),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(r),r;throw r}}{constructor(e,t){super(),this.isLookahead=void 0,this.tokens=[],this.state=new fe,this.state.init(e),this.input=t,this.length=t.length,this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new ge(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}lookahead(){const e=this.state;this.state=e.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){u.lastIndex=e;return e+u.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(e){if(this.state.strict=e,this.match(o.num)||this.match(o.string)){for(this.state.pos=this.state.start;this.state.pos=this.length)return void this.finishToken(o.eof);const t=null==e?void 0:e.override;t?t(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(e,t,r,n,i,s){const a={type:e?"CommentBlock":"CommentLine",value:t,start:r,end:n,loc:new f(i,s)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const e=this.state.curPosition(),t=this.state.pos,r=this.input.indexOf("*/",this.state.pos+2);if(-1===r)throw this.raise(t,y.UnterminatedComment);let n;for(this.state.pos=r+2,c.lastIndex=t;(n=c.exec(this.input))&&n.index=48&&t<=57)throw this.raise(this.state.pos,y.UnexpectedDigitAfterHash);if(123===t||91===t&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),"hash"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,123===t?y.RecordExpressionHashIncorrectStartSyntaxType:y.TupleExpressionHashIncorrectStartSyntaxType);123===t?this.finishToken(o.braceHashL):this.finishToken(o.bracketHashL),this.state.pos+=2}else this.finishOp(o.hash,1)}readToken_dot(){const e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(o.ellipsis)):(++this.state.pos,this.finishToken(o.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(o.assign,2):this.finishOp(o.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;const t=this.state.pos;for(this.state.pos+=1;!p(e)&&++this.state.pos=48&&t<=57?(++this.state.pos,this.finishToken(o.question)):(this.state.pos+=2,this.finishToken(o.questionDot))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(o.parenL);case 41:return++this.state.pos,void this.finishToken(o.parenR);case 59:return++this.state.pos,void this.finishToken(o.semi);case 44:return++this.state.pos,void this.finishToken(o.comma);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,y.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(o.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(o.bracketL);return;case 93:return++this.state.pos,void this.finishToken(o.bracketR);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,y.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(o.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(o.braceL);return;case 125:return++this.state.pos,void this.finishToken(o.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(o.doubleColon,2):(++this.state.pos,this.finishToken(o.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(o.backQuote);case 48:{const e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:case 62:return void this.readToken_lt_gt(e);case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(o.tilde,1);case 64:return++this.state.pos,void this.finishToken(o.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(O(e))return void this.readWord()}throw this.raise(this.state.pos,y.InvalidOrUnexpectedToken,String.fromCodePoint(e))}finishOp(e,t){const r=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,r)}readRegexp(){const e=this.state.pos;let t,r;for(;;){if(this.state.pos>=this.length)throw this.raise(e,y.UnterminatedRegExp);const n=this.input.charAt(this.state.pos);if(l.test(n))throw this.raise(e,y.UnterminatedRegExp);if(t)t=!1;else{if("["===n)r=!0;else if("]"===n&&r)r=!1;else if("/"===n&&!r)break;t="\\\\"===n}++this.state.pos}const n=this.input.slice(e,this.state.pos);++this.state.pos;let i="";for(;this.state.pos-1&&this.raise(this.state.pos+1,y.DuplicateRegExpFlags);else{if(!I(t)&&92!==t)break;this.raise(this.state.pos+1,y.MalformedRegExpFlags)}++this.state.pos,i+=e}this.finishToken(o.regexp,{pattern:n,flags:i})}readInt(e,t,r,n=!0){const i=this.state.pos,s=16===e?Te.hex:Te.decBinOct,a=16===e?be.hex:10===e?be.dec:8===e?be.oct:be.bin;let o=!1,l=0;for(let i=0,c=null==t?1/0:t;i=97?t-97+10:t>=65?t-65+10:me(t)?t-48:1/0,c>=e)if(this.options.errorRecovery&&c<=9)c=0,this.raise(this.state.start+i+2,y.InvalidDigit,e);else{if(!r)break;c=0,o=!0}++this.state.pos,l=l*e+c}else{const e=this.input.charCodeAt(this.state.pos-1),t=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(t)||s.indexOf(e)>-1||s.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,y.UnexpectedNumericSeparator),n||this.raise(this.state.pos,y.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===i||null!=t&&this.state.pos-i!==t||o?null:l}readRadixNumber(e){const t=this.state.pos;let r=!1;this.state.pos+=2;const n=this.readInt(e);null==n&&this.raise(this.state.start+2,y.InvalidDigit,e);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,r=!0;else if(109===i)throw this.raise(t,y.InvalidDecimal);if(O(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,y.NumberIdentifier);if(r){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(o.bigint,e)}else this.finishToken(o.num,n)}readNumber(e){const t=this.state.pos;let r=!1,n=!1,i=!1,s=!1,a=!1;e||null!==this.readInt(10)||this.raise(t,y.InvalidNumber);const l=this.state.pos-t>=2&&48===this.input.charCodeAt(t);if(l){const e=this.input.slice(t,this.state.pos);if(this.state.strict)this.raise(t,y.StrictOctalLiteral);else{const r=e.indexOf("_");r>0&&this.raise(r+t,y.ZeroDigitNumericSeparator)}a=l&&!/[89]/.test(e)}let c=this.input.charCodeAt(this.state.pos);if(46!==c||a||(++this.state.pos,this.readInt(10),r=!0,c=this.input.charCodeAt(this.state.pos)),69!==c&&101!==c||a||(c=this.input.charCodeAt(++this.state.pos),43!==c&&45!==c||++this.state.pos,null===this.readInt(10)&&this.raise(t,y.InvalidOrMissingExponent),r=!0,s=!0,c=this.input.charCodeAt(this.state.pos)),110===c&&((r||l)&&this.raise(t,y.InvalidBigIntLiteral),++this.state.pos,n=!0),109===c&&(this.expectPlugin("decimal",this.state.pos),(s||l)&&this.raise(t,y.InvalidDecimal),++this.state.pos,i=!0),O(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,y.NumberIdentifier);const p=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(n)return void this.finishToken(o.bigint,p);if(i)return void this.finishToken(o.decimal,p);const u=a?parseInt(p,8):parseFloat(p);this.finishToken(o.num,u)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const r=++this.state.pos;if(t=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,e),++this.state.pos,null!==t&&t>1114111){if(!e)return null;this.raise(r,y.InvalidCodePoint)}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,y.UnterminatedString);const n=this.input.charCodeAt(this.state.pos);if(n===e)break;if(92===n)t+=this.input.slice(r,this.state.pos),t+=this.readEscapedChar(!1),r=this.state.pos;else if(8232===n||8233===n)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(p(n))throw this.raise(this.state.start,y.UnterminatedString);++this.state.pos}}t+=this.input.slice(r,this.state.pos++),this.finishToken(o.string,t)}readTmplToken(){let e="",t=this.state.pos,r=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,y.UnterminatedTemplate);const n=this.input.charCodeAt(this.state.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(o.template)?36===n?(this.state.pos+=2,void this.finishToken(o.dollarBraceL)):(++this.state.pos,void this.finishToken(o.backQuote)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(o.template,r?null:e));if(92===n){e+=this.input.slice(t,this.state.pos);const n=this.readEscapedChar(!0);null===n?r=!0:e+=n,t=this.state.pos}else if(p(n)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,n){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+="\\n";break;default:e+=String.fromCharCode(n)}++this.state.curLine,this.state.lineStart=this.state.pos,t=this.state.pos}else++this.state.pos}}readEscapedChar(e){const t=!e,r=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,r){case 110:return"\\n";case 114:return"\\r";case 120:{const e=this.readHexChar(2,!1,t);return null===e?null:String.fromCharCode(e)}case 117:{const e=this.readCodePoint(t);return null===e?null:String.fromCodePoint(e)}case 116:return"\\t";case 98:return"\\b";case 118:return"\\v";case 102:return"\\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(e)return null;this.state.strict&&this.raise(this.state.pos-1,y.StrictNumericEscape);default:if(r>=48&&r<=55){const t=this.state.pos-1;let r=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(r,8);n>255&&(r=r.slice(0,-1),n=parseInt(r,8)),this.state.pos+=r.length-1;const i=this.input.charCodeAt(this.state.pos);if("0"!==r||56===i||57===i){if(e)return null;this.state.strict?this.raise(t,y.StrictNumericEscape):this.state.octalPositions.push(t)}return String.fromCharCode(n)}return String.fromCharCode(r)}}readHexChar(e,t,r){const n=this.state.pos,i=this.readInt(16,e,t,!1);return null===i&&(r?this.raise(n,y.InvalidEscapeSequence):this.state.pos=n-1),i}readWord1(){let e="";this.state.containsEsc=!1;const t=this.state.pos;let r=this.state.pos;for(;this.state.posthis.state.lastTokEnd&&this.raise(this.state.lastTokEnd,e)}unexpected(e,t="Unexpected token"){throw"string"!=typeof t&&(t=`Unexpected token, expected "${t.label}"`),this.raise(null!=e?e:this.state.start,t)}expectPlugin(e,t){if(!this.hasPlugin(e))throw this.raiseWithData(null!=t?t:this.state.start,{missingPlugin:[e]},`This experimental syntax requires enabling the parser plugin: \'${e}\'`);return!0}expectOnePlugin(e,t){if(!e.some(e=>this.hasPlugin(e)))throw this.raiseWithData(null!=t?t:this.state.start,{missingPlugin:e},`This experimental syntax requires enabling one of the following parser plugin(s): \'${e.join(", ")}\'`)}tryParse(e,t=this.state.clone()){const r={node:null};try{const n=e((e=null)=>{throw r.node=e,r});if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,{node:n,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:n,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const n=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:n};if(e===r)return{node:r.node,error:null,thrown:!1,aborted:!0,failState:n};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssign:r,doubleProto:n}=e;if(!t)return r>=0||n>=0;r>=0&&this.unexpected(r),n>=0&&this.raise(n,y.DuplicateProto)}isLiteralPropertyName(){return this.match(o.name)||!!this.state.type.keyword||this.match(o.string)||this.match(o.num)||this.match(o.bigint)||this.match(o.decimal)}}{startNode(){return new xe(this,this.state.start,this.state.startLoc)}startNodeAt(e,t){return new xe(this,e,t)}startNodeAtNode(e){return this.startNodeAt(e.start,e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(e,t,r,n){return e.type=t,e.end=r,e.loc.end=n,this.options.ranges&&(e.range[1]=r),this.processComment(e),e}resetStartLocation(e,t,r){e.start=t,e.loc.start=r,this.options.ranges&&(e.range[0]=t)}resetEndLocation(e,t=this.state.lastTokEnd,r=this.state.lastTokEndLoc){e.end=t,e.loc.end=r,this.options.ranges&&(e.range[1]=t)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.start,t.loc.start)}}{toAssignable(e){var t,r;let n=void 0;switch(("ParenthesizedExpression"===e.type||(null==(t=e.extra)?void 0:t.parenthesized))&&(n=Ee(e),"Identifier"!==n.type&&"MemberExpression"!==n.type&&this.raise(e.start,y.InvalidParenthesizedAssignment)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(let t=0,r=e.properties.length,n=r-1;tthis.parseExpressionBase(t)):this.allowInAnd(()=>this.parseExpressionBase(t))}parseExpressionBase(e){const t=this.state.start,r=this.state.startLoc,n=this.parseMaybeAssign(e);if(this.match(o.comma)){const i=this.startNodeAt(t,r);for(i.expressions=[n];this.eat(o.comma);)i.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return n}parseMaybeAssignDisallowIn(e,t,r){return this.disallowInAnd(()=>this.parseMaybeAssign(e,t,r))}parseMaybeAssignAllowIn(e,t,r){return this.allowInAnd(()=>this.parseMaybeAssign(e,t,r))}parseMaybeAssign(e,t,r){const n=this.state.start,i=this.state.startLoc;if(this.isContextual("yield")&&this.prodParam.hasYield){this.state.exprAllowed=!0;let e=this.parseYield();return t&&(e=t.call(this,e,n,i)),e}let s;e?s=!1:(e=new Se,s=!0),(this.match(o.parenL)||this.match(o.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e,r);if(t&&(a=t.call(this,a,n,i)),this.state.type.isAssign){const t=this.startNodeAt(n,i),r=this.state.value;return t.operator=r,this.match(o.eq)?(t.left=this.toAssignable(a),e.doubleProto=-1):t.left=a,e.shorthandAssign>=t.left.start&&(e.shorthandAssign=-1),this.checkLVal(a,void 0,void 0,"assignment expression"),this.next(),t.right=this.parseMaybeAssign(),this.finishNode(t,"AssignmentExpression")}return s&&this.checkExpressionErrors(e,!0),a}parseMaybeConditional(e,t){const r=this.state.start,n=this.state.startLoc,i=this.state.potentialArrowAt,s=this.parseExprOps(e);return this.shouldExitDescending(s,i)?s:this.parseConditional(s,r,n,t)}parseConditional(e,t,r,n){if(this.eat(o.question)){const n=this.startNodeAt(t,r);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(o.colon),n.alternate=this.parseMaybeAssign(),this.finishNode(n,"ConditionalExpression")}return e}parseExprOps(e){const t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseMaybeUnary(e);return this.shouldExitDescending(i,n)?i:this.parseExprOp(i,t,r,-1)}parseExprOp(e,t,r,n){let i=this.state.type.binop;if(null!=i&&(this.prodParam.hasIn||!this.match(o._in))&&i>n){const s=this.state.type;if(s===o.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)}const a=this.startNodeAt(t,r);a.left=e,a.operator=this.state.value,s!==o.exponent||"UnaryExpression"!==e.type||!this.options.createParenthesizedExpressions&&e.extra&&e.extra.parenthesized||this.raise(e.argument.start,y.UnexpectedTokenUnaryExponentiation);const l=s===o.logicalOR||s===o.logicalAND,c=s===o.nullishCoalescing;if(c&&(i=o.logicalAND.binop),this.next(),s===o.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(o.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,y.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(s,i),this.finishNode(a,l||c?"LogicalExpression":"BinaryExpression");const p=this.state.type;if(c&&(p===o.logicalOR||p===o.logicalAND)||l&&p===o.nullishCoalescing)throw this.raise(this.state.start,y.MixingCoalesceWithLogical);return this.parseExprOp(a,t,r,n)}return e}parseExprOpRightExpr(e,t){const r=this.state.start,n=this.state.startLoc;switch(e){case o.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext(()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t),r,n));case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(t))}default:return this.parseExprOpBaseRightExpr(e,t)}}parseExprOpBaseRightExpr(e,t){const r=this.state.start,n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),r,n,e.rightAssociative?t-1:t)}parseMaybeUnary(e){if(this.isContextual("await")&&this.isAwaitAllowed())return this.parseAwait();const t=this.match(o.incDec),r=this.startNode();if(this.state.type.prefix){r.operator=this.state.value,r.prefix=!0,this.match(o._throw)&&this.expectPlugin("throwExpressions");const n=this.match(o._delete);if(this.next(),r.argument=this.parseMaybeUnary(),this.checkExpressionErrors(e,!0),this.state.strict&&n){const e=r.argument;"Identifier"===e.type?this.raise(r.start,y.StrictDelete):"MemberExpression"!==e.type&&"OptionalMemberExpression"!==e.type||"PrivateName"!==e.property.type||this.raise(r.start,y.DeletePrivateField)}if(!t)return this.finishNode(r,"UnaryExpression")}return this.parseUpdate(r,t,e)}parseUpdate(e,t,r){if(t)return this.checkLVal(e.argument,void 0,void 0,"prefix operation"),this.finishNode(e,"UpdateExpression");const n=this.state.start,i=this.state.startLoc;let s=this.parseExprSubscripts(r);if(this.checkExpressionErrors(r,!1))return s;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(n,i);e.operator=this.state.value,e.prefix=!1,e.argument=s,this.checkLVal(s,void 0,void 0,"postfix operation"),this.next(),s=this.finishNode(e,"UpdateExpression")}return s}parseExprSubscripts(e){const t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprAtom(e);return this.shouldExitDescending(i,n)?i:this.parseSubscripts(i,t,r)}parseSubscripts(e,t,r,n){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,r,n,i),i.maybeAsyncArrow=!1}while(!i.stop);return e}parseSubscript(e,t,r,n,i){if(!n&&this.eat(o.doubleColon))return this.parseBind(e,t,r,n,i);if(this.match(o.backQuote))return this.parseTaggedTemplateExpression(e,t,r,i);let s=!1;if(this.match(o.questionDot)){if(i.optionalChainMember=s=!0,n&&40===this.lookaheadCharCode())return i.stop=!0,e;this.next()}return!n&&this.match(o.parenL)?this.parseCoverCallAndAsyncArrowHead(e,t,r,i,s):s||this.match(o.bracketL)||this.eat(o.dot)?this.parseMember(e,t,r,i,s):(i.stop=!0,e)}parseMember(e,t,r,n,i){const s=this.startNodeAt(t,r),a=this.eat(o.bracketL);s.object=e,s.computed=a;const l=a?this.parseExpression():this.parseMaybePrivateName(!0);return"PrivateName"===l.type&&("Super"===s.object.type&&this.raise(t,y.SuperPrivateField),this.classScope.usePrivateName(l.id.name,l.start)),s.property=l,a&&this.expect(o.bracketR),n.optionalChainMember?(s.optional=i,this.finishNode(s,"OptionalMemberExpression")):this.finishNode(s,"MemberExpression")}parseBind(e,t,r,n,i){const s=this.startNodeAt(t,r);return s.object=e,s.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(s,"BindExpression"),t,r,n)}parseCoverCallAndAsyncArrowHead(e,t,r,n,i){const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(t,r);return a.callee=e,n.maybeAsyncArrow&&this.expressionScope.enter(new ve(2)),n.optionalChainMember&&(a.optional=i),a.arguments=i?this.parseCallExpressionArguments(o.parenR,!1):this.parseCallExpressionArguments(o.parenR,n.maybeAsyncArrow,"Import"===e.type,"Super"!==e.type,a),this.finishCallExpression(a,n.optionalChainMember),n.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(n.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,r),a)):(n.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=s,a}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,r,n){const i=this.startNodeAt(t,r);return i.tag=e,i.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(t,y.OptionalChainingNoTemplate),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsyncArrow(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start==5&&e.start===this.state.potentialArrowAt}finishCallExpression(e,t){if("Import"===e.callee.type)if(2===e.arguments.length&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),0===e.arguments.length||e.arguments.length>2)this.raise(e.start,y.ImportCallArity,this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?"one or two arguments":"one argument");else for(let t=0,r=e.arguments;t1?(n=this.startNodeAt(a,l),n.expressions=c,this.finishNodeAt(n,"SequenceExpression",m,y)):n=c[0],!this.options.createParenthesizedExpressions)return this.addExtra(n,"parenthesized",!0),this.addExtra(n,"parenStart",t),n;const b=this.startNodeAt(t,r);return b.expression=n,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(o.arrow))return e}parseParenItem(e,t,r){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(o.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const r=this.parseMetaProperty(e,t,"target");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let e=y.UnexpectedNewTarget;this.hasPlugin("classProperties")&&(e+=" or class properties"),this.raise(r.start,e)}return r}return this.parseNew(e)}parseNew(e){return e.callee=this.parseNoCallExpr(),"Import"===e.callee.type?this.raise(e.callee.start,y.ImportCallNotNewExpression):"OptionalMemberExpression"===e.callee.type||"OptionalCallExpression"===e.callee.type?this.raise(this.state.lastTokEnd,y.OptionalChainingNoNew):this.eat(o.questionDot)&&this.raise(this.state.start,y.OptionalChainingNoNew),this.parseNewArguments(e),this.finishNode(e,"NewExpression")}parseNewArguments(e){if(this.eat(o.parenL)){const t=this.parseExprList(o.parenR);this.toReferencedList(t),e.arguments=t}else e.arguments=[]}parseTemplateElement(e){const t=this.startNode();return null===this.state.value&&(e||this.raise(this.state.start+1,y.InvalidEscapeSequenceTemplate)),t.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\\r\\n?/g,"\\n"),cooked:this.state.value},this.next(),t.tail=this.match(o.backQuote),this.finishNode(t,"TemplateElement")}parseTemplate(e){const t=this.startNode();this.next(),t.expressions=[];let r=this.parseTemplateElement(e);for(t.quasis=[r];!r.tail;)this.expect(o.dollarBraceL),t.expressions.push(this.parseTemplateSubstitution()),this.expect(o.braceR),t.quasis.push(r=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,r,n){r&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=Object.create(null);let a=!0;const l=this.startNode();for(l.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(o.comma),this.match(e)){this.addExtra(l,"trailingComma",this.state.lastTokStart);break}const i=this.parsePropertyDefinition(t,n);t||this.checkProto(i,r,s,n),r&&"ObjectProperty"!==i.type&&"SpreadElement"!==i.type&&this.raise(i.start,y.InvalidRecordProperty),i.shorthand&&this.addExtra(i,"shorthand",!0),l.properties.push(i)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=i;let c="ObjectExpression";return t?c="ObjectPattern":r&&(c="RecordExpression"),this.finishNode(l,c)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(o.bracketL)||this.match(o.star))}parsePropertyDefinition(e,t){let r=[];if(this.match(o.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,y.UnsupportedPropertyDecorator);this.match(o.at);)r.push(this.parseDecorator());const n=this.startNode();let i,s,a=!1,l=!1,c=!1;if(this.match(o.ellipsis))return r.length&&this.unexpected(),e?(this.next(),n.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(n,"RestElement")):this.parseSpread();r.length&&(n.decorators=r,r=[]),n.method=!1,(e||t)&&(i=this.state.start,s=this.state.startLoc),e||(a=this.eat(o.star));const p=this.state.containsEsc,u=this.parsePropertyName(n,!1);if(!e&&!a&&!p&&this.maybeAsyncOrAccessorProp(n)){const e=u.name;"async"!==e||this.hasPrecedingLineBreak()||(l=!0,a=this.eat(o.star),this.parsePropertyName(n,!1)),"get"!==e&&"set"!==e||(c=!0,n.kind=e,this.match(o.star)&&(a=!0,this.raise(this.state.pos,y.AccessorIsGenerator,e),this.next()),this.parsePropertyName(n,!1))}return this.parseObjPropValue(n,i,s,a,l,e,c,t),n}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const r=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e),i=e.start;n.length!==r&&("get"===e.kind?this.raise(i,y.BadGetterArity):this.raise(i,y.BadSetterArity)),"set"===e.kind&&"RestElement"===(null==(t=n[n.length-1])?void 0:t.type)&&this.raise(i,y.BadSetterRestParameter)}parseObjectMethod(e,t,r,n,i){return i?(this.parseMethod(e,t,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):r||t||this.match(o.parenL)?(n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,r,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(e,t,r,n,i){return e.shorthand=!1,this.eat(o.colon)?(e.value=n?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(e,"ObjectProperty")):e.computed||"Identifier"!==e.key.type?void 0:(this.checkReservedWord(e.key.name,e.key.start,!0,!1),n?e.value=this.parseMaybeDefault(t,r,e.key.__clone()):this.match(o.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),e.value=this.parseMaybeDefault(t,r,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,r,n,i,s,a,o){const l=this.parseObjectMethod(e,n,i,s,a)||this.parseObjectProperty(e,t,r,s,o);return l||this.unexpected(),l}parsePropertyName(e,t){if(this.eat(o.bracketL))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(o.bracketR);else{const r=this.state.inPropertyName;this.state.inPropertyName=!0,e.key=this.match(o.num)||this.match(o.string)||this.match(o.bigint)||this.match(o.decimal)?this.parseExprAtom():this.parseMaybePrivateName(t),"PrivateName"!==e.key.type&&(e.computed=!1),this.state.inPropertyName=r}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,r,n,i,s,a=!1){this.initFunction(e,r),e.generator=!!t;const o=n;return this.scope.enter(18|(a?64:0)|(i?32:0)),this.prodParam.enter(ne(r,e.generator)),this.parseFunctionParams(e,o),this.parseFunctionBodyAndFinish(e,s,!0),this.prodParam.exit(),this.scope.exit(),e}parseArrayLike(e,t,r,n){r&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=this.startNode();return this.next(),s.elements=this.parseExprList(e,!r,n,s),this.state.inFSharpPipelineDirectBody=i,this.finishNode(s,r?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,r,n){this.scope.enter(6);let i=ne(r,!1);!this.match(o.bracketL)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,r);const s=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,n)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=s,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,r){e.params=this.toAssignableList(t,r)}parseFunctionBodyAndFinish(e,t,r=!1){this.parseFunctionBody(e,!1,r),this.finishNode(e,t)}parseFunctionBody(e,t,r=!1){const n=t&&!this.match(o.braceL);if(this.expressionScope.enter(we()),n)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const n=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,i=>{const s=!this.isSimpleParamList(e.params);if(i&&s){const t="method"!==e.kind&&"constructor"!==e.kind||!e.key?e.start:e.key.end;this.raise(t,y.IllegalLanguageModeDirective)}const a=!n&&this.state.strict;this.checkParams(e,!(this.state.strict||t||r||s),t,a),this.state.strict&&e.id&&this.checkLVal(e.id,65,void 0,"function name",void 0,a)}),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=i}}isSimpleParamList(e){for(let t=0,r=e.length;t=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.start,r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),t,r,e);return this.state.inFSharpPipelineDirectBody=n,i}}{parseTopLevel(e,t){if(t.sourceType=this.options.sourceType,t.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(t,!0,!0,o.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let e=0,t=Array.from(this.scope.undefinedExports);ethis.parseStatement("do")),this.state.labels.pop(),this.expect(o._while),e.test=this.parseHeaderExpression(),this.eat(o.semi),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(Oe);let t=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(t=this.state.lastTokStart),this.scope.enter(0),this.expect(o.parenL),this.match(o.semi))return t>-1&&this.unexpected(t),this.parseFor(e,null);const r=this.isLet();if(this.match(o._var)||this.match(o._const)||r){const n=this.startNode(),i=r?"let":this.state.value;return this.next(),this.parseVar(n,!0,i),this.finishNode(n,"VariableDeclaration"),(this.match(o._in)||this.isContextual("of"))&&1===n.declarations.length?this.parseForIn(e,n,t):(t>-1&&this.unexpected(t),this.parseFor(e,n))}const n=new Se,i=this.parseExpression(!0,n);if(this.match(o._in)||this.isContextual("of")){this.toAssignable(i);const r=this.isContextual("of")?"for-of statement":"for-in statement";return this.checkLVal(i,void 0,void 0,r),this.parseForIn(e,i,t)}return this.checkExpressionErrors(n,!0),t>-1&&this.unexpected(t),this.parseFor(e,i)}parseFunctionStatement(e,t,r){return this.next(),this.parseFunction(e,1|(r?0:2),t)}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(o._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,y.IllegalReturn),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();const t=e.cases=[];let r,n;for(this.expect(o.braceL),this.state.labels.push(Ie),this.scope.enter(0);!this.match(o.braceR);)if(this.match(o._case)||this.match(o._default)){const e=this.match(o._case);r&&this.finishNode(r,"SwitchCase"),t.push(r=this.startNode()),r.consequent=[],this.next(),e?r.test=this.parseExpression():(n&&this.raise(this.state.lastTokStart,y.MultipleDefaultsInSwitch),n=!0,r.test=null),this.expect(o.colon)}else r?r.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),r&&this.finishNode(r,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,y.NewlineAfterThrow),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseCatchClauseParam(){const e=this.parseBindingAtom(),t="Identifier"===e.type;return this.scope.enter(t?8:0),this.checkLVal(e,9,null,"catch clause"),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(o._catch)){const t=this.startNode();this.next(),this.match(o.parenL)?(this.expect(o.parenL),t.param=this.parseCatchClauseParam(),this.expect(o.parenR)):(t.param=null,this.scope.enter(0)),t.body=this.withTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(o._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,y.NoCatchOrFinally),this.finishNode(e,"TryStatement")}parseVarStatement(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Oe),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("while")),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(this.state.start,y.StrictWith),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("with")),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,r,n){for(let e=0,n=this.state.labels;e=0;t--){const r=this.state.labels[t];if(r.statementStart!==e.start)break;r.statementStart=this.state.start,r.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.state.start}),e.body=this.parseStatement(n?-1===n.indexOf("label")?n+"label":n:"label"),this.state.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,r){const n=this.startNode();return this.expect(o.braceL),t&&this.scope.enter(0),this.parseBlockBody(n,e,!1,o.braceR,r),t&&this.scope.exit(),this.finishNode(n,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,r,n,i){const s=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(s,t?a:void 0,r,n,i)}parseBlockOrModuleBlockBody(e,t,r,n,i){const s=[],a=this.state.strict;let o=!1,l=!1;for(;!this.match(n);){!l&&this.state.octalPositions.length&&s.push(...this.state.octalPositions);const n=this.parseStatement(null,r);if(t&&!l&&this.isValidDirective(n)){const e=this.stmtToDirective(n);t.push(e),o||"use strict"!==e.value.value||(o=!0,this.setStrict(!0))}else l=!0,e.push(n)}if(this.state.strict&&s.length)for(let e=0;ethis.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,r){const n=this.match(o._in);return this.next(),n?r>-1&&this.unexpected(r):e.await=r>-1,"VariableDeclaration"!==t.type||null==t.declarations[0].init||n&&!this.state.strict&&"var"===t.kind&&"Identifier"===t.declarations[0].id.type?"AssignmentPattern"===t.type&&this.raise(t.start,y.InvalidLhs,"for-loop"):this.raise(t.start,y.ForInOfLoopInitializer,n?"for-in":"for-of"),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(o.parenR),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,n?"ForInStatement":"ForOfStatement")}parseVar(e,t,r){const n=e.declarations=[],i=this.hasPlugin("typescript");for(e.kind=r;;){const e=this.startNode();if(this.parseVarId(e,r),this.eat(o.eq)?e.init=t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==r||this.match(o._in)||this.isContextual("of")?"Identifier"===e.id.type||t&&(this.match(o._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,y.DeclarationMissingInitializer,"Complex binding patterns"):i||this.raise(this.state.lastTokEnd,y.DeclarationMissingInitializer,"Const declarations"),e.init=null),n.push(this.finishNode(e,"VariableDeclarator")),!this.eat(o.comma))break}return e}parseVarId(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"var"===t?5:9,void 0,"variable declaration","var"!==t)}parseFunction(e,t=0,r=!1){const n=1&t,i=2&t,s=!(!n||4&t);this.initFunction(e,r),this.match(o.star)&&i&&this.raise(this.state.start,y.GeneratorInSingleStatementContext),e.generator=this.eat(o.star),n&&(e.id=this.parseFunctionId(s));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(ne(r,e.generator)),n||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(e,n?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),n&&!i&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||this.match(o.name)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(o.parenL),this.expressionScope.enter(new Pe(3)),e.params=this.parseBindingList(o.parenR,41,!1,t),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:9:17,e.id.start)}parseClass(e,t,r){this.next(),this.takeDecorators(e);const n=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,r),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,n),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(o.eq)||this.match(o.semi)||this.match(o.braceR)}isClassMethod(){return this.match(o.parenL)}isNonstaticConstructor(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}parseClassBody(e,t){this.classScope.enter();const r={constructorAllowsSuper:e,hadConstructor:!1,hadStaticBlock:!1};let n=[];const i=this.startNode();if(i.body=[],this.expect(o.braceL),this.withTopicForbiddingContext(()=>{for(;!this.match(o.braceR);){if(this.eat(o.semi)){if(n.length>0)throw this.raise(this.state.lastTokEnd,y.DecoratorSemicolon);continue}if(this.match(o.at)){n.push(this.parseDecorator());continue}const e=this.startNode();n.length&&(e.decorators=n,this.resetStartLocationFromNode(e,n[0]),n=[]),this.parseClassMember(i,e,r),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,y.DecoratorConstructor)}}),this.state.strict=t,this.next(),n.length)throw this.raise(this.state.start,y.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(e,t){const r=this.parseIdentifier(!0);if(this.isClassMethod()){const n=t;return n.kind="method",n.computed=!1,n.key=r,n.static=!1,this.pushClassMethod(e,n,!1,!1,!1,!1),!0}if(this.isClassProperty()){const n=t;return n.computed=!1,n.key=r,n.static=!1,e.body.push(this.parseClassProperty(n)),!0}return!1}parseClassMember(e,t,r){const n=this.isContextual("static");if(n){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(o.braceL))return void this.parseClassStaticBlock(e,t,r)}this.parseClassMemberWithIsStatic(e,t,r,n)}parseClassMemberWithIsStatic(e,t,r,n){const i=t,s=t,a=t,l=t,c=i,p=i;if(t.static=n,this.eat(o.star))return c.kind="method",this.parseClassElementName(c),"PrivateName"===c.key.type?void this.pushClassPrivateMethod(e,s,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,y.ConstructorIsGenerator),void this.pushClassMethod(e,i,!0,!1,!1,!1));const u=this.state.containsEsc,d=this.parseClassElementName(t),h="PrivateName"===d.type,f="Identifier"===d.type,m=this.state.start;if(this.parsePostMemberNameModifiers(p),this.isClassMethod()){if(c.kind="method",h)return void this.pushClassPrivateMethod(e,s,!1,!1);const t=this.isNonstaticConstructor(i);let n=!1;t&&(i.kind="constructor",r.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(d.start,y.DuplicateConstructor),r.hadConstructor=!0,n=r.constructorAllowsSuper),this.pushClassMethod(e,i,!1,!1,t,n)}else if(this.isClassProperty())h?this.pushClassPrivateProperty(e,l):this.pushClassProperty(e,a);else if(!f||"async"!==d.name||u||this.isLineTerminator())!f||"get"!==d.name&&"set"!==d.name||u||this.match(o.star)&&this.isLineTerminator()?this.isLineTerminator()?h?this.pushClassPrivateProperty(e,l):this.pushClassProperty(e,a):this.unexpected():(c.kind=d.name,this.parseClassElementName(i),"PrivateName"===c.key.type?this.pushClassPrivateMethod(e,s,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,y.ConstructorIsAccessor),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i));else{const t=this.eat(o.star);p.optional&&this.unexpected(m),c.kind="method",this.parseClassElementName(c),this.parsePostMemberNameModifiers(p),"PrivateName"===c.key.type?this.pushClassPrivateMethod(e,s,t,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,y.ConstructorIsAsync),this.pushClassMethod(e,i,t,!0,!1,!1))}}parseClassElementName(e){const t=this.parsePropertyName(e,!0);return e.computed||!e.static||"prototype"!==t.name&&"prototype"!==t.value||this.raise(t.start,y.StaticPrototype),"PrivateName"===t.type&&"constructor"===t.id.name&&this.raise(t.start,y.ConstructorClassPrivateField),t}parseClassStaticBlock(e,t,r){var n;this.expectPlugin("classStaticBlock",t.start),this.scope.enter(80),this.expressionScope.enter(we());const i=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const s=t.body=[];this.parseBlockOrModuleBlockBody(s,void 0,!1,o.braceR),this.prodParam.exit(),this.expressionScope.exit(),this.scope.exit(),this.state.labels=i,e.body.push(this.finishNode(t,"StaticBlock")),r.hadStaticBlock&&this.raise(t.start,y.DuplicateStaticBlock),(null==(n=t.decorators)?void 0:n.length)&&this.raise(t.start,y.DecoratorStaticBlock),r.hadStaticBlock=!0}pushClassProperty(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(t.key.start,y.ConstructorClassField),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){this.expectPlugin("classPrivateProperties",t.key.start);const r=this.parseClassPrivateProperty(t);e.body.push(r),this.classScope.declarePrivateName(r.key.id.name,0,r.key.start)}pushClassMethod(e,t,r,n,i,s){e.body.push(this.parseMethod(t,r,n,i,s,"ClassMethod",!0))}pushClassPrivateMethod(e,t,r,n){this.expectPlugin("classPrivateMethods",t.key.start);const i=this.parseMethod(t,r,n,!1,!1,"ClassPrivateMethod",!0);e.body.push(i);const s="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.classScope.declarePrivateName(i.key.id.name,s,i.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return e.typeAnnotation&&!this.match(o.eq)||this.expectPlugin("classProperties"),this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseInitializer(e){this.scope.enter(80),this.expressionScope.enter(we()),this.prodParam.enter(0),e.value=this.eat(o.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,r,n=139){this.match(o.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,n,void 0,"class name")):r||!t?e.id=null:this.unexpected(null,y.MissingClassName)}parseClassSuper(e){e.superClass=this.eat(o._extends)?this.parseExprSubscripts():null}parseExport(e){const t=this.maybeParseExportDefaultSpecifier(e),r=!t||this.eat(o.comma),n=r&&this.eatExportStar(e),i=n&&this.maybeParseExportNamespaceSpecifier(e),s=r&&(!i||this.eat(o.comma)),a=t||n;if(n&&!i)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const l=this.maybeParseExportNamedSpecifiers(e);if(t&&r&&!n&&!l||i&&s&&!l)throw this.unexpected(null,o.braceL);let c;if(a||l?(c=!1,this.parseExportFrom(e,a)):c=this.maybeParseExportDeclaration(e),a||l||c)return this.checkExport(e,!0,!1,!!e.source),this.finishNode(e,"ExportNamedDeclaration");if(this.eat(o._default))return e.declaration=this.parseExportDefaultExpression(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration");throw this.unexpected(null,o.braceL)}eatExportStar(e){return this.eat(o.star)}maybeParseExportDefaultSpecifier(e){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const t=this.startNode();return t.exported=this.parseIdentifier(!0),e.specifiers=[this.finishNode(t,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual("as")){e.specifiers||(e.specifiers=[]);const t=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){return!!this.match(o.braceL)&&(e.specifiers||(e.specifiers=[]),e.specifiers.push(...this.parseExportSpecifiers()),e.source=null,e.declaration=null,!0)}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual("async"))return!1;const e=this.nextTokenStart();return!l.test(this.input.slice(this.state.pos,e))&&this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode(),t=this.isAsyncFunction();if(this.match(o._function)||t)return this.next(),t&&this.next(),this.parseFunction(e,5,t);if(this.match(o._class))return this.parseClass(e,!0,!0);if(this.match(o.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,y.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(e,!0,!0);if(this.match(o._const)||this.match(o._var)||this.isLet())throw this.raise(this.state.start,y.UnsupportedDefaultExport);{const e=this.parseMaybeAssignAllowIn();return this.semicolon(),e}}parseExportDeclaration(e){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(o.name)){const e=this.state.value;if("async"===e&&!this.state.containsEsc||"let"===e)return!1;if(("type"===e||"interface"===e)&&!this.state.containsEsc){const e=this.lookahead();if(e.type===o.name&&"from"!==e.value||e.type===o.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(o._default))return!1;const e=this.nextTokenStart(),t=this.isUnparsedContextual(e,"from");if(44===this.input.charCodeAt(e)||this.match(o.name)&&t)return!0;if(this.match(o._default)&&t){const t=this.input.charCodeAt(this.nextTokenStartSince(e+4));return 34===t||39===t}return!1}parseExportFrom(e,t){if(this.eatContextual("from")){e.source=this.parseImportSource(),this.checkExport(e);const t=this.maybeParseImportAssertions();t&&(e.assertions=t)}else t?this.unexpected():e.source=null;this.semicolon()}shouldParseExportDeclaration(){if(this.match(o.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,y.DecoratorBeforeExport)}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(e,t,r,n){if(t)if(r){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){var i;const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!=4||(null==(i=t.extra)?void 0:i.parenthesized)||this.raise(t.start,y.ExportDefaultFromAsIdentifier)}}else if(e.specifiers&&e.specifiers.length)for(let t=0,r=e.specifiers;t-1&&this.raise(e.start,"default"===t?y.DuplicateDefaultExport:y.DuplicateExport,t),this.state.exportedIdentifiers.push(t)}parseExportSpecifiers(){const e=[];let t=!0;for(this.expect(o.braceL);!this.eat(o.braceR);){if(t)t=!1;else if(this.expect(o.comma),this.eat(o.braceR))break;const r=this.startNode();r.local=this.parseModuleExportName(),r.exported=this.eatContextual("as")?this.parseModuleExportName():r.local.__clone(),e.push(this.finishNode(r,"ExportSpecifier"))}return e}parseModuleExportName(){if(this.match(o.string)){this.expectPlugin("moduleStringNames");const e=this.parseLiteral(this.state.value,"StringLiteral"),t=e.value.match(Ce);return t&&this.raise(e.start,y.ModuleExportNameHasLoneSurrogate,t[0].charCodeAt(0).toString(16)),e}return this.parseIdentifier(!0)}parseImport(e){if(e.specifiers=[],!this.match(o.string)){const t=!this.maybeParseDefaultImportSpecifier(e)||this.eat(o.comma),r=t&&this.maybeParseStarImportSpecifier(e);t&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual("from")}e.source=this.parseImportSource();const t=this.maybeParseImportAssertions();if(t)e.assertions=t;else{const t=this.maybeParseModuleAttributes();t&&(e.attributes=t)}return this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(o.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(e){return this.match(o.name)}parseImportSpecifierLocal(e,t,r,n){t.local=this.parseIdentifier(),this.checkLVal(t.local,9,void 0,n),e.specifiers.push(this.finishNode(t,r))}parseAssertEntries(){const e=[],t=new Set;do{if(this.match(o.braceR))break;const r=this.startNode(),n=this.state.value;if(this.match(o.string)?r.key=this.parseLiteral(n,"StringLiteral"):r.key=this.parseIdentifier(!0),this.expect(o.colon),"type"!==n&&this.raise(r.key.start,y.ModuleAttributeDifferentFromType,n),t.has(n)&&this.raise(r.key.start,y.ModuleAttributesWithDuplicateKeys,n),t.add(n),!this.match(o.string))throw this.unexpected(this.state.start,y.ModuleAttributeInvalidValue);r.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(r,"ImportAttribute"),e.push(r)}while(this.eat(o.comma));return e}maybeParseModuleAttributes(){if(!this.match(o._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const e=[],t=new Set;do{const r=this.startNode();if(r.key=this.parseIdentifier(!0),"type"!==r.key.name&&this.raise(r.key.start,y.ModuleAttributeDifferentFromType,r.key.name),t.has(r.key.name)&&this.raise(r.key.start,y.ModuleAttributesWithDuplicateKeys,r.key.name),t.add(r.key.name),this.expect(o.colon),!this.match(o.string))throw this.unexpected(this.state.start,y.ModuleAttributeInvalidValue);r.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(r,"ImportAttribute"),e.push(r)}while(this.eat(o.comma));return e}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(o.braceL);const e=this.parseAssertEntries();return this.eat(o.braceR),e}maybeParseDefaultImportSpecifier(e){return!!this.shouldParseDefaultImport(e)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(o.star)){const t=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(o.braceL);!this.eat(o.braceR);){if(t)t=!1;else{if(this.eat(o.colon))throw this.raise(this.state.start,y.DestructureNamedImport);if(this.expect(o.comma),this.eat(o.braceR))break}this.parseImportSpecifier(e)}}parseImportSpecifier(e){const t=this.startNode();if(t.imported=this.parseModuleExportName(),this.eatContextual("as"))t.local=this.parseIdentifier();else{const{imported:e}=t;if("StringLiteral"===e.type)throw this.raise(t.start,y.ImportBindingIsString,e.value);this.checkReservedWord(e.name,t.start,!0,!0),t.local=e.__clone()}this.checkLVal(t.local,9,void 0,"import specifier"),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))}}{constructor(e,t){super(e=function(e){const t={};for(let r=0,n=Object.keys(he);r`\'${e}\'`).join(", "));if(oe(e,"moduleAttributes")){if(oe(e,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==le(e,"moduleAttributes","version"))throw new Error("The \'moduleAttributes\' plugin requires a \'version\' option, representing the last proposal update. Currently, the only supported value is \'may-2020\'.")}if(oe(e,"recordAndTuple")&&!pe.includes(le(e,"recordAndTuple","syntaxType")))throw new Error("\'recordAndTuple\' requires \'syntaxType\' option whose value should be one of: "+pe.map(e=>`\'${e}\'`).join(", "))}(e.plugins),r=function(e){const t=de.filter(t=>oe(e,t)),r=t.join("/");let n=Le[r];if(!n){n=De;for(let e=0;e1;const m=(e,t,r)=>{const n=e[d].get(t);if(n){const t=n.value;if(y(e,t)){if(b(e,n),!e[o])return}else r&&(e[h]&&(n.value.now=Date.now()),e[u].unshiftNode(n));return t.value}},y=(e,t)=>{if(!t||!t.maxAge&&!e[l])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[l]&&r>e[l]},T=e=>{if(e[s]>e[i])for(let t=e[u].tail;e[s]>e[i]&&null!==t;){const r=t.prev;b(e,t),t=r}},b=(e,t)=>{if(t){const r=t.value;e[c]&&e[c](r.key,r.value),e[s]-=r.length,e[d].delete(r.key),e[u].removeNode(t)}};class g{constructor(e,t,r,n,i){this.key=e,this.value=t,this.length=r,this.now=n,this.maxAge=i||0}}const S=(e,t,r,n)=>{let i=r.value;y(e,i)&&(b(e,r),e[o]||(i=void 0)),i&&t.call(n,i.value,i.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[i]=e.max||1/0;const t=e.length||f;if(this[a]="function"!=typeof t?f:t,this[o]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[l]=e.maxAge||0,this[c]=e.dispose,this[p]=e.noDisposeOnSet||!1,this[h]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[i]=e||1/0,T(this)}get max(){return this[i]}set allowStale(e){this[o]=!!e}get allowStale(){return this[o]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[l]=e,T(this)}get maxAge(){return this[l]}set lengthCalculator(e){"function"!=typeof e&&(e=f),e!==this[a]&&(this[a]=e,this[s]=0,this[u].forEach(e=>{e.length=this[a](e.value,e.key),this[s]+=e.length})),T(this)}get lengthCalculator(){return this[a]}get length(){return this[s]}get itemCount(){return this[u].length}rforEach(e,t){t=t||this;for(let r=this[u].tail;null!==r;){const n=r.prev;S(this,e,r,t),r=n}}forEach(e,t){t=t||this;for(let r=this[u].head;null!==r;){const n=r.next;S(this,e,r,t),r=n}}keys(){return this[u].toArray().map(e=>e.key)}values(){return this[u].toArray().map(e=>e.value)}reset(){this[c]&&this[u]&&this[u].length&&this[u].forEach(e=>this[c](e.key,e.value)),this[d]=new Map,this[u]=new n,this[s]=0}dump(){return this[u].map(e=>!y(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[u]}set(e,t,r){if((r=r||this[l])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");const n=r?Date.now():0,o=this[a](t,e);if(this[d].has(e)){if(o>this[i])return b(this,this[d].get(e)),!1;const a=this[d].get(e).value;return this[c]&&(this[p]||this[c](e,a.value)),a.now=n,a.maxAge=r,a.value=t,this[s]+=o-a.length,a.length=o,this.get(e),T(this),!0}const h=new g(e,t,o,n,r);return h.length>this[i]?(this[c]&&this[c](e,t),!1):(this[s]+=h.length,this[u].unshift(h),this[d].set(e,this[u].head),T(this),!0)}has(e){if(!this[d].has(e))return!1;const t=this[d].get(e).value;return!y(this,t)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){const e=this[u].tail;return e?(b(this,e),e.value):null}del(e){b(this,this[d].get(e))}load(e){this.reset();const t=Date.now();for(let r=e.length-1;r>=0;r--){const n=e[r],i=n.e||0;if(0===i)this.set(n.k,n.v);else{const e=i-t;e>0&&this.set(n.k,n.v,e)}}}prune(){this[d].forEach((e,t)=>m(this,t,!1))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){throw Error("Test Error stack")},t.SOURCE_STACK_FRAME_LINE_NUMBER=void 0;t.SOURCE_STACK_FRAME_LINE_NUMBER=12},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForAwaitStatement=t.NumericLiteralTypeAnnotation=t.ExistentialTypeParam=t.SpreadProperty=t.RestProperty=t.Flow=t.Pure=t.Generated=t.User=t.Var=t.BlockScoped=t.Referenced=t.Scope=t.Expression=t.Statement=t.BindingIdentifier=t.ReferencedMemberExpression=t.ReferencedIdentifier=void 0;var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(r(0));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}const s={types:["Identifier","JSXIdentifier"],checkPath(e,t){const{node:r,parent:i}=e;if(!n.isIdentifier(r,t)&&!n.isJSXMemberExpression(i,t)){if(!n.isJSXIdentifier(r,t))return!1;if(n.react.isCompatTag(r.name))return!1}return n.isReferenced(r,i,e.parentPath.parent)}};t.ReferencedIdentifier=s;const a={types:["MemberExpression"],checkPath:({node:e,parent:t})=>n.isMemberExpression(e)&&n.isReferenced(e,t)};t.ReferencedMemberExpression=a;const o={types:["Identifier"],checkPath(e){const{node:t,parent:r}=e,i=e.parentPath.parent;return n.isIdentifier(t)&&n.isBinding(t,r,i)}};t.BindingIdentifier=o;const l={types:["Statement"],checkPath({node:e,parent:t}){if(n.isStatement(e)){if(n.isVariableDeclaration(e)){if(n.isForXStatement(t,{left:e}))return!1;if(n.isForStatement(t,{init:e}))return!1}return!0}return!1}};t.Statement=l;const c={types:["Expression"],checkPath:e=>e.isIdentifier()?e.isReferencedIdentifier():n.isExpression(e.node)};t.Expression=c;const p={types:["Scopable","Pattern"],checkPath:e=>n.isScope(e.node,e.parent)};t.Scope=p;const u={checkPath:e=>n.isReferenced(e.node,e.parent)};t.Referenced=u;const d={checkPath:e=>n.isBlockScoped(e.node)};t.BlockScoped=d;const h={types:["VariableDeclaration"],checkPath:e=>n.isVar(e.node)};t.Var=h;const f={checkPath:e=>e.node&&!!e.node.loc};t.User=f;const m={checkPath:e=>!e.isUser()};t.Generated=m;const y={checkPath:(e,t)=>e.scope.isPure(e.node,t)};t.Pure=y;const T={types:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],checkPath:({node:e})=>!!n.isFlow(e)||(n.isImportDeclaration(e)?"type"===e.importKind||"typeof"===e.importKind:n.isExportDeclaration(e)?"type"===e.exportKind:!!n.isImportSpecifier(e)&&("type"===e.importKind||"typeof"===e.importKind))};t.Flow=T;const b={types:["RestElement"],checkPath:e=>e.parentPath&&e.parentPath.isObjectPattern()};t.RestProperty=b;const g={types:["RestElement"],checkPath:e=>e.parentPath&&e.parentPath.isObjectExpression()};t.SpreadProperty=g;t.ExistentialTypeParam={types:["ExistsTypeAnnotation"]};t.NumericLiteralTypeAnnotation={types:["NumberLiteralTypeAnnotation"]};const S={types:["ForOfStatement"],checkPath:({node:e})=>!0===e.await};t.ForAwaitStatement=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const r=e.split(".");return e=>(0,i.default)(e,r,t)};var n,i=(n=r(65))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(!(0,n.isMemberExpression)(e))return!1;const i=Array.isArray(t)?t:t.split("."),s=[];let a;for(a=e;(0,n.isMemberExpression)(a);a=a.object)s.push(a.property);if(s.push(a),s.lengthi.length)return!1;for(let e=0,t=s.length-1;e-1&&e%1==0&&e<=9007199254740991}},function(e,t){e.exports=function(e,t){return function(r){return e(t(r))}}},function(e,t,r){var n=r(67),i=r(74);e.exports=function(e){return null!=e&&i(e.length)&&!n(e)}},function(e,t){e.exports=function(){return[]}},function(e,t,r){var n=r(79),i=r(47),s=r(46),a=r(77),o=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,s(e)),e=i(e);return t}:a;e.exports=o},function(e,t){e.exports=function(e,t){for(var r=-1,n=t.length,i=e.length;++r{s[e].forEach(t=>{Object.hasOwnProperty.call(a,t)||(a[t]=[]),a[t].push(e)})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!(!e||!n.VISITOR_KEYS[e.type])};var n=r(5)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){const r={},i={},s=[],a=[];for(let o=0;o=0)){if((0,n.isAnyTypeAnnotation)(l))return[l];if((0,n.isFlowBaseAnnotation)(l))i[l.type]=l;else if((0,n.isUnionTypeAnnotation)(l))s.indexOf(l.types)<0&&(t=t.concat(l.types),s.push(l.types));else if((0,n.isGenericTypeAnnotation)(l)){const t=l.id.name;if(r[t]){let n=r[t];n.typeParameters?l.typeParameters&&(n.typeParameters.params=e(n.typeParameters.params.concat(l.typeParameters.params))):n=l.typeParameters}else r[t]=l}else a.push(l)}}for(const e of Object.keys(i))a.push(i[e]);for(const e of Object.keys(r))a.push(r[e]);return a};var n=r(2)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(!r||!e)return e;const n=t+"Comments";e[n]?e[n]="leading"===t?r.concat(e[n]):e[n].concat(r):e[n]=r;return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)("innerComments",e,t)};var n,i=(n=r(53))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)("leadingComments",e,t)};var n,i=(n=r(53))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,n.default)(e,t),(0,i.default)(e,t),(0,s.default)(e,t),e};var n=a(r(90)),i=a(r(88)),s=a(r(87));function a(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)("trailingComments",e,t)};var n,i=(n=r(53))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,n.isBlockStatement)(e))return e;let r=[];(0,n.isEmptyStatement)(e)?r=[]:((0,n.isStatement)(e)||(e=(0,n.isFunction)(t)?(0,i.returnStatement)(e):(0,i.expressionStatement)(e)),r=[e]);return(0,i.blockStatement)(r)};var n=r(2),i=r(4)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e=(e=(e=(e+="").replace(/[^a-zA-Z0-9$_]/g,"-")).replace(/^[-0-9]+/,"")).replace(/[-\\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""})),(0,i.default)(e)||(e="_"+e);return e||"_"};var n,i=(n=r(23))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,n.default)(e,i.default,t),e};var n=s(r(94)),i=s(r(95));function s(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r,i){if(!t)return;const s=n.VISITOR_KEYS[t.type];if(!s)return;r(t,i=i||{});for(const n of s){const s=t[n];if(Array.isArray(s))for(const t of s)e(t,r,i);else e(s,r,i)}};var n=r(5)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t={}){const r=t.preserveComments?i:s;for(const t of r)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))"_"===t[0]&&null!=e[t]&&(e[t]=void 0);const n=Object.getOwnPropertySymbols(e);for(const t of n)e[t]=null};var n=r(13);const i=["tokens","start","end","loc","raw","rawValue"],s=n.COMMENT_KEYS.concat(["comments"]).concat(i)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.isVariableDeclaration)(e)&&("var"!==e.kind||e[i.BLOCK_SCOPED_SYMBOL])};var n=r(2),i=r(13)},function(e,t,r){e.exports=function(e){function t(e){let t=0;for(let r=0;r{if("%%"===r)return r;o++;const s=n.formatters[i];if("function"==typeof s){const n=e[o];r=s.call(t,n),e.splice(o,1),o--}return r}),n.formatArgs.call(t,e);(t.log||n.log).apply(t,e)}return a.namespace=e,a.enabled=n.enabled(e),a.useColors=n.useColors(),a.color=t(e),a.destroy=i,a.extend=s,"function"==typeof n.init&&n.init(a),n.instances.push(a),a}function i(){const e=n.instances.indexOf(this);return-1!==e&&(n.instances.splice(e,1),!0)}function s(e,t){const r=n(this.namespace+(void 0===t?":":t)+e);return r.log=this.log,r}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\\.\\*\\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},n.disable=function(){const e=[...n.names.map(a),...n.skips.map(a).map(e=>"-"+e)].join(",");return n.enable(""),e},n.enable=function(e){let t;n.save(e),n.names=[],n.skips=[];const r=("string"==typeof e?e:"").split(/[\\s,]+/),i=r.length;for(t=0;t{n[t]=e[t]}),n.instances=[],n.names=[],n.skips=[],n.formatters={},n.selectColor=t,n.enable(n.load()),n}},function(e,t){e.exports=require("os")},function(e,t,r){"use strict";e.exports=(e,t)=>{t=t||process.argv;const r=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return-1!==n&&(-1===i||ne.isScope());return null==e?void 0:e.scope}get parentBlock(){return this.path.parent}get hub(){return this.path.hub}traverse(e,t,r){(0,i.default)(e,t,this,r,this.path)}generateDeclaredUidIdentifier(e){const t=this.generateUidIdentifier(e);return this.push({id:t}),o.cloneNode(t)}generateUidIdentifier(e){return o.identifier(this.generateUid(e))}generateUid(e="temp"){let t;e=o.toIdentifier(e).replace(/^_+/,"").replace(/[0-9]+$/g,"");let r=1;do{t=this._generateUid(e,r),r++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));const n=this.getProgramParent();return n.references[t]=!0,n.uids[t]=!0,t}_generateUid(e,t){let r=e;return t>1&&(r+=t),"_"+r}generateUidBasedOnNode(e,t){const r=[];!function e(t,r){switch(null==t?void 0:t.type){default:if(o.isModuleDeclaration(t))if(t.source)e(t.source,r);else if(t.specifiers&&t.specifiers.length)for(const n of t.specifiers)e(n,r);else t.declaration&&e(t.declaration,r);else o.isModuleSpecifier(t)?e(t.local,r):o.isLiteral(t)&&r.push(t.value);break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":e(t.object,r),e(t.property,r);break;case"Identifier":case"JSXIdentifier":r.push(t.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":e(t.callee,r);break;case"ObjectExpression":case"ObjectPattern":for(const n of t.properties)e(n,r);break;case"SpreadElement":case"RestElement":e(t.argument,r);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":e(t.key,r);break;case"ThisExpression":r.push("this");break;case"Super":r.push("super");break;case"Import":r.push("import");break;case"DoExpression":r.push("do");break;case"YieldExpression":r.push("yield"),e(t.argument,r);break;case"AwaitExpression":r.push("await"),e(t.argument,r);break;case"AssignmentExpression":e(t.left,r);break;case"VariableDeclarator":e(t.id,r);break;case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":case"PrivateName":e(t.id,r);break;case"ParenthesizedExpression":e(t.expression,r);break;case"UnaryExpression":case"UpdateExpression":e(t.argument,r);break;case"MetaProperty":e(t.meta,r),e(t.property,r);break;case"JSXElement":e(t.openingElement,r);break;case"JSXOpeningElement":r.push(t.name);break;case"JSXFragment":e(t.openingFragment,r);break;case"JSXOpeningFragment":r.push("Fragment");break;case"JSXNamespacedName":e(t.namespace,r),e(t.name,r)}}(e,r);let n=r.join("$");return n=n.replace(/^_/,"")||t||"ref",this.generateUid(n.slice(0,20))}generateUidIdentifierBasedOnNode(e,t){return o.identifier(this.generateUidBasedOnNode(e,t))}isStatic(e){if(o.isThisExpression(e)||o.isSuper(e))return!0;if(o.isIdentifier(e)){const t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1}maybeGenerateMemoised(e,t){if(this.isStatic(e))return null;{const r=this.generateUidIdentifierBasedOnNode(e);return t?r:(this.push({id:r}),o.cloneNode(r))}}checkBlockScopedCollisions(e,t,r,n){if("param"===t)return;if("local"===e.kind)return;if("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&("let"===t||"const"===t))throw this.hub.buildError(n,`Duplicate declaration "${r}"`,TypeError)}rename(e,t,r){const i=this.getBinding(e);if(i)return t=t||this.generateUidIdentifier(e).name,new n.default(i,e,t).rename(r)}_renameFromMap(e,t,r,n){e[t]&&(e[r]=n,e[t]=null)}dump(){const e="-".repeat(60);console.log(e);let t=this;do{console.log("#",t.block.type);for(const e of Object.keys(t.bindings)){const r=t.bindings[e];console.log(" -",e,{constant:r.constant,references:r.references,violations:r.constantViolations.length,kind:r.kind})}}while(t=t.parent);console.log(e)}toArray(e,t,r){if(o.isIdentifier(e)){const t=this.getBinding(e.name);if((null==t?void 0:t.constant)&&t.path.isGenericType("Array"))return e}if(o.isArrayExpression(e))return e;if(o.isIdentifier(e,{name:"arguments"}))return o.callExpression(o.memberExpression(o.memberExpression(o.memberExpression(o.identifier("Array"),o.identifier("prototype")),o.identifier("slice")),o.identifier("call")),[e]);let n;const i=[e];return!0===t?n="toConsumableArray":t?(i.push(o.numericLiteral(t)),n="slicedToArray"):n="toArray",r&&(i.unshift(this.hub.addHelper(n)),n="maybeArrayLike"),o.callExpression(this.hub.addHelper(n),i)}hasLabel(e){return!!this.getLabel(e)}getLabel(e){return this.labels.get(e)}registerLabel(e){this.labels.set(e.node.label.name,e)}registerDeclaration(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding("hoisted",e.get("id"),e);else if(e.isVariableDeclaration()){const t=e.get("declarations");for(const r of t)this.registerBinding(e.node.kind,r)}else if(e.isClassDeclaration())this.registerBinding("let",e);else if(e.isImportDeclaration()){const t=e.get("specifiers");for(const e of t)this.registerBinding("module",e)}else if(e.isExportDeclaration()){const t=e.get("declaration");(t.isClassDeclaration()||t.isFunctionDeclaration()||t.isVariableDeclaration())&&this.registerDeclaration(t)}else this.registerBinding("unknown",e)}buildUndefinedNode(){return o.unaryExpression("void",o.numericLiteral(0),!0)}registerConstantViolation(e){const t=e.getBindingIdentifiers();for(const r of Object.keys(t)){const t=this.getBinding(r);t&&t.reassign(e)}}registerBinding(e,t,r=t){if(!e)throw new ReferenceError("no `kind`");if(t.isVariableDeclaration()){const r=t.get("declarations");for(const t of r)this.registerBinding(e,t);return}const n=this.getProgramParent(),i=t.getOuterBindingIdentifiers(!0);for(const t of Object.keys(i)){n.references[t]=!0;for(const n of i[t]){const i=this.getOwnBinding(t);if(i){if(i.identifier===n)continue;this.checkBlockScopedCollisions(i,e,t,n)}i?this.registerConstantViolation(r):this.bindings[t]=new s.default({identifier:n,scope:this,path:r,kind:e})}}}addGlobal(e){this.globals[e.name]=e}hasUid(e){let t=this;do{if(t.uids[e])return!0}while(t=t.parent);return!1}hasGlobal(e){let t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1}hasReference(e){return!!this.getProgramParent().references[e]}isPure(e,t){if(o.isIdentifier(e)){const r=this.getBinding(e.name);return!!r&&(!t||r.constant)}if(o.isClass(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&this.isPure(e.body,t);if(o.isClassBody(e)){for(const r of e.body)if(!this.isPure(r,t))return!1;return!0}if(o.isBinary(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(o.isArrayExpression(e)){for(const r of e.elements)if(!this.isPure(r,t))return!1;return!0}if(o.isObjectExpression(e)){for(const r of e.properties)if(!this.isPure(r,t))return!1;return!0}if(o.isMethod(e))return!(e.computed&&!this.isPure(e.key,t))&&("get"!==e.kind&&"set"!==e.kind);if(o.isProperty(e))return!(e.computed&&!this.isPure(e.key,t))&&this.isPure(e.value,t);if(o.isUnaryExpression(e))return this.isPure(e.argument,t);if(o.isTaggedTemplateExpression(e))return o.matchesPattern(e.tag,"String.raw")&&!this.hasBinding("String",!0)&&this.isPure(e.quasi,t);if(o.isTemplateLiteral(e)){for(const r of e.expressions)if(!this.isPure(r,t))return!1;return!0}return o.isPureish(e)}setData(e,t){return this.data[e]=t}getData(e){let t=this;do{const r=t.data[e];if(null!=r)return r}while(t=t.parent)}removeData(e){let t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)}init(){this.inited||(this.inited=!0,this.crawl())}crawl(){const e=this.path;if(this.references=Object.create(null),this.bindings=Object.create(null),this.globals=Object.create(null),this.uids=Object.create(null),this.data=Object.create(null),e.isFunction()){e.isFunctionExpression()&&e.has("id")&&!e.get("id").node[o.NOT_LOCAL_BINDING]&&this.registerBinding("local",e.get("id"),e);const t=e.get("params");for(const e of t)this.registerBinding("param",e)}const t=this.getProgramParent();if(t.crawling)return;const r={references:[],constantViolations:[],assignments:[]};this.crawling=!0,e.traverse(u,r),this.crawling=!1;for(const e of r.assignments){const r=e.getBindingIdentifiers();for(const n of Object.keys(r))e.scope.getBinding(n)||t.addGlobal(r[n]);e.scope.registerConstantViolation(e)}for(const e of r.references){const r=e.scope.getBinding(e.node.name);r?r.reference(e):t.addGlobal(e.node)}for(const e of r.constantViolations)e.scope.registerConstantViolation(e)}push(e){let t=this.path;t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=(this.getFunctionParent()||this.getProgramParent()).path),(t.isLoop()||t.isCatchClause()||t.isFunction())&&(t.ensureBlock(),t=t.get("body"));const r=e.unique,n=e.kind||"var",i=null==e._blockHoist?2:e._blockHoist,s=`declaration:${n}:${i}`;let a=!r&&t.getData(s);if(!a){const e=o.variableDeclaration(n,[]);e._blockHoist=i,[a]=t.unshiftContainer("body",[e]),r||t.setData(s,a)}const l=o.variableDeclarator(e.id,e.init);a.node.declarations.push(l),this.registerBinding(n,a.get("declarations").pop())}getProgramParent(){let e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error("Couldn\'t find a Program")}getFunctionParent(){let e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);return null}getBlockParent(){let e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error("We couldn\'t find a BlockStatement, For, Switch, Function, Loop or Program...")}getAllBindings(){const e=Object.create(null);let t=this;do{for(const r of Object.keys(t.bindings))r in e==!1&&(e[r]=t.bindings[r]);t=t.parent}while(t);return e}getAllBindingsOfKind(){const e=Object.create(null);for(const t of arguments){let r=this;do{for(const n of Object.keys(r.bindings)){const i=r.bindings[n];i.kind===t&&(e[n]=i)}r=r.parent}while(r)}return e}bindingIdentifierEquals(e,t){return this.getBindingIdentifier(e)===t}getBinding(e){let t,r=this;do{const i=r.getOwnBinding(e);var n;if(i)if(!(null==(n=t)?void 0:n.isPattern())||"param"===i.kind)return i;t=r.path}while(r=r.parent)}getOwnBinding(e){return this.bindings[e]}getBindingIdentifier(e){var t;return null==(t=this.getBinding(e))?void 0:t.identifier}getOwnBindingIdentifier(e){const t=this.bindings[e];return null==t?void 0:t.identifier}hasOwnBinding(e){return!!this.getOwnBinding(e)}hasBinding(e,t){return!!e&&(!!this.hasOwnBinding(e)||(!!this.parentHasBinding(e,t)||(!!this.hasUid(e)||(!(t||!h.globals.includes(e))||!(t||!h.contextVariables.includes(e))))))}parentHasBinding(e,t){var r;return null==(r=this.parent)?void 0:r.hasBinding(e,t)}moveBindingTo(e,t){const r=this.getBinding(e);r&&(r.scope.removeOwnBinding(e),r.scope=t,t.bindings[e]=r)}removeOwnBinding(e){delete this.bindings[e]}removeBinding(e){var t;null==(t=this.getBinding(e))||t.scope.removeOwnBinding(e);let r=this;do{r.uids[e]&&(r.uids[e]=!1)}while(r=r.parent)}}t.default=h,h.globals=Object.keys(a.default.builtin),h.contextVariables=["arguments","undefined","Infinity","NaN"]},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class{constructor({identifier:e,scope:t,path:r,kind:n}){this.constantViolations=[],this.constant=!0,this.referencePaths=[],this.referenced=!1,this.references=0,this.identifier=e,this.scope=t,this.path=r,this.kind=n,this.clearValue()}deoptValue(){this.clearValue(),this.hasDeoptedValue=!0}setValue(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)}clearValue(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null}reassign(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)}reference(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))}dereference(){this.references--,this.referenced=!!this.references}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const r=e.split(".");return e=>(0,n.default)(e,r,t)};var n=r(103)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(!(0,n.isMemberExpression)(e))return!1;const i=Array.isArray(t)?t:t.split("."),s=[];let a;for(a=e;(0,n.isMemberExpression)(a);a=a.object)s.push(a.property);if(s.push(a),s.lengthi.length)return!1;for(let e=0,t=s.length-1;e{s[e].forEach(t=>{Object.hasOwnProperty.call(a,t)||(a[t]=[]),a[t].push(e)})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!(!e||!n.VISITOR_KEYS[e.type])};var n=r(6)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){const r={},s={},a=[],o=[];for(let l=0;l=0)){if((0,n.isAnyTypeAnnotation)(c))return[c];if((0,n.isFlowBaseAnnotation)(c))s[c.type]=c;else if((0,n.isUnionTypeAnnotation)(c))a.indexOf(c.types)<0&&(t=t.concat(c.types),a.push(c.types));else if((0,n.isGenericTypeAnnotation)(c)){const t=i(c.id);if(r[t]){let n=r[t];n.typeParameters?c.typeParameters&&(n.typeParameters.params=e(n.typeParameters.params.concat(c.typeParameters.params))):n=c.typeParameters}else r[t]=c}else o.push(c)}}for(const e of Object.keys(s))o.push(s[e]);for(const e of Object.keys(r))o.push(r[e]);return o};var n=r(1);function i(e){return(0,n.isIdentifier)(e)?e.name:`${e.id.name}.${i(e.qualification)}`}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(!r||!e)return e;const n=t+"Comments";e[n]?e[n]="leading"===t?r.concat(e[n]):e[n].concat(r):e[n]=r;return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,n.default)("innerComments",e,t)};var n=r(58)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,n.default)("leadingComments",e,t)};var n=r(58)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,n.default)(e,t),(0,i.default)(e,t),(0,s.default)(e,t),e};var n=r(112),i=r(110),s=r(109)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,n.default)("trailingComments",e,t)};var n=r(58)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,n.isBlockStatement)(e))return e;let r=[];(0,n.isEmptyStatement)(e)?r=[]:((0,n.isStatement)(e)||(e=(0,n.isFunction)(t)?(0,i.returnStatement)(e):(0,i.expressionStatement)(e)),r=[e]);return(0,i.blockStatement)(r)};var n=r(1),i=r(3)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e+="";let t="";for(const r of e)t+=(0,i.isIdentifierChar)(r.codePointAt(0))?r:"-";t=t.replace(/^[-0-9]+/,""),t=t.replace(/[-\\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""})),(0,n.default)(t)||(t="_"+t);return t||"_"};var n=r(24),i=r(19)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,n.default)(e,i.default,t),e};var n=r(116),i=r(117)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r,i){if(!t)return;const s=n.VISITOR_KEYS[t.type];if(!s)return;r(t,i=i||{});for(const n of s){const s=t[n];if(Array.isArray(s))for(const t of s)e(t,r,i);else e(s,r,i)}};var n=r(6)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t={}){const r=t.preserveComments?i:s;for(const t of r)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))"_"===t[0]&&null!=e[t]&&(e[t]=void 0);const n=Object.getOwnPropertySymbols(e);for(const t of n)e[t]=null};var n=r(15);const i=["tokens","start","end","loc","raw","rawValue"],s=n.COMMENT_KEYS.concat(["comments"]).concat(i)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.isVariableDeclaration)(e)&&("var"!==e.kind||e[i.BLOCK_SCOPED_SYMBOL])};var n=r(1),i=r(15)},function(e,t,r){var n=r(120),i=r(25),s=r(121).ArraySet,a=r(318).MappingList;function o(e){e||(e={}),this._file=i.getArg(e,"file",null),this._sourceRoot=i.getArg(e,"sourceRoot",null),this._skipValidation=i.getArg(e,"skipValidation",!1),this._sources=new s,this._names=new s,this._mappings=new a,this._sourcesContents=null}o.prototype._version=3,o.fromSourceMap=function(e){var t=e.sourceRoot,r=new o({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=i.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&r.setSourceContent(t,n)})),r},o.prototype.addMapping=function(e){var t=i.getArg(e,"generated"),r=i.getArg(e,"original",null),n=i.getArg(e,"source",null),s=i.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,s),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=s&&(s=String(s),this._names.has(s)||this._names.add(s)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:s})},o.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=i.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[i.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[i.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},o.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error(\'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\\'s "file" property. Both were omitted.\');n=e.file}var a=this._sourceRoot;null!=a&&(n=i.relative(a,n));var o=new s,l=new s;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=s.source&&(t.source=s.source,null!=r&&(t.source=i.join(r,t.source)),null!=a&&(t.source=i.relative(a,t.source)),t.originalLine=s.line,t.originalColumn=s.column,null!=s.name&&(t.name=s.name))}var c=t.source;null==c||o.has(c)||o.add(c);var p=t.name;null==p||l.has(p)||l.add(p)}),this),this._sources=o,this._names=l,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=i.join(r,t)),null!=a&&(t=i.relative(a,t)),this.setSourceContent(t,n))}),this)},o.prototype._validateMapping=function(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))},o.prototype._serializeMappings=function(){for(var e,t,r,s,a=0,o=1,l=0,c=0,p=0,u=0,d="",h=this._mappings.toArray(),f=0,m=h.length;f0){if(!i.compareByGeneratedPositionsInflated(t,h[f-1]))continue;e+=","}e+=n.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(s=this._sources.indexOf(t.source),e+=n.encode(s-u),u=s,e+=n.encode(t.originalLine-1-c),c=t.originalLine-1,e+=n.encode(t.originalColumn-l),l=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=n.encode(r-p),p=r)),d+=e}return d},o.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=i.relative(t,e));var r=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},o.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},o.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=o},function(e,t,r){var n=r(317);t.encode=function(e){var t,r="",i=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&i,(i>>>=5)>0&&(t|=32),r+=n.encode(t)}while(i>0);return r},t.decode=function(e,t,r){var i,s,a,o,l=e.length,c=0,p=0;do{if(t>=l)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(s=n.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));i=!!(32&s),c+=(s&=31)<>1,1==(1&a)?-o:o),r.rest=t}},function(e,t,r){var n=r(25),i=Object.prototype.hasOwnProperty,s="undefined"!=typeof Map;function a(){this._array=[],this._set=s?new Map:Object.create(null)}a.fromArray=function(e,t){for(var r=new a,n=0,i=e.length;n=0)return t}else{var r=n.toSetString(e);if(i.call(this._set,r))return this._set[r]}throw new Error(\'"\'+e+\'" is not in the set.\')},a.prototype.at=function(e){if(e>=0&&e{this.word(e.name)})},t.ArgumentPlaceholder=function(){this.token("?")},t.SpreadElement=t.RestElement=function(e){this.token("..."),this.print(e.argument,e)},t.ObjectPattern=t.ObjectExpression=function(e){const t=e.properties;this.token("{"),this.printInnerComments(e),t.length&&(this.space(),this.printList(t,e,{indent:!0,statement:!0}),this.space());this.token("}")},t.ObjectMethod=function(e){this.printJoin(e.decorators,e),this._methodHead(e),this.space(),this.print(e.body,e)},t.ObjectProperty=function(e){if(this.printJoin(e.decorators,e),e.computed)this.token("["),this.print(e.key,e),this.token("]");else{if(i.isAssignmentPattern(e.value)&&i.isIdentifier(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value,e);if(this.print(e.key,e),e.shorthand&&i.isIdentifier(e.key)&&i.isIdentifier(e.value)&&e.key.name===e.value.name)return}this.token(":"),this.space(),this.print(e.value,e)},t.ArrayPattern=t.ArrayExpression=function(e){const t=e.elements,r=t.length;this.token("["),this.printInnerComments(e);for(let n=0;n0&&this.space(),this.print(i,e),n0&&this.space(),this.print(i,e),ni?e(t):t,c=e.split(a),{start:p,end:u,markerLines:d}=function(e,t,r){const n=Object.assign({column:0,line:-1},e.start),i=Object.assign({},n,e.end),{linesAbove:s=2,linesBelow:a=3}=r||{},o=n.line,l=n.column,c=i.line,p=i.column;let u=Math.max(o-(s+1),0),d=Math.min(t.length,c+a);-1===o&&(u=0),-1===c&&(d=t.length);const h=c-o,f={};if(h)for(let e=0;e<=h;e++){const r=e+o;if(l)if(0===e){const e=t[r-1].length;f[r]=[l,e-l+1]}else if(e===h)f[r]=[0,p];else{const n=t[r-e].length;f[r]=[0,n]}else f[r]=!0}else f[o]=l===p?!l||[l,0]:[l,p-l];return{start:u,end:d,markerLines:f}}(t,c,r),h=t.start&&"number"==typeof t.start.column,f=String(u).length;let m=(i?(0,n.default)(e,r):e).split(a).slice(p,u).map((e,t)=>{const n=p+1+t,i=` ${(" "+n).slice(-f)} |`,s=d[n],a=!d[n+1];if(s){let t="";if(Array.isArray(s)){const n=e.slice(0,Math.max(s[0]-1,0)).replace(/[^\\t]/g," "),c=s[1]||1;t=["\\n ",l(o.gutter,i.replace(/\\d/g," "))," ",n,l(o.marker,"^").repeat(c)].join(""),a&&r.message&&(t+=" "+l(o.message,r.message))}return[l(o.marker,">"),l(o.gutter,i),e.length>0?" "+e:"",t].join("")}return` ${l(o.gutter,i)}${e.length>0?" "+e:""}`}).join("\\n");return r.message&&!h&&(m=`${" ".repeat(f+1)}${r.message}\\n${m}`),i?s.reset(m):m}},function(e,t,r){var n=r(349),i={};for(var s in n)n.hasOwnProperty(s)&&(i[n[s]]=s);var a=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var o in a)if(a.hasOwnProperty(o)){if(!("channels"in a[o]))throw new Error("missing channels property: "+o);if(!("labels"in a[o]))throw new Error("missing channel labels property: "+o);if(a[o].labels.length!==a[o].channels)throw new Error("channel and label counts mismatch: "+o);var l=a[o].channels,c=a[o].labels;delete a[o].channels,delete a[o].labels,Object.defineProperty(a[o],"channels",{value:l}),Object.defineProperty(a[o],"labels",{value:c})}a.rgb.hsl=function(e){var t,r,n=e[0]/255,i=e[1]/255,s=e[2]/255,a=Math.min(n,i,s),o=Math.max(n,i,s),l=o-a;return o===a?t=0:n===o?t=(i-s)/l:i===o?t=2+(s-n)/l:s===o&&(t=4+(n-i)/l),(t=Math.min(60*t,360))<0&&(t+=360),r=(a+o)/2,[t,100*(o===a?0:r<=.5?l/(o+a):l/(2-o-a)),100*r]},a.rgb.hsv=function(e){var t,r,n,i,s,a=e[0]/255,o=e[1]/255,l=e[2]/255,c=Math.max(a,o,l),p=c-Math.min(a,o,l),u=function(e){return(c-e)/6/p+.5};return 0===p?i=s=0:(s=p/c,t=u(a),r=u(o),n=u(l),a===c?i=n-r:o===c?i=1/3+t-n:l===c&&(i=2/3+r-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*s,100*c]},a.rgb.hwb=function(e){var t=e[0],r=e[1],n=e[2];return[a.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(r,n))),100*(n=1-1/255*Math.max(t,Math.max(r,n)))]},a.rgb.cmyk=function(e){var t,r=e[0]/255,n=e[1]/255,i=e[2]/255;return[100*((1-r-(t=Math.min(1-r,1-n,1-i)))/(1-t)||0),100*((1-n-t)/(1-t)||0),100*((1-i-t)/(1-t)||0),100*t]},a.rgb.keyword=function(e){var t=i[e];if(t)return t;var r,s,a,o=1/0;for(var l in n)if(n.hasOwnProperty(l)){var c=n[l],p=(s=e,a=c,Math.pow(s[0]-a[0],2)+Math.pow(s[1]-a[1],2)+Math.pow(s[2]-a[2],2));p.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)+.1805*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)),100*(.2126*t+.7152*r+.0722*n),100*(.0193*t+.1192*r+.9505*n)]},a.rgb.lab=function(e){var t=a.rgb.xyz(e),r=t[0],n=t[1],i=t[2];return n/=100,i/=108.883,r=(r/=95.047)>.008856?Math.pow(r,1/3):7.787*r+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(r-n),200*(n-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},a.hsl.rgb=function(e){var t,r,n,i,s,a=e[0]/360,o=e[1]/100,l=e[2]/100;if(0===o)return[s=255*l,s,s];t=2*l-(r=l<.5?l*(1+o):l+o-l*o),i=[0,0,0];for(var c=0;c<3;c++)(n=a+1/3*-(c-1))<0&&n++,n>1&&n--,s=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[c]=255*s;return i},a.hsl.hsv=function(e){var t=e[0],r=e[1]/100,n=e[2]/100,i=r,s=Math.max(n,.01);return r*=(n*=2)<=1?n:2-n,i*=s<=1?s:2-s,[t,100*(0===n?2*i/(s+i):2*r/(n+r)),100*((n+r)/2)]},a.hsv.rgb=function(e){var t=e[0]/60,r=e[1]/100,n=e[2]/100,i=Math.floor(t)%6,s=t-Math.floor(t),a=255*n*(1-r),o=255*n*(1-r*s),l=255*n*(1-r*(1-s));switch(n*=255,i){case 0:return[n,l,a];case 1:return[o,n,a];case 2:return[a,n,l];case 3:return[a,o,n];case 4:return[l,a,n];case 5:return[n,a,o]}},a.hsv.hsl=function(e){var t,r,n,i=e[0],s=e[1]/100,a=e[2]/100,o=Math.max(a,.01);return n=(2-s)*a,r=s*o,[i,100*(r=(r/=(t=(2-s)*o)<=1?t:2-t)||0),100*(n/=2)]},a.hwb.rgb=function(e){var t,r,n,i,s,a,o,l=e[0]/360,c=e[1]/100,p=e[2]/100,u=c+p;switch(u>1&&(c/=u,p/=u),n=6*l-(t=Math.floor(6*l)),0!=(1&t)&&(n=1-n),i=c+n*((r=1-p)-c),t){default:case 6:case 0:s=r,a=i,o=c;break;case 1:s=i,a=r,o=c;break;case 2:s=c,a=r,o=i;break;case 3:s=c,a=i,o=r;break;case 4:s=i,a=c,o=r;break;case 5:s=r,a=c,o=i}return[255*s,255*a,255*o]},a.cmyk.rgb=function(e){var t=e[0]/100,r=e[1]/100,n=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i))]},a.xyz.rgb=function(e){var t,r,n,i=e[0]/100,s=e[1]/100,a=e[2]/100;return r=-.9689*i+1.8758*s+.0415*a,n=.0557*i+-.204*s+1.057*a,t=(t=3.2406*i+-1.5372*s+-.4986*a)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,[255*(t=Math.min(Math.max(0,t),1)),255*(r=Math.min(Math.max(0,r),1)),255*(n=Math.min(Math.max(0,n),1))]},a.xyz.lab=function(e){var t=e[0],r=e[1],n=e[2];return r/=100,n/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(t-r),200*(r-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]},a.lab.xyz=function(e){var t,r,n,i=e[0];t=e[1]/500+(r=(i+16)/116),n=r-e[2]/200;var s=Math.pow(r,3),a=Math.pow(t,3),o=Math.pow(n,3);return r=s>.008856?s:(r-16/116)/7.787,t=a>.008856?a:(t-16/116)/7.787,n=o>.008856?o:(n-16/116)/7.787,[t*=95.047,r*=100,n*=108.883]},a.lab.lch=function(e){var t,r=e[0],n=e[1],i=e[2];return(t=360*Math.atan2(i,n)/2/Math.PI)<0&&(t+=360),[r,Math.sqrt(n*n+i*i),t]},a.lch.lab=function(e){var t,r=e[0],n=e[1];return t=e[2]/360*2*Math.PI,[r,n*Math.cos(t),n*Math.sin(t)]},a.rgb.ansi16=function(e){var t=e[0],r=e[1],n=e[2],i=1 in arguments?arguments[1]:a.rgb.hsv(e)[2];if(0===(i=Math.round(i/50)))return 30;var s=30+(Math.round(n/255)<<2|Math.round(r/255)<<1|Math.round(t/255));return 2===i&&(s+=60),s},a.hsv.ansi16=function(e){return a.rgb.ansi16(a.hsv.rgb(e),e[2])},a.rgb.ansi256=function(e){var t=e[0],r=e[1],n=e[2];return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},a.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var r=.5*(1+~~(e>50));return[(1&t)*r*255,(t>>1&1)*r*255,(t>>2&1)*r*255]},a.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var r;return e-=16,[Math.floor(e/36)/5*255,Math.floor((r=e%36)/6)/5*255,r%6/5*255]},a.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},a.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var r=t[0];3===t[0].length&&(r=r.split("").map((function(e){return e+e})).join(""));var n=parseInt(r,16);return[n>>16&255,n>>8&255,255&n]},a.rgb.hcg=function(e){var t,r=e[0]/255,n=e[1]/255,i=e[2]/255,s=Math.max(Math.max(r,n),i),a=Math.min(Math.min(r,n),i),o=s-a;return t=o<=0?0:s===r?(n-i)/o%6:s===n?2+(i-r)/o:4+(r-n)/o+4,t/=6,[360*(t%=1),100*o,100*(o<1?a/(1-o):0)]},a.hsl.hcg=function(e){var t=e[1]/100,r=e[2]/100,n=1,i=0;return(n=r<.5?2*t*r:2*t*(1-r))<1&&(i=(r-.5*n)/(1-n)),[e[0],100*n,100*i]},a.hsv.hcg=function(e){var t=e[1]/100,r=e[2]/100,n=t*r,i=0;return n<1&&(i=(r-n)/(1-n)),[e[0],100*n,100*i]},a.hcg.rgb=function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100;if(0===r)return[255*n,255*n,255*n];var i,s=[0,0,0],a=t%1*6,o=a%1,l=1-o;switch(Math.floor(a)){case 0:s[0]=1,s[1]=o,s[2]=0;break;case 1:s[0]=l,s[1]=1,s[2]=0;break;case 2:s[0]=0,s[1]=1,s[2]=o;break;case 3:s[0]=0,s[1]=l,s[2]=1;break;case 4:s[0]=o,s[1]=0,s[2]=1;break;default:s[0]=1,s[1]=0,s[2]=l}return i=(1-r)*n,[255*(r*s[0]+i),255*(r*s[1]+i),255*(r*s[2]+i)]},a.hcg.hsv=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t),n=0;return r>0&&(n=t/r),[e[0],100*n,100*r]},a.hcg.hsl=function(e){var t=e[1]/100,r=e[2]/100*(1-t)+.5*t,n=0;return r>0&&r<.5?n=t/(2*r):r>=.5&&r<1&&(n=t/(2*(1-r))),[e[0],100*n,100*r]},a.hcg.hwb=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t);return[e[0],100*(r-t),100*(1-r)]},a.hwb.hcg=function(e){var t=e[1]/100,r=1-e[2]/100,n=r-t,i=0;return n<1&&(i=(r-n)/(1-n)),[e[0],100*n,100*i]},a.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},a.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},a.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},a.gray.hsl=a.gray.hsv=function(e){return[0,0,e[0]]},a.gray.hwb=function(e){return[0,100,e[0]]},a.gray.cmyk=function(e){return[0,0,0,e[0]]},a.gray.lab=function(e){return[e[0],0,0]},a.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r},a.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){const{placeholderWhitelist:a,placeholderPattern:o,preserveComments:c,syntacticPlaceholders:p}=r,u=function(e,t,r){const n=(t.plugins||[]).slice();!1!==r&&n.push("placeholders");t=Object.assign({allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,sourceType:"module"},t,{plugins:n});try{return(0,i.parse)(e,t)}catch(t){const r=t.loc;throw r&&(t.message+="\\n"+(0,s.codeFrameColumns)(e,{start:r}),t.code="BABEL_TEMPLATE_PARSE_ERROR"),t}}(t,r.parser,p);n.removePropertiesDeep(u,{preserveComments:c}),e.validate(u);const d={placeholders:[],placeholderNames:new Set},h={placeholders:[],placeholderNames:new Set},f={value:void 0};return n.traverse(u,l,{syntactic:d,legacy:h,isLegacyRef:f,placeholderWhitelist:a,placeholderPattern:o,syntacticPlaceholders:p}),Object.assign({ast:u},f.value?h:d)};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=n?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(20)),i=r(361),s=r(125);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}const o=/^[_$A-Z0-9]+$/;function l(e,t,r){var i;let s;if(n.isPlaceholder(e)){if(!1===r.syntacticPlaceholders)throw new Error("%%foo%%-style placeholders can\'t be used when \'.syntacticPlaceholders\' is false.");s=e.name.name,r.isLegacyRef.value=!1}else{if(!1===r.isLegacyRef.value||r.syntacticPlaceholders)return;if(n.isIdentifier(e)||n.isJSXIdentifier(e))s=e.name,r.isLegacyRef.value=!0;else{if(!n.isStringLiteral(e))return;s=e.value,r.isLegacyRef.value=!0}}if(!r.isLegacyRef.value&&(null!=r.placeholderPattern||null!=r.placeholderWhitelist))throw new Error("\'.placeholderWhitelist\' and \'.placeholderPattern\' aren\'t compatible with \'.syntacticPlaceholders: true\'");if(r.isLegacyRef.value&&(!1===r.placeholderPattern||!(r.placeholderPattern||o).test(s))&&!(null==(i=r.placeholderWhitelist)?void 0:i.has(s)))return;t=t.slice();const{node:a,key:l}=t[t.length-1];let c;n.isStringLiteral(e)||n.isPlaceholder(e,{expectedNode:"StringLiteral"})?c="string":n.isNewExpression(a)&&"arguments"===l||n.isCallExpression(a)&&"arguments"===l||n.isFunction(a)&&"params"===l?c="param":n.isExpressionStatement(a)&&!n.isPlaceholder(e)?(c="statement",t=t.slice(0,-1)):c=n.isStatement(e)&&n.isPlaceholder(e)?"statement":"other";const{placeholders:p,placeholderNames:u}=r.isLegacyRef.value?r.legacy:r.syntactic;p.push({name:s,type:c,resolve:e=>function(e,t){let r=e;for(let e=0;e{if(!Object.prototype.hasOwnProperty.call(t,e.name)){const t=e.name;throw new Error(`Error: No substitution given for "${t}". If this is not meant to be a\\n placeholder you may want to consider passing one of the following options to @babel/template:\\n - { placeholderPattern: false, placeholderWhitelist: new Set([\'${t}\'])}\\n - { placeholderPattern: /^${t}$/ }`)}}),Object.keys(t).forEach(t=>{if(!e.placeholderNames.has(t))throw new Error(`Unknown substitution "${t}" given`)}));return e.placeholders.slice().reverse().forEach(e=>{try{!function(e,t,r){e.isDuplicate&&(Array.isArray(r)?r=r.map(e=>n.cloneNode(e)):"object"==typeof r&&(r=n.cloneNode(r)));const{parent:i,key:s,index:a}=e.resolve(t);if("string"===e.type){if("string"==typeof r&&(r=n.stringLiteral(r)),!r||!n.isStringLiteral(r))throw new Error("Expected string substitution")}else if("statement"===e.type)void 0===a?r?Array.isArray(r)?r=n.blockStatement(r):"string"==typeof r?r=n.expressionStatement(n.identifier(r)):n.isStatement(r)||(r=n.expressionStatement(r)):r=n.emptyStatement():r&&!Array.isArray(r)&&("string"==typeof r&&(r=n.identifier(r)),n.isStatement(r)||(r=n.expressionStatement(r)));else if("param"===e.type){if("string"==typeof r&&(r=n.identifier(r)),void 0===a)throw new Error("Assertion failure.")}else if("string"==typeof r&&(r=n.identifier(r)),Array.isArray(r))throw new Error("Cannot replace single expression with an array.");if(void 0===a)n.validate(i,s,r),i[s]=r;else{const t=i[s].slice();"statement"===e.type||"param"===e.type?null==r?t.splice(a,1):Array.isArray(r)?t.splice(a,1,...r):t[a]=r:t[a]=r,n.validate(i,s,t),i[s]=t}}(e,r,t&&t[e.name]||null)}catch(t){throw t.message=`@babel/template placeholder "${e.name}": ${t.message}`,t}}),r};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(r(20));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}},function(e,t,r){var n,i,s;!function(a,o){"use strict";i=[r(373)],void 0===(s="function"==typeof(n=function(e){var t=/(^|@)\\S+:\\d+/,r=/^\\s*at .*(\\S+:\\d+|\\(native\\))/m,n=/^(eval@)?(\\[native code])?$/;return{parse:function(e){if(void 0!==e.stacktrace||void 0!==e["opera#sourceloc"])return this.parseOpera(e);if(e.stack&&e.stack.match(r))return this.parseV8OrIE(e);if(e.stack)return this.parseFFOrSafari(e);throw new Error("Cannot parse given Error object")},extractLocation:function(e){if(-1===e.indexOf(":"))return[e];var t=/(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(e.replace(/[()]/g,""));return[t[1],t[2]||void 0,t[3]||void 0]},parseV8OrIE:function(t){return t.stack.split("\\n").filter((function(e){return!!e.match(r)}),this).map((function(t){t.indexOf("(eval ")>-1&&(t=t.replace(/eval code/g,"eval").replace(/(\\(eval at [^()]*)|(\\),.*$)/g,""));var r=t.replace(/^\\s+/,"").replace(/\\(eval code/g,"("),n=r.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/),i=(r=n?r.replace(n[0],""):r).split(/\\s+/).slice(1),s=this.extractLocation(n?n[1]:i.pop()),a=i.join(" ")||void 0,o=["eval",""].indexOf(s[0])>-1?void 0:s[0];return new e({functionName:a,fileName:o,lineNumber:s[1],columnNumber:s[2],source:t})}),this)},parseFFOrSafari:function(t){return t.stack.split("\\n").filter((function(e){return!e.match(n)}),this).map((function(t){if(t.indexOf(" > eval")>-1&&(t=t.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g,":$1")),-1===t.indexOf("@")&&-1===t.indexOf(":"))return new e({functionName:t});var r=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=t.match(r),i=n&&n[1]?n[1]:void 0,s=this.extractLocation(t.replace(r,""));return new e({functionName:i,fileName:s[0],lineNumber:s[1],columnNumber:s[2],source:t})}),this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\\n")>-1&&e.message.split("\\n").length>e.stacktrace.split("\\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(t){for(var r=/Line (\\d+).*script (?:in )?(\\S+)/i,n=t.message.split("\\n"),i=[],s=2,a=n.length;s/,"$2").replace(/\\([^)]*\\)/g,"")||void 0;s.match(/\\(([^)]*)\\)/)&&(r=s.replace(/^[^(]+\\(([^)]*)\\)$/,"$1"));var o=void 0===r||"[arguments not available]"===r?void 0:r.split(",");return new e({functionName:a,args:o,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:t})}),this)}}})?n.apply(t,i):n)||(e.exports=s)}()},function(e,t,r){"use strict";function n(e){var t=this;if(t instanceof n||(t=new n),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,r=this.head.value}for(var i=0;null!==n;i++)r=e(r,n.value,i),n=n.next;return r},n.prototype.reduceReverse=function(e,t){var r,n=this.tail;if(arguments.length>1)r=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,r=this.tail.value}for(var i=this.length-1;null!==n;i--)r=e(r,n.value,i),n=n.prev;return r},n.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},n.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},n.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var r=new n;if(tthis.length&&(t=this.length);for(var i=0,s=this.head;null!==s&&ithis.length&&(t=this.length);for(var i=this.length,s=this.tail;null!==s&&i>t;i--)s=s.prev;for(;null!==s&&i>e;i--,s=s.prev)r.push(s.value);return r},n.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var r=0,n=this.head;null!==n&&r=0)){if(t.push(n.node),n.visit()){r=!0;break}if(this.priorityQueue.length&&(r=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,r))break}for(const t of e)t.popContext();return this.queue=null,r}visit(e,t){const r=e[t];return!!r&&(Array.isArray(r)?this.visitMultiple(r,e,t):this.visitSingle(e,t))}}},function(e,t,r){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=(0,((n=r(64))&&n.__esModule?n:{default:n}).default)("React.Component");t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!!e&&/^[a-z]/.test(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[];for(let r=0;rr.length)throw new Error(`${e}: Too many arguments passed. Received ${a} but can receive no more than ${r.length}`);const o={type:e};let l=0;r.forEach(r=>{const s=i.NODE_FIELDS[e][r];let c;l-1}},function(e,t,r){var n=r(27);e.exports=function(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}},function(e,t,r){var n=r(26);e.exports=function(){this.__data__=new n,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,r){var n=r(26),i=r(40),s=r(157);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var a=r.__data__;if(!i||a.length<199)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new s(a)}return r.set(e,t),this.size=r.size,this}},function(e,t,r){var n=r(67),i=r(154),s=r(22),a=r(69),o=/^\\[object .+?Constructor\\]$/,l=Function.prototype,c=Object.prototype,p=l.toString,u=c.hasOwnProperty,d=RegExp("^"+p.call(u).replace(/[\\\\^$.*+?()[\\]{}|]/g,"\\\\$&").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!s(e)||i(e))&&(n(e)?d:o).test(a(e))}},function(e,t,r){var n=r(41),i=Object.prototype,s=i.hasOwnProperty,a=i.toString,o=n?n.toStringTag:void 0;e.exports=function(e){var t=s.call(e,o),r=e[o];try{e[o]=void 0;var n=!0}catch(e){}var i=a.call(e);return n&&(t?e[o]=r:delete e[o]),i}},function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},function(e,t,r){var n,i=r(155),s=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!s&&s in e}},function(e,t,r){var n=r(7)["__core-js_shared__"];e.exports=n},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,r){var n=r(158),i=r(165),s=r(167),a=r(168),o=r(169);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&ee)return!1;if(r+=t[n+1],r>=e)return!0}return!1}function p(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&s.test(String.fromCharCode(e)):c(e,o)))}function u(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&a.test(String.fromCharCode(e)):c(e,o)||c(e,l))))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isReservedWord=l,t.isStrictReservedWord=c,t.isStrictBindOnlyReservedWord=p,t.isStrictBindReservedWord=function(e,t){return c(e,t)||p(e)},t.isKeyword=function(e){return s.has(e)};const n=["implements","interface","let","package","private","protected","public","static","yield"],i=["eval","arguments"],s=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),a=new Set(n),o=new Set(i);function l(e,t){return t&&"await"===e||"enum"===e}function c(e,t){return l(e,t)||a.has(e)}function p(e){return o.has(e)}},function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(r(9));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}const s=(e,t="TypeParameterDeclaration")=>{(0,n.default)(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends","mixins","implements","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)(t),extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),mixins:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),implements:(0,n.validateOptional)((0,n.arrayOfType)("ClassImplements")),body:(0,n.validateType)("ObjectTypeAnnotation")}})};(0,n.default)("AnyTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["Flow","FlowType"],fields:{elementType:(0,n.validateType)("FlowType")}}),(0,n.default)("BooleanTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("NullLiteralTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ClassImplements",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),s("DeclareClass"),(0,n.default)("DeclareFunction",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),predicate:(0,n.validateOptionalType)("DeclaredPredicate")}}),s("DeclareInterface"),(0,n.default)("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)(["Identifier","StringLiteral"]),body:(0,n.validateType)("BlockStatement"),kind:(0,n.validateOptional)((0,n.assertOneOf)("CommonJS","ES"))}}),(0,n.default)("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),(0,n.default)("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),(0,n.default)("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType")}}),(0,n.default)("DeclareVariable",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier")}}),(0,n.default)("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{declaration:(0,n.validateOptionalType)("Flow"),specifiers:(0,n.validateOptional)((0,n.arrayOfType)(["ExportSpecifier","ExportNamespaceSpecifier"])),source:(0,n.validateOptionalType)("StringLiteral"),default:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),(0,n.default)("DeclareExportAllDeclaration",{visitor:["source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{source:(0,n.validateType)("StringLiteral"),exportKind:(0,n.validateOptional)((0,n.assertOneOf)("type","value"))}}),(0,n.default)("DeclaredPredicate",{visitor:["value"],aliases:["Flow","FlowPredicate"],fields:{value:(0,n.validateType)("Flow")}}),(0,n.default)("ExistsTypeAnnotation",{aliases:["Flow","FlowType"]}),(0,n.default)("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["Flow","FlowType"],fields:{typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),params:(0,n.validate)((0,n.arrayOfType)("FunctionTypeParam")),rest:(0,n.validateOptionalType)("FunctionTypeParam"),returnType:(0,n.validateType)("FlowType")}}),(0,n.default)("FunctionTypeParam",{visitor:["name","typeAnnotation"],aliases:["Flow"],fields:{name:(0,n.validateOptionalType)("Identifier"),typeAnnotation:(0,n.validateType)("FlowType"),optional:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),(0,n.default)("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["Flow","FlowType"],fields:{id:(0,n.validateType)(["Identifier","QualifiedTypeIdentifier"]),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),(0,n.default)("InferredPredicate",{aliases:["Flow","FlowPredicate"]}),(0,n.default)("InterfaceExtends",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{id:(0,n.validateType)(["Identifier","QualifiedTypeIdentifier"]),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),s("InterfaceDeclaration"),(0,n.default)("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["Flow","FlowType"],fields:{extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),body:(0,n.validateType)("ObjectTypeAnnotation")}}),(0,n.default)("IntersectionTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("MixedTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("EmptyTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow","FlowType"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),(0,n.default)("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("number"))}}),(0,n.default)("NumberTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["Flow","FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:(0,n.validate)((0,n.arrayOfType)(["ObjectTypeProperty","ObjectTypeSpreadProperty"])),indexers:(0,n.validateOptional)((0,n.arrayOfType)("ObjectTypeIndexer")),callProperties:(0,n.validateOptional)((0,n.arrayOfType)("ObjectTypeCallProperty")),internalSlots:(0,n.validateOptional)((0,n.arrayOfType)("ObjectTypeInternalSlot")),exact:{validate:(0,n.assertValueType)("boolean"),default:!1},inexact:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeInternalSlot",{visitor:["id","value","optional","static","method"],aliases:["Flow","UserWhitespacable"],fields:{id:(0,n.validateType)("Identifier"),value:(0,n.validateType)("FlowType"),optional:(0,n.validate)((0,n.assertValueType)("boolean")),static:(0,n.validate)((0,n.assertValueType)("boolean")),method:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeCallProperty",{visitor:["value"],aliases:["Flow","UserWhitespacable"],fields:{value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeIndexer",{visitor:["id","key","value","variance"],aliases:["Flow","UserWhitespacable"],fields:{id:(0,n.validateOptionalType)("Identifier"),key:(0,n.validateType)("FlowType"),value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance")}}),(0,n.default)("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["Flow","UserWhitespacable"],fields:{key:(0,n.validateType)(["Identifier","StringLiteral"]),value:(0,n.validateType)("FlowType"),kind:(0,n.validate)((0,n.assertOneOf)("init","get","set")),static:(0,n.validate)((0,n.assertValueType)("boolean")),proto:(0,n.validate)((0,n.assertValueType)("boolean")),optional:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance")}}),(0,n.default)("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["Flow","UserWhitespacable"],fields:{argument:(0,n.validateType)("FlowType")}}),(0,n.default)("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType"),impltype:(0,n.validateType)("FlowType")}}),(0,n.default)("QualifiedTypeIdentifier",{visitor:["id","qualification"],aliases:["Flow"],fields:{id:(0,n.validateType)("Identifier"),qualification:(0,n.validateType)(["Identifier","QualifiedTypeIdentifier"])}}),(0,n.default)("StringLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("string"))}}),(0,n.default)("StringTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("SymbolTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ThisTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("TupleTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("TypeofTypeAnnotation",{visitor:["argument"],aliases:["Flow","FlowType"],fields:{argument:(0,n.validateType)("FlowType")}}),(0,n.default)("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),(0,n.default)("TypeAnnotation",{aliases:["Flow"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),(0,n.default)("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["Flow","ExpressionWrapper","Expression"],fields:{expression:(0,n.validateType)("Expression"),typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),(0,n.default)("TypeParameter",{aliases:["Flow"],visitor:["bound","default","variance"],fields:{name:(0,n.validate)((0,n.assertValueType)("string")),bound:(0,n.validateOptionalType)("TypeAnnotation"),default:(0,n.validateOptionalType)("FlowType"),variance:(0,n.validateOptionalType)("Variance")}}),(0,n.default)("TypeParameterDeclaration",{aliases:["Flow"],visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("TypeParameter"))}}),(0,n.default)("TypeParameterInstantiation",{aliases:["Flow"],visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("UnionTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("Variance",{aliases:["Flow"],builder:["kind"],fields:{kind:(0,n.validate)((0,n.assertOneOf)("minus","plus"))}}),(0,n.default)("VoidTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:(0,n.validateType)("Identifier"),body:(0,n.validateType)(["EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody"])}}),(0,n.default)("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicit:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumBooleanMember")}}),(0,n.default)("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicit:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumNumberMember")}}),(0,n.default)("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicit:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)(["EnumStringMember","EnumDefaultedMember"])}}),(0,n.default)("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:(0,n.validateArrayOfType)("EnumDefaultedMember")}}),(0,n.default)("EnumBooleanMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("BooleanLiteral")}}),(0,n.default)("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("NumericLiteral")}}),(0,n.default)("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("StringLiteral")}}),(0,n.default)("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier")}})},function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(r(9));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}(0,n.default)("JSXAttribute",{visitor:["name","value"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:(0,n.assertNodeType)("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),(0,n.default)("JSXClosingElement",{visitor:["name"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),(0,n.default)("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["JSX","Immutable","Expression"],fields:{openingElement:{validate:(0,n.assertNodeType)("JSXOpeningElement")},closingElement:{optional:!0,validate:(0,n.assertNodeType)("JSXClosingElement")},children:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))},selfClosing:{validate:(0,n.assertValueType)("boolean"),optional:!0}}}),(0,n.default)("JSXEmptyExpression",{aliases:["JSX"]}),(0,n.default)("JSXExpressionContainer",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression","JSXEmptyExpression")}}}),(0,n.default)("JSXSpreadChild",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("JSXIdentifier",{builder:["name"],aliases:["JSX"],fields:{name:{validate:(0,n.assertValueType)("string")}}}),(0,n.default)("JSXMemberExpression",{visitor:["object","property"],aliases:["JSX"],fields:{object:{validate:(0,n.assertNodeType)("JSXMemberExpression","JSXIdentifier")},property:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,n.default)("JSXNamespacedName",{visitor:["namespace","name"],aliases:["JSX"],fields:{namespace:{validate:(0,n.assertNodeType)("JSXIdentifier")},name:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,n.default)("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXAttribute","JSXSpreadAttribute")))},typeParameters:{validate:(0,n.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),(0,n.default)("JSXSpreadAttribute",{visitor:["argument"],aliases:["JSX"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("JSXText",{aliases:["JSX","Immutable"],builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}}}),(0,n.default)("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["JSX","Immutable","Expression"],fields:{openingFragment:{validate:(0,n.assertNodeType)("JSXOpeningFragment")},closingFragment:{validate:(0,n.assertNodeType)("JSXClosingFragment")},children:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}}}),(0,n.default)("JSXOpeningFragment",{aliases:["JSX","Immutable"]}),(0,n.default)("JSXClosingFragment",{aliases:["JSX","Immutable"]})},function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(9)),i=r(83);function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}(0,n.default)("Noop",{visitor:[]}),(0,n.default)("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:{name:{validate:(0,n.assertNodeType)("Identifier")},expectedNode:{validate:(0,n.assertOneOf)(...i.PLACEHOLDERS)}}}),(0,n.default)("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:(0,n.assertValueType)("string")}}})},function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(9)),i=r(50);function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}(0,n.default)("ArgumentPlaceholder",{}),(0,n.default)("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:process.env.BABEL_TYPES_8_BREAKING?{object:{validate:(0,n.assertNodeType)("Expression")},callee:{validate:(0,n.assertNodeType)("Expression")}}:{object:{validate:Object.assign(()=>{},{oneOfNodeTypes:["Expression"]})},callee:{validate:Object.assign(()=>{},{oneOfNodeTypes:["Expression"]})}}}),(0,n.default)("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},i.classMethodOrPropertyCommon,{value:{validate:(0,n.assertNodeType)("Expression"),optional:!0},definite:{validate:(0,n.assertValueType)("boolean"),optional:!0},typeAnnotation:{validate:(0,n.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0},readonly:{validate:(0,n.assertValueType)("boolean"),optional:!0},declare:{validate:(0,n.assertValueType)("boolean"),optional:!0}})}),(0,n.default)("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("PipelinePrimaryTopicReference",{aliases:["Expression"]}),(0,n.default)("ClassPrivateProperty",{visitor:["key","value","decorators"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:(0,n.assertNodeType)("PrivateName")},value:{validate:(0,n.assertNodeType)("Expression"),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}}}),(0,n.default)("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},i.classMethodOrDeclareMethodCommon,i.functionTypeAnnotationCommon,{key:{validate:(0,n.assertNodeType)("PrivateName")},body:{validate:(0,n.assertNodeType)("BlockStatement")}})}),(0,n.default)("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:(0,n.assertNodeType)("Identifier","StringLiteral")},value:{validate:(0,n.assertNodeType)("StringLiteral")}}}),(0,n.default)("Decorator",{visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("DoExpression",{visitor:["body"],aliases:["Expression"],fields:{body:{validate:(0,n.assertNodeType)("BlockStatement")}}}),(0,n.default)("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ObjectProperty","SpreadElement")))}}}),(0,n.default)("TupleExpression",{fields:{elements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,n.default)("DecimalLiteral",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,n.default)("StaticBlock",{visitor:["body"],fields:{body:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent"]})},function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(9)),i=r(50);function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}const a=(0,n.assertValueType)("boolean"),o={returnType:{validate:(0,n.assertNodeType)("TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,n.assertNodeType)("TSTypeParameterDeclaration","Noop"),optional:!0}};(0,n.default)("TSParameterProperty",{aliases:["LVal"],visitor:["parameter"],fields:{accessibility:{validate:(0,n.assertOneOf)("public","private","protected"),optional:!0},readonly:{validate:(0,n.assertValueType)("boolean"),optional:!0},parameter:{validate:(0,n.assertNodeType)("Identifier","AssignmentPattern")}}}),(0,n.default)("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},i.functionDeclarationCommon,o)}),(0,n.default)("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},i.classMethodOrDeclareMethodCommon,o)}),(0,n.default)("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:(0,n.validateType)("TSEntityName"),right:(0,n.validateType)("Identifier")}});const l={typeParameters:(0,n.validateOptionalType)("TSTypeParameterDeclaration"),parameters:(0,n.validateArrayOfType)(["Identifier","RestElement"]),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation")},c={aliases:["TSTypeElement"],visitor:["typeParameters","parameters","typeAnnotation"],fields:l};(0,n.default)("TSCallSignatureDeclaration",c),(0,n.default)("TSConstructSignatureDeclaration",c);const p={key:(0,n.validateType)("Expression"),computed:(0,n.validate)(a),optional:(0,n.validateOptional)(a)};(0,n.default)("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation","initializer"],fields:Object.assign({},p,{readonly:(0,n.validateOptional)(a),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation"),initializer:(0,n.validateOptionalType)("Expression")})}),(0,n.default)("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","parameters","typeAnnotation"],fields:Object.assign({},l,p)}),(0,n.default)("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:(0,n.validateOptional)(a),parameters:(0,n.validateArrayOfType)("Identifier"),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation")}});const u=["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"];for(const e of u)(0,n.default)(e,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});(0,n.default)("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});const d={aliases:["TSType"],visitor:["typeParameters","parameters","typeAnnotation"],fields:l};(0,n.default)("TSFunctionType",d),(0,n.default)("TSConstructorType",d),(0,n.default)("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeParameters"],fields:{typeName:(0,n.validateType)("TSEntityName"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,n.default)("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:(0,n.validateType)(["Identifier","TSThisType"]),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation"),asserts:(0,n.validateOptional)(a)}}),(0,n.default)("TSTypeQuery",{aliases:["TSType"],visitor:["exprName"],fields:{exprName:(0,n.validateType)(["TSEntityName","TSImportType"])}}),(0,n.default)("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:(0,n.validateArrayOfType)("TSTypeElement")}}),(0,n.default)("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:(0,n.validateType)("TSType")}}),(0,n.default)("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:(0,n.validateArrayOfType)(["TSType","TSNamedTupleMember"])}}),(0,n.default)("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:(0,n.validateType)("Identifier"),optional:{validate:a,default:!1},elementType:(0,n.validateType)("TSType")}});const h={aliases:["TSType"],visitor:["types"],fields:{types:(0,n.validateArrayOfType)("TSType")}};(0,n.default)("TSUnionType",h),(0,n.default)("TSIntersectionType",h),(0,n.default)("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:(0,n.validateType)("TSType"),extendsType:(0,n.validateType)("TSType"),trueType:(0,n.validateType)("TSType"),falseType:(0,n.validateType)("TSType")}}),(0,n.default)("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:(0,n.validateType)("TSTypeParameter")}}),(0,n.default)("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{operator:(0,n.validate)((0,n.assertValueType)("string")),typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:(0,n.validateType)("TSType"),indexType:(0,n.validateType)("TSType")}}),(0,n.default)("TSMappedType",{aliases:["TSType"],visitor:["typeParameter","typeAnnotation","nameType"],fields:{readonly:(0,n.validateOptional)(a),typeParameter:(0,n.validateType)("TSTypeParameter"),optional:(0,n.validateOptional)(a),typeAnnotation:(0,n.validateOptionalType)("TSType"),nameType:(0,n.validateOptionalType)("TSType")}}),(0,n.default)("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:(0,n.validateType)(["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral"])}}),(0,n.default)("TSExpressionWithTypeArguments",{aliases:["TSType"],visitor:["expression","typeParameters"],fields:{expression:(0,n.validateType)("TSEntityName"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,n.default)("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:(0,n.validateOptional)(a),id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterDeclaration"),extends:(0,n.validateOptional)((0,n.arrayOfType)("TSExpressionWithTypeArguments")),body:(0,n.validateType)("TSInterfaceBody")}}),(0,n.default)("TSInterfaceBody",{visitor:["body"],fields:{body:(0,n.validateArrayOfType)("TSTypeElement")}}),(0,n.default)("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:(0,n.validateOptional)(a),id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterDeclaration"),typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSAsExpression",{aliases:["Expression"],visitor:["expression","typeAnnotation"],fields:{expression:(0,n.validateType)("Expression"),typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSTypeAssertion",{aliases:["Expression"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:(0,n.validateType)("TSType"),expression:(0,n.validateType)("Expression")}}),(0,n.default)("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","members"],fields:{declare:(0,n.validateOptional)(a),const:(0,n.validateOptional)(a),id:(0,n.validateType)("Identifier"),members:(0,n.validateArrayOfType)("TSEnumMember"),initializer:(0,n.validateOptionalType)("Expression")}}),(0,n.default)("TSEnumMember",{visitor:["id","initializer"],fields:{id:(0,n.validateType)(["Identifier","StringLiteral"]),initializer:(0,n.validateOptionalType)("Expression")}}),(0,n.default)("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{declare:(0,n.validateOptional)(a),global:(0,n.validateOptional)(a),id:(0,n.validateType)(["Identifier","StringLiteral"]),body:(0,n.validateType)(["TSModuleBlock","TSModuleDeclaration"])}}),(0,n.default)("TSModuleBlock",{aliases:["Scopable","Block","BlockParent"],visitor:["body"],fields:{body:(0,n.validateArrayOfType)("Statement")}}),(0,n.default)("TSImportType",{aliases:["TSType"],visitor:["argument","qualifier","typeParameters"],fields:{argument:(0,n.validateType)("StringLiteral"),qualifier:(0,n.validateOptionalType)("TSEntityName"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,n.default)("TSImportEqualsDeclaration",{aliases:["Statement"],visitor:["id","moduleReference"],fields:{isExport:(0,n.validate)(a),id:(0,n.validateType)("Identifier"),moduleReference:(0,n.validateType)(["TSEntityName","TSExternalModuleReference"])}}),(0,n.default)("TSExternalModuleReference",{visitor:["expression"],fields:{expression:(0,n.validateType)("StringLiteral")}}),(0,n.default)("TSNonNullExpression",{aliases:["Expression"],visitor:["expression"],fields:{expression:(0,n.validateType)("Expression")}}),(0,n.default)("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:(0,n.validateType)("Expression")}}),(0,n.default)("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier")}}),(0,n.default)("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:(0,n.assertNodeType)("TSType")}}}),(0,n.default)("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TSType")))}}}),(0,n.default)("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TSTypeParameter")))}}}),(0,n.default)("TSTypeParameter",{builder:["constraint","default","name"],visitor:["constraint","default"],fields:{name:{validate:(0,n.assertValueType)("string")},constraint:{validate:(0,n.assertNodeType)("TSType"),optional:!0},default:{validate:(0,n.assertNodeType)("TSType"),optional:!0}}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!(0,i.default)(e)){var t;const r=null!=(t=null==e?void 0:e.type)?t:JSON.stringify(e);throw new TypeError(`Not a valid node of type "${r}"`)}};var n,i=(n=r(84))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertArrayExpression=function(e,t={}){s("ArrayExpression",e,t)},t.assertAssignmentExpression=function(e,t={}){s("AssignmentExpression",e,t)},t.assertBinaryExpression=function(e,t={}){s("BinaryExpression",e,t)},t.assertInterpreterDirective=function(e,t={}){s("InterpreterDirective",e,t)},t.assertDirective=function(e,t={}){s("Directive",e,t)},t.assertDirectiveLiteral=function(e,t={}){s("DirectiveLiteral",e,t)},t.assertBlockStatement=function(e,t={}){s("BlockStatement",e,t)},t.assertBreakStatement=function(e,t={}){s("BreakStatement",e,t)},t.assertCallExpression=function(e,t={}){s("CallExpression",e,t)},t.assertCatchClause=function(e,t={}){s("CatchClause",e,t)},t.assertConditionalExpression=function(e,t={}){s("ConditionalExpression",e,t)},t.assertContinueStatement=function(e,t={}){s("ContinueStatement",e,t)},t.assertDebuggerStatement=function(e,t={}){s("DebuggerStatement",e,t)},t.assertDoWhileStatement=function(e,t={}){s("DoWhileStatement",e,t)},t.assertEmptyStatement=function(e,t={}){s("EmptyStatement",e,t)},t.assertExpressionStatement=function(e,t={}){s("ExpressionStatement",e,t)},t.assertFile=function(e,t={}){s("File",e,t)},t.assertForInStatement=function(e,t={}){s("ForInStatement",e,t)},t.assertForStatement=function(e,t={}){s("ForStatement",e,t)},t.assertFunctionDeclaration=function(e,t={}){s("FunctionDeclaration",e,t)},t.assertFunctionExpression=function(e,t={}){s("FunctionExpression",e,t)},t.assertIdentifier=function(e,t={}){s("Identifier",e,t)},t.assertIfStatement=function(e,t={}){s("IfStatement",e,t)},t.assertLabeledStatement=function(e,t={}){s("LabeledStatement",e,t)},t.assertStringLiteral=function(e,t={}){s("StringLiteral",e,t)},t.assertNumericLiteral=function(e,t={}){s("NumericLiteral",e,t)},t.assertNullLiteral=function(e,t={}){s("NullLiteral",e,t)},t.assertBooleanLiteral=function(e,t={}){s("BooleanLiteral",e,t)},t.assertRegExpLiteral=function(e,t={}){s("RegExpLiteral",e,t)},t.assertLogicalExpression=function(e,t={}){s("LogicalExpression",e,t)},t.assertMemberExpression=function(e,t={}){s("MemberExpression",e,t)},t.assertNewExpression=function(e,t={}){s("NewExpression",e,t)},t.assertProgram=function(e,t={}){s("Program",e,t)},t.assertObjectExpression=function(e,t={}){s("ObjectExpression",e,t)},t.assertObjectMethod=function(e,t={}){s("ObjectMethod",e,t)},t.assertObjectProperty=function(e,t={}){s("ObjectProperty",e,t)},t.assertRestElement=function(e,t={}){s("RestElement",e,t)},t.assertReturnStatement=function(e,t={}){s("ReturnStatement",e,t)},t.assertSequenceExpression=function(e,t={}){s("SequenceExpression",e,t)},t.assertParenthesizedExpression=function(e,t={}){s("ParenthesizedExpression",e,t)},t.assertSwitchCase=function(e,t={}){s("SwitchCase",e,t)},t.assertSwitchStatement=function(e,t={}){s("SwitchStatement",e,t)},t.assertThisExpression=function(e,t={}){s("ThisExpression",e,t)},t.assertThrowStatement=function(e,t={}){s("ThrowStatement",e,t)},t.assertTryStatement=function(e,t={}){s("TryStatement",e,t)},t.assertUnaryExpression=function(e,t={}){s("UnaryExpression",e,t)},t.assertUpdateExpression=function(e,t={}){s("UpdateExpression",e,t)},t.assertVariableDeclaration=function(e,t={}){s("VariableDeclaration",e,t)},t.assertVariableDeclarator=function(e,t={}){s("VariableDeclarator",e,t)},t.assertWhileStatement=function(e,t={}){s("WhileStatement",e,t)},t.assertWithStatement=function(e,t={}){s("WithStatement",e,t)},t.assertAssignmentPattern=function(e,t={}){s("AssignmentPattern",e,t)},t.assertArrayPattern=function(e,t={}){s("ArrayPattern",e,t)},t.assertArrowFunctionExpression=function(e,t={}){s("ArrowFunctionExpression",e,t)},t.assertClassBody=function(e,t={}){s("ClassBody",e,t)},t.assertClassExpression=function(e,t={}){s("ClassExpression",e,t)},t.assertClassDeclaration=function(e,t={}){s("ClassDeclaration",e,t)},t.assertExportAllDeclaration=function(e,t={}){s("ExportAllDeclaration",e,t)},t.assertExportDefaultDeclaration=function(e,t={}){s("ExportDefaultDeclaration",e,t)},t.assertExportNamedDeclaration=function(e,t={}){s("ExportNamedDeclaration",e,t)},t.assertExportSpecifier=function(e,t={}){s("ExportSpecifier",e,t)},t.assertForOfStatement=function(e,t={}){s("ForOfStatement",e,t)},t.assertImportDeclaration=function(e,t={}){s("ImportDeclaration",e,t)},t.assertImportDefaultSpecifier=function(e,t={}){s("ImportDefaultSpecifier",e,t)},t.assertImportNamespaceSpecifier=function(e,t={}){s("ImportNamespaceSpecifier",e,t)},t.assertImportSpecifier=function(e,t={}){s("ImportSpecifier",e,t)},t.assertMetaProperty=function(e,t={}){s("MetaProperty",e,t)},t.assertClassMethod=function(e,t={}){s("ClassMethod",e,t)},t.assertObjectPattern=function(e,t={}){s("ObjectPattern",e,t)},t.assertSpreadElement=function(e,t={}){s("SpreadElement",e,t)},t.assertSuper=function(e,t={}){s("Super",e,t)},t.assertTaggedTemplateExpression=function(e,t={}){s("TaggedTemplateExpression",e,t)},t.assertTemplateElement=function(e,t={}){s("TemplateElement",e,t)},t.assertTemplateLiteral=function(e,t={}){s("TemplateLiteral",e,t)},t.assertYieldExpression=function(e,t={}){s("YieldExpression",e,t)},t.assertAwaitExpression=function(e,t={}){s("AwaitExpression",e,t)},t.assertImport=function(e,t={}){s("Import",e,t)},t.assertBigIntLiteral=function(e,t={}){s("BigIntLiteral",e,t)},t.assertExportNamespaceSpecifier=function(e,t={}){s("ExportNamespaceSpecifier",e,t)},t.assertOptionalMemberExpression=function(e,t={}){s("OptionalMemberExpression",e,t)},t.assertOptionalCallExpression=function(e,t={}){s("OptionalCallExpression",e,t)},t.assertAnyTypeAnnotation=function(e,t={}){s("AnyTypeAnnotation",e,t)},t.assertArrayTypeAnnotation=function(e,t={}){s("ArrayTypeAnnotation",e,t)},t.assertBooleanTypeAnnotation=function(e,t={}){s("BooleanTypeAnnotation",e,t)},t.assertBooleanLiteralTypeAnnotation=function(e,t={}){s("BooleanLiteralTypeAnnotation",e,t)},t.assertNullLiteralTypeAnnotation=function(e,t={}){s("NullLiteralTypeAnnotation",e,t)},t.assertClassImplements=function(e,t={}){s("ClassImplements",e,t)},t.assertDeclareClass=function(e,t={}){s("DeclareClass",e,t)},t.assertDeclareFunction=function(e,t={}){s("DeclareFunction",e,t)},t.assertDeclareInterface=function(e,t={}){s("DeclareInterface",e,t)},t.assertDeclareModule=function(e,t={}){s("DeclareModule",e,t)},t.assertDeclareModuleExports=function(e,t={}){s("DeclareModuleExports",e,t)},t.assertDeclareTypeAlias=function(e,t={}){s("DeclareTypeAlias",e,t)},t.assertDeclareOpaqueType=function(e,t={}){s("DeclareOpaqueType",e,t)},t.assertDeclareVariable=function(e,t={}){s("DeclareVariable",e,t)},t.assertDeclareExportDeclaration=function(e,t={}){s("DeclareExportDeclaration",e,t)},t.assertDeclareExportAllDeclaration=function(e,t={}){s("DeclareExportAllDeclaration",e,t)},t.assertDeclaredPredicate=function(e,t={}){s("DeclaredPredicate",e,t)},t.assertExistsTypeAnnotation=function(e,t={}){s("ExistsTypeAnnotation",e,t)},t.assertFunctionTypeAnnotation=function(e,t={}){s("FunctionTypeAnnotation",e,t)},t.assertFunctionTypeParam=function(e,t={}){s("FunctionTypeParam",e,t)},t.assertGenericTypeAnnotation=function(e,t={}){s("GenericTypeAnnotation",e,t)},t.assertInferredPredicate=function(e,t={}){s("InferredPredicate",e,t)},t.assertInterfaceExtends=function(e,t={}){s("InterfaceExtends",e,t)},t.assertInterfaceDeclaration=function(e,t={}){s("InterfaceDeclaration",e,t)},t.assertInterfaceTypeAnnotation=function(e,t={}){s("InterfaceTypeAnnotation",e,t)},t.assertIntersectionTypeAnnotation=function(e,t={}){s("IntersectionTypeAnnotation",e,t)},t.assertMixedTypeAnnotation=function(e,t={}){s("MixedTypeAnnotation",e,t)},t.assertEmptyTypeAnnotation=function(e,t={}){s("EmptyTypeAnnotation",e,t)},t.assertNullableTypeAnnotation=function(e,t={}){s("NullableTypeAnnotation",e,t)},t.assertNumberLiteralTypeAnnotation=function(e,t={}){s("NumberLiteralTypeAnnotation",e,t)},t.assertNumberTypeAnnotation=function(e,t={}){s("NumberTypeAnnotation",e,t)},t.assertObjectTypeAnnotation=function(e,t={}){s("ObjectTypeAnnotation",e,t)},t.assertObjectTypeInternalSlot=function(e,t={}){s("ObjectTypeInternalSlot",e,t)},t.assertObjectTypeCallProperty=function(e,t={}){s("ObjectTypeCallProperty",e,t)},t.assertObjectTypeIndexer=function(e,t={}){s("ObjectTypeIndexer",e,t)},t.assertObjectTypeProperty=function(e,t={}){s("ObjectTypeProperty",e,t)},t.assertObjectTypeSpreadProperty=function(e,t={}){s("ObjectTypeSpreadProperty",e,t)},t.assertOpaqueType=function(e,t={}){s("OpaqueType",e,t)},t.assertQualifiedTypeIdentifier=function(e,t={}){s("QualifiedTypeIdentifier",e,t)},t.assertStringLiteralTypeAnnotation=function(e,t={}){s("StringLiteralTypeAnnotation",e,t)},t.assertStringTypeAnnotation=function(e,t={}){s("StringTypeAnnotation",e,t)},t.assertSymbolTypeAnnotation=function(e,t={}){s("SymbolTypeAnnotation",e,t)},t.assertThisTypeAnnotation=function(e,t={}){s("ThisTypeAnnotation",e,t)},t.assertTupleTypeAnnotation=function(e,t={}){s("TupleTypeAnnotation",e,t)},t.assertTypeofTypeAnnotation=function(e,t={}){s("TypeofTypeAnnotation",e,t)},t.assertTypeAlias=function(e,t={}){s("TypeAlias",e,t)},t.assertTypeAnnotation=function(e,t={}){s("TypeAnnotation",e,t)},t.assertTypeCastExpression=function(e,t={}){s("TypeCastExpression",e,t)},t.assertTypeParameter=function(e,t={}){s("TypeParameter",e,t)},t.assertTypeParameterDeclaration=function(e,t={}){s("TypeParameterDeclaration",e,t)},t.assertTypeParameterInstantiation=function(e,t={}){s("TypeParameterInstantiation",e,t)},t.assertUnionTypeAnnotation=function(e,t={}){s("UnionTypeAnnotation",e,t)},t.assertVariance=function(e,t={}){s("Variance",e,t)},t.assertVoidTypeAnnotation=function(e,t={}){s("VoidTypeAnnotation",e,t)},t.assertEnumDeclaration=function(e,t={}){s("EnumDeclaration",e,t)},t.assertEnumBooleanBody=function(e,t={}){s("EnumBooleanBody",e,t)},t.assertEnumNumberBody=function(e,t={}){s("EnumNumberBody",e,t)},t.assertEnumStringBody=function(e,t={}){s("EnumStringBody",e,t)},t.assertEnumSymbolBody=function(e,t={}){s("EnumSymbolBody",e,t)},t.assertEnumBooleanMember=function(e,t={}){s("EnumBooleanMember",e,t)},t.assertEnumNumberMember=function(e,t={}){s("EnumNumberMember",e,t)},t.assertEnumStringMember=function(e,t={}){s("EnumStringMember",e,t)},t.assertEnumDefaultedMember=function(e,t={}){s("EnumDefaultedMember",e,t)},t.assertJSXAttribute=function(e,t={}){s("JSXAttribute",e,t)},t.assertJSXClosingElement=function(e,t={}){s("JSXClosingElement",e,t)},t.assertJSXElement=function(e,t={}){s("JSXElement",e,t)},t.assertJSXEmptyExpression=function(e,t={}){s("JSXEmptyExpression",e,t)},t.assertJSXExpressionContainer=function(e,t={}){s("JSXExpressionContainer",e,t)},t.assertJSXSpreadChild=function(e,t={}){s("JSXSpreadChild",e,t)},t.assertJSXIdentifier=function(e,t={}){s("JSXIdentifier",e,t)},t.assertJSXMemberExpression=function(e,t={}){s("JSXMemberExpression",e,t)},t.assertJSXNamespacedName=function(e,t={}){s("JSXNamespacedName",e,t)},t.assertJSXOpeningElement=function(e,t={}){s("JSXOpeningElement",e,t)},t.assertJSXSpreadAttribute=function(e,t={}){s("JSXSpreadAttribute",e,t)},t.assertJSXText=function(e,t={}){s("JSXText",e,t)},t.assertJSXFragment=function(e,t={}){s("JSXFragment",e,t)},t.assertJSXOpeningFragment=function(e,t={}){s("JSXOpeningFragment",e,t)},t.assertJSXClosingFragment=function(e,t={}){s("JSXClosingFragment",e,t)},t.assertNoop=function(e,t={}){s("Noop",e,t)},t.assertPlaceholder=function(e,t={}){s("Placeholder",e,t)},t.assertV8IntrinsicIdentifier=function(e,t={}){s("V8IntrinsicIdentifier",e,t)},t.assertArgumentPlaceholder=function(e,t={}){s("ArgumentPlaceholder",e,t)},t.assertBindExpression=function(e,t={}){s("BindExpression",e,t)},t.assertClassProperty=function(e,t={}){s("ClassProperty",e,t)},t.assertPipelineTopicExpression=function(e,t={}){s("PipelineTopicExpression",e,t)},t.assertPipelineBareFunction=function(e,t={}){s("PipelineBareFunction",e,t)},t.assertPipelinePrimaryTopicReference=function(e,t={}){s("PipelinePrimaryTopicReference",e,t)},t.assertClassPrivateProperty=function(e,t={}){s("ClassPrivateProperty",e,t)},t.assertClassPrivateMethod=function(e,t={}){s("ClassPrivateMethod",e,t)},t.assertImportAttribute=function(e,t={}){s("ImportAttribute",e,t)},t.assertDecorator=function(e,t={}){s("Decorator",e,t)},t.assertDoExpression=function(e,t={}){s("DoExpression",e,t)},t.assertExportDefaultSpecifier=function(e,t={}){s("ExportDefaultSpecifier",e,t)},t.assertPrivateName=function(e,t={}){s("PrivateName",e,t)},t.assertRecordExpression=function(e,t={}){s("RecordExpression",e,t)},t.assertTupleExpression=function(e,t={}){s("TupleExpression",e,t)},t.assertDecimalLiteral=function(e,t={}){s("DecimalLiteral",e,t)},t.assertStaticBlock=function(e,t={}){s("StaticBlock",e,t)},t.assertTSParameterProperty=function(e,t={}){s("TSParameterProperty",e,t)},t.assertTSDeclareFunction=function(e,t={}){s("TSDeclareFunction",e,t)},t.assertTSDeclareMethod=function(e,t={}){s("TSDeclareMethod",e,t)},t.assertTSQualifiedName=function(e,t={}){s("TSQualifiedName",e,t)},t.assertTSCallSignatureDeclaration=function(e,t={}){s("TSCallSignatureDeclaration",e,t)},t.assertTSConstructSignatureDeclaration=function(e,t={}){s("TSConstructSignatureDeclaration",e,t)},t.assertTSPropertySignature=function(e,t={}){s("TSPropertySignature",e,t)},t.assertTSMethodSignature=function(e,t={}){s("TSMethodSignature",e,t)},t.assertTSIndexSignature=function(e,t={}){s("TSIndexSignature",e,t)},t.assertTSAnyKeyword=function(e,t={}){s("TSAnyKeyword",e,t)},t.assertTSBooleanKeyword=function(e,t={}){s("TSBooleanKeyword",e,t)},t.assertTSBigIntKeyword=function(e,t={}){s("TSBigIntKeyword",e,t)},t.assertTSIntrinsicKeyword=function(e,t={}){s("TSIntrinsicKeyword",e,t)},t.assertTSNeverKeyword=function(e,t={}){s("TSNeverKeyword",e,t)},t.assertTSNullKeyword=function(e,t={}){s("TSNullKeyword",e,t)},t.assertTSNumberKeyword=function(e,t={}){s("TSNumberKeyword",e,t)},t.assertTSObjectKeyword=function(e,t={}){s("TSObjectKeyword",e,t)},t.assertTSStringKeyword=function(e,t={}){s("TSStringKeyword",e,t)},t.assertTSSymbolKeyword=function(e,t={}){s("TSSymbolKeyword",e,t)},t.assertTSUndefinedKeyword=function(e,t={}){s("TSUndefinedKeyword",e,t)},t.assertTSUnknownKeyword=function(e,t={}){s("TSUnknownKeyword",e,t)},t.assertTSVoidKeyword=function(e,t={}){s("TSVoidKeyword",e,t)},t.assertTSThisType=function(e,t={}){s("TSThisType",e,t)},t.assertTSFunctionType=function(e,t={}){s("TSFunctionType",e,t)},t.assertTSConstructorType=function(e,t={}){s("TSConstructorType",e,t)},t.assertTSTypeReference=function(e,t={}){s("TSTypeReference",e,t)},t.assertTSTypePredicate=function(e,t={}){s("TSTypePredicate",e,t)},t.assertTSTypeQuery=function(e,t={}){s("TSTypeQuery",e,t)},t.assertTSTypeLiteral=function(e,t={}){s("TSTypeLiteral",e,t)},t.assertTSArrayType=function(e,t={}){s("TSArrayType",e,t)},t.assertTSTupleType=function(e,t={}){s("TSTupleType",e,t)},t.assertTSOptionalType=function(e,t={}){s("TSOptionalType",e,t)},t.assertTSRestType=function(e,t={}){s("TSRestType",e,t)},t.assertTSNamedTupleMember=function(e,t={}){s("TSNamedTupleMember",e,t)},t.assertTSUnionType=function(e,t={}){s("TSUnionType",e,t)},t.assertTSIntersectionType=function(e,t={}){s("TSIntersectionType",e,t)},t.assertTSConditionalType=function(e,t={}){s("TSConditionalType",e,t)},t.assertTSInferType=function(e,t={}){s("TSInferType",e,t)},t.assertTSParenthesizedType=function(e,t={}){s("TSParenthesizedType",e,t)},t.assertTSTypeOperator=function(e,t={}){s("TSTypeOperator",e,t)},t.assertTSIndexedAccessType=function(e,t={}){s("TSIndexedAccessType",e,t)},t.assertTSMappedType=function(e,t={}){s("TSMappedType",e,t)},t.assertTSLiteralType=function(e,t={}){s("TSLiteralType",e,t)},t.assertTSExpressionWithTypeArguments=function(e,t={}){s("TSExpressionWithTypeArguments",e,t)},t.assertTSInterfaceDeclaration=function(e,t={}){s("TSInterfaceDeclaration",e,t)},t.assertTSInterfaceBody=function(e,t={}){s("TSInterfaceBody",e,t)},t.assertTSTypeAliasDeclaration=function(e,t={}){s("TSTypeAliasDeclaration",e,t)},t.assertTSAsExpression=function(e,t={}){s("TSAsExpression",e,t)},t.assertTSTypeAssertion=function(e,t={}){s("TSTypeAssertion",e,t)},t.assertTSEnumDeclaration=function(e,t={}){s("TSEnumDeclaration",e,t)},t.assertTSEnumMember=function(e,t={}){s("TSEnumMember",e,t)},t.assertTSModuleDeclaration=function(e,t={}){s("TSModuleDeclaration",e,t)},t.assertTSModuleBlock=function(e,t={}){s("TSModuleBlock",e,t)},t.assertTSImportType=function(e,t={}){s("TSImportType",e,t)},t.assertTSImportEqualsDeclaration=function(e,t={}){s("TSImportEqualsDeclaration",e,t)},t.assertTSExternalModuleReference=function(e,t={}){s("TSExternalModuleReference",e,t)},t.assertTSNonNullExpression=function(e,t={}){s("TSNonNullExpression",e,t)},t.assertTSExportAssignment=function(e,t={}){s("TSExportAssignment",e,t)},t.assertTSNamespaceExportDeclaration=function(e,t={}){s("TSNamespaceExportDeclaration",e,t)},t.assertTSTypeAnnotation=function(e,t={}){s("TSTypeAnnotation",e,t)},t.assertTSTypeParameterInstantiation=function(e,t={}){s("TSTypeParameterInstantiation",e,t)},t.assertTSTypeParameterDeclaration=function(e,t={}){s("TSTypeParameterDeclaration",e,t)},t.assertTSTypeParameter=function(e,t={}){s("TSTypeParameter",e,t)},t.assertExpression=function(e,t={}){s("Expression",e,t)},t.assertBinary=function(e,t={}){s("Binary",e,t)},t.assertScopable=function(e,t={}){s("Scopable",e,t)},t.assertBlockParent=function(e,t={}){s("BlockParent",e,t)},t.assertBlock=function(e,t={}){s("Block",e,t)},t.assertStatement=function(e,t={}){s("Statement",e,t)},t.assertTerminatorless=function(e,t={}){s("Terminatorless",e,t)},t.assertCompletionStatement=function(e,t={}){s("CompletionStatement",e,t)},t.assertConditional=function(e,t={}){s("Conditional",e,t)},t.assertLoop=function(e,t={}){s("Loop",e,t)},t.assertWhile=function(e,t={}){s("While",e,t)},t.assertExpressionWrapper=function(e,t={}){s("ExpressionWrapper",e,t)},t.assertFor=function(e,t={}){s("For",e,t)},t.assertForXStatement=function(e,t={}){s("ForXStatement",e,t)},t.assertFunction=function(e,t={}){s("Function",e,t)},t.assertFunctionParent=function(e,t={}){s("FunctionParent",e,t)},t.assertPureish=function(e,t={}){s("Pureish",e,t)},t.assertDeclaration=function(e,t={}){s("Declaration",e,t)},t.assertPatternLike=function(e,t={}){s("PatternLike",e,t)},t.assertLVal=function(e,t={}){s("LVal",e,t)},t.assertTSEntityName=function(e,t={}){s("TSEntityName",e,t)},t.assertLiteral=function(e,t={}){s("Literal",e,t)},t.assertImmutable=function(e,t={}){s("Immutable",e,t)},t.assertUserWhitespacable=function(e,t={}){s("UserWhitespacable",e,t)},t.assertMethod=function(e,t={}){s("Method",e,t)},t.assertObjectMember=function(e,t={}){s("ObjectMember",e,t)},t.assertProperty=function(e,t={}){s("Property",e,t)},t.assertUnaryLike=function(e,t={}){s("UnaryLike",e,t)},t.assertPattern=function(e,t={}){s("Pattern",e,t)},t.assertClass=function(e,t={}){s("Class",e,t)},t.assertModuleDeclaration=function(e,t={}){s("ModuleDeclaration",e,t)},t.assertExportDeclaration=function(e,t={}){s("ExportDeclaration",e,t)},t.assertModuleSpecifier=function(e,t={}){s("ModuleSpecifier",e,t)},t.assertFlow=function(e,t={}){s("Flow",e,t)},t.assertFlowType=function(e,t={}){s("FlowType",e,t)},t.assertFlowBaseAnnotation=function(e,t={}){s("FlowBaseAnnotation",e,t)},t.assertFlowDeclaration=function(e,t={}){s("FlowDeclaration",e,t)},t.assertFlowPredicate=function(e,t={}){s("FlowPredicate",e,t)},t.assertEnumBody=function(e,t={}){s("EnumBody",e,t)},t.assertEnumMember=function(e,t={}){s("EnumMember",e,t)},t.assertJSX=function(e,t={}){s("JSX",e,t)},t.assertPrivate=function(e,t={}){s("Private",e,t)},t.assertTSTypeElement=function(e,t={}){s("TSTypeElement",e,t)},t.assertTSType=function(e,t={}){s("TSType",e,t)},t.assertTSBaseType=function(e,t={}){s("TSBaseType",e,t)},t.assertNumberLiteral=function(e,t){console.trace("The node type NumberLiteral has been renamed to NumericLiteral"),s("NumberLiteral",e,t)},t.assertRegexLiteral=function(e,t){console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"),s("RegexLiteral",e,t)},t.assertRestProperty=function(e,t){console.trace("The node type RestProperty has been renamed to RestElement"),s("RestProperty",e,t)},t.assertSpreadProperty=function(e,t){console.trace("The node type SpreadProperty has been renamed to SpreadElement"),s("SpreadProperty",e,t)};var n,i=(n=r(34))&&n.__esModule?n:{default:n};function s(e,t,r){if(!(0,i.default)(e,t,r))throw new Error(`Expected type "${e}" with option ${JSON.stringify(r)}, but instead got "${t.type}".`)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("string"===e)return(0,n.stringTypeAnnotation)();if("number"===e)return(0,n.numberTypeAnnotation)();if("undefined"===e)return(0,n.voidTypeAnnotation)();if("boolean"===e)return(0,n.booleanTypeAnnotation)();if("function"===e)return(0,n.genericTypeAnnotation)((0,n.identifier)("Function"));if("object"===e)return(0,n.genericTypeAnnotation)((0,n.identifier)("Object"));if("symbol"===e)return(0,n.genericTypeAnnotation)((0,n.identifier)("Symbol"));throw new Error("Invalid typeof value")};var n=r(4)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(0,s.default)(e);return 1===t.length?t[0]:(0,i.unionTypeAnnotation)(t)};var n,i=r(4),s=(n=r(85))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=e.map(e=>e.typeAnnotations),r=(0,s.default)(t);return 1===r.length?r[0]:(0,i.tsUnionType)(r)};var n,i=r(4),s=(n=r(221))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t={},r={},i=[],s=[];for(let t=0;t=0)){if((0,n.isTSAnyKeyword)(a.type))return[a];(0,n.isTSBaseType)(a)?r[a.type]=a:(0,n.isTSUnionType)(a)?i.indexOf(a.types)<0&&(e=e.concat(a.types),i.push(a.types)):s.push(a)}}for(const e of Object.keys(r))s.push(r[e]);for(const e of Object.keys(t))s.push(t[e]);return s};var n=r(2)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.default)(e,!1)};var n,i=(n=r(14))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.default)(e)};var n,i=(n=r(14))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.default)(e,!0,!0)};var n,i=(n=r(14))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.default)(e,!1,!0)};var n,i=(n=r(14))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){return(0,i.default)(e,t,[{type:n?"CommentLine":"CommentBlock",value:r}])};var n,i=(n=r(86))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return n.COMMENT_KEYS.forEach(t=>{e[t]=null}),e};var n=r(13)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TSBASETYPE_TYPES=t.TSTYPE_TYPES=t.TSTYPEELEMENT_TYPES=t.PRIVATE_TYPES=t.JSX_TYPES=t.ENUMMEMBER_TYPES=t.ENUMBODY_TYPES=t.FLOWPREDICATE_TYPES=t.FLOWDECLARATION_TYPES=t.FLOWBASEANNOTATION_TYPES=t.FLOWTYPE_TYPES=t.FLOW_TYPES=t.MODULESPECIFIER_TYPES=t.EXPORTDECLARATION_TYPES=t.MODULEDECLARATION_TYPES=t.CLASS_TYPES=t.PATTERN_TYPES=t.UNARYLIKE_TYPES=t.PROPERTY_TYPES=t.OBJECTMEMBER_TYPES=t.METHOD_TYPES=t.USERWHITESPACABLE_TYPES=t.IMMUTABLE_TYPES=t.LITERAL_TYPES=t.TSENTITYNAME_TYPES=t.LVAL_TYPES=t.PATTERNLIKE_TYPES=t.DECLARATION_TYPES=t.PUREISH_TYPES=t.FUNCTIONPARENT_TYPES=t.FUNCTION_TYPES=t.FORXSTATEMENT_TYPES=t.FOR_TYPES=t.EXPRESSIONWRAPPER_TYPES=t.WHILE_TYPES=t.LOOP_TYPES=t.CONDITIONAL_TYPES=t.COMPLETIONSTATEMENT_TYPES=t.TERMINATORLESS_TYPES=t.STATEMENT_TYPES=t.BLOCK_TYPES=t.BLOCKPARENT_TYPES=t.SCOPABLE_TYPES=t.BINARY_TYPES=t.EXPRESSION_TYPES=void 0;var n=r(5);const i=n.FLIPPED_ALIAS_KEYS.Expression;t.EXPRESSION_TYPES=i;const s=n.FLIPPED_ALIAS_KEYS.Binary;t.BINARY_TYPES=s;const a=n.FLIPPED_ALIAS_KEYS.Scopable;t.SCOPABLE_TYPES=a;const o=n.FLIPPED_ALIAS_KEYS.BlockParent;t.BLOCKPARENT_TYPES=o;const l=n.FLIPPED_ALIAS_KEYS.Block;t.BLOCK_TYPES=l;const c=n.FLIPPED_ALIAS_KEYS.Statement;t.STATEMENT_TYPES=c;const p=n.FLIPPED_ALIAS_KEYS.Terminatorless;t.TERMINATORLESS_TYPES=p;const u=n.FLIPPED_ALIAS_KEYS.CompletionStatement;t.COMPLETIONSTATEMENT_TYPES=u;const d=n.FLIPPED_ALIAS_KEYS.Conditional;t.CONDITIONAL_TYPES=d;const h=n.FLIPPED_ALIAS_KEYS.Loop;t.LOOP_TYPES=h;const f=n.FLIPPED_ALIAS_KEYS.While;t.WHILE_TYPES=f;const m=n.FLIPPED_ALIAS_KEYS.ExpressionWrapper;t.EXPRESSIONWRAPPER_TYPES=m;const y=n.FLIPPED_ALIAS_KEYS.For;t.FOR_TYPES=y;const T=n.FLIPPED_ALIAS_KEYS.ForXStatement;t.FORXSTATEMENT_TYPES=T;const b=n.FLIPPED_ALIAS_KEYS.Function;t.FUNCTION_TYPES=b;const g=n.FLIPPED_ALIAS_KEYS.FunctionParent;t.FUNCTIONPARENT_TYPES=g;const S=n.FLIPPED_ALIAS_KEYS.Pureish;t.PUREISH_TYPES=S;const x=n.FLIPPED_ALIAS_KEYS.Declaration;t.DECLARATION_TYPES=x;const E=n.FLIPPED_ALIAS_KEYS.PatternLike;t.PATTERNLIKE_TYPES=E;const P=n.FLIPPED_ALIAS_KEYS.LVal;t.LVAL_TYPES=P;const v=n.FLIPPED_ALIAS_KEYS.TSEntityName;t.TSENTITYNAME_TYPES=v;const A=n.FLIPPED_ALIAS_KEYS.Literal;t.LITERAL_TYPES=A;const w=n.FLIPPED_ALIAS_KEYS.Immutable;t.IMMUTABLE_TYPES=w;const O=n.FLIPPED_ALIAS_KEYS.UserWhitespacable;t.USERWHITESPACABLE_TYPES=O;const I=n.FLIPPED_ALIAS_KEYS.Method;t.METHOD_TYPES=I;const C=n.FLIPPED_ALIAS_KEYS.ObjectMember;t.OBJECTMEMBER_TYPES=C;const N=n.FLIPPED_ALIAS_KEYS.Property;t.PROPERTY_TYPES=N;const k=n.FLIPPED_ALIAS_KEYS.UnaryLike;t.UNARYLIKE_TYPES=k;const D=n.FLIPPED_ALIAS_KEYS.Pattern;t.PATTERN_TYPES=D;const _=n.FLIPPED_ALIAS_KEYS.Class;t.CLASS_TYPES=_;const L=n.FLIPPED_ALIAS_KEYS.ModuleDeclaration;t.MODULEDECLARATION_TYPES=L;const M=n.FLIPPED_ALIAS_KEYS.ExportDeclaration;t.EXPORTDECLARATION_TYPES=M;const j=n.FLIPPED_ALIAS_KEYS.ModuleSpecifier;t.MODULESPECIFIER_TYPES=j;const F=n.FLIPPED_ALIAS_KEYS.Flow;t.FLOW_TYPES=F;const R=n.FLIPPED_ALIAS_KEYS.FlowType;t.FLOWTYPE_TYPES=R;const B=n.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation;t.FLOWBASEANNOTATION_TYPES=B;const U=n.FLIPPED_ALIAS_KEYS.FlowDeclaration;t.FLOWDECLARATION_TYPES=U;const V=n.FLIPPED_ALIAS_KEYS.FlowPredicate;t.FLOWPREDICATE_TYPES=V;const K=n.FLIPPED_ALIAS_KEYS.EnumBody;t.ENUMBODY_TYPES=K;const q=n.FLIPPED_ALIAS_KEYS.EnumMember;t.ENUMMEMBER_TYPES=q;const Y=n.FLIPPED_ALIAS_KEYS.JSX;t.JSX_TYPES=Y;const W=n.FLIPPED_ALIAS_KEYS.Private;t.PRIVATE_TYPES=W;const X=n.FLIPPED_ALIAS_KEYS.TSTypeElement;t.TSTYPEELEMENT_TYPES=X;const J=n.FLIPPED_ALIAS_KEYS.TSType;t.TSTYPE_TYPES=J;const H=n.FLIPPED_ALIAS_KEYS.TSBaseType;t.TSBASETYPE_TYPES=H},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t="body"){return e[t]=(0,i.default)(e[t],e)};var n,i=(n=r(91))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){"eval"!==(e=(0,i.default)(e))&&"arguments"!==e||(e="_"+e);return e};var n,i=(n=r(92))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=e.key||e.property){!e.computed&&(0,n.isIdentifier)(t)&&(t=(0,i.stringLiteral)(t.name));return t};var n=r(2),i=r(4)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,n.isExpressionStatement)(e)&&(e=e.expression);if((0,n.isExpression)(e))return e;(0,n.isClass)(e)?e.type="ClassExpression":(0,n.isFunction)(e)&&(e.type="FunctionExpression");if(!(0,n.isExpression)(e))throw new Error(`cannot turn ${e.type} to an expression`);return e};var n=r(2)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var n=r(2),i=a(r(14)),s=a(r(93));function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t=e.key){let r;return"method"===e.kind?o.increment()+"":(r=(0,n.isIdentifier)(t)?t.name:(0,n.isStringLiteral)(t)?JSON.stringify(t.value):JSON.stringify((0,s.default)((0,i.default)(t))),e.computed&&(r=`[${r}]`),e.static&&(r="static:"+r),r)}o.uid=0,o.increment=function(){return o.uid>=Number.MAX_SAFE_INTEGER?o.uid=0:o.uid++}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!(null==e?void 0:e.length))return;const r=[],n=(0,i.default)(e,t,r);if(!n)return;for(const e of r)t.push(e);return n};var n,i=(n=r(235))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r,o){const l=[];let c=!0;for(const p of t)if((0,i.isEmptyStatement)(p)||(c=!1),(0,i.isExpression)(p))l.push(p);else if((0,i.isExpressionStatement)(p))l.push(p.expression);else if((0,i.isVariableDeclaration)(p)){if("var"!==p.kind)return;for(const e of p.declarations){const t=(0,n.default)(e);for(const e of Object.keys(t))o.push({kind:p.kind,id:(0,a.default)(t[e])});e.init&&l.push((0,s.assignmentExpression)("=",e.id,e.init))}c=!0}else if((0,i.isIfStatement)(p)){const t=p.consequent?e([p.consequent],r,o):r.buildUndefinedNode(),n=p.alternate?e([p.alternate],r,o):r.buildUndefinedNode();if(!t||!n)return;l.push((0,s.conditionalExpression)(p.test,t,n))}else if((0,i.isBlockStatement)(p)){const t=e(p.body,r,o);if(!t)return;l.push(t)}else{if(!(0,i.isEmptyStatement)(p))return;0===t.indexOf(p)&&(c=!0)}c&&l.push(r.buildUndefinedNode());return 1===l.length?l[0]:(0,s.sequenceExpression)(l)};var n=o(r(35)),i=r(2),s=r(4),a=o(r(14));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,n.isStatement)(e))return e;let r,s=!1;if((0,n.isClass)(e))s=!0,r="ClassDeclaration";else if((0,n.isFunction)(e))s=!0,r="FunctionDeclaration";else if((0,n.isAssignmentExpression)(e))return(0,i.expressionStatement)(e);s&&!e.id&&(r=!1);if(!r){if(t)return!1;throw new Error(`cannot turn ${e.type} to a statement`)}return e.type=r,e};var n=r(2),i=r(4)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){if(void 0===t)return(0,a.identifier)("undefined");if(!0===t||!1===t)return(0,a.booleanLiteral)(t);if(null===t)return(0,a.nullLiteral)();if("string"==typeof t)return(0,a.stringLiteral)(t);if("number"==typeof t){let e;if(Number.isFinite(t))e=(0,a.numericLiteral)(Math.abs(t));else{let r;r=Number.isNaN(t)?(0,a.numericLiteral)(0):(0,a.numericLiteral)(1),e=(0,a.binaryExpression)("/",r,(0,a.numericLiteral)(0))}return(t<0||Object.is(t,-0))&&(e=(0,a.unaryExpression)("-",e)),e}if((0,i.default)(t)){const e=t.source,r=t.toString().match(/\\/([a-z]+|)$/)[1];return(0,a.regExpLiteral)(e,r)}if(Array.isArray(t))return(0,a.arrayExpression)(t.map(e));if((0,n.default)(t)){const r=[];for(const n of Object.keys(t)){let i;i=(0,s.default)(n)?(0,a.identifier)(n):(0,a.stringLiteral)(n),r.push((0,a.objectProperty)(i,e(t[n])))}return(0,a.objectExpression)(r)}throw new Error("don\'t know how to turn this value into a node")};var n=o(r(238)),i=o(r(239)),s=o(r(23)),a=r(4);function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){var n=r(18),i=r(47),s=r(12),a=Function.prototype,o=Object.prototype,l=a.toString,c=o.hasOwnProperty,p=l.call(Object);e.exports=function(e){if(!s(e)||"[object Object]"!=n(e))return!1;var t=i(e);if(null===t)return!0;var r=c.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&l.call(r)==p}},function(e,t,r){var n=r(240),i=r(32),s=r(33),a=s&&s.isRegExp,o=a?i(a):n;e.exports=o},function(e,t,r){var n=r(18),i=r(12);e.exports=function(e){return i(e)&&"[object RegExp]"==n(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r=!1){return e.object=(0,n.memberExpression)(e.object,e.property,e.computed),e.property=t,e.computed=!!r,e};var n=r(4)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!e||!t)return e;for(const r of i.INHERIT_KEYS.optional)null==e[r]&&(e[r]=t[r]);for(const r of Object.keys(t))"_"===r[0]&&"__clone"!==r&&(e[r]=t[r]);for(const r of i.INHERIT_KEYS.force)e[r]=t[r];return(0,s.default)(e,t),e};var n,i=r(13),s=(n=r(89))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return e.object=(0,n.memberExpression)(t,e.object),e};var n=r(4)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,i.default)(e,t,!0)};var n,i=(n=r(35))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){"function"==typeof t&&(t={enter:t});const{enter:i,exit:s}=t;!function e(t,r,i,s,a){const o=n.VISITOR_KEYS[t.type];if(!o)return;r&&r(t,a,s);for(const n of o){const o=t[n];if(Array.isArray(o))for(let l=0;l=0)return!0}else if(s===e)return!0}return!1};var n,i=(n=r(35))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.isFunctionDeclaration)(e)||(0,i.isClassDeclaration)(e)||(0,s.default)(e)};var n,i=r(2),s=(n=r(96))&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if((0,i.default)(e.type,"Immutable"))return!0;if((0,s.isIdentifier)(e))return"undefined"===e.name;return!1};var n,i=(n=r(51))&&n.__esModule?n:{default:n},s=r(2)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r){if("object"!=typeof t||"object"!=typeof r||null==t||null==r)return t===r;if(t.type!==r.type)return!1;const i=Object.keys(n.NODE_FIELDS[t.type]||t.type),s=n.VISITOR_KEYS[t.type];for(const n of i){if(typeof t[n]!=typeof r[n])return!1;if(null!=t[n]||null!=r[n]){if(null==t[n]||null==r[n])return!1;if(Array.isArray(t[n])){if(!Array.isArray(r[n]))return!1;if(t[n].length!==r[n].length)return!1;for(let i=0;i{"%%"!==e&&(n++,"%c"===e&&(i=n))}),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.exports=r(97)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},function(e,t){var r=1e3,n=6e4,i=60*n,s=24*i;function a(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}e.exports=function(e,t){t=t||{};var o=typeof e;if("string"===o&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var a=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return 6048e5*a;case"days":case"day":case"d":return a*s;case"hours":case"hour":case"hrs":case"hr":case"h":return a*i;case"minutes":case"minute":case"mins":case"min":case"m":return a*n;case"seconds":case"second":case"secs":case"sec":case"s":return a*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(e);if("number"===o&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=s)return a(e,t,s,"day");if(t>=i)return a(e,t,i,"hour");if(t>=n)return a(e,t,n,"minute");if(t>=r)return a(e,t,r,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=s)return Math.round(e/s)+"d";if(t>=i)return Math.round(e/i)+"h";if(t>=n)return Math.round(e/n)+"m";if(t>=r)return Math.round(e/r)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,r){const n=r(259),i=r(260);t.init=function(e){e.inspectOpts={};const r=Object.keys(t.inspectOpts);for(let n=0;n=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{const r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,t)=>t.toUpperCase());let n=process.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&("null"===n?null:Number(n)),e[r]=n,e},{}),e.exports=r(97)(t);const{formatters:s}=e.exports;s.o=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts).replace(/\\s*\\n\\s*/g," ")},s.O=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts)}},function(e,t){e.exports=require("tty")},function(e,t){e.exports=require("util")},function(e,t,r){"use strict";const n=r(98),i=r(99),{env:s}=process;let a;function o(e){return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(function(e){if(0===a)return 0;if(i("color=16m")||i("color=full")||i("color=truecolor"))return 3;if(i("color=256"))return 2;if(e&&!e.isTTY&&void 0===a)return 0;const t=a||0;if("dumb"===s.TERM)return t;if("win32"===process.platform){const e=n.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in s)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in s)||"codeship"===s.CI_NAME?1:t;if("TEAMCITY_VERSION"in s)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(s.TEAMCITY_VERSION)?1:0;if("truecolor"===s.COLORTERM)return 3;if("TERM_PROGRAM"in s){const e=parseInt((s.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(s.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(s.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(s.TERM)||"COLORTERM"in s?1:t}(e))}i("no-color")||i("no-colors")||i("color=false")||i("color=never")?a=0:(i("color")||i("colors")||i("color=true")||i("color=always"))&&(a=1),"FORCE_COLOR"in s&&(a=!0===s.FORCE_COLOR||"true"===s.FORCE_COLOR?1:!1===s.FORCE_COLOR||"false"===s.FORCE_COLOR?0:0===s.FORCE_COLOR.length?1:Math.min(parseInt(s.FORCE_COLOR,10),3)),e.exports={supportsColor:o,stdout:o(process.stdout),stderr:o(process.stderr)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;s(r(101));var n=s(r(263));!function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r)}(r(0));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function s(e){return e&&e.__esModule?e:{default:e}}const a={ReferencedIdentifier({node:e},t){e.name===t.oldName&&(e.name=t.newName)},Scope(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||e.skip()},"AssignmentExpression|Declaration|VariableDeclarator"(e,t){if(e.isVariableDeclaration())return;const r=e.getOuterBindingIdentifiers();for(const e in r)e===t.oldName&&(r[e].name=t.newName)}};t.default=class{constructor(e,t,r){this.newName=r,this.oldName=t,this.binding=e}maybeConvertFromExportDeclaration(e){const t=e.parentPath;t.isExportDeclaration()&&(t.isExportDefaultDeclaration()&&!t.get("declaration").node.id||(0,n.default)(t))}maybeConvertFromClassFunctionDeclaration(e){}maybeConvertFromClassFunctionExpression(e){}rename(e){const{binding:t,oldName:r,newName:n}=this,{scope:i,path:s}=t,o=s.find(e=>e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression());if(o){o.getOuterBindingIdentifiers()[r]===t.identifier&&this.maybeConvertFromExportDeclaration(o)}i.traverse(e||i.block,a,this),e||(i.removeOwnBinding(r),i.bindings[n]=t,this.binding.identifier.name=n),t.type,o&&(this.maybeConvertFromClassFunctionDeclaration(o),this.maybeConvertFromClassFunctionExpression(o))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!e.isExportDeclaration())throw new Error("Only export declarations can be split.");const t=e.isExportDefaultDeclaration(),r=e.get("declaration"),i=r.isClassDeclaration();if(t){const t=r.isFunctionDeclaration()||i,s=r.isScope()?r.scope.parent:r.scope;let a=r.node.id,o=!1;a||(o=!0,a=s.generateUidIdentifier("default"),(t||r.isFunctionExpression()||r.isClassExpression())&&(r.node.id=n.cloneNode(a)));const l=t?r:n.variableDeclaration("var",[n.variableDeclarator(n.cloneNode(a),r.node)]),c=n.exportNamedDeclaration(null,[n.exportSpecifier(n.cloneNode(a),n.identifier("default"))]);return e.insertAfter(c),e.replaceWith(l),o&&s.registerDeclaration(e),e}if(e.get("specifiers").length>0)throw new Error("It doesn\'t make sense to split exported specifiers.");const s=r.getOuterBindingIdentifiers(),a=Object.keys(s).map(e=>n.exportSpecifier(n.identifier(e),n.identifier(e))),o=n.exportNamedDeclaration(null,a);return e.insertAfter(o),e.replaceWith(r.node),e};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(r(20));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=(0,r(102).default)("React.Component");t.default=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!!e&&/^[a-z]/.test(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[];for(let r=0;rr.length)throw new Error(`${e}: Too many arguments passed. Received ${s} but can receive no more than ${r.length}`);const a={type:e};let o=0;r.forEach(r=>{const i=n.NODE_FIELDS[e][r];let l;o{(0,n.default)(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends","mixins","implements","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)(t),extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),mixins:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),implements:(0,n.validateOptional)((0,n.arrayOfType)("ClassImplements")),body:(0,n.validateType)("ObjectTypeAnnotation")}})};(0,n.default)("AnyTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["Flow","FlowType"],fields:{elementType:(0,n.validateType)("FlowType")}}),(0,n.default)("BooleanTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("NullLiteralTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ClassImplements",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),i("DeclareClass"),(0,n.default)("DeclareFunction",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),predicate:(0,n.validateOptionalType)("DeclaredPredicate")}}),i("DeclareInterface"),(0,n.default)("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)(["Identifier","StringLiteral"]),body:(0,n.validateType)("BlockStatement"),kind:(0,n.validateOptional)((0,n.assertOneOf)("CommonJS","ES"))}}),(0,n.default)("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),(0,n.default)("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),(0,n.default)("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType")}}),(0,n.default)("DeclareVariable",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier")}}),(0,n.default)("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{declaration:(0,n.validateOptionalType)("Flow"),specifiers:(0,n.validateOptional)((0,n.arrayOfType)(["ExportSpecifier","ExportNamespaceSpecifier"])),source:(0,n.validateOptionalType)("StringLiteral"),default:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),(0,n.default)("DeclareExportAllDeclaration",{visitor:["source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{source:(0,n.validateType)("StringLiteral"),exportKind:(0,n.validateOptional)((0,n.assertOneOf)("type","value"))}}),(0,n.default)("DeclaredPredicate",{visitor:["value"],aliases:["Flow","FlowPredicate"],fields:{value:(0,n.validateType)("Flow")}}),(0,n.default)("ExistsTypeAnnotation",{aliases:["Flow","FlowType"]}),(0,n.default)("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["Flow","FlowType"],fields:{typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),params:(0,n.validate)((0,n.arrayOfType)("FunctionTypeParam")),rest:(0,n.validateOptionalType)("FunctionTypeParam"),this:(0,n.validateOptionalType)("FunctionTypeParam"),returnType:(0,n.validateType)("FlowType")}}),(0,n.default)("FunctionTypeParam",{visitor:["name","typeAnnotation"],aliases:["Flow"],fields:{name:(0,n.validateOptionalType)("Identifier"),typeAnnotation:(0,n.validateType)("FlowType"),optional:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),(0,n.default)("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["Flow","FlowType"],fields:{id:(0,n.validateType)(["Identifier","QualifiedTypeIdentifier"]),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),(0,n.default)("InferredPredicate",{aliases:["Flow","FlowPredicate"]}),(0,n.default)("InterfaceExtends",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{id:(0,n.validateType)(["Identifier","QualifiedTypeIdentifier"]),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),i("InterfaceDeclaration"),(0,n.default)("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["Flow","FlowType"],fields:{extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),body:(0,n.validateType)("ObjectTypeAnnotation")}}),(0,n.default)("IntersectionTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("MixedTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("EmptyTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow","FlowType"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),(0,n.default)("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("number"))}}),(0,n.default)("NumberTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["Flow","FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:(0,n.validate)((0,n.arrayOfType)(["ObjectTypeProperty","ObjectTypeSpreadProperty"])),indexers:(0,n.validateOptional)((0,n.arrayOfType)("ObjectTypeIndexer")),callProperties:(0,n.validateOptional)((0,n.arrayOfType)("ObjectTypeCallProperty")),internalSlots:(0,n.validateOptional)((0,n.arrayOfType)("ObjectTypeInternalSlot")),exact:{validate:(0,n.assertValueType)("boolean"),default:!1},inexact:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeInternalSlot",{visitor:["id","value","optional","static","method"],aliases:["Flow","UserWhitespacable"],fields:{id:(0,n.validateType)("Identifier"),value:(0,n.validateType)("FlowType"),optional:(0,n.validate)((0,n.assertValueType)("boolean")),static:(0,n.validate)((0,n.assertValueType)("boolean")),method:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeCallProperty",{visitor:["value"],aliases:["Flow","UserWhitespacable"],fields:{value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeIndexer",{visitor:["id","key","value","variance"],aliases:["Flow","UserWhitespacable"],fields:{id:(0,n.validateOptionalType)("Identifier"),key:(0,n.validateType)("FlowType"),value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance")}}),(0,n.default)("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["Flow","UserWhitespacable"],fields:{key:(0,n.validateType)(["Identifier","StringLiteral"]),value:(0,n.validateType)("FlowType"),kind:(0,n.validate)((0,n.assertOneOf)("init","get","set")),static:(0,n.validate)((0,n.assertValueType)("boolean")),proto:(0,n.validate)((0,n.assertValueType)("boolean")),optional:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance"),method:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["Flow","UserWhitespacable"],fields:{argument:(0,n.validateType)("FlowType")}}),(0,n.default)("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType"),impltype:(0,n.validateType)("FlowType")}}),(0,n.default)("QualifiedTypeIdentifier",{visitor:["id","qualification"],aliases:["Flow"],fields:{id:(0,n.validateType)("Identifier"),qualification:(0,n.validateType)(["Identifier","QualifiedTypeIdentifier"])}}),(0,n.default)("StringLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("string"))}}),(0,n.default)("StringTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("SymbolTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ThisTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("TupleTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("TypeofTypeAnnotation",{visitor:["argument"],aliases:["Flow","FlowType"],fields:{argument:(0,n.validateType)("FlowType")}}),(0,n.default)("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),(0,n.default)("TypeAnnotation",{aliases:["Flow"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),(0,n.default)("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["Flow","ExpressionWrapper","Expression"],fields:{expression:(0,n.validateType)("Expression"),typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),(0,n.default)("TypeParameter",{aliases:["Flow"],visitor:["bound","default","variance"],fields:{name:(0,n.validate)((0,n.assertValueType)("string")),bound:(0,n.validateOptionalType)("TypeAnnotation"),default:(0,n.validateOptionalType)("FlowType"),variance:(0,n.validateOptionalType)("Variance")}}),(0,n.default)("TypeParameterDeclaration",{aliases:["Flow"],visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("TypeParameter"))}}),(0,n.default)("TypeParameterInstantiation",{aliases:["Flow"],visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("UnionTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("Variance",{aliases:["Flow"],builder:["kind"],fields:{kind:(0,n.validate)((0,n.assertOneOf)("minus","plus"))}}),(0,n.default)("VoidTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:(0,n.validateType)("Identifier"),body:(0,n.validateType)(["EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody"])}}),(0,n.default)("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumBooleanMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumNumberMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)(["EnumStringMember","EnumDefaultedMember"]),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:(0,n.validateArrayOfType)("EnumDefaultedMember"),hasUnknownMembers:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("EnumBooleanMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("BooleanLiteral")}}),(0,n.default)("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("NumericLiteral")}}),(0,n.default)("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("StringLiteral")}}),(0,n.default)("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier")}}),(0,n.default)("IndexedAccessType",{visitor:["objectType","indexType"],aliases:["Flow","FlowType"],fields:{objectType:(0,n.validateType)("FlowType"),indexType:(0,n.validateType)("FlowType")}}),(0,n.default)("OptionalIndexedAccessType",{visitor:["objectType","indexType"],aliases:["Flow","FlowType"],fields:{objectType:(0,n.validateType)("FlowType"),indexType:(0,n.validateType)("FlowType"),optional:(0,n.validate)((0,n.assertValueType)("boolean"))}})},function(e,t,r){"use strict";var n=r(10);(0,n.default)("JSXAttribute",{visitor:["name","value"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:(0,n.assertNodeType)("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),(0,n.default)("JSXClosingElement",{visitor:["name"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),(0,n.default)("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["JSX","Immutable","Expression"],fields:{openingElement:{validate:(0,n.assertNodeType)("JSXOpeningElement")},closingElement:{optional:!0,validate:(0,n.assertNodeType)("JSXClosingElement")},children:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))},selfClosing:{validate:(0,n.assertValueType)("boolean"),optional:!0}}}),(0,n.default)("JSXEmptyExpression",{aliases:["JSX"]}),(0,n.default)("JSXExpressionContainer",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression","JSXEmptyExpression")}}}),(0,n.default)("JSXSpreadChild",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("JSXIdentifier",{builder:["name"],aliases:["JSX"],fields:{name:{validate:(0,n.assertValueType)("string")}}}),(0,n.default)("JSXMemberExpression",{visitor:["object","property"],aliases:["JSX"],fields:{object:{validate:(0,n.assertNodeType)("JSXMemberExpression","JSXIdentifier")},property:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,n.default)("JSXNamespacedName",{visitor:["namespace","name"],aliases:["JSX"],fields:{namespace:{validate:(0,n.assertNodeType)("JSXIdentifier")},name:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,n.default)("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXAttribute","JSXSpreadAttribute")))},typeParameters:{validate:(0,n.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),(0,n.default)("JSXSpreadAttribute",{visitor:["argument"],aliases:["JSX"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("JSXText",{aliases:["JSX","Immutable"],builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}}}),(0,n.default)("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["JSX","Immutable","Expression"],fields:{openingFragment:{validate:(0,n.assertNodeType)("JSXOpeningFragment")},closingFragment:{validate:(0,n.assertNodeType)("JSXClosingFragment")},children:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}}}),(0,n.default)("JSXOpeningFragment",{aliases:["JSX","Immutable"]}),(0,n.default)("JSXClosingFragment",{aliases:["JSX","Immutable"]})},function(e,t,r){"use strict";var n=r(10),i=r(105);(0,n.default)("Noop",{visitor:[]}),(0,n.default)("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:{name:{validate:(0,n.assertNodeType)("Identifier")},expectedNode:{validate:(0,n.assertOneOf)(...i.PLACEHOLDERS)}}}),(0,n.default)("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:(0,n.assertValueType)("string")}}})},function(e,t,r){"use strict";var n=r(10),i=r(55);(0,n.default)("ArgumentPlaceholder",{}),(0,n.default)("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:process.env.BABEL_TYPES_8_BREAKING?{object:{validate:(0,n.assertNodeType)("Expression")},callee:{validate:(0,n.assertNodeType)("Expression")}}:{object:{validate:Object.assign(()=>{},{oneOfNodeTypes:["Expression"]})},callee:{validate:Object.assign(()=>{},{oneOfNodeTypes:["Expression"]})}}}),(0,n.default)("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},i.classMethodOrPropertyCommon,{value:{validate:(0,n.assertNodeType)("Expression"),optional:!0},definite:{validate:(0,n.assertValueType)("boolean"),optional:!0},typeAnnotation:{validate:(0,n.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0},readonly:{validate:(0,n.assertValueType)("boolean"),optional:!0},declare:{validate:(0,n.assertValueType)("boolean"),optional:!0}})}),(0,n.default)("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("PipelinePrimaryTopicReference",{aliases:["Expression"]}),(0,n.default)("ClassPrivateProperty",{visitor:["key","value","decorators"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:(0,n.assertNodeType)("PrivateName")},value:{validate:(0,n.assertNodeType)("Expression"),optional:!0},typeAnnotation:{validate:(0,n.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}}}),(0,n.default)("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},i.classMethodOrDeclareMethodCommon,i.functionTypeAnnotationCommon,{key:{validate:(0,n.assertNodeType)("PrivateName")},body:{validate:(0,n.assertNodeType)("BlockStatement")}})}),(0,n.default)("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:(0,n.assertNodeType)("Identifier","StringLiteral")},value:{validate:(0,n.assertNodeType)("StringLiteral")}}}),(0,n.default)("Decorator",{visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("DoExpression",{visitor:["body"],builder:["body","async"],aliases:["Expression"],fields:{body:{validate:(0,n.assertNodeType)("BlockStatement")},async:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,n.default)("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ObjectProperty","SpreadElement")))}}}),(0,n.default)("TupleExpression",{fields:{elements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,n.default)("DecimalLiteral",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,n.default)("StaticBlock",{visitor:["body"],fields:{body:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent"]}),(0,n.default)("ModuleExpression",{visitor:["body"],fields:{body:{validate:(0,n.assertNodeType)("Program")}},aliases:["Expression"]})},function(e,t,r){"use strict";var n=r(10),i=r(55);const s=(0,n.assertValueType)("boolean"),a={returnType:{validate:(0,n.assertNodeType)("TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,n.assertNodeType)("TSTypeParameterDeclaration","Noop"),optional:!0}};(0,n.default)("TSParameterProperty",{aliases:["LVal"],visitor:["parameter"],fields:{accessibility:{validate:(0,n.assertOneOf)("public","private","protected"),optional:!0},readonly:{validate:(0,n.assertValueType)("boolean"),optional:!0},parameter:{validate:(0,n.assertNodeType)("Identifier","AssignmentPattern")}}}),(0,n.default)("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},i.functionDeclarationCommon,a)}),(0,n.default)("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},i.classMethodOrDeclareMethodCommon,a)}),(0,n.default)("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:(0,n.validateType)("TSEntityName"),right:(0,n.validateType)("Identifier")}});const o={typeParameters:(0,n.validateOptionalType)("TSTypeParameterDeclaration"),parameters:(0,n.validateArrayOfType)(["Identifier","RestElement"]),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation")},l={aliases:["TSTypeElement"],visitor:["typeParameters","parameters","typeAnnotation"],fields:o};(0,n.default)("TSCallSignatureDeclaration",l),(0,n.default)("TSConstructSignatureDeclaration",l);const c={key:(0,n.validateType)("Expression"),computed:(0,n.validate)(s),optional:(0,n.validateOptional)(s)};(0,n.default)("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation","initializer"],fields:Object.assign({},c,{readonly:(0,n.validateOptional)(s),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation"),initializer:(0,n.validateOptionalType)("Expression")})}),(0,n.default)("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","parameters","typeAnnotation"],fields:Object.assign({},o,c,{kind:{validate:(0,n.assertOneOf)("method","get","set")}})}),(0,n.default)("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:(0,n.validateOptional)(s),static:(0,n.validateOptional)(s),parameters:(0,n.validateArrayOfType)("Identifier"),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation")}});const p=["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"];for(const e of p)(0,n.default)(e,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});(0,n.default)("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});const u={aliases:["TSType"],visitor:["typeParameters","parameters","typeAnnotation"]};(0,n.default)("TSFunctionType",Object.assign({},u,{fields:o})),(0,n.default)("TSConstructorType",Object.assign({},u,{fields:Object.assign({},o,{abstract:(0,n.validateOptional)(s)})})),(0,n.default)("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeParameters"],fields:{typeName:(0,n.validateType)("TSEntityName"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,n.default)("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:(0,n.validateType)(["Identifier","TSThisType"]),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation"),asserts:(0,n.validateOptional)(s)}}),(0,n.default)("TSTypeQuery",{aliases:["TSType"],visitor:["exprName"],fields:{exprName:(0,n.validateType)(["TSEntityName","TSImportType"])}}),(0,n.default)("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:(0,n.validateArrayOfType)("TSTypeElement")}}),(0,n.default)("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:(0,n.validateType)("TSType")}}),(0,n.default)("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:(0,n.validateArrayOfType)(["TSType","TSNamedTupleMember"])}}),(0,n.default)("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:(0,n.validateType)("Identifier"),optional:{validate:s,default:!1},elementType:(0,n.validateType)("TSType")}});const d={aliases:["TSType"],visitor:["types"],fields:{types:(0,n.validateArrayOfType)("TSType")}};(0,n.default)("TSUnionType",d),(0,n.default)("TSIntersectionType",d),(0,n.default)("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:(0,n.validateType)("TSType"),extendsType:(0,n.validateType)("TSType"),trueType:(0,n.validateType)("TSType"),falseType:(0,n.validateType)("TSType")}}),(0,n.default)("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:(0,n.validateType)("TSTypeParameter")}}),(0,n.default)("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{operator:(0,n.validate)((0,n.assertValueType)("string")),typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:(0,n.validateType)("TSType"),indexType:(0,n.validateType)("TSType")}}),(0,n.default)("TSMappedType",{aliases:["TSType"],visitor:["typeParameter","typeAnnotation","nameType"],fields:{readonly:(0,n.validateOptional)(s),typeParameter:(0,n.validateType)("TSTypeParameter"),optional:(0,n.validateOptional)(s),typeAnnotation:(0,n.validateOptionalType)("TSType"),nameType:(0,n.validateOptionalType)("TSType")}}),(0,n.default)("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:(0,n.validateType)(["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral"])}}),(0,n.default)("TSExpressionWithTypeArguments",{aliases:["TSType"],visitor:["expression","typeParameters"],fields:{expression:(0,n.validateType)("TSEntityName"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,n.default)("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:(0,n.validateOptional)(s),id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterDeclaration"),extends:(0,n.validateOptional)((0,n.arrayOfType)("TSExpressionWithTypeArguments")),body:(0,n.validateType)("TSInterfaceBody")}}),(0,n.default)("TSInterfaceBody",{visitor:["body"],fields:{body:(0,n.validateArrayOfType)("TSTypeElement")}}),(0,n.default)("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:(0,n.validateOptional)(s),id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterDeclaration"),typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSAsExpression",{aliases:["Expression"],visitor:["expression","typeAnnotation"],fields:{expression:(0,n.validateType)("Expression"),typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSTypeAssertion",{aliases:["Expression"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:(0,n.validateType)("TSType"),expression:(0,n.validateType)("Expression")}}),(0,n.default)("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","members"],fields:{declare:(0,n.validateOptional)(s),const:(0,n.validateOptional)(s),id:(0,n.validateType)("Identifier"),members:(0,n.validateArrayOfType)("TSEnumMember"),initializer:(0,n.validateOptionalType)("Expression")}}),(0,n.default)("TSEnumMember",{visitor:["id","initializer"],fields:{id:(0,n.validateType)(["Identifier","StringLiteral"]),initializer:(0,n.validateOptionalType)("Expression")}}),(0,n.default)("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{declare:(0,n.validateOptional)(s),global:(0,n.validateOptional)(s),id:(0,n.validateType)(["Identifier","StringLiteral"]),body:(0,n.validateType)(["TSModuleBlock","TSModuleDeclaration"])}}),(0,n.default)("TSModuleBlock",{aliases:["Scopable","Block","BlockParent"],visitor:["body"],fields:{body:(0,n.validateArrayOfType)("Statement")}}),(0,n.default)("TSImportType",{aliases:["TSType"],visitor:["argument","qualifier","typeParameters"],fields:{argument:(0,n.validateType)("StringLiteral"),qualifier:(0,n.validateOptionalType)("TSEntityName"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,n.default)("TSImportEqualsDeclaration",{aliases:["Statement"],visitor:["id","moduleReference"],fields:{isExport:(0,n.validate)(s),id:(0,n.validateType)("Identifier"),moduleReference:(0,n.validateType)(["TSEntityName","TSExternalModuleReference"])}}),(0,n.default)("TSExternalModuleReference",{visitor:["expression"],fields:{expression:(0,n.validateType)("StringLiteral")}}),(0,n.default)("TSNonNullExpression",{aliases:["Expression"],visitor:["expression"],fields:{expression:(0,n.validateType)("Expression")}}),(0,n.default)("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:(0,n.validateType)("Expression")}}),(0,n.default)("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier")}}),(0,n.default)("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:(0,n.assertNodeType)("TSType")}}}),(0,n.default)("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TSType")))}}}),(0,n.default)("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TSTypeParameter")))}}}),(0,n.default)("TSTypeParameter",{builder:["constraint","default","name"],visitor:["constraint","default"],fields:{name:{validate:(0,n.assertValueType)("string")},constraint:{validate:(0,n.assertNodeType)("TSType"),optional:!0},default:{validate:(0,n.assertNodeType)("TSType"),optional:!0}}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!(0,n.default)(e)){var t;const r=null!=(t=null==e?void 0:e.type)?t:JSON.stringify(e);throw new TypeError(`Not a valid node of type "${r}"`)}};var n=r(106)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertArrayExpression=function(e,t){i("ArrayExpression",e,t)},t.assertAssignmentExpression=function(e,t){i("AssignmentExpression",e,t)},t.assertBinaryExpression=function(e,t){i("BinaryExpression",e,t)},t.assertInterpreterDirective=function(e,t){i("InterpreterDirective",e,t)},t.assertDirective=function(e,t){i("Directive",e,t)},t.assertDirectiveLiteral=function(e,t){i("DirectiveLiteral",e,t)},t.assertBlockStatement=function(e,t){i("BlockStatement",e,t)},t.assertBreakStatement=function(e,t){i("BreakStatement",e,t)},t.assertCallExpression=function(e,t){i("CallExpression",e,t)},t.assertCatchClause=function(e,t){i("CatchClause",e,t)},t.assertConditionalExpression=function(e,t){i("ConditionalExpression",e,t)},t.assertContinueStatement=function(e,t){i("ContinueStatement",e,t)},t.assertDebuggerStatement=function(e,t){i("DebuggerStatement",e,t)},t.assertDoWhileStatement=function(e,t){i("DoWhileStatement",e,t)},t.assertEmptyStatement=function(e,t){i("EmptyStatement",e,t)},t.assertExpressionStatement=function(e,t){i("ExpressionStatement",e,t)},t.assertFile=function(e,t){i("File",e,t)},t.assertForInStatement=function(e,t){i("ForInStatement",e,t)},t.assertForStatement=function(e,t){i("ForStatement",e,t)},t.assertFunctionDeclaration=function(e,t){i("FunctionDeclaration",e,t)},t.assertFunctionExpression=function(e,t){i("FunctionExpression",e,t)},t.assertIdentifier=function(e,t){i("Identifier",e,t)},t.assertIfStatement=function(e,t){i("IfStatement",e,t)},t.assertLabeledStatement=function(e,t){i("LabeledStatement",e,t)},t.assertStringLiteral=function(e,t){i("StringLiteral",e,t)},t.assertNumericLiteral=function(e,t){i("NumericLiteral",e,t)},t.assertNullLiteral=function(e,t){i("NullLiteral",e,t)},t.assertBooleanLiteral=function(e,t){i("BooleanLiteral",e,t)},t.assertRegExpLiteral=function(e,t){i("RegExpLiteral",e,t)},t.assertLogicalExpression=function(e,t){i("LogicalExpression",e,t)},t.assertMemberExpression=function(e,t){i("MemberExpression",e,t)},t.assertNewExpression=function(e,t){i("NewExpression",e,t)},t.assertProgram=function(e,t){i("Program",e,t)},t.assertObjectExpression=function(e,t){i("ObjectExpression",e,t)},t.assertObjectMethod=function(e,t){i("ObjectMethod",e,t)},t.assertObjectProperty=function(e,t){i("ObjectProperty",e,t)},t.assertRestElement=function(e,t){i("RestElement",e,t)},t.assertReturnStatement=function(e,t){i("ReturnStatement",e,t)},t.assertSequenceExpression=function(e,t){i("SequenceExpression",e,t)},t.assertParenthesizedExpression=function(e,t){i("ParenthesizedExpression",e,t)},t.assertSwitchCase=function(e,t){i("SwitchCase",e,t)},t.assertSwitchStatement=function(e,t){i("SwitchStatement",e,t)},t.assertThisExpression=function(e,t){i("ThisExpression",e,t)},t.assertThrowStatement=function(e,t){i("ThrowStatement",e,t)},t.assertTryStatement=function(e,t){i("TryStatement",e,t)},t.assertUnaryExpression=function(e,t){i("UnaryExpression",e,t)},t.assertUpdateExpression=function(e,t){i("UpdateExpression",e,t)},t.assertVariableDeclaration=function(e,t){i("VariableDeclaration",e,t)},t.assertVariableDeclarator=function(e,t){i("VariableDeclarator",e,t)},t.assertWhileStatement=function(e,t){i("WhileStatement",e,t)},t.assertWithStatement=function(e,t){i("WithStatement",e,t)},t.assertAssignmentPattern=function(e,t){i("AssignmentPattern",e,t)},t.assertArrayPattern=function(e,t){i("ArrayPattern",e,t)},t.assertArrowFunctionExpression=function(e,t){i("ArrowFunctionExpression",e,t)},t.assertClassBody=function(e,t){i("ClassBody",e,t)},t.assertClassExpression=function(e,t){i("ClassExpression",e,t)},t.assertClassDeclaration=function(e,t){i("ClassDeclaration",e,t)},t.assertExportAllDeclaration=function(e,t){i("ExportAllDeclaration",e,t)},t.assertExportDefaultDeclaration=function(e,t){i("ExportDefaultDeclaration",e,t)},t.assertExportNamedDeclaration=function(e,t){i("ExportNamedDeclaration",e,t)},t.assertExportSpecifier=function(e,t){i("ExportSpecifier",e,t)},t.assertForOfStatement=function(e,t){i("ForOfStatement",e,t)},t.assertImportDeclaration=function(e,t){i("ImportDeclaration",e,t)},t.assertImportDefaultSpecifier=function(e,t){i("ImportDefaultSpecifier",e,t)},t.assertImportNamespaceSpecifier=function(e,t){i("ImportNamespaceSpecifier",e,t)},t.assertImportSpecifier=function(e,t){i("ImportSpecifier",e,t)},t.assertMetaProperty=function(e,t){i("MetaProperty",e,t)},t.assertClassMethod=function(e,t){i("ClassMethod",e,t)},t.assertObjectPattern=function(e,t){i("ObjectPattern",e,t)},t.assertSpreadElement=function(e,t){i("SpreadElement",e,t)},t.assertSuper=function(e,t){i("Super",e,t)},t.assertTaggedTemplateExpression=function(e,t){i("TaggedTemplateExpression",e,t)},t.assertTemplateElement=function(e,t){i("TemplateElement",e,t)},t.assertTemplateLiteral=function(e,t){i("TemplateLiteral",e,t)},t.assertYieldExpression=function(e,t){i("YieldExpression",e,t)},t.assertAwaitExpression=function(e,t){i("AwaitExpression",e,t)},t.assertImport=function(e,t){i("Import",e,t)},t.assertBigIntLiteral=function(e,t){i("BigIntLiteral",e,t)},t.assertExportNamespaceSpecifier=function(e,t){i("ExportNamespaceSpecifier",e,t)},t.assertOptionalMemberExpression=function(e,t){i("OptionalMemberExpression",e,t)},t.assertOptionalCallExpression=function(e,t){i("OptionalCallExpression",e,t)},t.assertAnyTypeAnnotation=function(e,t){i("AnyTypeAnnotation",e,t)},t.assertArrayTypeAnnotation=function(e,t){i("ArrayTypeAnnotation",e,t)},t.assertBooleanTypeAnnotation=function(e,t){i("BooleanTypeAnnotation",e,t)},t.assertBooleanLiteralTypeAnnotation=function(e,t){i("BooleanLiteralTypeAnnotation",e,t)},t.assertNullLiteralTypeAnnotation=function(e,t){i("NullLiteralTypeAnnotation",e,t)},t.assertClassImplements=function(e,t){i("ClassImplements",e,t)},t.assertDeclareClass=function(e,t){i("DeclareClass",e,t)},t.assertDeclareFunction=function(e,t){i("DeclareFunction",e,t)},t.assertDeclareInterface=function(e,t){i("DeclareInterface",e,t)},t.assertDeclareModule=function(e,t){i("DeclareModule",e,t)},t.assertDeclareModuleExports=function(e,t){i("DeclareModuleExports",e,t)},t.assertDeclareTypeAlias=function(e,t){i("DeclareTypeAlias",e,t)},t.assertDeclareOpaqueType=function(e,t){i("DeclareOpaqueType",e,t)},t.assertDeclareVariable=function(e,t){i("DeclareVariable",e,t)},t.assertDeclareExportDeclaration=function(e,t){i("DeclareExportDeclaration",e,t)},t.assertDeclareExportAllDeclaration=function(e,t){i("DeclareExportAllDeclaration",e,t)},t.assertDeclaredPredicate=function(e,t){i("DeclaredPredicate",e,t)},t.assertExistsTypeAnnotation=function(e,t){i("ExistsTypeAnnotation",e,t)},t.assertFunctionTypeAnnotation=function(e,t){i("FunctionTypeAnnotation",e,t)},t.assertFunctionTypeParam=function(e,t){i("FunctionTypeParam",e,t)},t.assertGenericTypeAnnotation=function(e,t){i("GenericTypeAnnotation",e,t)},t.assertInferredPredicate=function(e,t){i("InferredPredicate",e,t)},t.assertInterfaceExtends=function(e,t){i("InterfaceExtends",e,t)},t.assertInterfaceDeclaration=function(e,t){i("InterfaceDeclaration",e,t)},t.assertInterfaceTypeAnnotation=function(e,t){i("InterfaceTypeAnnotation",e,t)},t.assertIntersectionTypeAnnotation=function(e,t){i("IntersectionTypeAnnotation",e,t)},t.assertMixedTypeAnnotation=function(e,t){i("MixedTypeAnnotation",e,t)},t.assertEmptyTypeAnnotation=function(e,t){i("EmptyTypeAnnotation",e,t)},t.assertNullableTypeAnnotation=function(e,t){i("NullableTypeAnnotation",e,t)},t.assertNumberLiteralTypeAnnotation=function(e,t){i("NumberLiteralTypeAnnotation",e,t)},t.assertNumberTypeAnnotation=function(e,t){i("NumberTypeAnnotation",e,t)},t.assertObjectTypeAnnotation=function(e,t){i("ObjectTypeAnnotation",e,t)},t.assertObjectTypeInternalSlot=function(e,t){i("ObjectTypeInternalSlot",e,t)},t.assertObjectTypeCallProperty=function(e,t){i("ObjectTypeCallProperty",e,t)},t.assertObjectTypeIndexer=function(e,t){i("ObjectTypeIndexer",e,t)},t.assertObjectTypeProperty=function(e,t){i("ObjectTypeProperty",e,t)},t.assertObjectTypeSpreadProperty=function(e,t){i("ObjectTypeSpreadProperty",e,t)},t.assertOpaqueType=function(e,t){i("OpaqueType",e,t)},t.assertQualifiedTypeIdentifier=function(e,t){i("QualifiedTypeIdentifier",e,t)},t.assertStringLiteralTypeAnnotation=function(e,t){i("StringLiteralTypeAnnotation",e,t)},t.assertStringTypeAnnotation=function(e,t){i("StringTypeAnnotation",e,t)},t.assertSymbolTypeAnnotation=function(e,t){i("SymbolTypeAnnotation",e,t)},t.assertThisTypeAnnotation=function(e,t){i("ThisTypeAnnotation",e,t)},t.assertTupleTypeAnnotation=function(e,t){i("TupleTypeAnnotation",e,t)},t.assertTypeofTypeAnnotation=function(e,t){i("TypeofTypeAnnotation",e,t)},t.assertTypeAlias=function(e,t){i("TypeAlias",e,t)},t.assertTypeAnnotation=function(e,t){i("TypeAnnotation",e,t)},t.assertTypeCastExpression=function(e,t){i("TypeCastExpression",e,t)},t.assertTypeParameter=function(e,t){i("TypeParameter",e,t)},t.assertTypeParameterDeclaration=function(e,t){i("TypeParameterDeclaration",e,t)},t.assertTypeParameterInstantiation=function(e,t){i("TypeParameterInstantiation",e,t)},t.assertUnionTypeAnnotation=function(e,t){i("UnionTypeAnnotation",e,t)},t.assertVariance=function(e,t){i("Variance",e,t)},t.assertVoidTypeAnnotation=function(e,t){i("VoidTypeAnnotation",e,t)},t.assertEnumDeclaration=function(e,t){i("EnumDeclaration",e,t)},t.assertEnumBooleanBody=function(e,t){i("EnumBooleanBody",e,t)},t.assertEnumNumberBody=function(e,t){i("EnumNumberBody",e,t)},t.assertEnumStringBody=function(e,t){i("EnumStringBody",e,t)},t.assertEnumSymbolBody=function(e,t){i("EnumSymbolBody",e,t)},t.assertEnumBooleanMember=function(e,t){i("EnumBooleanMember",e,t)},t.assertEnumNumberMember=function(e,t){i("EnumNumberMember",e,t)},t.assertEnumStringMember=function(e,t){i("EnumStringMember",e,t)},t.assertEnumDefaultedMember=function(e,t){i("EnumDefaultedMember",e,t)},t.assertIndexedAccessType=function(e,t){i("IndexedAccessType",e,t)},t.assertOptionalIndexedAccessType=function(e,t){i("OptionalIndexedAccessType",e,t)},t.assertJSXAttribute=function(e,t){i("JSXAttribute",e,t)},t.assertJSXClosingElement=function(e,t){i("JSXClosingElement",e,t)},t.assertJSXElement=function(e,t){i("JSXElement",e,t)},t.assertJSXEmptyExpression=function(e,t){i("JSXEmptyExpression",e,t)},t.assertJSXExpressionContainer=function(e,t){i("JSXExpressionContainer",e,t)},t.assertJSXSpreadChild=function(e,t){i("JSXSpreadChild",e,t)},t.assertJSXIdentifier=function(e,t){i("JSXIdentifier",e,t)},t.assertJSXMemberExpression=function(e,t){i("JSXMemberExpression",e,t)},t.assertJSXNamespacedName=function(e,t){i("JSXNamespacedName",e,t)},t.assertJSXOpeningElement=function(e,t){i("JSXOpeningElement",e,t)},t.assertJSXSpreadAttribute=function(e,t){i("JSXSpreadAttribute",e,t)},t.assertJSXText=function(e,t){i("JSXText",e,t)},t.assertJSXFragment=function(e,t){i("JSXFragment",e,t)},t.assertJSXOpeningFragment=function(e,t){i("JSXOpeningFragment",e,t)},t.assertJSXClosingFragment=function(e,t){i("JSXClosingFragment",e,t)},t.assertNoop=function(e,t){i("Noop",e,t)},t.assertPlaceholder=function(e,t){i("Placeholder",e,t)},t.assertV8IntrinsicIdentifier=function(e,t){i("V8IntrinsicIdentifier",e,t)},t.assertArgumentPlaceholder=function(e,t){i("ArgumentPlaceholder",e,t)},t.assertBindExpression=function(e,t){i("BindExpression",e,t)},t.assertClassProperty=function(e,t){i("ClassProperty",e,t)},t.assertPipelineTopicExpression=function(e,t){i("PipelineTopicExpression",e,t)},t.assertPipelineBareFunction=function(e,t){i("PipelineBareFunction",e,t)},t.assertPipelinePrimaryTopicReference=function(e,t){i("PipelinePrimaryTopicReference",e,t)},t.assertClassPrivateProperty=function(e,t){i("ClassPrivateProperty",e,t)},t.assertClassPrivateMethod=function(e,t){i("ClassPrivateMethod",e,t)},t.assertImportAttribute=function(e,t){i("ImportAttribute",e,t)},t.assertDecorator=function(e,t){i("Decorator",e,t)},t.assertDoExpression=function(e,t){i("DoExpression",e,t)},t.assertExportDefaultSpecifier=function(e,t){i("ExportDefaultSpecifier",e,t)},t.assertPrivateName=function(e,t){i("PrivateName",e,t)},t.assertRecordExpression=function(e,t){i("RecordExpression",e,t)},t.assertTupleExpression=function(e,t){i("TupleExpression",e,t)},t.assertDecimalLiteral=function(e,t){i("DecimalLiteral",e,t)},t.assertStaticBlock=function(e,t){i("StaticBlock",e,t)},t.assertModuleExpression=function(e,t){i("ModuleExpression",e,t)},t.assertTSParameterProperty=function(e,t){i("TSParameterProperty",e,t)},t.assertTSDeclareFunction=function(e,t){i("TSDeclareFunction",e,t)},t.assertTSDeclareMethod=function(e,t){i("TSDeclareMethod",e,t)},t.assertTSQualifiedName=function(e,t){i("TSQualifiedName",e,t)},t.assertTSCallSignatureDeclaration=function(e,t){i("TSCallSignatureDeclaration",e,t)},t.assertTSConstructSignatureDeclaration=function(e,t){i("TSConstructSignatureDeclaration",e,t)},t.assertTSPropertySignature=function(e,t){i("TSPropertySignature",e,t)},t.assertTSMethodSignature=function(e,t){i("TSMethodSignature",e,t)},t.assertTSIndexSignature=function(e,t){i("TSIndexSignature",e,t)},t.assertTSAnyKeyword=function(e,t){i("TSAnyKeyword",e,t)},t.assertTSBooleanKeyword=function(e,t){i("TSBooleanKeyword",e,t)},t.assertTSBigIntKeyword=function(e,t){i("TSBigIntKeyword",e,t)},t.assertTSIntrinsicKeyword=function(e,t){i("TSIntrinsicKeyword",e,t)},t.assertTSNeverKeyword=function(e,t){i("TSNeverKeyword",e,t)},t.assertTSNullKeyword=function(e,t){i("TSNullKeyword",e,t)},t.assertTSNumberKeyword=function(e,t){i("TSNumberKeyword",e,t)},t.assertTSObjectKeyword=function(e,t){i("TSObjectKeyword",e,t)},t.assertTSStringKeyword=function(e,t){i("TSStringKeyword",e,t)},t.assertTSSymbolKeyword=function(e,t){i("TSSymbolKeyword",e,t)},t.assertTSUndefinedKeyword=function(e,t){i("TSUndefinedKeyword",e,t)},t.assertTSUnknownKeyword=function(e,t){i("TSUnknownKeyword",e,t)},t.assertTSVoidKeyword=function(e,t){i("TSVoidKeyword",e,t)},t.assertTSThisType=function(e,t){i("TSThisType",e,t)},t.assertTSFunctionType=function(e,t){i("TSFunctionType",e,t)},t.assertTSConstructorType=function(e,t){i("TSConstructorType",e,t)},t.assertTSTypeReference=function(e,t){i("TSTypeReference",e,t)},t.assertTSTypePredicate=function(e,t){i("TSTypePredicate",e,t)},t.assertTSTypeQuery=function(e,t){i("TSTypeQuery",e,t)},t.assertTSTypeLiteral=function(e,t){i("TSTypeLiteral",e,t)},t.assertTSArrayType=function(e,t){i("TSArrayType",e,t)},t.assertTSTupleType=function(e,t){i("TSTupleType",e,t)},t.assertTSOptionalType=function(e,t){i("TSOptionalType",e,t)},t.assertTSRestType=function(e,t){i("TSRestType",e,t)},t.assertTSNamedTupleMember=function(e,t){i("TSNamedTupleMember",e,t)},t.assertTSUnionType=function(e,t){i("TSUnionType",e,t)},t.assertTSIntersectionType=function(e,t){i("TSIntersectionType",e,t)},t.assertTSConditionalType=function(e,t){i("TSConditionalType",e,t)},t.assertTSInferType=function(e,t){i("TSInferType",e,t)},t.assertTSParenthesizedType=function(e,t){i("TSParenthesizedType",e,t)},t.assertTSTypeOperator=function(e,t){i("TSTypeOperator",e,t)},t.assertTSIndexedAccessType=function(e,t){i("TSIndexedAccessType",e,t)},t.assertTSMappedType=function(e,t){i("TSMappedType",e,t)},t.assertTSLiteralType=function(e,t){i("TSLiteralType",e,t)},t.assertTSExpressionWithTypeArguments=function(e,t){i("TSExpressionWithTypeArguments",e,t)},t.assertTSInterfaceDeclaration=function(e,t){i("TSInterfaceDeclaration",e,t)},t.assertTSInterfaceBody=function(e,t){i("TSInterfaceBody",e,t)},t.assertTSTypeAliasDeclaration=function(e,t){i("TSTypeAliasDeclaration",e,t)},t.assertTSAsExpression=function(e,t){i("TSAsExpression",e,t)},t.assertTSTypeAssertion=function(e,t){i("TSTypeAssertion",e,t)},t.assertTSEnumDeclaration=function(e,t){i("TSEnumDeclaration",e,t)},t.assertTSEnumMember=function(e,t){i("TSEnumMember",e,t)},t.assertTSModuleDeclaration=function(e,t){i("TSModuleDeclaration",e,t)},t.assertTSModuleBlock=function(e,t){i("TSModuleBlock",e,t)},t.assertTSImportType=function(e,t){i("TSImportType",e,t)},t.assertTSImportEqualsDeclaration=function(e,t){i("TSImportEqualsDeclaration",e,t)},t.assertTSExternalModuleReference=function(e,t){i("TSExternalModuleReference",e,t)},t.assertTSNonNullExpression=function(e,t){i("TSNonNullExpression",e,t)},t.assertTSExportAssignment=function(e,t){i("TSExportAssignment",e,t)},t.assertTSNamespaceExportDeclaration=function(e,t){i("TSNamespaceExportDeclaration",e,t)},t.assertTSTypeAnnotation=function(e,t){i("TSTypeAnnotation",e,t)},t.assertTSTypeParameterInstantiation=function(e,t){i("TSTypeParameterInstantiation",e,t)},t.assertTSTypeParameterDeclaration=function(e,t){i("TSTypeParameterDeclaration",e,t)},t.assertTSTypeParameter=function(e,t){i("TSTypeParameter",e,t)},t.assertExpression=function(e,t){i("Expression",e,t)},t.assertBinary=function(e,t){i("Binary",e,t)},t.assertScopable=function(e,t){i("Scopable",e,t)},t.assertBlockParent=function(e,t){i("BlockParent",e,t)},t.assertBlock=function(e,t){i("Block",e,t)},t.assertStatement=function(e,t){i("Statement",e,t)},t.assertTerminatorless=function(e,t){i("Terminatorless",e,t)},t.assertCompletionStatement=function(e,t){i("CompletionStatement",e,t)},t.assertConditional=function(e,t){i("Conditional",e,t)},t.assertLoop=function(e,t){i("Loop",e,t)},t.assertWhile=function(e,t){i("While",e,t)},t.assertExpressionWrapper=function(e,t){i("ExpressionWrapper",e,t)},t.assertFor=function(e,t){i("For",e,t)},t.assertForXStatement=function(e,t){i("ForXStatement",e,t)},t.assertFunction=function(e,t){i("Function",e,t)},t.assertFunctionParent=function(e,t){i("FunctionParent",e,t)},t.assertPureish=function(e,t){i("Pureish",e,t)},t.assertDeclaration=function(e,t){i("Declaration",e,t)},t.assertPatternLike=function(e,t){i("PatternLike",e,t)},t.assertLVal=function(e,t){i("LVal",e,t)},t.assertTSEntityName=function(e,t){i("TSEntityName",e,t)},t.assertLiteral=function(e,t){i("Literal",e,t)},t.assertImmutable=function(e,t){i("Immutable",e,t)},t.assertUserWhitespacable=function(e,t){i("UserWhitespacable",e,t)},t.assertMethod=function(e,t){i("Method",e,t)},t.assertObjectMember=function(e,t){i("ObjectMember",e,t)},t.assertProperty=function(e,t){i("Property",e,t)},t.assertUnaryLike=function(e,t){i("UnaryLike",e,t)},t.assertPattern=function(e,t){i("Pattern",e,t)},t.assertClass=function(e,t){i("Class",e,t)},t.assertModuleDeclaration=function(e,t){i("ModuleDeclaration",e,t)},t.assertExportDeclaration=function(e,t){i("ExportDeclaration",e,t)},t.assertModuleSpecifier=function(e,t){i("ModuleSpecifier",e,t)},t.assertFlow=function(e,t){i("Flow",e,t)},t.assertFlowType=function(e,t){i("FlowType",e,t)},t.assertFlowBaseAnnotation=function(e,t){i("FlowBaseAnnotation",e,t)},t.assertFlowDeclaration=function(e,t){i("FlowDeclaration",e,t)},t.assertFlowPredicate=function(e,t){i("FlowPredicate",e,t)},t.assertEnumBody=function(e,t){i("EnumBody",e,t)},t.assertEnumMember=function(e,t){i("EnumMember",e,t)},t.assertJSX=function(e,t){i("JSX",e,t)},t.assertPrivate=function(e,t){i("Private",e,t)},t.assertTSTypeElement=function(e,t){i("TSTypeElement",e,t)},t.assertTSType=function(e,t){i("TSType",e,t)},t.assertTSBaseType=function(e,t){i("TSBaseType",e,t)},t.assertNumberLiteral=function(e,t){console.trace("The node type NumberLiteral has been renamed to NumericLiteral"),i("NumberLiteral",e,t)},t.assertRegexLiteral=function(e,t){console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"),i("RegexLiteral",e,t)},t.assertRestProperty=function(e,t){console.trace("The node type RestProperty has been renamed to RestElement"),i("RestProperty",e,t)},t.assertSpreadProperty=function(e,t){console.trace("The node type SpreadProperty has been renamed to SpreadElement"),i("SpreadProperty",e,t)};var n=r(36);function i(e,t,r){if(!(0,n.default)(e,t,r))throw new Error(`Expected type "${e}" with option ${JSON.stringify(r)}, but instead got "${t.type}".`)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("string"===e)return(0,n.stringTypeAnnotation)();if("number"===e)return(0,n.numberTypeAnnotation)();if("undefined"===e)return(0,n.voidTypeAnnotation)();if("boolean"===e)return(0,n.booleanTypeAnnotation)();if("function"===e)return(0,n.genericTypeAnnotation)((0,n.identifier)("Function"));if("object"===e)return(0,n.genericTypeAnnotation)((0,n.identifier)("Object"));if("symbol"===e)return(0,n.genericTypeAnnotation)((0,n.identifier)("Symbol"));if("bigint"===e)return(0,n.anyTypeAnnotation)();throw new Error("Invalid typeof value: "+e)};var n=r(3)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(0,i.default)(e);return 1===t.length?t[0]:(0,n.unionTypeAnnotation)(t)};var n=r(3),i=r(107)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=e.map(e=>e.typeAnnotation),r=(0,i.default)(t);return 1===r.length?r[0]:(0,n.tsUnionType)(r)};var n=r(3),i=r(279)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t={},r={},i=[],s=[];for(let t=0;t=0)){if((0,n.isTSAnyKeyword)(a))return[a];(0,n.isTSBaseType)(a)?r[a.type]=a:(0,n.isTSUnionType)(a)?i.indexOf(a.types)<0&&(e=e.concat(a.types),i.push(a.types)):s.push(a)}}for(const e of Object.keys(r))s.push(r[e]);for(const e of Object.keys(t))s.push(t[e]);return s};var n=r(1)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ArrayExpression",{enumerable:!0,get:function(){return n.arrayExpression}}),Object.defineProperty(t,"AssignmentExpression",{enumerable:!0,get:function(){return n.assignmentExpression}}),Object.defineProperty(t,"BinaryExpression",{enumerable:!0,get:function(){return n.binaryExpression}}),Object.defineProperty(t,"InterpreterDirective",{enumerable:!0,get:function(){return n.interpreterDirective}}),Object.defineProperty(t,"Directive",{enumerable:!0,get:function(){return n.directive}}),Object.defineProperty(t,"DirectiveLiteral",{enumerable:!0,get:function(){return n.directiveLiteral}}),Object.defineProperty(t,"BlockStatement",{enumerable:!0,get:function(){return n.blockStatement}}),Object.defineProperty(t,"BreakStatement",{enumerable:!0,get:function(){return n.breakStatement}}),Object.defineProperty(t,"CallExpression",{enumerable:!0,get:function(){return n.callExpression}}),Object.defineProperty(t,"CatchClause",{enumerable:!0,get:function(){return n.catchClause}}),Object.defineProperty(t,"ConditionalExpression",{enumerable:!0,get:function(){return n.conditionalExpression}}),Object.defineProperty(t,"ContinueStatement",{enumerable:!0,get:function(){return n.continueStatement}}),Object.defineProperty(t,"DebuggerStatement",{enumerable:!0,get:function(){return n.debuggerStatement}}),Object.defineProperty(t,"DoWhileStatement",{enumerable:!0,get:function(){return n.doWhileStatement}}),Object.defineProperty(t,"EmptyStatement",{enumerable:!0,get:function(){return n.emptyStatement}}),Object.defineProperty(t,"ExpressionStatement",{enumerable:!0,get:function(){return n.expressionStatement}}),Object.defineProperty(t,"File",{enumerable:!0,get:function(){return n.file}}),Object.defineProperty(t,"ForInStatement",{enumerable:!0,get:function(){return n.forInStatement}}),Object.defineProperty(t,"ForStatement",{enumerable:!0,get:function(){return n.forStatement}}),Object.defineProperty(t,"FunctionDeclaration",{enumerable:!0,get:function(){return n.functionDeclaration}}),Object.defineProperty(t,"FunctionExpression",{enumerable:!0,get:function(){return n.functionExpression}}),Object.defineProperty(t,"Identifier",{enumerable:!0,get:function(){return n.identifier}}),Object.defineProperty(t,"IfStatement",{enumerable:!0,get:function(){return n.ifStatement}}),Object.defineProperty(t,"LabeledStatement",{enumerable:!0,get:function(){return n.labeledStatement}}),Object.defineProperty(t,"StringLiteral",{enumerable:!0,get:function(){return n.stringLiteral}}),Object.defineProperty(t,"NumericLiteral",{enumerable:!0,get:function(){return n.numericLiteral}}),Object.defineProperty(t,"NullLiteral",{enumerable:!0,get:function(){return n.nullLiteral}}),Object.defineProperty(t,"BooleanLiteral",{enumerable:!0,get:function(){return n.booleanLiteral}}),Object.defineProperty(t,"RegExpLiteral",{enumerable:!0,get:function(){return n.regExpLiteral}}),Object.defineProperty(t,"LogicalExpression",{enumerable:!0,get:function(){return n.logicalExpression}}),Object.defineProperty(t,"MemberExpression",{enumerable:!0,get:function(){return n.memberExpression}}),Object.defineProperty(t,"NewExpression",{enumerable:!0,get:function(){return n.newExpression}}),Object.defineProperty(t,"Program",{enumerable:!0,get:function(){return n.program}}),Object.defineProperty(t,"ObjectExpression",{enumerable:!0,get:function(){return n.objectExpression}}),Object.defineProperty(t,"ObjectMethod",{enumerable:!0,get:function(){return n.objectMethod}}),Object.defineProperty(t,"ObjectProperty",{enumerable:!0,get:function(){return n.objectProperty}}),Object.defineProperty(t,"RestElement",{enumerable:!0,get:function(){return n.restElement}}),Object.defineProperty(t,"ReturnStatement",{enumerable:!0,get:function(){return n.returnStatement}}),Object.defineProperty(t,"SequenceExpression",{enumerable:!0,get:function(){return n.sequenceExpression}}),Object.defineProperty(t,"ParenthesizedExpression",{enumerable:!0,get:function(){return n.parenthesizedExpression}}),Object.defineProperty(t,"SwitchCase",{enumerable:!0,get:function(){return n.switchCase}}),Object.defineProperty(t,"SwitchStatement",{enumerable:!0,get:function(){return n.switchStatement}}),Object.defineProperty(t,"ThisExpression",{enumerable:!0,get:function(){return n.thisExpression}}),Object.defineProperty(t,"ThrowStatement",{enumerable:!0,get:function(){return n.throwStatement}}),Object.defineProperty(t,"TryStatement",{enumerable:!0,get:function(){return n.tryStatement}}),Object.defineProperty(t,"UnaryExpression",{enumerable:!0,get:function(){return n.unaryExpression}}),Object.defineProperty(t,"UpdateExpression",{enumerable:!0,get:function(){return n.updateExpression}}),Object.defineProperty(t,"VariableDeclaration",{enumerable:!0,get:function(){return n.variableDeclaration}}),Object.defineProperty(t,"VariableDeclarator",{enumerable:!0,get:function(){return n.variableDeclarator}}),Object.defineProperty(t,"WhileStatement",{enumerable:!0,get:function(){return n.whileStatement}}),Object.defineProperty(t,"WithStatement",{enumerable:!0,get:function(){return n.withStatement}}),Object.defineProperty(t,"AssignmentPattern",{enumerable:!0,get:function(){return n.assignmentPattern}}),Object.defineProperty(t,"ArrayPattern",{enumerable:!0,get:function(){return n.arrayPattern}}),Object.defineProperty(t,"ArrowFunctionExpression",{enumerable:!0,get:function(){return n.arrowFunctionExpression}}),Object.defineProperty(t,"ClassBody",{enumerable:!0,get:function(){return n.classBody}}),Object.defineProperty(t,"ClassExpression",{enumerable:!0,get:function(){return n.classExpression}}),Object.defineProperty(t,"ClassDeclaration",{enumerable:!0,get:function(){return n.classDeclaration}}),Object.defineProperty(t,"ExportAllDeclaration",{enumerable:!0,get:function(){return n.exportAllDeclaration}}),Object.defineProperty(t,"ExportDefaultDeclaration",{enumerable:!0,get:function(){return n.exportDefaultDeclaration}}),Object.defineProperty(t,"ExportNamedDeclaration",{enumerable:!0,get:function(){return n.exportNamedDeclaration}}),Object.defineProperty(t,"ExportSpecifier",{enumerable:!0,get:function(){return n.exportSpecifier}}),Object.defineProperty(t,"ForOfStatement",{enumerable:!0,get:function(){return n.forOfStatement}}),Object.defineProperty(t,"ImportDeclaration",{enumerable:!0,get:function(){return n.importDeclaration}}),Object.defineProperty(t,"ImportDefaultSpecifier",{enumerable:!0,get:function(){return n.importDefaultSpecifier}}),Object.defineProperty(t,"ImportNamespaceSpecifier",{enumerable:!0,get:function(){return n.importNamespaceSpecifier}}),Object.defineProperty(t,"ImportSpecifier",{enumerable:!0,get:function(){return n.importSpecifier}}),Object.defineProperty(t,"MetaProperty",{enumerable:!0,get:function(){return n.metaProperty}}),Object.defineProperty(t,"ClassMethod",{enumerable:!0,get:function(){return n.classMethod}}),Object.defineProperty(t,"ObjectPattern",{enumerable:!0,get:function(){return n.objectPattern}}),Object.defineProperty(t,"SpreadElement",{enumerable:!0,get:function(){return n.spreadElement}}),Object.defineProperty(t,"Super",{enumerable:!0,get:function(){return n.super}}),Object.defineProperty(t,"TaggedTemplateExpression",{enumerable:!0,get:function(){return n.taggedTemplateExpression}}),Object.defineProperty(t,"TemplateElement",{enumerable:!0,get:function(){return n.templateElement}}),Object.defineProperty(t,"TemplateLiteral",{enumerable:!0,get:function(){return n.templateLiteral}}),Object.defineProperty(t,"YieldExpression",{enumerable:!0,get:function(){return n.yieldExpression}}),Object.defineProperty(t,"AwaitExpression",{enumerable:!0,get:function(){return n.awaitExpression}}),Object.defineProperty(t,"Import",{enumerable:!0,get:function(){return n.import}}),Object.defineProperty(t,"BigIntLiteral",{enumerable:!0,get:function(){return n.bigIntLiteral}}),Object.defineProperty(t,"ExportNamespaceSpecifier",{enumerable:!0,get:function(){return n.exportNamespaceSpecifier}}),Object.defineProperty(t,"OptionalMemberExpression",{enumerable:!0,get:function(){return n.optionalMemberExpression}}),Object.defineProperty(t,"OptionalCallExpression",{enumerable:!0,get:function(){return n.optionalCallExpression}}),Object.defineProperty(t,"AnyTypeAnnotation",{enumerable:!0,get:function(){return n.anyTypeAnnotation}}),Object.defineProperty(t,"ArrayTypeAnnotation",{enumerable:!0,get:function(){return n.arrayTypeAnnotation}}),Object.defineProperty(t,"BooleanTypeAnnotation",{enumerable:!0,get:function(){return n.booleanTypeAnnotation}}),Object.defineProperty(t,"BooleanLiteralTypeAnnotation",{enumerable:!0,get:function(){return n.booleanLiteralTypeAnnotation}}),Object.defineProperty(t,"NullLiteralTypeAnnotation",{enumerable:!0,get:function(){return n.nullLiteralTypeAnnotation}}),Object.defineProperty(t,"ClassImplements",{enumerable:!0,get:function(){return n.classImplements}}),Object.defineProperty(t,"DeclareClass",{enumerable:!0,get:function(){return n.declareClass}}),Object.defineProperty(t,"DeclareFunction",{enumerable:!0,get:function(){return n.declareFunction}}),Object.defineProperty(t,"DeclareInterface",{enumerable:!0,get:function(){return n.declareInterface}}),Object.defineProperty(t,"DeclareModule",{enumerable:!0,get:function(){return n.declareModule}}),Object.defineProperty(t,"DeclareModuleExports",{enumerable:!0,get:function(){return n.declareModuleExports}}),Object.defineProperty(t,"DeclareTypeAlias",{enumerable:!0,get:function(){return n.declareTypeAlias}}),Object.defineProperty(t,"DeclareOpaqueType",{enumerable:!0,get:function(){return n.declareOpaqueType}}),Object.defineProperty(t,"DeclareVariable",{enumerable:!0,get:function(){return n.declareVariable}}),Object.defineProperty(t,"DeclareExportDeclaration",{enumerable:!0,get:function(){return n.declareExportDeclaration}}),Object.defineProperty(t,"DeclareExportAllDeclaration",{enumerable:!0,get:function(){return n.declareExportAllDeclaration}}),Object.defineProperty(t,"DeclaredPredicate",{enumerable:!0,get:function(){return n.declaredPredicate}}),Object.defineProperty(t,"ExistsTypeAnnotation",{enumerable:!0,get:function(){return n.existsTypeAnnotation}}),Object.defineProperty(t,"FunctionTypeAnnotation",{enumerable:!0,get:function(){return n.functionTypeAnnotation}}),Object.defineProperty(t,"FunctionTypeParam",{enumerable:!0,get:function(){return n.functionTypeParam}}),Object.defineProperty(t,"GenericTypeAnnotation",{enumerable:!0,get:function(){return n.genericTypeAnnotation}}),Object.defineProperty(t,"InferredPredicate",{enumerable:!0,get:function(){return n.inferredPredicate}}),Object.defineProperty(t,"InterfaceExtends",{enumerable:!0,get:function(){return n.interfaceExtends}}),Object.defineProperty(t,"InterfaceDeclaration",{enumerable:!0,get:function(){return n.interfaceDeclaration}}),Object.defineProperty(t,"InterfaceTypeAnnotation",{enumerable:!0,get:function(){return n.interfaceTypeAnnotation}}),Object.defineProperty(t,"IntersectionTypeAnnotation",{enumerable:!0,get:function(){return n.intersectionTypeAnnotation}}),Object.defineProperty(t,"MixedTypeAnnotation",{enumerable:!0,get:function(){return n.mixedTypeAnnotation}}),Object.defineProperty(t,"EmptyTypeAnnotation",{enumerable:!0,get:function(){return n.emptyTypeAnnotation}}),Object.defineProperty(t,"NullableTypeAnnotation",{enumerable:!0,get:function(){return n.nullableTypeAnnotation}}),Object.defineProperty(t,"NumberLiteralTypeAnnotation",{enumerable:!0,get:function(){return n.numberLiteralTypeAnnotation}}),Object.defineProperty(t,"NumberTypeAnnotation",{enumerable:!0,get:function(){return n.numberTypeAnnotation}}),Object.defineProperty(t,"ObjectTypeAnnotation",{enumerable:!0,get:function(){return n.objectTypeAnnotation}}),Object.defineProperty(t,"ObjectTypeInternalSlot",{enumerable:!0,get:function(){return n.objectTypeInternalSlot}}),Object.defineProperty(t,"ObjectTypeCallProperty",{enumerable:!0,get:function(){return n.objectTypeCallProperty}}),Object.defineProperty(t,"ObjectTypeIndexer",{enumerable:!0,get:function(){return n.objectTypeIndexer}}),Object.defineProperty(t,"ObjectTypeProperty",{enumerable:!0,get:function(){return n.objectTypeProperty}}),Object.defineProperty(t,"ObjectTypeSpreadProperty",{enumerable:!0,get:function(){return n.objectTypeSpreadProperty}}),Object.defineProperty(t,"OpaqueType",{enumerable:!0,get:function(){return n.opaqueType}}),Object.defineProperty(t,"QualifiedTypeIdentifier",{enumerable:!0,get:function(){return n.qualifiedTypeIdentifier}}),Object.defineProperty(t,"StringLiteralTypeAnnotation",{enumerable:!0,get:function(){return n.stringLiteralTypeAnnotation}}),Object.defineProperty(t,"StringTypeAnnotation",{enumerable:!0,get:function(){return n.stringTypeAnnotation}}),Object.defineProperty(t,"SymbolTypeAnnotation",{enumerable:!0,get:function(){return n.symbolTypeAnnotation}}),Object.defineProperty(t,"ThisTypeAnnotation",{enumerable:!0,get:function(){return n.thisTypeAnnotation}}),Object.defineProperty(t,"TupleTypeAnnotation",{enumerable:!0,get:function(){return n.tupleTypeAnnotation}}),Object.defineProperty(t,"TypeofTypeAnnotation",{enumerable:!0,get:function(){return n.typeofTypeAnnotation}}),Object.defineProperty(t,"TypeAlias",{enumerable:!0,get:function(){return n.typeAlias}}),Object.defineProperty(t,"TypeAnnotation",{enumerable:!0,get:function(){return n.typeAnnotation}}),Object.defineProperty(t,"TypeCastExpression",{enumerable:!0,get:function(){return n.typeCastExpression}}),Object.defineProperty(t,"TypeParameter",{enumerable:!0,get:function(){return n.typeParameter}}),Object.defineProperty(t,"TypeParameterDeclaration",{enumerable:!0,get:function(){return n.typeParameterDeclaration}}),Object.defineProperty(t,"TypeParameterInstantiation",{enumerable:!0,get:function(){return n.typeParameterInstantiation}}),Object.defineProperty(t,"UnionTypeAnnotation",{enumerable:!0,get:function(){return n.unionTypeAnnotation}}),Object.defineProperty(t,"Variance",{enumerable:!0,get:function(){return n.variance}}),Object.defineProperty(t,"VoidTypeAnnotation",{enumerable:!0,get:function(){return n.voidTypeAnnotation}}),Object.defineProperty(t,"EnumDeclaration",{enumerable:!0,get:function(){return n.enumDeclaration}}),Object.defineProperty(t,"EnumBooleanBody",{enumerable:!0,get:function(){return n.enumBooleanBody}}),Object.defineProperty(t,"EnumNumberBody",{enumerable:!0,get:function(){return n.enumNumberBody}}),Object.defineProperty(t,"EnumStringBody",{enumerable:!0,get:function(){return n.enumStringBody}}),Object.defineProperty(t,"EnumSymbolBody",{enumerable:!0,get:function(){return n.enumSymbolBody}}),Object.defineProperty(t,"EnumBooleanMember",{enumerable:!0,get:function(){return n.enumBooleanMember}}),Object.defineProperty(t,"EnumNumberMember",{enumerable:!0,get:function(){return n.enumNumberMember}}),Object.defineProperty(t,"EnumStringMember",{enumerable:!0,get:function(){return n.enumStringMember}}),Object.defineProperty(t,"EnumDefaultedMember",{enumerable:!0,get:function(){return n.enumDefaultedMember}}),Object.defineProperty(t,"IndexedAccessType",{enumerable:!0,get:function(){return n.indexedAccessType}}),Object.defineProperty(t,"OptionalIndexedAccessType",{enumerable:!0,get:function(){return n.optionalIndexedAccessType}}),Object.defineProperty(t,"JSXAttribute",{enumerable:!0,get:function(){return n.jsxAttribute}}),Object.defineProperty(t,"JSXClosingElement",{enumerable:!0,get:function(){return n.jsxClosingElement}}),Object.defineProperty(t,"JSXElement",{enumerable:!0,get:function(){return n.jsxElement}}),Object.defineProperty(t,"JSXEmptyExpression",{enumerable:!0,get:function(){return n.jsxEmptyExpression}}),Object.defineProperty(t,"JSXExpressionContainer",{enumerable:!0,get:function(){return n.jsxExpressionContainer}}),Object.defineProperty(t,"JSXSpreadChild",{enumerable:!0,get:function(){return n.jsxSpreadChild}}),Object.defineProperty(t,"JSXIdentifier",{enumerable:!0,get:function(){return n.jsxIdentifier}}),Object.defineProperty(t,"JSXMemberExpression",{enumerable:!0,get:function(){return n.jsxMemberExpression}}),Object.defineProperty(t,"JSXNamespacedName",{enumerable:!0,get:function(){return n.jsxNamespacedName}}),Object.defineProperty(t,"JSXOpeningElement",{enumerable:!0,get:function(){return n.jsxOpeningElement}}),Object.defineProperty(t,"JSXSpreadAttribute",{enumerable:!0,get:function(){return n.jsxSpreadAttribute}}),Object.defineProperty(t,"JSXText",{enumerable:!0,get:function(){return n.jsxText}}),Object.defineProperty(t,"JSXFragment",{enumerable:!0,get:function(){return n.jsxFragment}}),Object.defineProperty(t,"JSXOpeningFragment",{enumerable:!0,get:function(){return n.jsxOpeningFragment}}),Object.defineProperty(t,"JSXClosingFragment",{enumerable:!0,get:function(){return n.jsxClosingFragment}}),Object.defineProperty(t,"Noop",{enumerable:!0,get:function(){return n.noop}}),Object.defineProperty(t,"Placeholder",{enumerable:!0,get:function(){return n.placeholder}}),Object.defineProperty(t,"V8IntrinsicIdentifier",{enumerable:!0,get:function(){return n.v8IntrinsicIdentifier}}),Object.defineProperty(t,"ArgumentPlaceholder",{enumerable:!0,get:function(){return n.argumentPlaceholder}}),Object.defineProperty(t,"BindExpression",{enumerable:!0,get:function(){return n.bindExpression}}),Object.defineProperty(t,"ClassProperty",{enumerable:!0,get:function(){return n.classProperty}}),Object.defineProperty(t,"PipelineTopicExpression",{enumerable:!0,get:function(){return n.pipelineTopicExpression}}),Object.defineProperty(t,"PipelineBareFunction",{enumerable:!0,get:function(){return n.pipelineBareFunction}}),Object.defineProperty(t,"PipelinePrimaryTopicReference",{enumerable:!0,get:function(){return n.pipelinePrimaryTopicReference}}),Object.defineProperty(t,"ClassPrivateProperty",{enumerable:!0,get:function(){return n.classPrivateProperty}}),Object.defineProperty(t,"ClassPrivateMethod",{enumerable:!0,get:function(){return n.classPrivateMethod}}),Object.defineProperty(t,"ImportAttribute",{enumerable:!0,get:function(){return n.importAttribute}}),Object.defineProperty(t,"Decorator",{enumerable:!0,get:function(){return n.decorator}}),Object.defineProperty(t,"DoExpression",{enumerable:!0,get:function(){return n.doExpression}}),Object.defineProperty(t,"ExportDefaultSpecifier",{enumerable:!0,get:function(){return n.exportDefaultSpecifier}}),Object.defineProperty(t,"PrivateName",{enumerable:!0,get:function(){return n.privateName}}),Object.defineProperty(t,"RecordExpression",{enumerable:!0,get:function(){return n.recordExpression}}),Object.defineProperty(t,"TupleExpression",{enumerable:!0,get:function(){return n.tupleExpression}}),Object.defineProperty(t,"DecimalLiteral",{enumerable:!0,get:function(){return n.decimalLiteral}}),Object.defineProperty(t,"StaticBlock",{enumerable:!0,get:function(){return n.staticBlock}}),Object.defineProperty(t,"ModuleExpression",{enumerable:!0,get:function(){return n.moduleExpression}}),Object.defineProperty(t,"TSParameterProperty",{enumerable:!0,get:function(){return n.tsParameterProperty}}),Object.defineProperty(t,"TSDeclareFunction",{enumerable:!0,get:function(){return n.tsDeclareFunction}}),Object.defineProperty(t,"TSDeclareMethod",{enumerable:!0,get:function(){return n.tsDeclareMethod}}),Object.defineProperty(t,"TSQualifiedName",{enumerable:!0,get:function(){return n.tsQualifiedName}}),Object.defineProperty(t,"TSCallSignatureDeclaration",{enumerable:!0,get:function(){return n.tsCallSignatureDeclaration}}),Object.defineProperty(t,"TSConstructSignatureDeclaration",{enumerable:!0,get:function(){return n.tsConstructSignatureDeclaration}}),Object.defineProperty(t,"TSPropertySignature",{enumerable:!0,get:function(){return n.tsPropertySignature}}),Object.defineProperty(t,"TSMethodSignature",{enumerable:!0,get:function(){return n.tsMethodSignature}}),Object.defineProperty(t,"TSIndexSignature",{enumerable:!0,get:function(){return n.tsIndexSignature}}),Object.defineProperty(t,"TSAnyKeyword",{enumerable:!0,get:function(){return n.tsAnyKeyword}}),Object.defineProperty(t,"TSBooleanKeyword",{enumerable:!0,get:function(){return n.tsBooleanKeyword}}),Object.defineProperty(t,"TSBigIntKeyword",{enumerable:!0,get:function(){return n.tsBigIntKeyword}}),Object.defineProperty(t,"TSIntrinsicKeyword",{enumerable:!0,get:function(){return n.tsIntrinsicKeyword}}),Object.defineProperty(t,"TSNeverKeyword",{enumerable:!0,get:function(){return n.tsNeverKeyword}}),Object.defineProperty(t,"TSNullKeyword",{enumerable:!0,get:function(){return n.tsNullKeyword}}),Object.defineProperty(t,"TSNumberKeyword",{enumerable:!0,get:function(){return n.tsNumberKeyword}}),Object.defineProperty(t,"TSObjectKeyword",{enumerable:!0,get:function(){return n.tsObjectKeyword}}),Object.defineProperty(t,"TSStringKeyword",{enumerable:!0,get:function(){return n.tsStringKeyword}}),Object.defineProperty(t,"TSSymbolKeyword",{enumerable:!0,get:function(){return n.tsSymbolKeyword}}),Object.defineProperty(t,"TSUndefinedKeyword",{enumerable:!0,get:function(){return n.tsUndefinedKeyword}}),Object.defineProperty(t,"TSUnknownKeyword",{enumerable:!0,get:function(){return n.tsUnknownKeyword}}),Object.defineProperty(t,"TSVoidKeyword",{enumerable:!0,get:function(){return n.tsVoidKeyword}}),Object.defineProperty(t,"TSThisType",{enumerable:!0,get:function(){return n.tsThisType}}),Object.defineProperty(t,"TSFunctionType",{enumerable:!0,get:function(){return n.tsFunctionType}}),Object.defineProperty(t,"TSConstructorType",{enumerable:!0,get:function(){return n.tsConstructorType}}),Object.defineProperty(t,"TSTypeReference",{enumerable:!0,get:function(){return n.tsTypeReference}}),Object.defineProperty(t,"TSTypePredicate",{enumerable:!0,get:function(){return n.tsTypePredicate}}),Object.defineProperty(t,"TSTypeQuery",{enumerable:!0,get:function(){return n.tsTypeQuery}}),Object.defineProperty(t,"TSTypeLiteral",{enumerable:!0,get:function(){return n.tsTypeLiteral}}),Object.defineProperty(t,"TSArrayType",{enumerable:!0,get:function(){return n.tsArrayType}}),Object.defineProperty(t,"TSTupleType",{enumerable:!0,get:function(){return n.tsTupleType}}),Object.defineProperty(t,"TSOptionalType",{enumerable:!0,get:function(){return n.tsOptionalType}}),Object.defineProperty(t,"TSRestType",{enumerable:!0,get:function(){return n.tsRestType}}),Object.defineProperty(t,"TSNamedTupleMember",{enumerable:!0,get:function(){return n.tsNamedTupleMember}}),Object.defineProperty(t,"TSUnionType",{enumerable:!0,get:function(){return n.tsUnionType}}),Object.defineProperty(t,"TSIntersectionType",{enumerable:!0,get:function(){return n.tsIntersectionType}}),Object.defineProperty(t,"TSConditionalType",{enumerable:!0,get:function(){return n.tsConditionalType}}),Object.defineProperty(t,"TSInferType",{enumerable:!0,get:function(){return n.tsInferType}}),Object.defineProperty(t,"TSParenthesizedType",{enumerable:!0,get:function(){return n.tsParenthesizedType}}),Object.defineProperty(t,"TSTypeOperator",{enumerable:!0,get:function(){return n.tsTypeOperator}}),Object.defineProperty(t,"TSIndexedAccessType",{enumerable:!0,get:function(){return n.tsIndexedAccessType}}),Object.defineProperty(t,"TSMappedType",{enumerable:!0,get:function(){return n.tsMappedType}}),Object.defineProperty(t,"TSLiteralType",{enumerable:!0,get:function(){return n.tsLiteralType}}),Object.defineProperty(t,"TSExpressionWithTypeArguments",{enumerable:!0,get:function(){return n.tsExpressionWithTypeArguments}}),Object.defineProperty(t,"TSInterfaceDeclaration",{enumerable:!0,get:function(){return n.tsInterfaceDeclaration}}),Object.defineProperty(t,"TSInterfaceBody",{enumerable:!0,get:function(){return n.tsInterfaceBody}}),Object.defineProperty(t,"TSTypeAliasDeclaration",{enumerable:!0,get:function(){return n.tsTypeAliasDeclaration}}),Object.defineProperty(t,"TSAsExpression",{enumerable:!0,get:function(){return n.tsAsExpression}}),Object.defineProperty(t,"TSTypeAssertion",{enumerable:!0,get:function(){return n.tsTypeAssertion}}),Object.defineProperty(t,"TSEnumDeclaration",{enumerable:!0,get:function(){return n.tsEnumDeclaration}}),Object.defineProperty(t,"TSEnumMember",{enumerable:!0,get:function(){return n.tsEnumMember}}),Object.defineProperty(t,"TSModuleDeclaration",{enumerable:!0,get:function(){return n.tsModuleDeclaration}}),Object.defineProperty(t,"TSModuleBlock",{enumerable:!0,get:function(){return n.tsModuleBlock}}),Object.defineProperty(t,"TSImportType",{enumerable:!0,get:function(){return n.tsImportType}}),Object.defineProperty(t,"TSImportEqualsDeclaration",{enumerable:!0,get:function(){return n.tsImportEqualsDeclaration}}),Object.defineProperty(t,"TSExternalModuleReference",{enumerable:!0,get:function(){return n.tsExternalModuleReference}}),Object.defineProperty(t,"TSNonNullExpression",{enumerable:!0,get:function(){return n.tsNonNullExpression}}),Object.defineProperty(t,"TSExportAssignment",{enumerable:!0,get:function(){return n.tsExportAssignment}}),Object.defineProperty(t,"TSNamespaceExportDeclaration",{enumerable:!0,get:function(){return n.tsNamespaceExportDeclaration}}),Object.defineProperty(t,"TSTypeAnnotation",{enumerable:!0,get:function(){return n.tsTypeAnnotation}}),Object.defineProperty(t,"TSTypeParameterInstantiation",{enumerable:!0,get:function(){return n.tsTypeParameterInstantiation}}),Object.defineProperty(t,"TSTypeParameterDeclaration",{enumerable:!0,get:function(){return n.tsTypeParameterDeclaration}}),Object.defineProperty(t,"TSTypeParameter",{enumerable:!0,get:function(){return n.tsTypeParameter}}),Object.defineProperty(t,"NumberLiteral",{enumerable:!0,get:function(){return n.numberLiteral}}),Object.defineProperty(t,"RegexLiteral",{enumerable:!0,get:function(){return n.regexLiteral}}),Object.defineProperty(t,"RestProperty",{enumerable:!0,get:function(){return n.restProperty}}),Object.defineProperty(t,"SpreadProperty",{enumerable:!0,get:function(){return n.spreadProperty}});var n=r(3)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e,!1)};var n=r(16)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e)};var n=r(16)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e,!0,!0)};var n=r(16)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e,!1,!0)};var n=r(16)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,i){return(0,n.default)(e,t,[{type:i?"CommentLine":"CommentBlock",value:r}])};var n=r(108)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return n.COMMENT_KEYS.forEach(t=>{e[t]=null}),e};var n=r(15)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TSBASETYPE_TYPES=t.TSTYPE_TYPES=t.TSTYPEELEMENT_TYPES=t.PRIVATE_TYPES=t.JSX_TYPES=t.ENUMMEMBER_TYPES=t.ENUMBODY_TYPES=t.FLOWPREDICATE_TYPES=t.FLOWDECLARATION_TYPES=t.FLOWBASEANNOTATION_TYPES=t.FLOWTYPE_TYPES=t.FLOW_TYPES=t.MODULESPECIFIER_TYPES=t.EXPORTDECLARATION_TYPES=t.MODULEDECLARATION_TYPES=t.CLASS_TYPES=t.PATTERN_TYPES=t.UNARYLIKE_TYPES=t.PROPERTY_TYPES=t.OBJECTMEMBER_TYPES=t.METHOD_TYPES=t.USERWHITESPACABLE_TYPES=t.IMMUTABLE_TYPES=t.LITERAL_TYPES=t.TSENTITYNAME_TYPES=t.LVAL_TYPES=t.PATTERNLIKE_TYPES=t.DECLARATION_TYPES=t.PUREISH_TYPES=t.FUNCTIONPARENT_TYPES=t.FUNCTION_TYPES=t.FORXSTATEMENT_TYPES=t.FOR_TYPES=t.EXPRESSIONWRAPPER_TYPES=t.WHILE_TYPES=t.LOOP_TYPES=t.CONDITIONAL_TYPES=t.COMPLETIONSTATEMENT_TYPES=t.TERMINATORLESS_TYPES=t.STATEMENT_TYPES=t.BLOCK_TYPES=t.BLOCKPARENT_TYPES=t.SCOPABLE_TYPES=t.BINARY_TYPES=t.EXPRESSION_TYPES=void 0;var n=r(6);const i=n.FLIPPED_ALIAS_KEYS.Expression;t.EXPRESSION_TYPES=i;const s=n.FLIPPED_ALIAS_KEYS.Binary;t.BINARY_TYPES=s;const a=n.FLIPPED_ALIAS_KEYS.Scopable;t.SCOPABLE_TYPES=a;const o=n.FLIPPED_ALIAS_KEYS.BlockParent;t.BLOCKPARENT_TYPES=o;const l=n.FLIPPED_ALIAS_KEYS.Block;t.BLOCK_TYPES=l;const c=n.FLIPPED_ALIAS_KEYS.Statement;t.STATEMENT_TYPES=c;const p=n.FLIPPED_ALIAS_KEYS.Terminatorless;t.TERMINATORLESS_TYPES=p;const u=n.FLIPPED_ALIAS_KEYS.CompletionStatement;t.COMPLETIONSTATEMENT_TYPES=u;const d=n.FLIPPED_ALIAS_KEYS.Conditional;t.CONDITIONAL_TYPES=d;const h=n.FLIPPED_ALIAS_KEYS.Loop;t.LOOP_TYPES=h;const f=n.FLIPPED_ALIAS_KEYS.While;t.WHILE_TYPES=f;const m=n.FLIPPED_ALIAS_KEYS.ExpressionWrapper;t.EXPRESSIONWRAPPER_TYPES=m;const y=n.FLIPPED_ALIAS_KEYS.For;t.FOR_TYPES=y;const T=n.FLIPPED_ALIAS_KEYS.ForXStatement;t.FORXSTATEMENT_TYPES=T;const b=n.FLIPPED_ALIAS_KEYS.Function;t.FUNCTION_TYPES=b;const g=n.FLIPPED_ALIAS_KEYS.FunctionParent;t.FUNCTIONPARENT_TYPES=g;const S=n.FLIPPED_ALIAS_KEYS.Pureish;t.PUREISH_TYPES=S;const x=n.FLIPPED_ALIAS_KEYS.Declaration;t.DECLARATION_TYPES=x;const E=n.FLIPPED_ALIAS_KEYS.PatternLike;t.PATTERNLIKE_TYPES=E;const P=n.FLIPPED_ALIAS_KEYS.LVal;t.LVAL_TYPES=P;const v=n.FLIPPED_ALIAS_KEYS.TSEntityName;t.TSENTITYNAME_TYPES=v;const A=n.FLIPPED_ALIAS_KEYS.Literal;t.LITERAL_TYPES=A;const w=n.FLIPPED_ALIAS_KEYS.Immutable;t.IMMUTABLE_TYPES=w;const O=n.FLIPPED_ALIAS_KEYS.UserWhitespacable;t.USERWHITESPACABLE_TYPES=O;const I=n.FLIPPED_ALIAS_KEYS.Method;t.METHOD_TYPES=I;const C=n.FLIPPED_ALIAS_KEYS.ObjectMember;t.OBJECTMEMBER_TYPES=C;const N=n.FLIPPED_ALIAS_KEYS.Property;t.PROPERTY_TYPES=N;const k=n.FLIPPED_ALIAS_KEYS.UnaryLike;t.UNARYLIKE_TYPES=k;const D=n.FLIPPED_ALIAS_KEYS.Pattern;t.PATTERN_TYPES=D;const _=n.FLIPPED_ALIAS_KEYS.Class;t.CLASS_TYPES=_;const L=n.FLIPPED_ALIAS_KEYS.ModuleDeclaration;t.MODULEDECLARATION_TYPES=L;const M=n.FLIPPED_ALIAS_KEYS.ExportDeclaration;t.EXPORTDECLARATION_TYPES=M;const j=n.FLIPPED_ALIAS_KEYS.ModuleSpecifier;t.MODULESPECIFIER_TYPES=j;const F=n.FLIPPED_ALIAS_KEYS.Flow;t.FLOW_TYPES=F;const R=n.FLIPPED_ALIAS_KEYS.FlowType;t.FLOWTYPE_TYPES=R;const B=n.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation;t.FLOWBASEANNOTATION_TYPES=B;const U=n.FLIPPED_ALIAS_KEYS.FlowDeclaration;t.FLOWDECLARATION_TYPES=U;const V=n.FLIPPED_ALIAS_KEYS.FlowPredicate;t.FLOWPREDICATE_TYPES=V;const K=n.FLIPPED_ALIAS_KEYS.EnumBody;t.ENUMBODY_TYPES=K;const q=n.FLIPPED_ALIAS_KEYS.EnumMember;t.ENUMMEMBER_TYPES=q;const Y=n.FLIPPED_ALIAS_KEYS.JSX;t.JSX_TYPES=Y;const W=n.FLIPPED_ALIAS_KEYS.Private;t.PRIVATE_TYPES=W;const X=n.FLIPPED_ALIAS_KEYS.TSTypeElement;t.TSTYPEELEMENT_TYPES=X;const J=n.FLIPPED_ALIAS_KEYS.TSType;t.TSTYPE_TYPES=J;const H=n.FLIPPED_ALIAS_KEYS.TSBaseType;t.TSBASETYPE_TYPES=H},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t="body"){return e[t]=(0,n.default)(e[t],e)};var n=r(113)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){"eval"!==(e=(0,n.default)(e))&&"arguments"!==e||(e="_"+e);return e};var n=r(114)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=e.key||e.property){!e.computed&&(0,n.isIdentifier)(t)&&(t=(0,i.stringLiteral)(t.name));return t};var n=r(1),i=r(3)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(1),i=function(e){(0,n.isExpressionStatement)(e)&&(e=e.expression);if((0,n.isExpression)(e))return e;(0,n.isClass)(e)?e.type="ClassExpression":(0,n.isFunction)(e)&&(e.type="FunctionExpression");if(!(0,n.isExpression)(e))throw new Error(`cannot turn ${e.type} to an expression`);return e};t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=a;var n=r(1),i=r(16),s=r(115);function a(e,t=e.key){let r;return"method"===e.kind?a.increment()+"":(r=(0,n.isIdentifier)(t)?t.name:(0,n.isStringLiteral)(t)?JSON.stringify(t.value):JSON.stringify((0,s.default)((0,i.default)(t))),e.computed&&(r=`[${r}]`),e.static&&(r="static:"+r),r)}a.uid=0,a.increment=function(){return a.uid>=Number.MAX_SAFE_INTEGER?a.uid=0:a.uid++}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(null==e||!e.length)return;const r=[],i=(0,n.default)(e,t,r);if(!i)return;for(const e of r)t.push(e);return i};var n=r(294)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r,o){const l=[];let c=!0;for(const p of t)if((0,i.isEmptyStatement)(p)||(c=!1),(0,i.isExpression)(p))l.push(p);else if((0,i.isExpressionStatement)(p))l.push(p.expression);else if((0,i.isVariableDeclaration)(p)){if("var"!==p.kind)return;for(const e of p.declarations){const t=(0,n.default)(e);for(const e of Object.keys(t))o.push({kind:p.kind,id:(0,a.default)(t[e])});e.init&&l.push((0,s.assignmentExpression)("=",e.id,e.init))}c=!0}else if((0,i.isIfStatement)(p)){const t=p.consequent?e([p.consequent],r,o):r.buildUndefinedNode(),n=p.alternate?e([p.alternate],r,o):r.buildUndefinedNode();if(!t||!n)return;l.push((0,s.conditionalExpression)(p.test,t,n))}else if((0,i.isBlockStatement)(p)){const t=e(p.body,r,o);if(!t)return;l.push(t)}else{if(!(0,i.isEmptyStatement)(p))return;0===t.indexOf(p)&&(c=!0)}c&&l.push(r.buildUndefinedNode());return 1===l.length?l[0]:(0,s.sequenceExpression)(l)};var n=r(37),i=r(1),s=r(3),a=r(16)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(1),i=r(3),s=function(e,t){if((0,n.isStatement)(e))return e;let r,s=!1;if((0,n.isClass)(e))s=!0,r="ClassDeclaration";else if((0,n.isFunction)(e))s=!0,r="FunctionDeclaration";else if((0,n.isAssignmentExpression)(e))return(0,i.expressionStatement)(e);s&&!e.id&&(r=!1);if(!r){if(t)return!1;throw new Error(`cannot turn ${e.type} to a statement`)}return e.type=r,e};t.default=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(24),i=r(3),s=function e(t){if(void 0===t)return(0,i.identifier)("undefined");if(!0===t||!1===t)return(0,i.booleanLiteral)(t);if(null===t)return(0,i.nullLiteral)();if("string"==typeof t)return(0,i.stringLiteral)(t);if("number"==typeof t){let e;if(Number.isFinite(t))e=(0,i.numericLiteral)(Math.abs(t));else{let r;r=Number.isNaN(t)?(0,i.numericLiteral)(0):(0,i.numericLiteral)(1),e=(0,i.binaryExpression)("/",r,(0,i.numericLiteral)(0))}return(t<0||Object.is(t,-0))&&(e=(0,i.unaryExpression)("-",e)),e}if(function(e){return"[object RegExp]"===a(e)}(t)){const e=t.source,r=t.toString().match(/\\/([a-z]+|)$/)[1];return(0,i.regExpLiteral)(e,r)}if(Array.isArray(t))return(0,i.arrayExpression)(t.map(e));if(function(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}(t)){const r=[];for(const s of Object.keys(t)){let a;a=(0,n.default)(s)?(0,i.identifier)(s):(0,i.stringLiteral)(s),r.push((0,i.objectProperty)(a,e(t[s])))}return(0,i.objectExpression)(r)}throw new Error("don\'t know how to turn this value into a node")};t.default=s;const a=Function.call.bind(Object.prototype.toString)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r=!1){return e.object=(0,n.memberExpression)(e.object,e.property,e.computed),e.property=t,e.computed=!!r,e};var n=r(3)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!e||!t)return e;for(const r of n.INHERIT_KEYS.optional)null==e[r]&&(e[r]=t[r]);for(const r of Object.keys(t))"_"===r[0]&&"__clone"!==r&&(e[r]=t[r]);for(const r of n.INHERIT_KEYS.force)e[r]=t[r];return(0,i.default)(e,t),e};var n=r(15),i=r(111)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return e.object=(0,n.memberExpression)(t,e.object),e};var n=r(3)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(37),i=function(e,t){return(0,n.default)(e,t,!0)};t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){"function"==typeof t&&(t={enter:t});const{enter:i,exit:s}=t;!function e(t,r,i,s,a){const o=n.VISITOR_KEYS[t.type];if(!o)return;r&&r(t,a,s);for(const n of o){const o=t[n];if(Array.isArray(o))for(let l=0;l=0)return!0}else if(s===e)return!0}return!1};var n=r(37)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.isFunctionDeclaration)(e)||(0,n.isClassDeclaration)(e)||(0,i.default)(e)};var n=r(1),i=r(118)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if((0,n.default)(e.type,"Immutable"))return!0;if((0,i.isIdentifier)(e))return"undefined"===e.name;return!1};var n=r(56),i=r(1)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r){if("object"!=typeof t||"object"!=typeof r||null==t||null==r)return t===r;if(t.type!==r.type)return!1;const i=Object.keys(n.NODE_FIELDS[t.type]||t.type),s=n.VISITOR_KEYS[t.type];for(const n of i){if(typeof t[n]!=typeof r[n])return!1;if(null!=t[n]||null!=r[n]){if(null==t[n]||null==r[n])return!1;if(Array.isArray(t[n])){if(!Array.isArray(r[n]))return!1;if(t[n].length!==r[n].length)return!1;for(let i=0;ir.comments)):r.shouldPrintComment=r.shouldPrintComment||(e=>r.comments||e.indexOf("@license")>=0||e.indexOf("@preserve")>=0);"auto"===r.compact&&(r.compact=e.length>5e5,r.compact&&console.error("[BABEL] Note: The code generator has deoptimised the styling of "+t.filename+" as it exceeds the max of 500KB."));r.compact&&(r.indent.adjustMultilineComment=!1);return r}(r,t),t.sourceMaps?new n.default(t,r):null),this.ast=void 0,this.ast=e}generate(){return super.generate(this.ast)}}t.CodeGenerator=class{constructor(e,t,r){this._generator=new a(e,t,r)}generate(){return this._generator.generate()}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(316))&&n.__esModule?n:{default:n};t.default=class{constructor(e,t){this._cachedMap=null,this._code=t,this._opts=e,this._rawMappings=[]}get(){if(!this._cachedMap){const e=this._cachedMap=new i.default.SourceMapGenerator({sourceRoot:this._opts.sourceRoot}),t=this._code;"string"==typeof t?e.setSourceContent(this._opts.sourceFileName.replace(/\\\\/g,"/"),t):"object"==typeof t&&Object.keys(t).forEach(r=>{e.setSourceContent(r.replace(/\\\\/g,"/"),t[r])}),this._rawMappings.forEach(t=>e.addMapping(t),e)}return this._cachedMap.toJSON()}getRawMappings(){return this._rawMappings.slice()}mark(e,t,r,n,i,s,a){this._lastGenLine!==e&&null===r||(a||this._lastGenLine!==e||this._lastSourceLine!==r||this._lastSourceColumn!==n)&&(this._cachedMap=null,this._lastGenLine=e,this._lastSourceLine=r,this._lastSourceColumn=n,this._rawMappings.push({name:i||void 0,generated:{line:e,column:t},source:null==r?void 0:(s||this._opts.sourceFileName).replace(/\\\\/g,"/"),original:null==r?void 0:{line:r,column:n}}))}}},function(e,t,r){t.SourceMapGenerator=r(119).SourceMapGenerator,t.SourceMapConsumer=r(319).SourceMapConsumer,t.SourceNode=r(322).SourceNode},function(e,t){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&ei||s==i&&o>=a||n.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},i.prototype.toArray=function(){return this._sorted||(this._array.sort(n.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.MappingList=i},function(e,t,r){var n=r(25),i=r(320),s=r(121).ArraySet,a=r(120),o=r(321).quickSort;function l(e){var t=e;return"string"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}\'/,""))),null!=t.sections?new u(t):new c(t)}function c(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}\'/,"")));var r=n.getArg(t,"version"),i=n.getArg(t,"sources"),a=n.getArg(t,"names",[]),o=n.getArg(t,"sourceRoot",null),l=n.getArg(t,"sourcesContent",null),c=n.getArg(t,"mappings"),p=n.getArg(t,"file",null);if(r!=this._version)throw new Error("Unsupported version: "+r);i=i.map(String).map(n.normalize).map((function(e){return o&&n.isAbsolute(o)&&n.isAbsolute(e)?n.relative(o,e):e})),this._names=s.fromArray(a.map(String),!0),this._sources=s.fromArray(i,!0),this.sourceRoot=o,this.sourcesContent=l,this._mappings=c,this.file=p}function p(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function u(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}\'/,"")));var r=n.getArg(t,"version"),i=n.getArg(t,"sections");if(r!=this._version)throw new Error("Unsupported version: "+r);this._sources=new s,this._names=new s;var a={line:-1,column:0};this._sections=i.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var t=n.getArg(e,"offset"),r=n.getArg(t,"line"),i=n.getArg(t,"column");if(r=0){var o=this._originalMappings[a];if(void 0===e.column)for(var l=o.originalLine;o&&o.originalLine===l;)s.push({line:n.getArg(o,"generatedLine",null),column:n.getArg(o,"generatedColumn",null),lastColumn:n.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++a];else for(var c=o.originalColumn;o&&o.originalLine===t&&o.originalColumn==c;)s.push({line:n.getArg(o,"generatedLine",null),column:n.getArg(o,"generatedColumn",null),lastColumn:n.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[++a]}return s},t.SourceMapConsumer=l,c.prototype=Object.create(l.prototype),c.prototype.consumer=l,c.fromSourceMap=function(e){var t=Object.create(c.prototype),r=t._names=s.fromArray(e._names.toArray(),!0),i=t._sources=s.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var a=e._mappings.toArray().slice(),l=t.__generatedMappings=[],u=t.__originalMappings=[],d=0,h=a.length;d1&&(r.source=m+s[1],m+=s[1],r.originalLine=h+s[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=f+s[3],f=r.originalColumn,s.length>4&&(r.name=y+s[4],y+=s[4])),E.push(r),"number"==typeof r.originalLine&&x.push(r)}o(E,n.compareByGeneratedPositionsDeflated),this.__generatedMappings=E,o(x,n.compareByOriginalPositions),this.__originalMappings=x},c.prototype._findMapping=function(e,t,r,n,s,a){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return i.search(e,t,s,a)},c.prototype.computeColumnSpans=function(){for(var e=0;e=0){var i=this._generatedMappings[r];if(i.generatedLine===t.generatedLine){var s=n.getArg(i,"source",null);null!==s&&(s=this._sources.at(s),null!=this.sourceRoot&&(s=n.join(this.sourceRoot,s)));var a=n.getArg(i,"name",null);return null!==a&&(a=this._names.at(a)),{source:s,line:n.getArg(i,"originalLine",null),column:n.getArg(i,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},c.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=n.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var r;if(null!=this.sourceRoot&&(r=n.urlParse(this.sourceRoot))){var i=e.replace(/^file:\\/\\//,"");if("file"==r.scheme&&this._sources.has(i))return this.sourcesContent[this._sources.indexOf(i)];if((!r.path||"/"==r.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error(\'"\'+e+\'" is not in the SourceMap.\')},c.prototype.generatedPositionFor=function(e){var t=n.getArg(e,"source");if(null!=this.sourceRoot&&(t=n.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var r={source:t=this._sources.indexOf(t),originalLine:n.getArg(e,"line"),originalColumn:n.getArg(e,"column")},i=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",n.compareByOriginalPositions,n.getArg(e,"bias",l.GREATEST_LOWER_BOUND));if(i>=0){var s=this._originalMappings[i];if(s.source===r.source)return{line:n.getArg(s,"generatedLine",null),column:n.getArg(s,"generatedColumn",null),lastColumn:n.getArg(s,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},t.BasicSourceMapConsumer=c,u.prototype=Object.create(l.prototype),u.prototype.constructor=l,u.prototype._version=3,Object.defineProperty(u.prototype,"sources",{get:function(){for(var e=[],t=0;t0?n-l>1?e(l,n,i,s,a,o):o==t.LEAST_UPPER_BOUND?n1?e(r,l,i,s,a,o):o==t.LEAST_UPPER_BOUND?l:r<0?-1:r}(-1,r.length,e,r,n,i||t.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===n(r[s],r[s-1],!0);)--s;return s}},function(e,t){function r(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function n(e,t,i,s){if(i=0;t--)this.prepend(e[t]);else{if(!e[a]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},o.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r{n.call(this,e,t)}),this._printTrailingComments(e),o&&this.token(")"),this._printStack.pop(),this.format.concise=r,this._insideAux=i}_maybeAddAuxComment(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()}_printAuxBeforeComment(){if(this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!0;const e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:"CommentBlock",value:e})}_printAuxAfterComment(){if(!this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!1;const e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:"CommentBlock",value:e})}getPossibleRaw(e){const t=e.extra;if(t&&null!=t.raw&&null!=t.rawValue&&e.value===t.rawValue)return t.raw}printJoin(e,t,r={}){if(!(null==e?void 0:e.length))return;r.indent&&this.indent();const n={addNewlines:r.addNewlines};for(let i=0;i0;r&&this.indent(),this.print(e,t),r&&this.dedent()}printBlock(e){const t=e.body;a.isEmptyStatement(t)||this.space(),this.print(t,e)}_printTrailingComments(e){this._printComments(this._getComments(!1,e))}_printLeadingComments(e){this._printComments(this._getComments(!0,e),!0)}printInnerComments(e,t=!0){var r;(null==(r=e.innerComments)?void 0:r.length)&&(t&&this.indent(),this._printComments(e.innerComments),t&&this.dedent())}printSequence(e,t,r={}){return r.statement=!0,this.printJoin(e,t,r)}printList(e,t,r={}){return null==r.separator&&(r.separator=m),this.printJoin(e,t,r)}_printNewline(e,t,r,n){if(this.format.retainLines||this.format.compact)return;if(this.format.concise)return void this.space();let i=0;if(this._buf.hasContent()){e||i++,n.addNewlines&&(i+=n.addNewlines(e,t)||0);(e?s.needsWhitespaceBefore:s.needsWhitespaceAfter)(t,r)&&i++}this.newline(i)}_getComments(e,t){return t&&(e?t.leadingComments:t.trailingComments)||[]}_printComment(e,t){if(!this.format.shouldPrintComment(e.value))return;if(e.ignore)return;if(this._printedComments.has(e))return;if(this._printedComments.add(e),null!=e.start){if(this._printedCommentStarts[e.start])return;this._printedCommentStarts[e.start]=!0}const r="CommentBlock"===e.type,n=r&&!t&&!this._noLineTerminator;n&&this._buf.hasContent()&&this.newline(1),this.endsWith("[")||this.endsWith("{")||this.space();let i=r||this._noLineTerminator?`/*${e.value}*/`:`//${e.value}\\n`;if(r&&this.format.indent.adjustMultilineComment){var s;const t=null==(s=e.loc)?void 0:s.start.column;if(t){const e=new RegExp("\\\\n\\\\s{1,"+t+"}","g");i=i.replace(e,"\\n")}const r=Math.max(this._getIndent().length,this.format.retainLines?0:this._buf.getCurrentColumn());i=i.replace(/\\n(?!$)/g,"\\n"+" ".repeat(r))}this.endsWith("/")&&this._space(),this.withSource("start",e.loc,()=>{this._append(i)}),n&&this.newline(1)}_printComments(e,t){if(null==e?void 0:e.length)if(t&&1===e.length&&h.test(e[0].value))this._printComment(e[0],this._buf.hasContent()&&!this.endsWith("\\n"));else for(const t of e)this._printComment(t)}printAssertions(e){var t;(null==(t=e.assertions)?void 0:t.length)&&(this.space(),this.word("assert"),this.space(),this.token("{"),this.space(),this.printList(e.assertions,e),this.space(),this.token("}"))}}function m(){this.token(","),this.space()}t.default=f,Object.assign(f.prototype,o)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const n=/^[ \\t]+$/;t.default=class{constructor(e){this._map=null,this._buf=[],this._last="",this._queue=[],this._position={line:1,column:0},this._sourcePosition={identifierName:null,line:null,column:null,filename:null},this._disallowedPop=null,this._map=e}get(){this._flush();const e=this._map,t={code:this._buf.join("").trimRight(),map:null,rawMappings:null==e?void 0:e.getRawMappings()};return e&&Object.defineProperty(t,"map",{configurable:!0,enumerable:!0,get(){return this.map=e.get()},set(e){Object.defineProperty(this,"map",{value:e,writable:!0})}}),t}append(e){this._flush();const{line:t,column:r,filename:n,identifierName:i,force:s}=this._sourcePosition;this._append(e,t,r,i,n,s)}queue(e){if("\\n"===e)for(;this._queue.length>0&&n.test(this._queue[0][0]);)this._queue.shift();const{line:t,column:r,filename:i,identifierName:s,force:a}=this._sourcePosition;this._queue.unshift([e,t,r,s,i,a])}_flush(){let e;for(;e=this._queue.pop();)this._append(...e)}_append(e,t,r,n,i,s){this._buf.push(e),this._last=e[e.length-1];let a=e.indexOf("\\n"),o=0;for(0!==a&&this._mark(t,r,n,i,s);-1!==a;)this._position.line++,this._position.column=0,o=a+1,o0&&"\\n"===this._queue[0][0]&&this._queue.shift()}removeLastSemicolon(){this._queue.length>0&&";"===this._queue[0][0]&&this._queue.shift()}endsWith(e){if(1===e.length){let t;if(this._queue.length>0){const e=this._queue[0][0];t=e[e.length-1]}else t=this._last;return t===e}const t=this._last+this._queue.reduce((e,t)=>t[0]+e,"");return e.length<=t.length&&t.slice(-e.length)===e}hasContent(){return this._queue.length>0||!!this._last}exactSource(e,t){this.source("start",e,!0),t(),this.source("end",e),this._disallowPop("start",e)}source(e,t,r){e&&!t||this._normalizePosition(e,t,this._sourcePosition,r)}withSource(e,t,r){if(!this._map)return r();const n=this._sourcePosition.line,i=this._sourcePosition.column,s=this._sourcePosition.filename,a=this._sourcePosition.identifierName;this.source(e,t),r(),this._sourcePosition.force&&this._sourcePosition.line===n&&this._sourcePosition.column===i&&this._sourcePosition.filename===s||this._disallowedPop&&this._disallowedPop.line===n&&this._disallowedPop.column===i&&this._disallowedPop.filename===s||(this._sourcePosition.line=n,this._sourcePosition.column=i,this._sourcePosition.filename=s,this._sourcePosition.identifierName=a,this._sourcePosition.force=!1,this._disallowedPop=null)}_disallowPop(e,t){e&&!t||(this._disallowedPop=this._normalizePosition(e,t))}_normalizePosition(e,t,r,n){const i=t?t[e]:null;void 0===r&&(r={identifierName:null,line:null,column:null,filename:null,force:!1});const s=r.line,a=r.column,o=r.filename;return r.identifierName="start"===e&&(null==t?void 0:t.identifierName)||null,r.line=null==i?void 0:i.line,r.column=null==i?void 0:i.column,r.filename=null==t?void 0:t.filename,(n||r.line!==s||r.column!==a||r.filename!==o)&&(r.force=n),r}getCurrentColumn(){const e=this._queue.reduce((e,t)=>t[0]+e,""),t=e.lastIndexOf("\\n");return-1===t?this._position.column+e.length:e.length-1-t}getCurrentLine(){const e=this._queue.reduce((e,t)=>t[0]+e,"");let t=0;for(let r=0;r({before:e.consequent.length||t.cases[0]===e,after:!e.consequent.length&&t.cases[t.cases.length-1]===e}),LogicalExpression(e){if(n.isFunction(e.left)||n.isFunction(e.right))return{after:!0}},Literal(e){if("use strict"===e.value)return{after:!0}},CallExpression(e){if(n.isFunction(e.callee)||a(e))return{before:!0,after:!0}},OptionalCallExpression(e){if(n.isFunction(e.callee))return{before:!0,after:!0}},VariableDeclaration(e){for(let t=0;te.declarations.map(e=>e.init),ArrayExpression:e=>e.elements,ObjectExpression:e=>e.properties};t.list=c,[["Function",!0],["Class",!0],["Loop",!0],["LabeledStatement",!0],["SwitchStatement",!0],["TryStatement",!0]].forEach((function([e,t]){"boolean"==typeof t&&(t={after:t,before:t}),[e].concat(n.FLIPPED_ALIAS_KEYS[e]||[]).forEach((function(e){l[e]=function(){return t}}))}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NullableTypeAnnotation=function(e,t){return n.isArrayTypeAnnotation(t)},t.FunctionTypeAnnotation=function(e,t,r){return n.isUnionTypeAnnotation(t)||n.isIntersectionTypeAnnotation(t)||n.isArrayTypeAnnotation(t)||n.isTypeAnnotation(t)&&n.isArrowFunctionExpression(r[r.length-3])},t.UpdateExpression=function(e,t){return o(e,t)||a(e,t)},t.ObjectExpression=function(e,t,r){return p(r,{considerArrow:!0})},t.DoExpression=function(e,t,r){return p(r)},t.Binary=function(e,t){if("**"===e.operator&&n.isBinaryExpression(t,{operator:"**"}))return t.left===e;if(a(e,t))return!0;if(o(e,t)||n.isUnaryLike(t)||n.isAwaitExpression(t))return!0;if(n.isBinary(t)){const r=t.operator,i=s[r],a=e.operator,o=s[a];if(i===o&&t.right===e&&!n.isLogicalExpression(t)||i>o)return!0}},t.IntersectionTypeAnnotation=t.UnionTypeAnnotation=function(e,t){return n.isArrayTypeAnnotation(t)||n.isNullableTypeAnnotation(t)||n.isIntersectionTypeAnnotation(t)||n.isUnionTypeAnnotation(t)},t.TSAsExpression=function(){return!0},t.TSTypeAssertion=function(){return!0},t.TSIntersectionType=t.TSUnionType=function(e,t){return n.isTSArrayType(t)||n.isTSOptionalType(t)||n.isTSIntersectionType(t)||n.isTSUnionType(t)||n.isTSRestType(t)},t.TSInferType=function(e,t){return n.isTSArrayType(t)||n.isTSOptionalType(t)},t.BinaryExpression=function(e,t){return"in"===e.operator&&(n.isVariableDeclarator(t)||n.isFor(t))},t.SequenceExpression=function(e,t){if(n.isForStatement(t)||n.isThrowStatement(t)||n.isReturnStatement(t)||n.isIfStatement(t)&&t.test===e||n.isWhileStatement(t)&&t.test===e||n.isForInStatement(t)&&t.right===e||n.isSwitchStatement(t)&&t.discriminant===e||n.isExpressionStatement(t)&&t.expression===e)return!1;return!0},t.AwaitExpression=t.YieldExpression=function(e,t){return n.isBinary(t)||n.isUnaryLike(t)||o(e,t)||n.isAwaitExpression(t)&&n.isYieldExpression(e)||n.isConditionalExpression(t)&&e===t.test||a(e,t)},t.ClassExpression=function(e,t,r){return p(r,{considerDefaultExports:!0})},t.UnaryLike=l,t.FunctionExpression=function(e,t,r){return p(r,{considerDefaultExports:!0})},t.ArrowFunctionExpression=function(e,t){return n.isExportDeclaration(t)||c(e,t)},t.ConditionalExpression=c,t.OptionalCallExpression=t.OptionalMemberExpression=function(e,t){return n.isCallExpression(t,{callee:e})||n.isMemberExpression(t,{object:e})},t.AssignmentExpression=function(e,t,r){return!!n.isObjectPattern(e.left)||c(e,t)},t.LogicalExpression=function(e,t){switch(e.operator){case"||":return!!n.isLogicalExpression(t)&&("??"===t.operator||"&&"===t.operator);case"&&":return n.isLogicalExpression(t,{operator:"??"});case"??":return n.isLogicalExpression(t)&&"??"!==t.operator}};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(r(0));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}const s={"||":0,"??":0,"&&":1,"|":2,"^":3,"&":4,"==":5,"===":5,"!=":5,"!==":5,"<":6,">":6,"<=":6,">=":6,in:6,instanceof:6,">>":7,"<<":7,">>>":7,"+":8,"-":8,"*":9,"/":9,"%":9,"**":10},a=(e,t)=>(n.isClassDeclaration(t)||n.isClassExpression(t))&&t.superClass===e,o=(e,t)=>(n.isMemberExpression(t)||n.isOptionalMemberExpression(t))&&t.object===e||(n.isCallExpression(t)||n.isOptionalCallExpression(t)||n.isNewExpression(t))&&t.callee===e||n.isTaggedTemplateExpression(t)&&t.tag===e||n.isTSNonNullExpression(t);function l(e,t){return o(e,t)||n.isBinaryExpression(t,{operator:"**",left:e})||a(e,t)}function c(e,t){return!!(n.isUnaryLike(t)||n.isBinary(t)||n.isConditionalExpression(t,{test:e})||n.isAwaitExpression(t)||n.isTSTypeAssertion(t)||n.isTSAsExpression(t))||l(e,t)}function p(e,{considerArrow:t=!1,considerDefaultExports:r=!1}={}){let i=e.length-1,s=e[i];i--;let a=e[i];for(;i>=0;){if(n.isExpressionStatement(a,{expression:s})||r&&n.isExportDefaultDeclaration(a,{declaration:s})||t&&n.isArrowFunctionExpression(a,{body:s}))return!0;if(!(o(s,a)&&!n.isNewExpression(a)||n.isSequenceExpression(a)&&a.expressions[0]===s||n.isConditional(a,{test:s})||n.isBinary(a,{left:s})||n.isAssignmentExpression(a,{left:s})))return!1;s=a,i--,a=e[i]}return!1}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(328);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}}))}));var i=r(329);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}));var s=r(330);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))}));var a=r(331);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=r(332);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var l=r(123);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var c=r(124);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var p=r(334);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var u=r(335);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var d=r(336);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}));var h=r(337);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===h[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return h[e]}}))}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TaggedTemplateExpression=function(e){this.print(e.tag,e),this.print(e.typeParameters,e),this.print(e.quasi,e)},t.TemplateElement=function(e,t){const r=t.quasis[0]===e,n=t.quasis[t.quasis.length-1]===e,i=(r?"`":"}")+e.value.raw+(n?"`":"${");this.token(i)},t.TemplateLiteral=function(e){const t=e.quasis;for(let r=0;re.loc.start.line?(this.indent(),this.print(t,e),this.dedent(),this._catchUp("start",e.body.loc)):this.print(t,e),this.token(")")):this.print(t,e):this._params(e);this._predicate(e),this.space(),this.token("=>"),this.space(),this.print(e.body,e)};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(r(0));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}},function(e,t,r){"use strict";const n={},i=n.hasOwnProperty,s=(e,t)=>{for(const r in e)i.call(e,r)&&t(r,e[r])},a=n.toString,o=Array.isArray,l=Buffer.isBuffer,c={\'"\':\'\\\\"\',"\'":"\\\\\'","\\\\":"\\\\\\\\","\\b":"\\\\b","\\f":"\\\\f","\\n":"\\\\n","\\r":"\\\\r","\\t":"\\\\t"},p=/["\'\\\\\\b\\f\\n\\r\\t]/,u=/[0-9]/,d=/[ !#-&\\(-\\[\\]-_a-~]/,h=(e,t)=>{const r=()=>{S=g,++t.indentLevel,g=t.indent.repeat(t.indentLevel)},n={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:"\\t",indentLevel:0,__inline1__:!1,__inline2__:!1},i=t&&t.json;var f,m;i&&(n.quotes="double",n.wrap=!0),f=n,"single"!=(t=(m=t)?(s(m,(e,t)=>{f[e]=t}),f):f).quotes&&"double"!=t.quotes&&"backtick"!=t.quotes&&(t.quotes="single");const y="double"==t.quotes?\'"\':"backtick"==t.quotes?"`":"\'",T=t.compact,b=t.lowercaseHex;let g=t.indent.repeat(t.indentLevel),S="";const x=t.__inline1__,E=t.__inline2__,P=T?"":"\\n";let v,A=!0;const w="binary"==t.numbers,O="octal"==t.numbers,I="decimal"==t.numbers,C="hexadecimal"==t.numbers;if(i&&e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!(e=>"string"==typeof e||"[object String]"==a.call(e))(e)){if((e=>"[object Map]"==a.call(e))(e))return 0==e.size?"new Map()":(T||(t.__inline1__=!0,t.__inline2__=!1),"new Map("+h(Array.from(e),t)+")");if((e=>"[object Set]"==a.call(e))(e))return 0==e.size?"new Set()":"new Set("+h(Array.from(e),t)+")";if(l(e))return 0==e.length?"Buffer.from([])":"Buffer.from("+h(Array.from(e),t)+")";if(o(e))return v=[],t.wrap=!0,x&&(t.__inline1__=!1,t.__inline2__=!0),E||r(),((e,t)=>{const r=e.length;let n=-1;for(;++n{A=!1,E&&(t.__inline2__=!1),v.push((T||E?"":g)+h(e,t))}),A?"[]":E?"["+v.join(", ")+"]":"["+P+v.join(","+P)+P+(T?"":S)+"]";if(!(e=>"number"==typeof e||"[object Number]"==a.call(e))(e))return(e=>"[object Object]"==a.call(e))(e)?(v=[],t.wrap=!0,r(),s(e,(e,r)=>{A=!1,v.push((T?"":g)+h(e,t)+":"+(T?"":" ")+h(r,t))}),A?"{}":"{"+P+v.join(","+P)+P+(T?"":S)+"}"):i?JSON.stringify(e)||"null":String(e);if(i)return JSON.stringify(e);if(I)return String(e);if(C){let t=e.toString(16);return b||(t=t.toUpperCase()),"0x"+t}if(w)return"0b"+e.toString(2);if(O)return"0o"+e.toString(8)}const N=e;let k=-1;const D=N.length;for(v="";++k=55296&&e<=56319&&D>k+1){const t=N.charCodeAt(k+1);if(t>=56320&&t<=57343){let r=(1024*(e-55296)+t-56320+65536).toString(16);b||(r=r.toUpperCase()),v+="\\\\u{"+r+"}",++k;continue}}}if(!t.escapeEverything){if(d.test(e)){v+=e;continue}if(\'"\'==e){v+=y==e?\'\\\\"\':e;continue}if("`"==e){v+=y==e?"\\\\`":e;continue}if("\'"==e){v+=y==e?"\\\\\'":e;continue}}if("\\0"==e&&!i&&!u.test(N.charAt(k+1))){v+="\\\\0";continue}if(p.test(e)){v+=c[e];continue}const r=e.charCodeAt(0);if(t.minimal&&8232!=r&&8233!=r){v+=e;continue}let n=r.toString(16);b||(n=n.toUpperCase());const s=n.length>2||i,a="\\\\"+(s?"u":"x")+("0000"+n).slice(s?-4:-2);v+=a}return t.wrap&&(v=y+v+y),"`"==y&&(v=v.replace(/\\$\\{/g,"\\\\${")),t.isScriptContext?v.replace(/<\\/(script|style)/gi,"<\\\\/$1").replace(/\x3c!--/g,i?"\\\\u003C!--":"\\\\x3C!--"):v};h.version="2.5.2",e.exports=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyTypeAnnotation=function(){this.word("any")},t.ArrayTypeAnnotation=function(e){this.print(e.elementType,e),this.token("["),this.token("]")},t.BooleanTypeAnnotation=function(){this.word("boolean")},t.BooleanLiteralTypeAnnotation=function(e){this.word(e.value?"true":"false")},t.NullLiteralTypeAnnotation=function(){this.word("null")},t.DeclareClass=function(e,t){n.isDeclareExportDeclaration(t)||(this.word("declare"),this.space());this.word("class"),this.space(),this._interfaceish(e)},t.DeclareFunction=function(e,t){n.isDeclareExportDeclaration(t)||(this.word("declare"),this.space());this.word("function"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation.typeAnnotation,e),e.predicate&&(this.space(),this.print(e.predicate,e));this.semicolon()},t.InferredPredicate=function(){this.token("%"),this.word("checks")},t.DeclaredPredicate=function(e){this.token("%"),this.word("checks"),this.token("("),this.print(e.value,e),this.token(")")},t.DeclareInterface=function(e){this.word("declare"),this.space(),this.InterfaceDeclaration(e)},t.DeclareModule=function(e){this.word("declare"),this.space(),this.word("module"),this.space(),this.print(e.id,e),this.space(),this.print(e.body,e)},t.DeclareModuleExports=function(e){this.word("declare"),this.space(),this.word("module"),this.token("."),this.word("exports"),this.print(e.typeAnnotation,e)},t.DeclareTypeAlias=function(e){this.word("declare"),this.space(),this.TypeAlias(e)},t.DeclareOpaqueType=function(e,t){n.isDeclareExportDeclaration(t)||(this.word("declare"),this.space());this.OpaqueType(e)},t.DeclareVariable=function(e,t){n.isDeclareExportDeclaration(t)||(this.word("declare"),this.space());this.word("var"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation,e),this.semicolon()},t.DeclareExportDeclaration=function(e){this.word("declare"),this.space(),this.word("export"),this.space(),e.default&&(this.word("default"),this.space());p.apply(this,arguments)},t.DeclareExportAllDeclaration=function(){this.word("declare"),this.space(),i.ExportAllDeclaration.apply(this,arguments)},t.EnumDeclaration=function(e){const{id:t,body:r}=e;this.word("enum"),this.space(),this.print(t,e),this.print(r,e)},t.EnumBooleanBody=function(e){const{explicitType:t}=e;o(this,"boolean",t),l(this,e)},t.EnumNumberBody=function(e){const{explicitType:t}=e;o(this,"number",t),l(this,e)},t.EnumStringBody=function(e){const{explicitType:t}=e;o(this,"string",t),l(this,e)},t.EnumSymbolBody=function(e){o(this,"symbol",!0),l(this,e)},t.EnumDefaultedMember=function(e){const{id:t}=e;this.print(t,e),this.token(",")},t.EnumBooleanMember=function(e){c(this,e)},t.EnumNumberMember=function(e){c(this,e)},t.EnumStringMember=function(e){c(this,e)},t.ExistsTypeAnnotation=function(){this.token("*")},t.FunctionTypeAnnotation=function(e,t){this.print(e.typeParameters,e),this.token("("),this.printList(e.params,e),e.rest&&(e.params.length&&(this.token(","),this.space()),this.token("..."),this.print(e.rest,e));this.token(")"),"ObjectTypeCallProperty"===t.type||"DeclareFunction"===t.type||"ObjectTypeProperty"===t.type&&t.method?this.token(":"):(this.space(),this.token("=>"));this.space(),this.print(e.returnType,e)},t.FunctionTypeParam=function(e){this.print(e.name,e),e.optional&&this.token("?");e.name&&(this.token(":"),this.space());this.print(e.typeAnnotation,e)},t.GenericTypeAnnotation=t.ClassImplements=t.InterfaceExtends=function(e){this.print(e.id,e),this.print(e.typeParameters,e)},t._interfaceish=function(e){this.print(e.id,e),this.print(e.typeParameters,e),e.extends.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e));e.mixins&&e.mixins.length&&(this.space(),this.word("mixins"),this.space(),this.printList(e.mixins,e));e.implements&&e.implements.length&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements,e));this.space(),this.print(e.body,e)},t._variance=function(e){e.variance&&("plus"===e.variance.kind?this.token("+"):"minus"===e.variance.kind&&this.token("-"))},t.InterfaceDeclaration=function(e){this.word("interface"),this.space(),this._interfaceish(e)},t.InterfaceTypeAnnotation=function(e){this.word("interface"),e.extends&&e.extends.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e));this.space(),this.print(e.body,e)},t.IntersectionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:u})},t.MixedTypeAnnotation=function(){this.word("mixed")},t.EmptyTypeAnnotation=function(){this.word("empty")},t.NullableTypeAnnotation=function(e){this.token("?"),this.print(e.typeAnnotation,e)},t.NumberTypeAnnotation=function(){this.word("number")},t.StringTypeAnnotation=function(){this.word("string")},t.ThisTypeAnnotation=function(){this.word("this")},t.TupleTypeAnnotation=function(e){this.token("["),this.printList(e.types,e),this.token("]")},t.TypeofTypeAnnotation=function(e){this.word("typeof"),this.space(),this.print(e.argument,e)},t.TypeAlias=function(e){this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),this.space(),this.token("="),this.space(),this.print(e.right,e),this.semicolon()},t.TypeAnnotation=function(e){this.token(":"),this.space(),e.optional&&this.token("?");this.print(e.typeAnnotation,e)},t.TypeParameterDeclaration=t.TypeParameterInstantiation=function(e){this.token("<"),this.printList(e.params,e,{}),this.token(">")},t.TypeParameter=function(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound,e);e.default&&(this.space(),this.token("="),this.space(),this.print(e.default,e))},t.OpaqueType=function(e){this.word("opaque"),this.space(),this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),e.supertype&&(this.token(":"),this.space(),this.print(e.supertype,e));e.impltype&&(this.space(),this.token("="),this.space(),this.print(e.impltype,e));this.semicolon()},t.ObjectTypeAnnotation=function(e){e.exact?this.token("{|"):this.token("{");const t=e.properties.concat(e.callProperties||[],e.indexers||[],e.internalSlots||[]);t.length&&(this.space(),this.printJoin(t,e,{addNewlines(e){if(e&&!t[0])return 1},indent:!0,statement:!0,iterator:()=>{(1!==t.length||e.inexact)&&(this.token(","),this.space())}}),this.space());e.inexact&&(this.indent(),this.token("..."),t.length&&this.newline(),this.dedent());e.exact?this.token("|}"):this.token("}")},t.ObjectTypeInternalSlot=function(e){e.static&&(this.word("static"),this.space());this.token("["),this.token("["),this.print(e.id,e),this.token("]"),this.token("]"),e.optional&&this.token("?");e.method||(this.token(":"),this.space());this.print(e.value,e)},t.ObjectTypeCallProperty=function(e){e.static&&(this.word("static"),this.space());this.print(e.value,e)},t.ObjectTypeIndexer=function(e){e.static&&(this.word("static"),this.space());this._variance(e),this.token("["),e.id&&(this.print(e.id,e),this.token(":"),this.space());this.print(e.key,e),this.token("]"),this.token(":"),this.space(),this.print(e.value,e)},t.ObjectTypeProperty=function(e){e.proto&&(this.word("proto"),this.space());e.static&&(this.word("static"),this.space());"get"!==e.kind&&"set"!==e.kind||(this.word(e.kind),this.space());this._variance(e),this.print(e.key,e),e.optional&&this.token("?");e.method||(this.token(":"),this.space());this.print(e.value,e)},t.ObjectTypeSpreadProperty=function(e){this.token("..."),this.print(e.argument,e)},t.QualifiedTypeIdentifier=function(e){this.print(e.qualification,e),this.token("."),this.print(e.id,e)},t.SymbolTypeAnnotation=function(){this.word("symbol")},t.UnionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:d})},t.TypeCastExpression=function(e){this.token("("),this.print(e.expression,e),this.print(e.typeAnnotation,e),this.token(")")},t.Variance=function(e){"plus"===e.kind?this.token("+"):this.token("-")},t.VoidTypeAnnotation=function(){this.word("void")},Object.defineProperty(t,"NumberLiteralTypeAnnotation",{enumerable:!0,get:function(){return s.NumericLiteral}}),Object.defineProperty(t,"StringLiteralTypeAnnotation",{enumerable:!0,get:function(){return s.StringLiteral}});var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=n?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0)),i=r(123),s=r(124);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e,t,r){r&&(e.space(),e.word("of"),e.space(),e.word(t)),e.space()}function l(e,t){const{members:r}=t;e.token("{"),e.indent(),e.newline();for(const n of r)e.print(n,t),e.newline();e.dedent(),e.token("}")}function c(e,t){const{id:r,init:n}=t;e.print(r,t),e.space(),e.token("="),e.space(),e.print(n,t),e.token(",")}function p(e){if(e.declaration){const t=e.declaration;this.print(t,e),n.isStatement(t)||this.semicolon()}else this.token("{"),e.specifiers.length&&(this.space(),this.printList(e.specifiers,e),this.space()),this.token("}"),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e)),this.semicolon()}function u(){this.space(),this.token("&"),this.space()}function d(){this.space(),this.token("|"),this.space()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.File=function(e){e.program&&this.print(e.program.interpreter,e);this.print(e.program,e)},t.Program=function(e){this.printInnerComments(e,!1),this.printSequence(e.directives,e),e.directives&&e.directives.length&&this.newline();this.printSequence(e.body,e)},t.BlockStatement=function(e){var t;this.token("{"),this.printInnerComments(e);const r=null==(t=e.directives)?void 0:t.length;e.body.length||r?(this.newline(),this.printSequence(e.directives,e,{indent:!0}),r&&this.newline(),this.printSequence(e.body,e,{indent:!0}),this.removeTrailingNewline(),this.source("end",e.loc),this.endsWith("\\n")||this.newline(),this.rightBrace()):(this.source("end",e.loc),this.token("}"))},t.Noop=function(){},t.Directive=function(e){this.print(e.value,e),this.semicolon()},t.DirectiveLiteral=function(e){const t=this.getPossibleRaw(e);if(null!=t)return void this.token(t);const{value:r}=e;if(i.test(r)){if(n.test(r))throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");this.token(`\'${r}\'`)}else this.token(`"${r}"`)},t.InterpreterDirective=function(e){this.token(`#!${e.value}\\n`)},t.Placeholder=function(e){this.token("%%"),this.print(e.name),this.token("%%"),"Statement"===e.expectedNode&&this.semicolon()};const n=/(?:^|[^\\\\])(?:\\\\\\\\)*\'/,i=/(?:^|[^\\\\])(?:\\\\\\\\)*"/},function(e,t,r){"use strict";function n(){this.space()}Object.defineProperty(t,"__esModule",{value:!0}),t.JSXAttribute=function(e){this.print(e.name,e),e.value&&(this.token("="),this.print(e.value,e))},t.JSXIdentifier=function(e){this.word(e.name)},t.JSXNamespacedName=function(e){this.print(e.namespace,e),this.token(":"),this.print(e.name,e)},t.JSXMemberExpression=function(e){this.print(e.object,e),this.token("."),this.print(e.property,e)},t.JSXSpreadAttribute=function(e){this.token("{"),this.token("..."),this.print(e.argument,e),this.token("}")},t.JSXExpressionContainer=function(e){this.token("{"),this.print(e.expression,e),this.token("}")},t.JSXSpreadChild=function(e){this.token("{"),this.token("..."),this.print(e.expression,e),this.token("}")},t.JSXText=function(e){const t=this.getPossibleRaw(e);null!=t?this.token(t):this.token(e.value)},t.JSXElement=function(e){const t=e.openingElement;if(this.print(t,e),t.selfClosing)return;this.indent();for(const t of e.children)this.print(t,e);this.dedent(),this.print(e.closingElement,e)},t.JSXOpeningElement=function(e){this.token("<"),this.print(e.name,e),this.print(e.typeParameters,e),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,e,{separator:n}));e.selfClosing?(this.space(),this.token("/>")):this.token(">")},t.JSXClosingElement=function(e){this.token("")},t.JSXEmptyExpression=function(e){this.printInnerComments(e)},t.JSXFragment=function(e){this.print(e.openingFragment,e),this.indent();for(const t of e.children)this.print(t,e);this.dedent(),this.print(e.closingFragment,e)},t.JSXOpeningFragment=function(){this.token("<"),this.token(">")},t.JSXClosingFragment=function(){this.token("")}},function(e,t,r){"use strict";function n(e,t){!0!==t&&e.token(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.TSTypeAnnotation=function(e){this.token(":"),this.space(),e.optional&&this.token("?");this.print(e.typeAnnotation,e)},t.TSTypeParameterDeclaration=t.TSTypeParameterInstantiation=function(e){this.token("<"),this.printList(e.params,e,{}),this.token(">")},t.TSTypeParameter=function(e){this.word(e.name),e.constraint&&(this.space(),this.word("extends"),this.space(),this.print(e.constraint,e));e.default&&(this.space(),this.token("="),this.space(),this.print(e.default,e))},t.TSParameterProperty=function(e){e.accessibility&&(this.word(e.accessibility),this.space());e.readonly&&(this.word("readonly"),this.space());this._param(e.parameter)},t.TSDeclareFunction=function(e){e.declare&&(this.word("declare"),this.space());this._functionHead(e),this.token(";")},t.TSDeclareMethod=function(e){this._classMethodHead(e),this.token(";")},t.TSQualifiedName=function(e){this.print(e.left,e),this.token("."),this.print(e.right,e)},t.TSCallSignatureDeclaration=function(e){this.tsPrintSignatureDeclarationBase(e),this.token(";")},t.TSConstructSignatureDeclaration=function(e){this.word("new"),this.space(),this.tsPrintSignatureDeclarationBase(e),this.token(";")},t.TSPropertySignature=function(e){const{readonly:t,initializer:r}=e;t&&(this.word("readonly"),this.space());this.tsPrintPropertyOrMethodName(e),this.print(e.typeAnnotation,e),r&&(this.space(),this.token("="),this.space(),this.print(r,e));this.token(";")},t.tsPrintPropertyOrMethodName=function(e){e.computed&&this.token("[");this.print(e.key,e),e.computed&&this.token("]");e.optional&&this.token("?")},t.TSMethodSignature=function(e){this.tsPrintPropertyOrMethodName(e),this.tsPrintSignatureDeclarationBase(e),this.token(";")},t.TSIndexSignature=function(e){const{readonly:t}=e;t&&(this.word("readonly"),this.space());this.token("["),this._parameters(e.parameters,e),this.token("]"),this.print(e.typeAnnotation,e),this.token(";")},t.TSAnyKeyword=function(){this.word("any")},t.TSBigIntKeyword=function(){this.word("bigint")},t.TSUnknownKeyword=function(){this.word("unknown")},t.TSNumberKeyword=function(){this.word("number")},t.TSObjectKeyword=function(){this.word("object")},t.TSBooleanKeyword=function(){this.word("boolean")},t.TSStringKeyword=function(){this.word("string")},t.TSSymbolKeyword=function(){this.word("symbol")},t.TSVoidKeyword=function(){this.word("void")},t.TSUndefinedKeyword=function(){this.word("undefined")},t.TSNullKeyword=function(){this.word("null")},t.TSNeverKeyword=function(){this.word("never")},t.TSIntrinsicKeyword=function(){this.word("intrinsic")},t.TSThisType=function(){this.word("this")},t.TSFunctionType=function(e){this.tsPrintFunctionOrConstructorType(e)},t.TSConstructorType=function(e){this.word("new"),this.space(),this.tsPrintFunctionOrConstructorType(e)},t.tsPrintFunctionOrConstructorType=function(e){const{typeParameters:t,parameters:r}=e;this.print(t,e),this.token("("),this._parameters(r,e),this.token(")"),this.space(),this.token("=>"),this.space(),this.print(e.typeAnnotation.typeAnnotation,e)},t.TSTypeReference=function(e){this.print(e.typeName,e),this.print(e.typeParameters,e)},t.TSTypePredicate=function(e){e.asserts&&(this.word("asserts"),this.space());this.print(e.parameterName),e.typeAnnotation&&(this.space(),this.word("is"),this.space(),this.print(e.typeAnnotation.typeAnnotation))},t.TSTypeQuery=function(e){this.word("typeof"),this.space(),this.print(e.exprName)},t.TSTypeLiteral=function(e){this.tsPrintTypeLiteralOrInterfaceBody(e.members,e)},t.tsPrintTypeLiteralOrInterfaceBody=function(e,t){this.tsPrintBraced(e,t)},t.tsPrintBraced=function(e,t){if(this.token("{"),e.length){this.indent(),this.newline();for(const r of e)this.print(r,t),this.newline();this.dedent(),this.rightBrace()}else this.token("}")},t.TSArrayType=function(e){this.print(e.elementType,e),this.token("[]")},t.TSTupleType=function(e){this.token("["),this.printList(e.elementTypes,e),this.token("]")},t.TSOptionalType=function(e){this.print(e.typeAnnotation,e),this.token("?")},t.TSRestType=function(e){this.token("..."),this.print(e.typeAnnotation,e)},t.TSNamedTupleMember=function(e){this.print(e.label,e),e.optional&&this.token("?");this.token(":"),this.space(),this.print(e.elementType,e)},t.TSUnionType=function(e){this.tsPrintUnionOrIntersectionType(e,"|")},t.TSIntersectionType=function(e){this.tsPrintUnionOrIntersectionType(e,"&")},t.tsPrintUnionOrIntersectionType=function(e,t){this.printJoin(e.types,e,{separator(){this.space(),this.token(t),this.space()}})},t.TSConditionalType=function(e){this.print(e.checkType),this.space(),this.word("extends"),this.space(),this.print(e.extendsType),this.space(),this.token("?"),this.space(),this.print(e.trueType),this.space(),this.token(":"),this.space(),this.print(e.falseType)},t.TSInferType=function(e){this.token("infer"),this.space(),this.print(e.typeParameter)},t.TSParenthesizedType=function(e){this.token("("),this.print(e.typeAnnotation,e),this.token(")")},t.TSTypeOperator=function(e){this.word(e.operator),this.space(),this.print(e.typeAnnotation,e)},t.TSIndexedAccessType=function(e){this.print(e.objectType,e),this.token("["),this.print(e.indexType,e),this.token("]")},t.TSMappedType=function(e){const{nameType:t,optional:r,readonly:i,typeParameter:s}=e;this.token("{"),this.space(),i&&(n(this,i),this.word("readonly"),this.space());this.token("["),this.word(s.name),this.space(),this.word("in"),this.space(),this.print(s.constraint,s),t&&(this.space(),this.word("as"),this.space(),this.print(t,e));this.token("]"),r&&(n(this,r),this.token("?"));this.token(":"),this.space(),this.print(e.typeAnnotation,e),this.space(),this.token("}")},t.TSLiteralType=function(e){this.print(e.literal,e)},t.TSExpressionWithTypeArguments=function(e){this.print(e.expression,e),this.print(e.typeParameters,e)},t.TSInterfaceDeclaration=function(e){const{declare:t,id:r,typeParameters:n,extends:i,body:s}=e;t&&(this.word("declare"),this.space());this.word("interface"),this.space(),this.print(r,e),this.print(n,e),i&&(this.space(),this.word("extends"),this.space(),this.printList(i,e));this.space(),this.print(s,e)},t.TSInterfaceBody=function(e){this.tsPrintTypeLiteralOrInterfaceBody(e.body,e)},t.TSTypeAliasDeclaration=function(e){const{declare:t,id:r,typeParameters:n,typeAnnotation:i}=e;t&&(this.word("declare"),this.space());this.word("type"),this.space(),this.print(r,e),this.print(n,e),this.space(),this.token("="),this.space(),this.print(i,e),this.token(";")},t.TSAsExpression=function(e){const{expression:t,typeAnnotation:r}=e;this.print(t,e),this.space(),this.word("as"),this.space(),this.print(r,e)},t.TSTypeAssertion=function(e){const{typeAnnotation:t,expression:r}=e;this.token("<"),this.print(t,e),this.token(">"),this.space(),this.print(r,e)},t.TSEnumDeclaration=function(e){const{declare:t,const:r,id:n,members:i}=e;t&&(this.word("declare"),this.space());r&&(this.word("const"),this.space());this.word("enum"),this.space(),this.print(n,e),this.space(),this.tsPrintBraced(i,e)},t.TSEnumMember=function(e){const{id:t,initializer:r}=e;this.print(t,e),r&&(this.space(),this.token("="),this.space(),this.print(r,e));this.token(",")},t.TSModuleDeclaration=function(e){const{declare:t,id:r}=e;t&&(this.word("declare"),this.space());e.global||(this.word("Identifier"===r.type?"namespace":"module"),this.space());if(this.print(r,e),!e.body)return void this.token(";");let n=e.body;for(;"TSModuleDeclaration"===n.type;)this.token("."),this.print(n.id,n),n=n.body;this.space(),this.print(n,e)},t.TSModuleBlock=function(e){this.tsPrintBraced(e.body,e)},t.TSImportType=function(e){const{argument:t,qualifier:r,typeParameters:n}=e;this.word("import"),this.token("("),this.print(t,e),this.token(")"),r&&(this.token("."),this.print(r,e));n&&this.print(n,e)},t.TSImportEqualsDeclaration=function(e){const{isExport:t,id:r,moduleReference:n}=e;t&&(this.word("export"),this.space());this.word("import"),this.space(),this.print(r,e),this.space(),this.token("="),this.space(),this.print(n,e),this.token(";")},t.TSExternalModuleReference=function(e){this.token("require("),this.print(e.expression,e),this.token(")")},t.TSNonNullExpression=function(e){this.print(e.expression,e),this.token("!")},t.TSExportAssignment=function(e){this.word("export"),this.space(),this.token("="),this.space(),this.print(e.expression,e),this.token(";")},t.TSNamespaceExportDeclaration=function(e){this.word("export"),this.space(),this.word("as"),this.space(),this.word("namespace"),this.space(),this.print(e.id,e)},t.tsPrintSignatureDeclarationBase=function(e){const{typeParameters:t,parameters:r}=e;this.print(t,e),this.token("("),this._parameters(r,e),this.token(")"),this.print(e.typeAnnotation,e)},t.tsPrintClassMemberModifiers=function(e,t){t&&e.declare&&(this.word("declare"),this.space());e.accessibility&&(this.word(e.accessibility),this.space());e.static&&(this.word("static"),this.space());e.abstract&&(this.word("abstract"),this.space());t&&e.readonly&&(this.word("readonly"),this.space())}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findParent=function(e){let t=this;for(;t=t.parentPath;)if(e(t))return t;return null},t.find=function(e){let t=this;do{if(e(t))return t}while(t=t.parentPath);return null},t.getFunctionParent=function(){return this.findParent(e=>e.isFunction())},t.getStatementParent=function(){let e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error("File/Program node, we can\'t possibly find a statement parent to this");return e},t.getEarliestCommonAncestorFrom=function(e){return this.getDeepestCommonAncestorFrom(e,(function(e,t,r){let n;const s=i.VISITOR_KEYS[e.type];for(const e of r){const r=e[t+1];if(!n){n=r;continue}if(r.listKey&&n.listKey===r.listKey&&r.keys.indexOf(r.parentKey)&&(n=r)}return n}))},t.getDeepestCommonAncestorFrom=function(e,t){if(!e.length)return this;if(1===e.length)return e[0];let r,n,i=1/0;const s=e.map(e=>{const t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==this);return t.lengtht===e)},t.inType=function(){let e=this;for(;e;){for(const t of arguments)if(e.node.type===t)return!0;e=e.parentPath}return!1};var n,i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0));(n=r(8))&&n.__esModule;function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getTypeAnnotation=function(){if(this.typeAnnotation)return this.typeAnnotation;let e=this._getTypeAnnotation()||i.anyTypeAnnotation();i.isTypeAnnotation(e)&&(e=e.typeAnnotation);return this.typeAnnotation=e},t._getTypeAnnotation=function(){var e;const t=this.node;if(!t){if("init"===this.key&&this.parentPath.isVariableDeclarator()){const e=this.parentPath.parentPath,t=e.parentPath;return"left"===e.key&&t.isForInStatement()?i.stringTypeAnnotation():"left"===e.key&&t.isForOfStatement()?i.anyTypeAnnotation():i.voidTypeAnnotation()}return}if(t.typeAnnotation)return t.typeAnnotation;let r=n[t.type];if(r)return r.call(this,t);if(r=n[this.parentPath.type],null==(e=r)?void 0:e.validParent)return this.parentPath.getTypeAnnotation()},t.isBaseType=function(e,t){return o(e,this.getTypeAnnotation(),t)},t.couldBeBaseType=function(e){const t=this.getTypeAnnotation();if(i.isAnyTypeAnnotation(t))return!0;if(i.isUnionTypeAnnotation(t)){for(const r of t.types)if(i.isAnyTypeAnnotation(r)||o(e,r,!0))return!0;return!1}return o(e,t,!0)},t.baseTypeStrictlyMatches=function(e){const t=this.getTypeAnnotation();if(e=e.getTypeAnnotation(),!i.isAnyTypeAnnotation(t)&&i.isFlowBaseAnnotation(t))return e.type===t.type},t.isGenericType=function(e){const t=this.getTypeAnnotation();return i.isGenericTypeAnnotation(t)&&i.isIdentifier(t.id,{name:e})};var n=a(r(340)),i=a(r(0));function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function a(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}function o(e,t,r){if("string"===e)return i.isStringTypeAnnotation(t);if("number"===e)return i.isNumberTypeAnnotation(t);if("boolean"===e)return i.isBooleanTypeAnnotation(t);if("any"===e)return i.isAnyTypeAnnotation(t);if("mixed"===e)return i.isMixedTypeAnnotation(t);if("empty"===e)return i.isEmptyTypeAnnotation(t);if("void"===e)return i.isVoidTypeAnnotation(t);if(r)return!1;throw new Error("Unknown base type "+e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VariableDeclarator=function(){var e;if(!this.get("id").isIdentifier())return;const t=this.get("init");let r=t.getTypeAnnotation();"AnyTypeAnnotation"===(null==(e=r)?void 0:e.type)&&t.isCallExpression()&&t.get("callee").isIdentifier({name:"Array"})&&!t.scope.hasBinding("Array",!0)&&(r=l());return r},t.TypeCastExpression=o,t.NewExpression=function(e){if(this.get("callee").isIdentifier())return i.genericTypeAnnotation(e.callee)},t.TemplateLiteral=function(){return i.stringTypeAnnotation()},t.UnaryExpression=function(e){const t=e.operator;if("void"===t)return i.voidTypeAnnotation();if(i.NUMBER_UNARY_OPERATORS.indexOf(t)>=0)return i.numberTypeAnnotation();if(i.STRING_UNARY_OPERATORS.indexOf(t)>=0)return i.stringTypeAnnotation();if(i.BOOLEAN_UNARY_OPERATORS.indexOf(t)>=0)return i.booleanTypeAnnotation()},t.BinaryExpression=function(e){const t=e.operator;if(i.NUMBER_BINARY_OPERATORS.indexOf(t)>=0)return i.numberTypeAnnotation();if(i.BOOLEAN_BINARY_OPERATORS.indexOf(t)>=0)return i.booleanTypeAnnotation();if("+"===t){const e=this.get("right"),t=this.get("left");return t.isBaseType("number")&&e.isBaseType("number")?i.numberTypeAnnotation():t.isBaseType("string")||e.isBaseType("string")?i.stringTypeAnnotation():i.unionTypeAnnotation([i.stringTypeAnnotation(),i.numberTypeAnnotation()])}},t.LogicalExpression=function(){const e=[this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()];if(i.isTSTypeAnnotation(e[0])&&i.createTSUnionType)return i.createTSUnionType(e);if(i.createFlowUnionType)return i.createFlowUnionType(e);return i.createUnionTypeAnnotation(e)},t.ConditionalExpression=function(){const e=[this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()];if(i.isTSTypeAnnotation(e[0])&&i.createTSUnionType)return i.createTSUnionType(e);if(i.createFlowUnionType)return i.createFlowUnionType(e);return i.createUnionTypeAnnotation(e)},t.SequenceExpression=function(){return this.get("expressions").pop().getTypeAnnotation()},t.ParenthesizedExpression=function(){return this.get("expression").getTypeAnnotation()},t.AssignmentExpression=function(){return this.get("right").getTypeAnnotation()},t.UpdateExpression=function(e){const t=e.operator;if("++"===t||"--"===t)return i.numberTypeAnnotation()},t.StringLiteral=function(){return i.stringTypeAnnotation()},t.NumericLiteral=function(){return i.numberTypeAnnotation()},t.BooleanLiteral=function(){return i.booleanTypeAnnotation()},t.NullLiteral=function(){return i.nullLiteralTypeAnnotation()},t.RegExpLiteral=function(){return i.genericTypeAnnotation(i.identifier("RegExp"))},t.ObjectExpression=function(){return i.genericTypeAnnotation(i.identifier("Object"))},t.ArrayExpression=l,t.RestElement=c,t.ClassDeclaration=t.ClassExpression=t.FunctionDeclaration=t.ArrowFunctionExpression=t.FunctionExpression=function(){return i.genericTypeAnnotation(i.identifier("Function"))},t.CallExpression=function(){const{callee:e}=this.node;if(u(e))return i.arrayTypeAnnotation(i.stringTypeAnnotation());if(p(e)||d(e))return i.arrayTypeAnnotation(i.anyTypeAnnotation());if(h(e))return i.arrayTypeAnnotation(i.tupleTypeAnnotation([i.stringTypeAnnotation(),i.anyTypeAnnotation()]));return f(this.get("callee"))},t.TaggedTemplateExpression=function(){return f(this.get("tag"))},Object.defineProperty(t,"Identifier",{enumerable:!0,get:function(){return s.default}});var n,i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=n?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0)),s=(n=r(341))&&n.__esModule?n:{default:n};function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e){return e.typeAnnotation}function l(){return i.genericTypeAnnotation(i.identifier("Array"))}function c(){return l()}o.validParent=!0,c.validParent=!0;const p=i.buildMatchMemberExpression("Array.from"),u=i.buildMatchMemberExpression("Object.keys"),d=i.buildMatchMemberExpression("Object.values"),h=i.buildMatchMemberExpression("Object.entries");function f(e){if((e=e.resolve()).isFunction()){if(e.is("async"))return e.is("generator")?i.genericTypeAnnotation(i.identifier("AsyncIterator")):i.genericTypeAnnotation(i.identifier("Promise"));if(e.node.returnType)return e.node.returnType}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!this.isReferenced())return;const t=this.scope.getBinding(e.name);if(t)return t.identifier.typeAnnotation?t.identifier.typeAnnotation:function(e,t,r){const i=[],o=[];let l=s(e,t,o);const c=function e(t,r,i){const s=function(e,t,r){let n;for(;n=t.parentPath;){if(n.isIfStatement()||n.isConditionalExpression()){if("test"===t.key)return;return n}if(n.isFunction()&&n.parentPath.scope.getBinding(r)!==e)return;t=n}}(t,r,i);if(!s)return;const o=[s.get("test")],l=[];for(let e=0;et.indexOf(e)<0),i.push(c.typeAnnotation)}if(l.length){l=l.concat(o);for(const e of l)i.push(e.getTypeAnnotation())}if(!i.length)return;if(n.isTSTypeAnnotation(i[0])&&n.createTSUnionType)return n.createTSUnionType(i);if(n.createFlowUnionType)return n.createFlowUnionType(i);return n.createUnionTypeAnnotation(i)}(t,this,e.name);if("undefined"===e.name)return n.voidTypeAnnotation();if("NaN"===e.name||"Infinity"===e.name)return n.numberTypeAnnotation();e.name};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(r(0));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function s(e,t,r){const n=e.constantViolations.slice();return n.unshift(e.path),n.filter(e=>{const n=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return r&&"unknown"===n&&r.push(e),"before"===n})}function a(e,t){const r=t.node.operator,i=t.get("right").resolve(),s=t.get("left").resolve();let a,o,l;if(s.isIdentifier({name:e})?a=i:i.isIdentifier({name:e})&&(a=s),a)return"==="===r?a.getTypeAnnotation():n.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(r)>=0?n.numberTypeAnnotation():void 0;if("==="!==r&&"=="!==r)return;if(s.isUnaryExpression({operator:"typeof"})?(o=s,l=i):i.isUnaryExpression({operator:"typeof"})&&(o=i,l=s),!o)return;if(!o.get("argument").isIdentifier({name:e}))return;if(l=l.resolve(),!l.isLiteral())return;const c=l.node.value;return"string"==typeof c?n.createTypeAnnotationBasedOnTypeof(c):void 0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.replaceWithMultiple=function(e){this.resync(),e=this._verifyNodeList(e),o.inheritLeadingComments(e[0],this.node),o.inheritTrailingComments(e[e.length-1],this.node),this.node=this.container[this.key]=null;const t=this.insertAfter(e);this.node?this.requeue():this.remove();return t},t.replaceWithSourceString=function(e){this.resync();try{e=`(${e})`,e=(0,a.parse)(e)}catch(t){const r=t.loc;throw r&&(t.message+=" - make sure this is an expression.\\n"+(0,n.codeFrameColumns)(e,{start:{line:r.line,column:r.column+1}}),t.code="BABEL_REPLACE_SOURCE_ERROR"),t}return e=e.program.body[0].expression,i.default.removeProperties(e),this.replaceWith(e)},t.replaceWith=function(e){if(this.resync(),this.removed)throw new Error("You can\'t replace this node, we\'ve already removed it");e instanceof s.default&&(e=e.node);if(!e)throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node===e)return[this];if(this.isProgram()&&!o.isProgram(e))throw new Error("You can only replace a Program root node with another Program node");if(Array.isArray(e))throw new Error("Don\'t use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if("string"==typeof e)throw new Error("Don\'t use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");let t="";this.isNodeType("Statement")&&o.isExpression(e)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(e)||this.parentPath.isExportDefaultDeclaration()||(e=o.expressionStatement(e),t="expression"));if(this.isNodeType("Expression")&&o.isStatement(e)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(e))return this.replaceExpressionWithStatements([e]);const r=this.node;r&&(o.inheritsComments(e,r),o.removeComments(r));return this._replaceWith(e),this.type=e.type,this.setScope(),this.requeue(),[t?this.get(t):this]},t._replaceWith=function(e){if(!this.container)throw new ReferenceError("Container is falsy");this.inList?o.validate(this.parent,this.key,[e]):o.validate(this.parent,this.key,e);this.debug("Replace with "+(null==e?void 0:e.type)),this.node=this.container[this.key]=e},t.replaceExpressionWithStatements=function(e){this.resync();const t=o.toSequenceExpression(e,this.scope);if(t)return this.replaceWith(t)[0].get("expressions");const r=this.getFunctionParent(),n=null==r?void 0:r.is("async"),s=o.arrowFunctionExpression([],o.blockStatement(e));this.replaceWith(o.callExpression(s,[])),this.traverse(p);const a=this.get("callee").getCompletionRecords();for(const e of a){if(!e.isExpressionStatement())continue;const t=e.findParent(e=>e.isLoop());if(t){let r=t.getData("expressionReplacementReturnUid");if(r)r=o.identifier(r.name);else{const e=this.get("callee");r=e.scope.generateDeclaredUidIdentifier("ret"),e.get("body").pushContainer("body",o.returnStatement(o.cloneNode(r))),t.setData("expressionReplacementReturnUid",r)}e.get("expression").replaceWith(o.assignmentExpression("=",o.cloneNode(r),e.node.expression))}else e.replaceWith(o.returnStatement(e.node.expression))}const l=this.get("callee");l.arrowFunctionToExpression(),n&&i.default.hasType(this.get("callee.body").node,"AwaitExpression",o.FUNCTION_TYPES)&&(l.set("async",!0),this.replaceWith(o.awaitExpression(this.node)));return l.get("body.body")},t.replaceInline=function(e){if(this.resync(),Array.isArray(e)){if(Array.isArray(this.container)){e=this._verifyNodeList(e);const t=this._containerInsertAfter(e);return this.remove(),t}return this.replaceWithMultiple(e)}return this.replaceWith(e)};var n=r(125),i=c(r(17)),s=c(r(8)),a=r(60),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=n?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0));function l(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}function c(e){return e&&e.__esModule?e:{default:e}}const p={Function(e){e.skip()},VariableDeclaration(e){if("var"!==e.node.kind)return;const t=e.getBindingIdentifiers();for(const r of Object.keys(t))e.scope.push({id:t[r]});const r=[];for(const t of e.node.declarations)t.init&&r.push(o.expressionStatement(o.assignmentExpression("=",t.id,t.init)));e.replaceWithMultiple(r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.shouldHighlight=p,t.getChalk=u,t.default=function(e,t={}){if(p(t)){const r=u(t);return function(e,t){let r="";for(const{type:n,value:i}of c(t)){const t=e[n];r+=t?i.split(o).map(e=>t(e)).join("\\n"):i}return r}(function(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold}}(r),e)}return e};var n=r(19);const i=r(344),s=r(345),a=new Set(["as","async","from","get","of","set"]);const o=/\\r\\n|[\\n\\r\\u2028\\u2029]/,l=/^[()[\\]{}]$/;let c;{const e=/^[a-z][\\w-]*$/i,t=function(t,r,i){if("name"===t.type){if((0,n.isKeyword)(t.value)||(0,n.isStrictReservedWord)(t.value,!0)||a.has(t.value))return"keyword";if(e.test(t.value)&&("<"===i[r-1]||"!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g,t.matchToToken=function(e){var t={type:"invalid",value:e[0],closed:void 0};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}},function(e,t,r){"use strict";const n=r(346),i=r(347),s=r(351).stdout,a=r(352),o="win32"===process.platform&&!(process.env.TERM||"").toLowerCase().startsWith("xterm"),l=["ansi","ansi","ansi256","ansi16m"],c=new Set(["gray"]),p=Object.create(null);function u(e,t){t=t||{};const r=s?s.level:0;e.level=void 0===t.level?r:t.level,e.enabled="enabled"in t?t.enabled:e.level>0}function d(e){if(!this||!(this instanceof d)||this.template){const t={};return u(t,e),t.template=function(){const e=[].slice.call(arguments);return y.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,d.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=d,t.template}u(this,e)}o&&(i.blue.open="");for(const e of Object.keys(i))i[e].closeRe=new RegExp(n(i[e].close),"g"),p[e]={get(){const t=i[e];return f.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};p.visible={get(){return f.call(this,this._styles||[],!0,"visible")}},i.color.closeRe=new RegExp(n(i.color.close),"g");for(const e of Object.keys(i.color.ansi))c.has(e)||(p[e]={get(){const t=this.level;return function(){const r=i.color[l[t]][e].apply(null,arguments),n={open:r,close:i.color.close,closeRe:i.color.closeRe};return f.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}});i.bgColor.closeRe=new RegExp(n(i.bgColor.close),"g");for(const e of Object.keys(i.bgColor.ansi)){if(c.has(e))continue;p["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const r=i.bgColor[l[t]][e].apply(null,arguments),n={open:r,close:i.bgColor.close,closeRe:i.bgColor.closeRe};return f.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}}const h=Object.defineProperties(()=>{},p);function f(e,t,r){const n=function(){return m.apply(n,arguments)};n._styles=e,n._empty=t;const i=this;return Object.defineProperty(n,"level",{enumerable:!0,get:()=>i.level,set(e){i.level=e}}),Object.defineProperty(n,"enabled",{enumerable:!0,get:()=>i.enabled,set(e){i.enabled=e}}),n.hasGrey=this.hasGrey||"gray"===r||"grey"===r,n.__proto__=h,n}function m(){const e=arguments,t=e.length;let r=String(arguments[0]);if(0===t)return"";if(t>1)for(let n=1;nfunction(){const n=e.apply(t,arguments);return`[${n+r}m`},i=(e,r)=>function(){const n=e.apply(t,arguments);return`[${38+r};5;${n}m`},s=(e,r)=>function(){const n=e.apply(t,arguments);return`[${38+r};2;${n[0]};${n[1]};${n[2]}m`};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,r={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};r.color.grey=r.color.gray;for(const t of Object.keys(r)){const n=r[t];for(const t of Object.keys(n)){const i=n[t];r[t]={open:`[${i[0]}m`,close:`[${i[1]}m`},n[t]=r[t],e.set(i[0],i[1])}Object.defineProperty(r,t,{value:n,enumerable:!1}),Object.defineProperty(r,"codes",{value:e,enumerable:!1})}const a=e=>e,o=(e,t,r)=>[e,t,r];r.color.close="",r.bgColor.close="",r.color.ansi={ansi:n(a,0)},r.color.ansi256={ansi256:i(a,0)},r.color.ansi16m={rgb:s(o,0)},r.bgColor.ansi={ansi:n(a,10)},r.bgColor.ansi256={ansi256:i(a,10)},r.bgColor.ansi16m={rgb:s(o,10)};for(let e of Object.keys(t)){if("object"!=typeof t[e])continue;const a=t[e];"ansi16"===e&&(e="ansi"),"ansi16"in a&&(r.color.ansi[e]=n(a.ansi16,0),r.bgColor.ansi[e]=n(a.ansi16,10)),"ansi256"in a&&(r.color.ansi256[e]=i(a.ansi256,0),r.bgColor.ansi256[e]=i(a.ansi256,10)),"rgb"in a&&(r.color.ansi16m[e]=s(a.rgb,0),r.bgColor.ansi16m[e]=s(a.rgb,10))}return r}})}).call(this,r(31)(e))},function(e,t,r){var n=r(126),i=r(350),s={};Object.keys(n).forEach((function(e){s[e]={},Object.defineProperty(s[e],"channels",{value:n[e].channels}),Object.defineProperty(s[e],"labels",{value:n[e].labels});var t=i(e);Object.keys(t).forEach((function(r){var n=t[r];s[e][r]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var r=e(t);if("object"==typeof r)for(var n=r.length,i=0;i1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(n)}))})),e.exports=s},function(e,t,r){"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},function(e,t,r){var n=r(126);function i(e){var t=function(){for(var e={},t=Object.keys(n),r=t.length,i=0;i=2,has16m:e>=3}}(function(e){if(!1===a)return 0;if(i("color=16m")||i("color=full")||i("color=truecolor"))return 3;if(i("color=256"))return 2;if(e&&!e.isTTY&&!0!==a)return 0;const t=a?1:0;if("win32"===process.platform){const e=n.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in s)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in s)||"codeship"===s.CI_NAME?1:t;if("TEAMCITY_VERSION"in s)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(s.TEAMCITY_VERSION)?1:0;if("truecolor"===s.COLORTERM)return 3;if("TERM_PROGRAM"in s){const e=parseInt((s.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(s.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(s.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(s.TERM)||"COLORTERM"in s?1:(s.TERM,t)}(e))}i("no-color")||i("no-colors")||i("color=false")?a=!1:(i("color")||i("colors")||i("color=true")||i("color=always"))&&(a=!0),"FORCE_COLOR"in s&&(a=0===s.FORCE_COLOR.length||0!==parseInt(s.FORCE_COLOR,10)),e.exports={supportsColor:o,stdout:o(process.stdout),stderr:o(process.stderr)}},function(e,t,r){"use strict";const n=/(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,i=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,s=/^([\'"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,a=/\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi,o=new Map([["n","\\n"],["r","\\r"],["t","\\t"],["b","\\b"],["f","\\f"],["v","\\v"],["0","\\0"],["\\\\","\\\\"],["e",""],["a",""]]);function l(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):o.get(e)||e}function c(e,t){const r=[],n=t.trim().split(/\\s*,\\s*/g);let i;for(const t of n)if(isNaN(t)){if(!(i=t.match(s)))throw new Error(`Invalid Chalk template style argument: ${t} (in style \'${e}\')`);r.push(i[2].replace(a,(e,t,r)=>t?l(t):r))}else r.push(Number(t));return r}function p(e){i.lastIndex=0;const t=[];let r;for(;null!==(r=i.exec(e));){const e=r[1];if(r[2]){const n=c(e,r[2]);t.push([e].concat(n))}else t.push([e])}return t}function u(e,t){const r={};for(const e of t)for(const t of e.styles)r[t[0]]=e.inverse?null:t.slice(1);let n=e;for(const e of Object.keys(r))if(Array.isArray(r[e])){if(!(e in n))throw new Error("Unknown Chalk style: "+e);n=r[e].length>0?n[e].apply(n,r[e]):n[e]}return n}e.exports=(e,t)=>{const r=[],i=[];let s=[];if(t.replace(n,(t,n,a,o,c,d)=>{if(n)s.push(l(n));else if(o){const t=s.join("");s=[],i.push(0===r.length?t:u(e,r)(t)),r.push({inverse:a,styles:p(o)})}else if(c){if(0===r.length)throw new Error("Found extraneous } in Chalk template literal");i.push(u(e,r)(s.join(""))),s=[],r.pop()}else s.push(d)}),i.push(s.join("")),r.length>0){const e=`Chalk template literal is missing ${r.length} closing bracket${1===r.length?"":"s"} (\\`}\\`)`;throw new Error(e)}return i.join("")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateTruthy=function(){const e=this.evaluate();if(e.confident)return!!e.value},t.evaluate=function(){const e={confident:!0,deoptPath:null,seen:new Map};let t=a(this,e);e.confident||(t=void 0);return{confident:e.confident,deopt:e.deoptPath,value:t}};const n=["String","Number","Math"],i=["random"];function s(e,t){t.confident&&(t.deoptPath=e,t.confident=!1)}function a(e,t){const{node:r}=e,{seen:l}=t;if(l.has(r)){const n=l.get(r);return n.resolved?n.value:void s(e,t)}{const c={resolved:!1};l.set(r,c);const p=function(e,t){if(!t.confident)return;const{node:r}=e;if(e.isSequenceExpression()){const r=e.get("expressions");return a(r[r.length-1],t)}if(e.isStringLiteral()||e.isNumericLiteral()||e.isBooleanLiteral())return r.value;if(e.isNullLiteral())return null;if(e.isTemplateLiteral())return o(e,r.quasis,t);if(e.isTaggedTemplateExpression()&&e.get("tag").isMemberExpression()){const n=e.get("tag.object"),{node:{name:i}}=n,s=e.get("tag.property");if(n.isIdentifier()&&"String"===i&&!e.scope.getBinding(i,!0)&&s.isIdentifier&&"raw"===s.node.name)return o(e,r.quasi.quasis,t,!0)}if(e.isConditionalExpression()){const r=a(e.get("test"),t);if(!t.confident)return;return a(r?e.get("consequent"):e.get("alternate"),t)}if(e.isExpressionWrapper())return a(e.get("expression"),t);if(e.isMemberExpression()&&!e.parentPath.isCallExpression({callee:r})){const t=e.get("property"),r=e.get("object");if(r.isLiteral()&&t.isIdentifier()){const e=r.node.value,n=typeof e;if("number"===n||"string"===n)return e[t.node.name]}}if(e.isReferencedIdentifier()){const n=e.scope.getBinding(r.name);if(n&&n.constantViolations.length>0)return s(n.path,t);if(n&&e.node.start":return n>i;case"<=":return n<=i;case">=":return n>=i;case"==":return n==i;case"!=":return n!=i;case"===":return n===i;case"!==":return n!==i;case"|":return n|i;case"&":return n&i;case"^":return n^i;case"<<":return n<>":return n>>i;case">>>":return n>>>i}}if(e.isCallExpression()){const s=e.get("callee");let o,l;if(s.isIdentifier()&&!e.scope.getBinding(s.node.name,!0)&&n.indexOf(s.node.name)>=0&&(l=global[r.callee.name]),s.isMemberExpression()){const e=s.get("object"),t=s.get("property");if(e.isIdentifier()&&t.isIdentifier()&&n.indexOf(e.node.name)>=0&&i.indexOf(t.node.name)<0&&(o=global[e.node.name],l=o[t.node.name]),e.isLiteral()&&t.isIdentifier()){const r=typeof e.node.value;"string"!==r&&"number"!==r||(o=e.node.value,l=o[t.node.name])}}if(l){const r=e.get("arguments").map(e=>a(e,t));if(!t.confident)return;return l.apply(o,r)}}s(e,t)}(e,t);return t.confident&&(c.resolved=!0,c.value=p),p}}function o(e,t,r,n=!1){let i="",s=0;const o=e.get("expressions");for(const e of t){if(!r.confident)break;i+=n?e.value.raw:e.value.cooked;const t=o[s++];t&&(i+=String(a(t,r)))}if(r.confident)return i}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toComputedKey=function(){const e=this.node;let t;if(this.isMemberExpression())t=e.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError("todo");t=e.key}e.computed||i.isIdentifier(t)&&(t=i.stringLiteral(t.name));return t},t.ensureBlock=function(){const e=this.get("body"),t=e.node;if(Array.isArray(e))throw new Error("Can\'t convert array path to a block statement");if(!t)throw new Error("Can\'t convert node without a body");if(e.isBlockStatement())return t;const r=[];let n,s,a="body";e.isStatement()?(s="body",n=0,r.push(e.node)):(a+=".body.0",this.isFunction()?(n="argument",r.push(i.returnStatement(e.node))):(n="expression",r.push(i.expressionStatement(e.node))));this.node.body=i.blockStatement(r);const o=this.get(a);return e.setup(o,s?o.node[s]:o.node,s,n),this.node},t.arrowFunctionToShadowed=function(){if(!this.isArrowFunctionExpression())return;this.arrowFunctionToExpression()},t.unwrapFunctionEnvironment=function(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration())throw this.buildCodeFrameError("Can only unwrap the environment of a function.");o(this)},t.arrowFunctionToExpression=function({allowInsertArrow:e=!0,specCompliant:t=!1}={}){if(!this.isArrowFunctionExpression())throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");const r=o(this,t,e);if(this.ensureBlock(),this.node.type="FunctionExpression",t){const e=r?null:this.parentPath.scope.generateUidIdentifier("arrowCheckId");e&&this.parentPath.scope.push({id:e,init:i.objectExpression([])}),this.get("body").unshiftContainer("body",i.expressionStatement(i.callExpression(this.hub.addHelper("newArrowCheck"),[i.thisExpression(),e?i.identifier(e.name):i.identifier(r)]))),this.replaceWith(i.callExpression(i.memberExpression((0,s.default)(this,!0)||this.node,i.identifier("bind")),[e?i.identifier(e.name):i.thisExpression()]))}};var n,i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=n?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0)),s=(n=r(355))&&n.__esModule?n:{default:n};function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function o(e,t=!1,r=!0){const n=e.findParent(e=>e.isFunction()&&!e.isArrowFunctionExpression()||e.isProgram()||e.isClassProperty({static:!1})),s="constructor"===(null==n?void 0:n.node.kind);if(n.isClassProperty())throw e.buildCodeFrameError("Unable to transform arrow inside class property");const{thisPaths:a,argumentsPaths:o,newTargetPaths:p,superProps:u,superCalls:d}=function(e){const t=[],r=[],n=[],i=[],s=[];return e.traverse({ClassProperty(e){e.skip()},Function(e){e.isArrowFunctionExpression()||e.skip()},ThisExpression(e){t.push(e)},JSXIdentifier(e){"this"===e.node.name&&(e.parentPath.isJSXMemberExpression({object:e.node})||e.parentPath.isJSXOpeningElement({name:e.node}))&&t.push(e)},CallExpression(e){e.get("callee").isSuper()&&s.push(e)},MemberExpression(e){e.get("object").isSuper()&&i.push(e)},ReferencedIdentifier(e){"arguments"===e.node.name&&r.push(e)},MetaProperty(e){e.get("meta").isIdentifier({name:"new"})&&e.get("property").isIdentifier({name:"target"})&&n.push(e)}}),{thisPaths:t,argumentsPaths:r,newTargetPaths:n,superProps:i,superCalls:s}}(e);if(s&&d.length>0){if(!r)throw d[0].buildCodeFrameError("Unable to handle nested super() usage in arrow");const e=[];n.traverse({Function(e){e.isArrowFunctionExpression()||e.skip()},ClassProperty(e){e.skip()},CallExpression(t){t.get("callee").isSuper()&&e.push(t)}});const t=function(e){return c(e,"supercall",()=>{const t=e.scope.generateUidIdentifier("args");return i.arrowFunctionExpression([i.restElement(t)],i.callExpression(i.super(),[i.spreadElement(i.identifier(t.name))]))})}(n);e.forEach(e=>{const r=i.identifier(t);r.loc=e.node.callee.loc,e.get("callee").replaceWith(r)})}if(o.length>0){const e=c(n,"arguments",()=>i.identifier("arguments"));o.forEach(t=>{const r=i.identifier(e);r.loc=t.node.loc,t.replaceWith(r)})}if(p.length>0){const e=c(n,"newtarget",()=>i.metaProperty(i.identifier("new"),i.identifier("target")));p.forEach(t=>{const r=i.identifier(e);r.loc=t.node.loc,t.replaceWith(r)})}if(u.length>0){if(!r)throw u[0].buildCodeFrameError("Unable to handle nested super.prop usage");u.reduce((e,t)=>e.concat(function(e){if(e.parentPath.isAssignmentExpression()&&"="!==e.parentPath.node.operator){const t=e.parentPath,r=t.node.operator.slice(0,-1),n=t.node.right;if(t.node.operator="=",e.node.computed){const s=e.scope.generateDeclaredUidIdentifier("tmp");t.get("left").replaceWith(i.memberExpression(e.node.object,i.assignmentExpression("=",s,e.node.property),!0)),t.get("right").replaceWith(i.binaryExpression(r,i.memberExpression(e.node.object,i.identifier(s.name),!0),n))}else t.get("left").replaceWith(i.memberExpression(e.node.object,e.node.property)),t.get("right").replaceWith(i.binaryExpression(r,i.memberExpression(e.node.object,i.identifier(e.node.property.name)),n));return[t.get("left"),t.get("right").get("left")]}if(e.parentPath.isUpdateExpression()){const t=e.parentPath,r=e.scope.generateDeclaredUidIdentifier("tmp"),n=e.node.computed?e.scope.generateDeclaredUidIdentifier("prop"):null,s=[i.assignmentExpression("=",r,i.memberExpression(e.node.object,n?i.assignmentExpression("=",n,e.node.property):e.node.property,e.node.computed)),i.assignmentExpression("=",i.memberExpression(e.node.object,n?i.identifier(n.name):e.node.property,e.node.computed),i.binaryExpression("+",i.identifier(r.name),i.numericLiteral(1)))];e.parentPath.node.prefix||s.push(i.identifier(r.name)),t.replaceWith(i.sequenceExpression(s));const a=t.get("expressions.0.right"),o=t.get("expressions.1.left");return[a,o]}return[e]}(t)),[]).forEach(e=>{const t=e.node.computed?"":e.get("property").node.name,r=e.parentPath.isAssignmentExpression({left:e.node}),s=e.parentPath.isCallExpression({callee:e.node}),o=function(e,t,r){return c(e,`superprop_${t?"set":"get"}:${r||""}`,()=>{const n=[];let s;if(r)s=i.memberExpression(i.super(),i.identifier(r));else{const t=e.scope.generateUidIdentifier("prop");n.unshift(t),s=i.memberExpression(i.super(),i.identifier(t.name),!0)}if(t){const t=e.scope.generateUidIdentifier("value");n.push(t),s=i.assignmentExpression("=",s,i.identifier(t.name))}return i.arrowFunctionExpression(n,s)})}(n,r,t),l=[];if(e.node.computed&&l.push(e.get("property").node),r){const t=e.parentPath.node.right;l.push(t)}const p=i.callExpression(i.identifier(o),l);s?(e.parentPath.unshiftContainer("arguments",i.thisExpression()),e.replaceWith(i.memberExpression(p,i.identifier("call"))),a.push(e.parentPath.get("arguments.0"))):r?e.parentPath.replaceWith(p):e.replaceWith(p)})}let h;return(a.length>0||t)&&(h=function(e,t){return c(e,"this",r=>{if(!t||!l(e))return i.thisExpression();const n=new WeakSet;e.traverse({Function(e){e.isArrowFunctionExpression()||e.skip()},ClassProperty(e){e.skip()},CallExpression(e){e.get("callee").isSuper()&&(n.has(e.node)||(n.add(e.node),e.replaceWithMultiple([e.node,i.assignmentExpression("=",i.identifier(r),i.identifier("this"))])))}})})}(n,s),(!t||s&&l(n))&&(a.forEach(e=>{const t=e.isJSX()?i.jsxIdentifier(h):i.identifier(h);t.loc=e.node.loc,e.replaceWith(t)}),t&&(h=null))),h}function l(e){return e.isClassMethod()&&!!e.parentPath.parentPath.node.superClass}function c(e,t,r){const n="binding:"+t;let i=e.getData(n);if(!i){const s=e.scope.generateUidIdentifier(t);i=s.name,e.setData(n,i),e.scope.push({id:s,init:r(i)})}return i}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function({node:e,parent:t,scope:r,id:i},a=!1){if(e.id)return;if(!s.isObjectProperty(t)&&!s.isObjectMethod(t,{kind:"method"})||t.computed&&!s.isLiteral(t.key)){if(s.isVariableDeclarator(t)){if(i=t.id,s.isIdentifier(i)&&!a){const t=r.parent.getBinding(i.name);if(t&&t.constant&&r.getBinding(i.name)===t)return e.id=s.cloneNode(i),void(e.id[s.NOT_LOCAL_BINDING]=!0)}}else if(s.isAssignmentExpression(t,{operator:"="}))i=t.left;else if(!i)return}else i=t.key;let o;i&&s.isLiteral(i)?o=function(e){if(s.isNullLiteral(e))return"null";if(s.isRegExpLiteral(e))return`_${e.pattern}_${e.flags}`;if(s.isTemplateLiteral(e))return e.quasis.map(e=>e.value.raw).join("");if(void 0!==e.value)return e.value+"";return""}(i):i&&s.isIdentifier(i)&&(o=i.name);if(void 0===o)return;o=s.toBindingIdentifierName(o),(i=s.identifier(o))[s.NOT_LOCAL_BINDING]=!0;return function(e,t,r,i){if(e.selfReference){if(!i.hasBinding(r.name)||i.hasGlobal(r.name)){if(!s.isFunction(t))return;let e=l;t.generator&&(e=c);const a=e({FUNCTION:t,FUNCTION_ID:r,FUNCTION_KEY:i.generateUidIdentifier(r.name)}).expression,o=a.callee.body.body[0].params;for(let e=0,r=(0,n.default)(t);e"/* @babel/template */;\\n"+e,validate:()=>{},unwrap:t=>e(t.program.body.slice(1))}}const a=s(e=>e.length>1?e:e[0]);t.smart=a;const o=s(e=>e);t.statements=o;const l=s(e=>{if(0===e.length)throw new Error("Found nothing to return.");if(e.length>1)throw new Error("Found multiple statements but wanted one");return e[0]});t.statement=l;const c={code:e=>`(\\n${e}\\n)`,validate:e=>{if(e.program.body.length>1)throw new Error("Found multiple statements but wanted one");if(0===c.unwrap(e).start)throw new Error("Parse result included parens.")},unwrap:({program:e})=>{const[t]=e.body;return n.assertExpressionStatement(t),t.expression}};t.expression=c;t.program={code:e=>e,validate:()=>{},unwrap:e=>e.program}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r){const a=new WeakMap,c=new WeakMap,p=r||(0,n.validate)(null);return Object.assign((r,...o)=>{if("string"==typeof r){if(o.length>1)throw new Error("Unexpected extra params.");return l((0,i.default)(t,r,(0,n.merge)(p,(0,n.validate)(o[0]))))}if(Array.isArray(r)){let e=a.get(r);return e||(e=(0,s.default)(t,r,p),a.set(r,e)),l(e(o))}if("object"==typeof r&&r){if(o.length>0)throw new Error("Unexpected extra params.");return e(t,(0,n.merge)(p,(0,n.validate)(r)))}throw new Error("Unexpected template param "+typeof r)},{ast:(e,...r)=>{if("string"==typeof e){if(r.length>1)throw new Error("Unexpected extra params.");return(0,i.default)(t,e,(0,n.merge)((0,n.merge)(p,(0,n.validate)(r[0])),o))()}if(Array.isArray(e)){let i=c.get(e);return i||(i=(0,s.default)(t,e,(0,n.merge)(p,o)),c.set(e,i)),i(r)()}throw new Error("Unexpected template param "+typeof e)}})};var n=r(59),i=a(r(360)),s=a(r(362));function a(e){return e&&e.__esModule?e:{default:e}}const o=(0,n.validate)({placeholderPattern:!1});function l(e){let t="";try{throw new Error}catch(e){e.stack&&(t=e.stack.split("\\n").slice(3).join("\\n"))}return r=>{try{return e(r)}catch(e){throw e.stack+="\\n =============\\n"+t,e}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){let a;return t=e.code(t),o=>{const l=(0,n.normalizeReplacements)(o);return a||(a=(0,i.default)(e,t,r)),e.unwrap((0,s.default)(a,l))}};var n=r(59),i=a(r(127)),s=a(r(128));function a(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e,t={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null,this.updateContext=null}}const i=new Map;function s(e,t={}){t.keyword=e;const r=new n(e,t);return i.set(e,r),r}function a(e,t){return new n(e,{beforeExpr:!0,binop:t})}const o={num:new n("num",{startsExpr:!0}),bigint:new n("bigint",{startsExpr:!0}),decimal:new n("decimal",{startsExpr:!0}),regexp:new n("regexp",{startsExpr:!0}),string:new n("string",{startsExpr:!0}),name:new n("name",{startsExpr:!0}),privateName:new n("#name",{startsExpr:!0}),eof:new n("eof"),bracketL:new n("[",{beforeExpr:!0,startsExpr:!0}),bracketHashL:new n("#[",{beforeExpr:!0,startsExpr:!0}),bracketBarL:new n("[|",{beforeExpr:!0,startsExpr:!0}),bracketR:new n("]"),bracketBarR:new n("|]"),braceL:new n("{",{beforeExpr:!0,startsExpr:!0}),braceBarL:new n("{|",{beforeExpr:!0,startsExpr:!0}),braceHashL:new n("#{",{beforeExpr:!0,startsExpr:!0}),braceR:new n("}"),braceBarR:new n("|}"),parenL:new n("(",{beforeExpr:!0,startsExpr:!0}),parenR:new n(")"),comma:new n(",",{beforeExpr:!0}),semi:new n(";",{beforeExpr:!0}),colon:new n(":",{beforeExpr:!0}),doubleColon:new n("::",{beforeExpr:!0}),dot:new n("."),question:new n("?",{beforeExpr:!0}),questionDot:new n("?."),arrow:new n("=>",{beforeExpr:!0}),template:new n("template"),ellipsis:new n("...",{beforeExpr:!0}),backQuote:new n("`",{startsExpr:!0}),dollarBraceL:new n("${",{beforeExpr:!0,startsExpr:!0}),at:new n("@"),hash:new n("#",{startsExpr:!0}),interpreterDirective:new n("#!..."),eq:new n("=",{beforeExpr:!0,isAssign:!0}),assign:new n("_=",{beforeExpr:!0,isAssign:!0}),incDec:new n("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),bang:new n("!",{beforeExpr:!0,prefix:!0,startsExpr:!0}),tilde:new n("~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),pipeline:a("|>",0),nullishCoalescing:a("??",1),logicalOR:a("||",1),logicalAND:a("&&",2),bitwiseOR:a("|",3),bitwiseXOR:a("^",4),bitwiseAND:a("&",5),equality:a("==/!=/===/!==",6),relational:a("/<=/>=",7),bitShift:a("<>/>>>",8),plusMin:new n("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:new n("%",{beforeExpr:!0,binop:10,startsExpr:!0}),star:new n("*",{binop:10}),slash:a("/",10),exponent:new n("**",{beforeExpr:!0,binop:11,rightAssociative:!0}),_break:s("break"),_case:s("case",{beforeExpr:!0}),_catch:s("catch"),_continue:s("continue"),_debugger:s("debugger"),_default:s("default",{beforeExpr:!0}),_do:s("do",{isLoop:!0,beforeExpr:!0}),_else:s("else",{beforeExpr:!0}),_finally:s("finally"),_for:s("for",{isLoop:!0}),_function:s("function",{startsExpr:!0}),_if:s("if"),_return:s("return",{beforeExpr:!0}),_switch:s("switch"),_throw:s("throw",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_try:s("try"),_var:s("var"),_const:s("const"),_while:s("while",{isLoop:!0}),_with:s("with"),_new:s("new",{beforeExpr:!0,startsExpr:!0}),_this:s("this",{startsExpr:!0}),_super:s("super",{startsExpr:!0}),_class:s("class",{startsExpr:!0}),_extends:s("extends",{beforeExpr:!0}),_export:s("export"),_import:s("import",{startsExpr:!0}),_null:s("null",{startsExpr:!0}),_true:s("true",{startsExpr:!0}),_false:s("false",{startsExpr:!0}),_in:s("in",{beforeExpr:!0,binop:7}),_instanceof:s("instanceof",{beforeExpr:!0,binop:7}),_typeof:s("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:s("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:s("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},l=/\\r\\n?|[\\n\\u2028\\u2029]/,c=new RegExp(l.source,"g");function p(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const u=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;function d(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class h{constructor(e,t){this.line=void 0,this.column=void 0,this.line=e,this.column=t}}class f{constructor(e,t){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=e,this.end=t}}function m(e){return e[e.length-1]}const y=Object.freeze({SyntaxError:"BABEL_PARSER_SYNTAX_ERROR",SourceTypeModuleError:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"}),T=g({AccessorIsGenerator:"A %0ter cannot be a generator.",ArgumentsInClass:"\'arguments\' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use \'await\' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use \'await\' as identifier inside a static block.",AwaitExpressionFormalParameter:"\'await\' is not allowed in async function parameters.",AwaitNotInAsyncContext:"\'await\' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"\'await\' is only allowed within async functions.",BadGetterArity:"A \'get\' accesor must not have any formal parameters.",BadSetterArity:"A \'set\' accesor must have exactly one formal parameter.",BadSetterRestParameter:"A \'set\' accesor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named \'constructor\'.",ConstructorClassPrivateField:"Classes may not have a private field named \'#constructor\'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can\'t be an async function.",ConstructorIsGenerator:"Constructor can\'t be a generator.",DeclarationMissingInitializer:"\'%0\' require an initialization value.",DecoratorBeforeExport:"Decorators must be placed *before* the \'export\' keyword. You can set the \'decoratorsBeforeExport\' option to false to use the \'export @decorator class {}\' syntax.",DecoratorConstructor:"Decorators can\'t be used with a constructor. Did you mean \'@dec class { ... }\'?",DecoratorExportClass:"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can\'t be used with a static block.",DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:"`%0` has already been exported. Exported identifiers must be unique.",DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:"A string literal cannot be used as an exported binding without `from`.\\n- Did you mean `export { \'%0\' as \'%1\' } from \'some-module\'`?",ExportDefaultFromAsIdentifier:"\'from\' is not allowed as an identifier after \'export default\'.",ForInOfLoopInitializer:"\'%0\' loop variable declaration may not have an initializer.",ForOfAsync:"The left-hand side of a for-of loop may not be \'async\'.",ForOfLet:"The left-hand side of a for-of loop may not start with \'let\'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:"Unsyntactic %0.",IllegalLanguageModeDirective:"Illegal \'use strict\' directive in function with non-simple parameter list.",IllegalReturn:"\'return\' outside of function.",ImportBindingIsString:\'A string literal cannot be used as an imported binding.\\n- Did you mean `import { "%0" as foo }`?\',ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments.",ImportCallArity:"`import()` requires exactly %0.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidDecimal:"Invalid decimal.",InvalidDigit:"Expected number in radix %0.",InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:"Escape sequence in keyword %0.",InvalidIdentifier:"Invalid identifier %0.",InvalidLhs:"Invalid left-hand side in %0.",InvalidLhsBinding:"Binding invalid left-hand side in %0.",InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the \'e\'.",InvalidOrUnexpectedToken:"Unexpected character \'%0\'.",InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:"Private name #%0 is not defined.",InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator\'s argument.",LabelRedeclaration:"Label \'%0\' is already declared.",LetInLexicalBinding:"\'let\' is not allowed to be used as a name in \'let\' or \'const\' declarations.",LineTerminatorBeforeArrow:"No line break is allowed before \'=>\'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only \'=\' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingUnicodeEscape:"Expecting Unicode escape sequence \\\\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:\'Duplicate key "%0" is not allowed in module attributes.\',ModuleExportNameHasLoneSurrogate:"An export name cannot include a lone surrogate, found \'\\\\u%0\'.",ModuleExportUndefined:"Export \'%0\' is not defined.",MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"\'await*\' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"\'override\' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can\'t contain getter or setter.",PatternHasMethod:"Object pattern can\'t contain methods.",PipelineBodyNoArrow:\'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.\',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression.",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression.",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference.",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding.",PrimaryTopicRequiresSmartPipeline:"Primary Topic Reference found but pipelineOperator not passed \'smart\' for \'proposal\' option.",PrivateInExpectedIn:"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`).",PrivateNameRedeclaration:"Duplicate private name #%0.",RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with \'|}\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'bar\'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with \'{|\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'bar\'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with \'#{\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'hash\'.",RecordNoProto:"\'__proto__\' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",StaticPrototype:"Classes may not have static property named prototype.",StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:"Assigning to \'%0\' in strict mode.",StrictEvalArgumentsBinding:"Binding \'%0\' in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is \'\\\\0\'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"\'with\' in strict mode.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name (\'constructor\') or not extending another class?",SuperPrivateField:"Private fields can\'t be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with \'|]\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'bar\'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with \'[|\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'bar\'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with \'#[\' are only allowed when the \'syntaxType\' option of the \'recordAndTuple\' plugin is set to \'hash\'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:\'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.\',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"\'import\' and \'export\' may only appear at the top level.",UnexpectedKeyword:"Unexpected keyword \'%0\'.",UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\\n or a property of member expression (i.e. this.#p).",UnexpectedReservedWord:"Unexpected reserved word \'%0\'.",UnexpectedSuper:"\'super\' is only allowed in object methods and classes.",UnexpectedToken:"Unexpected token \'%0\'.",UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:"The only valid meta property for %0 is %0.%1.",UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"\'super\' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",VarRedeclaration:"Identifier \'%0\' has already been declared.",YieldBindingIdentifier:"Can not use \'yield\' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},y.SyntaxError),b=g({ImportMetaOutsideModule:"import.meta may appear only with \'sourceType: \\"module\\"\'",ImportOutsideModule:"\'import\' and \'export\' may appear only with \'sourceType: \\"module\\"\'"},y.SourceTypeModuleError);function g(e,t){const r={};return Object.keys(e).forEach(n=>{r[n]=Object.freeze({code:t,reasonCode:n,template:e[n]})}),Object.freeze(r)}class S{constructor(e,t,r,n){this.token=void 0,this.isExpr=void 0,this.preserveSpace=void 0,this.override=void 0,this.token=e,this.isExpr=!!t,this.preserveSpace=!!r,this.override=n}}const x={braceStatement:new S("{",!1),braceExpression:new S("{",!0),recordExpression:new S("#{",!0),templateQuasi:new S("${",!1),parenStatement:new S("(",!1),parenExpression:new S("(",!0),template:new S("`",!0,!0,e=>e.readTmplToken()),functionExpression:new S("function",!0),functionStatement:new S("function",!1)};o.parenR.updateContext=o.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let e=this.state.context.pop();e===x.braceStatement&&"function"===this.curContext().token&&(e=this.state.context.pop()),this.state.exprAllowed=!e.isExpr},o.name.updateContext=function(e){let t=!1;e!==o.dot&&("of"!==this.state.value||this.state.exprAllowed||e===o._function||e===o._class||(t=!0)),this.state.exprAllowed=t},o.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?x.braceStatement:x.braceExpression),this.state.exprAllowed=!0},o.dollarBraceL.updateContext=function(){this.state.context.push(x.templateQuasi),this.state.exprAllowed=!0},o.parenL.updateContext=function(e){const t=e===o._if||e===o._for||e===o._with||e===o._while;this.state.context.push(t?x.parenStatement:x.parenExpression),this.state.exprAllowed=!0},o.incDec.updateContext=function(){},o._function.updateContext=o._class.updateContext=function(e){!e.beforeExpr||e===o.semi||e===o._else||e===o._return&&this.hasPrecedingLineBreak()||(e===o.colon||e===o.braceL)&&this.curContext()===x.b_stat?this.state.context.push(x.functionStatement):this.state.context.push(x.functionExpression),this.state.exprAllowed=!1},o.backQuote.updateContext=function(){this.curContext()===x.template?this.state.context.pop():this.state.context.push(x.template),this.state.exprAllowed=!1},o.braceHashL.updateContext=function(){this.state.context.push(x.recordExpression),this.state.exprAllowed=!0};let E="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",P="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const v=new RegExp("["+E+"]"),A=new RegExp("["+E+P+"]");E=P=null;const w=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],O=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function I(e,t){let r=65536;for(let n=0,i=t.length;ne)return!1;if(r+=t[n+1],r>=e)return!0}return!1}function C(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&v.test(String.fromCharCode(e)):I(e,w)))}function N(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&A.test(String.fromCharCode(e)):I(e,w)||I(e,O))))}const k=["implements","interface","let","package","private","protected","public","static","yield"],D=["eval","arguments"],_=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),L=new Set(k),M=new Set(D);function j(e,t){return t&&"await"===e||"enum"===e}function F(e,t){return j(e,t)||L.has(e)}function R(e){return M.has(e)}function B(e,t){return F(e,t)||R(e)}function U(e){return _.has(e)}const V=/^in(stanceof)?$/;class K{constructor(e){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=e}}class q{constructor(e,t){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=e,this.inModule=t}get inFunction(){return(2&this.currentVarScope().flags)>0}get allowSuper(){return(16&this.currentThisScope().flags)>0}get allowDirectSuper(){return(32&this.currentThisScope().flags)>0}get inClass(){return(64&this.currentThisScope().flags)>0}get inStaticBlock(){return(128&this.currentThisScope().flags)>0}get inNonArrowFunction(){return(2&this.currentThisScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new K(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(e){return!!(2&e.flags||!this.inModule&&1&e.flags)}declareName(e,t,r){let n=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(n,e,t,r),16&t?n.functions.push(e):n.lexical.push(e),8&t&&this.maybeExportDefined(n,e);else if(4&t)for(let i=this.scopeStack.length-1;i>=0&&(n=this.scopeStack[i],this.checkRedeclarationInScope(n,e,t,r),n.var.push(e),this.maybeExportDefined(n,e),!(259&n.flags));--i);this.inModule&&1&n.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,r,n){this.isRedeclaredInScope(e,t,r)&&this.raise(n,T.VarRedeclaration,t)}isRedeclaredInScope(e,t,r){return!!(1&r)&&(8&r?e.lexical.indexOf(t)>-1||e.functions.indexOf(t)>-1||e.var.indexOf(t)>-1:16&r?e.lexical.indexOf(t)>-1||!this.treatFunctionsAsVarInScope(e)&&e.var.indexOf(t)>-1:e.lexical.indexOf(t)>-1&&!(8&e.flags&&e.lexical[0]===t)||!this.treatFunctionsAsVarInScope(e)&&e.functions.indexOf(t)>-1)}checkLocalExport(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&-1===this.scopeStack[0].functions.indexOf(e.name)&&this.undefinedExports.set(e.name,e.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if(259&t.flags)return t}}currentThisScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if((259&t.flags||64&t.flags)&&!(4&t.flags))return t}}}class Y extends K{constructor(...e){super(...e),this.declareFunctions=[]}}class W extends q{createScope(e){return new Y(e)}declareName(e,t,r){const n=this.currentScope();if(2048&t)return this.checkRedeclarationInScope(n,e,t,r),this.maybeExportDefined(n,e),void n.declareFunctions.push(e);super.declareName(...arguments)}isRedeclaredInScope(e,t,r){return!!super.isRedeclaredInScope(...arguments)||!!(2048&r)&&(!e.declareFunctions.includes(t)&&(e.lexical.includes(t)||e.functions.includes(t)))}checkLocalExport(e){-1===this.scopeStack[0].declareFunctions.indexOf(e.name)&&super.checkLocalExport(e)}}const X=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),J=g({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",AssignReservedType:"Cannot overwrite reserved type %0.",DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.",EnumDuplicateMemberName:"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.",EnumInconsistentMemberValues:"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",EnumInvalidExplicitType:"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidExplicitTypeUnknownSupplied:"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidMemberInitializerPrimaryType:"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.",EnumInvalidMemberInitializerSymbolType:"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.",EnumInvalidMemberInitializerUnknownType:"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.",EnumInvalidMemberName:"Enum member names cannot start with lowercase \'a\' through \'z\'. Instead of using `%0`, consider using `%1`, in enum `%2`.",EnumNumberMemberNotInitialized:"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.",EnumStringMemberInconsistentlyInitailized:"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.",GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",OptionalBindingPattern:"A binding pattern parameter cannot be optional in an implementation signature.",SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don\'t bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:"Unexpected reserved type %0.",UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:\'Unexpected token, expected "number" or "bigint".\',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:"`declare export %0` is not supported. Use `%1` instead.",UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."},y.SyntaxError);function H(e){return"type"===e.importKind||"typeof"===e.importKind}function G(e){return(e.type===o.name||!!e.type.keyword)&&"from"!==e.value}const z={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};const $=/\\*?\\s*@((?:no)?flow)\\b/;const Q={quot:\'"\',amp:"&",apos:"\'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},Z=/^[\\da-fA-F]+$/,ee=/^\\d+$/,te=g({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>.",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"},y.SyntaxError);function re(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function ne(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return ne(e.object)+"."+ne(e.property);throw new Error("Node had unexpected type: "+e.type)}x.j_oTag=new S("...",!0,!0),o.jsxName=new n("jsxName"),o.jsxText=new n("jsxText",{beforeExpr:!0}),o.jsxTagStart=new n("jsxTagStart",{startsExpr:!0}),o.jsxTagEnd=new n("jsxTagEnd"),o.jsxTagStart.updateContext=function(){this.state.context.push(x.j_expr),this.state.context.push(x.j_oTag),this.state.exprAllowed=!1},o.jsxTagEnd.updateContext=function(e){const t=this.state.context.pop();t===x.j_oTag&&e===o.slash||t===x.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===x.j_expr):this.state.exprAllowed=!0};class ie extends K{constructor(...e){super(...e),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class se extends q{createScope(e){return new ie(e)}declareName(e,t,r){const n=this.currentScope();if(1024&t)return this.maybeExportDefined(n,e),void n.exportOnlyBindings.push(e);super.declareName(...arguments),2&t&&(1&t||(this.checkRedeclarationInScope(n,e,t,r),this.maybeExportDefined(n,e)),n.types.push(e)),256&t&&n.enums.push(e),512&t&&n.constEnums.push(e),128&t&&n.classes.push(e)}isRedeclaredInScope(e,t,r){if(e.enums.indexOf(t)>-1){if(256&r){return!!(512&r)!==e.constEnums.indexOf(t)>-1}return!0}return 128&r&&e.classes.indexOf(t)>-1?e.lexical.indexOf(t)>-1&&!!(1&r):!!(2&r&&e.types.indexOf(t)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(e){-1===this.scopeStack[0].types.indexOf(e.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(e.name)&&super.checkLocalExport(e)}}class ae{constructor(){this.stacks=[]}enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}}function oe(e,t){return(e?2:0)|(t?1:0)}function le(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}function ce(e){if(!e)throw new Error("Assert fail")}const pe=g({AbstractMethodHasImplementation:"Method \'%0\' cannot have an implementation because it is marked abstract.",AccesorCannotDeclareThisParameter:"\'get\' and \'set\' accessors cannot declare \'this\' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the \'declare\' modifier.",ClassMethodHasReadonly:"Class methods cannot have the \'readonly\' modifier.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:"\'declare\' is not allowed in %0ters.",DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:"Accessibility modifier already seen.",DuplicateModifier:"Duplicate modifier: \'%0\'.",EmptyHeritageClauseType:"\'%0\' list cannot be empty.",EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"\'export declare\' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use \'import type\'.",IncompatibleModifiers:"\'%0\' modifier cannot be used with \'%1\' modifier.",IndexSignatureHasAbstract:"Index signatures cannot have the \'abstract\' modifier.",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier (\'%0\').",IndexSignatureHasDeclare:"Index signatures cannot have the \'declare\' modifier.",IndexSignatureHasOverride:"\'override\' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the \'static\' modifier.",InvalidModifierOnTypeMember:"\'%0\' modifier cannot appear on a type member.",InvalidModifiersOrder:"\'%0\' modifier must precede \'%1\' modifier.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"\'abstract\' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an \'override\' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the \'abstract\' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier (\'%0\').",ReadonlyForMethodSignature:"\'readonly\' modifier can only appear on a property declaration or index signature.",SetAccesorCannotHaveOptionalParameter:"A \'set\' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A \'set\' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A \'set\' accessor cannot have a return type annotation.",StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"\'readonly\' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0."},y.SyntaxError);function ue(e){return"private"===e||"public"===e||"protected"===e}o.placeholder=new n("%%",{startsExpr:!0});const de=g({ClassNameIsRequired:"A class name is required."},y.SyntaxError);function he(e,t){return e.some(e=>Array.isArray(e)?e[0]===t:e===t)}function fe(e,t,r){const n=e.find(e=>Array.isArray(e)?e[0]===t:e===t);return n&&Array.isArray(n)?n[1][r]:null}const me=["minimal","smart","fsharp"],ye=["hash","bar"];const Te={estree:e=>class extends e{estreeParseRegExpLiteral({pattern:e,flags:t}){let r=null;try{r=new RegExp(e,t)}catch(e){}const n=this.estreeParseLiteral(r);return n.regex={pattern:e,flags:t},n}estreeParseBigIntLiteral(e){let t;try{t=BigInt(e)}catch(e){t=null}const r=this.estreeParseLiteral(t);return r.bigint=String(r.value||e),r}estreeParseDecimalLiteral(e){const t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}directiveToStmt(e){const t=e.value,r=this.startNodeAt(e.start,e.loc.start),n=this.startNodeAt(t.start,t.loc.start);return n.value=t.extra.expressionValue,n.raw=t.extra.raw,r.expression=this.finishNodeAt(n,"Literal",t.end,t.loc.end),r.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",e.end,e.loc.end)}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){null!=e&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){var t;return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!(null!=(t=e.expression.extra)&&t.parenthesized)}stmtToDirective(e){const t=super.stmtToDirective(e),r=e.expression.value;return this.addExtra(t.value,"expressionValue",r),t}parseBlockBody(e,...t){super.parseBlockBody(e,...t);const r=e.directives.map(e=>this.directiveToStmt(e));e.body=r.concat(e.body),delete e.directives}pushClassMethod(e,t,r,n,i,s){this.parseMethod(t,r,n,i,s,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parseExprAtom(e){switch(this.state.type){case o.num:case o.string:return this.estreeParseLiteral(this.state.value);case o.regexp:return this.estreeParseRegExpLiteral(this.state.value);case o.bigint:return this.estreeParseBigIntLiteral(this.state.value);case o.decimal:return this.estreeParseDecimalLiteral(this.state.value);case o._null:return this.estreeParseLiteral(null);case o._true:return this.estreeParseLiteral(!0);case o._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(e)}}parseMaybePrivateName(...e){const t=super.parseMaybePrivateName(...e);return"PrivateName"===t.type&&this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(t):t}convertPrivateNameToPrivateIdentifier(e){const t=super.getPrivateNameSV(e);return delete(e=e).id,e.name=t,e.type="PrivateIdentifier",e}isPrivateName(e){return this.getPluginOption("estree","classFeatures")?"PrivateIdentifier"===e.type:super.isPrivateName(e)}getPrivateNameSV(e){return this.getPluginOption("estree","classFeatures")?e.name:super.getPrivateNameSV(e)}parseLiteral(e,t,r,n){const i=super.parseLiteral(e,t,r,n);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(e,t,r=!1){super.parseFunctionBody(e,t,r),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,r,n,i,s,a=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,r,n,i,s,a),o.type="FunctionExpression",delete o.kind,e.value=o,"ClassPrivateMethod"===s&&(e.computed=!1),s="MethodDefinition",this.finishNode(e,s)}parseClassProperty(...e){const t=super.parseClassProperty(...e);return this.getPluginOption("estree","classFeatures")&&(t.type="PropertyDefinition"),t}parseClassPrivateProperty(...e){const t=super.parseClassPrivateProperty(...e);return this.getPluginOption("estree","classFeatures")&&(t.type="PropertyDefinition",t.computed=!1),t}parseObjectMethod(e,t,r,n,i){const s=super.parseObjectMethod(e,t,r,n,i);return s&&(s.type="Property","method"===s.kind&&(s.kind="init"),s.shorthand=!1),s}parseObjectProperty(e,t,r,n,i){const s=super.parseObjectProperty(e,t,r,n,i);return s&&(s.kind="init",s.type="Property"),s}toAssignable(e,t=!1){return null!=e&&this.isObjectProperty(e)?(this.toAssignable(e.value,t),e):super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,...t){"get"===e.kind||"set"===e.kind?this.raise(e.key.start,T.PatternHasAccessor):e.method?this.raise(e.key.start,T.PatternHasMethod):super.toAssignableObjectExpressionProp(e,...t)}finishCallExpression(e,t){if(super.finishCallExpression(e,t),"Import"===e.callee.type){var r;if(e.type="ImportExpression",e.source=e.arguments[0],this.hasPlugin("importAssertions"))e.attributes=null!=(r=e.arguments[1])?r:null;delete e.arguments,delete e.callee}return e}toReferencedArguments(e){"ImportExpression"!==e.type&&super.toReferencedArguments(e)}parseExport(e){switch(super.parseExport(e),e.type){case"ExportAllDeclaration":e.exported=null;break;case"ExportNamedDeclaration":1===e.specifiers.length&&"ExportNamespaceSpecifier"===e.specifiers[0].type&&(e.type="ExportAllDeclaration",e.exported=e.specifiers[0].exported,delete e.specifiers)}return e}parseSubscript(e,t,r,n,i){const s=super.parseSubscript(e,t,r,n,i);if(i.optionalChainMember){if("OptionalMemberExpression"!==s.type&&"OptionalCallExpression"!==s.type||(s.type=s.type.substring(8)),i.stop){const e=this.startNodeAtNode(s);return e.expression=s,this.finishNode(e,"ChainExpression")}}else"MemberExpression"!==s.type&&"CallExpression"!==s.type||(s.optional=!1);return s}hasPropertyAsPrivateName(e){return"ChainExpression"===e.type&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isOptionalChain(e){return"ChainExpression"===e.type}isObjectProperty(e){return"Property"===e.type&&"init"===e.kind&&!e.method}isObjectMethod(e){return e.method||"get"===e.kind||"set"===e.kind}},jsx:e=>class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,te.UnterminatedJsxContent);const r=this.input.charCodeAt(this.state.pos);switch(r){case 60:case 123:return this.state.pos===this.state.start?60===r&&this.state.exprAllowed?(++this.state.pos,this.finishToken(o.jsxTagStart)):super.getTokenFromCode(r):(e+=this.input.slice(t,this.state.pos),this.finishToken(o.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:default:p(r)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){const t=this.input.charCodeAt(this.state.pos);let r;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,r=e?"\\n":"\\r\\n"):r=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,r}jsxReadString(e){let t="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,T.UnterminatedString);const n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadEntity(),r=this.state.pos):p(n)?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}return t+=this.input.slice(r,this.state.pos++),this.finishToken(o.string,t)}jsxReadEntity(){let e,t="",r=0,n=this.input[this.state.pos];const i=++this.state.pos;for(;this.state.posclass extends e{constructor(...e){super(...e),this.flowPragma=void 0}getScopeHandler(){return W}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,t){return e!==o.string&&e!==o.semi&&e!==o.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){const t=$.exec(e.value);if(t)if("flow"===t[1])this.flowPragma="flow";else{if("noflow"!==t[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}else;}return super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||o.colon);const r=this.flowParseType();return this.state.inType=t,r}flowParsePredicate(){const e=this.startNode(),t=this.state.start;return this.next(),this.expectContextual("checks"),this.state.lastTokStart>t+1&&this.raise(t,J.UnexpectedSpaceBetweenModuloChecks),this.eat(o.parenL)?(e.value=this.parseExpression(),this.expect(o.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(o.colon);let t=null,r=null;return this.match(o.modulo)?(this.state.inType=e,r=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(o.modulo)&&(r=this.flowParsePredicate())),[t,r]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),r=this.startNode(),n=this.startNode();this.isRelational("<")?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(o.parenL);const i=this.flowParseFunctionTypeParams();return r.params=i.params,r.rest=i.rest,r.this=i._this,this.expect(o.parenR),[r.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),n.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.scope.declareName(e.id.name,2048,e.id.start),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,t){if(this.match(o._class))return this.flowParseDeclareClass(e);if(this.match(o._function))return this.flowParseDeclareFunction(e);if(this.match(o._var))return this.flowParseDeclareVariable(e);if(this.eatContextual("module"))return this.match(o.dot)?this.flowParseDeclareModuleExports(e):(t&&this.raise(this.state.lastTokStart,J.NestedDeclareModule),this.flowParseDeclareModule(e));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(e);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(e);if(this.isContextual("interface"))return this.flowParseDeclareInterface(e);if(this.match(o._export))return this.flowParseDeclareExportDeclaration(e,t);throw this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,5,e.id.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(0),this.match(o.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),r=t.body=[];for(this.expect(o.braceL);!this.match(o.braceR);){let e=this.startNode();this.match(o._import)?(this.next(),this.isContextual("type")||this.match(o._typeof)||this.raise(this.state.lastTokStart,J.InvalidNonTypeImportInDeclareModule),this.parseImport(e)):(this.expectContextual("declare",J.UnsupportedStatementInDeclareModule),e=this.flowParseDeclare(e,!0)),r.push(e)}this.scope.exit(),this.expect(o.braceR),this.finishNode(t,"BlockStatement");let n=null,i=!1;return r.forEach(e=>{!function(e){return"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type&&(!e.declaration||"TypeAlias"!==e.declaration.type&&"InterfaceDeclaration"!==e.declaration.type)}(e)?"DeclareModuleExports"===e.type&&(i&&this.raise(e.start,J.DuplicateDeclareModuleExports),"ES"===n&&this.raise(e.start,J.AmbiguousDeclareModuleKind),n="CommonJS",i=!0):("CommonJS"===n&&this.raise(e.start,J.AmbiguousDeclareModuleKind),n="ES")}),e.kind=n||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(o._export),this.eat(o._default))return this.match(o._function)||this.match(o._class)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(o._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!t){const e=this.state.value,t=z[e];throw this.raise(this.state.start,J.UnsupportedDeclareExportKind,e,t)}if(this.match(o._var)||this.match(o._function)||this.match(o._class)||this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(o.star)||this.match(o.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return"ExportNamedDeclaration"===(e=this.parseExport(e)).type&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e;throw this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual("exports"),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){return this.next(),this.flowParseTypeAlias(e),e.type="DeclareTypeAlias",e}flowParseDeclareOpaqueType(e){return this.next(),this.flowParseOpaqueType(e,!0),e.type="DeclareOpaqueType",e}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,t=!1){if(e.id=this.flowParseRestrictedIdentifier(!t,!0),this.scope.declareName(e.id.name,t?17:9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.implements=[],e.mixins=[],this.eat(o._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(o.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(o.comma))}if(this.isContextual("implements")){this.next();do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(o.comma))}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}flowParseInterfaceExtends(){const e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){"_"===e&&this.raise(this.state.start,J.UnexpectedReservedUnderscore)}checkReservedType(e,t,r){X.has(e)&&this.raise(t,r?J.AssignReservedType:J.UnexpectedReservedType,e)}flowParseRestrictedIdentifier(e,t){return this.checkReservedType(this.state.value,this.state.start,t),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(o.eq),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,t){return this.expectContextual("type"),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(o.colon)&&(e.supertype=this.flowParseTypeInitialiser(o.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(o.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){const t=this.state.start,r=this.startNode(),n=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return r.name=i.name,r.variance=n,r.bound=i.typeAnnotation,this.match(o.eq)?(this.eat(o.eq),r.default=this.flowParseType()):e&&this.raise(t,J.MissingTypeParamDefault),this.finishNode(r,"TypeParameter")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(o.jsxTagStart)?this.next():this.unexpected();let r=!1;do{const e=this.flowParseTypeParameter(r);t.params.push(e),e.default&&(r=!0),this.isRelational(">")||this.expect(o.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const e=this.startNode(),t=this.state.inType;e.params=[],this.state.inType=!0,this.expectRelational("<");const r=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(o.comma);return this.state.noAnonFunctionType=r,this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(o.comma);return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){const e=this.startNode();if(this.expectContextual("interface"),e.extends=[],this.eat(o._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(o.comma));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(o.num)||this.match(o.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,r){return e.static=t,this.lookahead().type===o.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(o.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=r,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(o.bracketR),this.expect(o.bracketR),this.isRelational("<")||this.match(o.parenL)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(o.question)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(o.parenL),this.match(o._this)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(o.parenR)||this.expect(o.comma));!this.match(o.parenR)&&!this.match(o.ellipsis);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(o.parenR)||this.expect(o.comma);return this.eat(o.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(o.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){const r=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(r),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:r,allowProto:n,allowInexact:i}){const s=this.state.inType;this.state.inType=!0;const a=this.startNode();let l,c;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let p=!1;for(t&&this.match(o.braceBarL)?(this.expect(o.braceBarL),l=o.braceBarR,c=!0):(this.expect(o.braceL),l=o.braceR,c=!1),a.exact=c;!this.match(l);){let t=!1,s=null,l=null;const u=this.startNode();if(n&&this.isContextual("proto")){const t=this.lookahead();t.type!==o.colon&&t.type!==o.question&&(this.next(),s=this.state.start,e=!1)}if(e&&this.isContextual("static")){const e=this.lookahead();e.type!==o.colon&&e.type!==o.question&&(this.next(),t=!0)}const d=this.flowParseVariance();if(this.eat(o.bracketL))null!=s&&this.unexpected(s),this.eat(o.bracketL)?(d&&this.unexpected(d.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):a.indexers.push(this.flowParseObjectTypeIndexer(u,t,d));else if(this.match(o.parenL)||this.isRelational("<"))null!=s&&this.unexpected(s),d&&this.unexpected(d.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e="init";if(this.isContextual("get")||this.isContextual("set")){const t=this.lookahead();t.type!==o.name&&t.type!==o.string&&t.type!==o.num||(e=this.state.value,this.next())}const n=this.flowParseObjectTypeProperty(u,t,s,d,e,r,null!=i?i:!c);null===n?(p=!0,l=this.state.lastTokStart):a.properties.push(n)}this.flowObjectTypeSemicolon(),!l||this.match(o.braceR)||this.match(o.braceBarR)||this.raise(l,J.UnexpectedExplicitInexactInObject)}this.expect(l),r&&(a.inexact=p);const u=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=s,u}flowParseObjectTypeProperty(e,t,r,n,i,s,a){if(this.eat(o.ellipsis)){return this.match(o.comma)||this.match(o.semi)||this.match(o.braceR)||this.match(o.braceBarR)?(s?a||this.raise(this.state.lastTokStart,J.InexactInsideExact):this.raise(this.state.lastTokStart,J.InexactInsideNonObject),n&&this.raise(n.start,J.InexactVariance),null):(s||this.raise(this.state.lastTokStart,J.UnexpectedSpreadType),null!=r&&this.unexpected(r),n&&this.raise(n.start,J.SpreadVariance),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"))}{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=r,e.kind=i;let a=!1;return this.isRelational("<")||this.match(o.parenL)?(e.method=!0,null!=r&&this.unexpected(r),n&&this.unexpected(n.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(e),!s&&"constructor"===e.key.name&&e.value.this&&this.raise(e.value.this.start,J.ThisParamBannedInConstructor)):("init"!==i&&this.unexpected(),e.method=!1,this.eat(o.question)&&(a=!0),e.value=this.flowParseTypeInitialiser(),e.variance=n),e.optional=a,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,r=e.start,n=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(e.value.this.start,"get"===e.kind?J.GetterMayNotHaveThisParam:J.SetterMayNotHaveThisParam),n!==t&&("get"===e.kind?this.raise(r,T.BadGetterArity):this.raise(r,T.BadSetterArity)),"set"===e.kind&&e.value.rest&&this.raise(r,T.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(o.semi)||this.eat(o.comma)||this.match(o.braceR)||this.match(o.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;let n=r||this.flowParseRestrictedIdentifier(!0);for(;this.eat(o.dot);){const r=this.startNodeAt(e,t);r.qualification=n,r.id=this.flowParseRestrictedIdentifier(!0),n=this.finishNode(r,"QualifiedTypeIdentifier")}return n}flowParseGenericType(e,t,r){const n=this.startNodeAt(e,t);return n.typeParameters=null,n.id=this.flowParseQualifiedTypeIdentifier(e,t,r),this.isRelational("<")&&(n.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(n,"GenericTypeAnnotation")}flowParseTypeofType(){const e=this.startNode();return this.expect(o._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(o.bracketL);this.state.possuper.parseFunctionBody(e,!0,r)):super.parseFunctionBody(e,!1,r)}parseFunctionBodyAndFinish(e,t,r=!1){if(this.match(o.colon)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,t,r)}parseStatement(e,t){if(this.state.strict&&this.match(o.name)&&"interface"===this.state.value){const e=this.lookahead();if(e.type===o.name||U(e.value)){const e=this.startNode();return this.next(),this.flowParseInterface(e)}}else if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}const r=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(r)||(this.flowPragma=null),r}parseExpressionStatement(e,t){if("Identifier"===t.type)if("declare"===t.name){if(this.match(o._class)||this.match(o.name)||this.match(o._function)||this.match(o._var)||this.match(o._export))return this.flowParseDeclare(e)}else if(this.match(o.name)){if("interface"===t.name)return this.flowParseInterface(e);if("type"===t.name)return this.flowParseTypeAlias(e);if("opaque"===t.name)return this.flowParseOpaqueType(e,!1)}return super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||this.shouldParseEnums()&&this.isContextual("enum")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(o.name)||!("type"===this.state.value||"interface"===this.state.value||"opaque"===this.state.value||this.shouldParseEnums()&&"enum"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,t,r,n){if(!this.match(o.question))return e;if(n){const i=this.tryParse(()=>super.parseConditional(e,t,r));return i.node?(i.error&&(this.state=i.failState),i.node):(n.start=i.error.pos||this.state.start,e)}this.expect(o.question);const i=this.state.clone(),s=this.state.noArrowAt,a=this.startNodeAt(t,r);let{consequent:l,failed:c}=this.tryParseConditionalConsequent(),[p,u]=this.getArrowLikeExpressions(l);if(c||u.length>0){const e=[...s];if(u.length>0){this.state=i,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(i.start,J.AmbiguousConditionalArrow),c&&1===p.length&&(this.state=i,this.state.noArrowAt=e.concat(p[0].start),({consequent:l,failed:c}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(l,!0),this.state.noArrowAt=s,this.expect(o.colon),a.test=e,a.consequent=l,a.alternate=this.forwardNoArrowParamsConversionAt(a,()=>this.parseMaybeAssign(void 0,void 0,void 0)),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssignAllowIn(),t=!this.match(o.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const r=[e],n=[];for(;0!==r.length;){const e=r.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):n.push(e),r.push(e.body)):"ConditionalExpression"===e.type&&(r.push(e.consequent),r.push(e.alternate))}return t?(n.forEach(e=>this.finishArrowValidation(e)),[n,[]]):function(e,t){const r=[],n=[];for(let i=0;ie.params.every(e=>this.isAssignable(e,!0)))}finishArrowValidation(e){var t;this.toAssignableList(e.params,null==(t=e.extra)?void 0:t.trailingComma,!1),this.scope.enter(6),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let r;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),r=t(),this.state.noArrowParamsConversionAt.pop()):r=t(),r}parseParenItem(e,t,r){if(e=super.parseParenItem(e,t,r),this.eat(o.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(o.colon)){const n=this.startNodeAt(t,r);return n.expression=e,n.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(n,"TypeCastExpression")}return e}assertModuleNodeAllowed(e){"ImportDeclaration"===e.type&&("type"===e.importKind||"typeof"===e.importKind)||"ExportNamedDeclaration"===e.type&&"type"===e.exportKind||"ExportAllDeclaration"===e.type&&"type"===e.exportKind||super.assertModuleNodeAllowed(e)}parseExport(e){const t=super.parseExport(e);return"ExportNamedDeclaration"!==t.type&&"ExportAllDeclaration"!==t.type||(t.exportKind=t.exportKind||"value"),t}parseExportDeclaration(e){if(this.isContextual("type")){e.exportKind="type";const t=this.startNode();return this.next(),this.match(o.braceL)?(e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e),null):this.flowParseTypeAlias(t)}if(this.isContextual("opaque")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseOpaqueType(t,!1)}if(this.isContextual("interface")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.shouldParseEnums()&&this.isContextual("enum")){e.exportKind="value";const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDeclaration(e)}eatExportStar(e){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==o.star)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const t=this.state.start,r=super.maybeParseExportNamespaceSpecifier(e);return r&&"type"===e.exportKind&&this.unexpected(t),r}parseClassId(e,t,r){super.parseClassId(e,t,r),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,r){const n=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,r),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type&&"PropertyDefinition"!==t.type?this.raise(n,J.DeclareClassElement):t.value&&this.raise(t.value.start,J.DeclareClassFieldInitializer))}isIterator(e){return"iterator"===e||"asyncIterator"===e}readIterator(){const e=super.readWord1(),t="@@"+e;this.isIterator(e)&&this.state.inType||this.raise(this.state.pos,T.InvalidIdentifier,t),this.finishToken(o.name,t)}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);return 123===e&&124===t?this.finishOp(o.braceBarL,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?46===t?this.finishOp(o.questionDot,2):this.finishOp(o.question,1):function(e,t){return 64===e&&64===t}(e,t)?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e):this.finishOp(o.relational,1)}isAssignable(e,t){switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":return!0;case"ObjectExpression":{const t=e.properties.length-1;return e.properties.every((e,r)=>"ObjectMethod"!==e.type&&(r===t||"SpreadElement"===e.type)&&this.isAssignable(e))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every(e=>this.isAssignable(e));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":case"TypeCastExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toAssignable(e,t=!1){return"TypeCastExpression"===e.type?super.toAssignable(this.typeCastToParameter(e),t):super.toAssignable(e,t)}toAssignableList(e,t,r){for(let t=0;t1)&&t||this.raise(i.typeAnnotation.start,J.TypeCastInPattern)}return e}parseArrayLike(e,t,r,n){const i=super.parseArrayLike(e,t,r,n);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}checkLVal(e,...t){if("TypeCastExpression"!==e.type)return super.checkLVal(e,...t)}parseClassProperty(e){return this.match(o.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(o.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(o.colon)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(o.colon)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,r,n,i,s){if(t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,r,n,i,s),t.params&&i){const e=t.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,J.ThisParamBannedInConstructor)}else if("MethodDefinition"===t.type&&i&&t.value.params){const e=t.value.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,J.ThisParamBannedInConstructor)}}pushClassPrivateMethod(e,t,r,n){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,r,n)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const t=e.implements=[];do{const e=this.startNode();e.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,t.push(this.finishNode(e,"ClassImplements"))}while(this.eat(o.comma))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);const t=this.getObjectOrClassMethodParams(e);if(t.length>0){const r=t[0];this.isThisParam(r)&&"get"===e.kind?this.raise(r.start,J.GetterMayNotHaveThisParam):this.isThisParam(r)&&this.raise(r.start,J.SetterMayNotHaveThisParam)}}parsePropertyName(e,t){const r=this.flowParseVariance(),n=super.parsePropertyName(e,t);return e.variance=r,n}parseObjPropValue(e,t,r,n,i,s,a,l){let c;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&!a&&(c=this.flowParseTypeParameterDeclaration(),this.match(o.parenL)||this.unexpected()),super.parseObjPropValue(e,t,r,n,i,s,a,l),c&&((e.value||e).typeParameters=c)}parseAssignableListItemTypes(e){return this.eat(o.question)&&("Identifier"!==e.type&&this.raise(e.start,J.OptionalBindingPattern),this.isThisParam(e)&&this.raise(e.start,J.ThisParamMayNotBeOptional),e.optional=!0),this.match(o.colon)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(e.start,J.ThisParamAnnotationRequired),this.match(o.eq)&&this.isThisParam(e)&&this.raise(e.start,J.ThisParamNoDefault),this.resetEndLocation(e),e}parseMaybeDefault(e,t,r){const n=super.parseMaybeDefault(e,t,r);return"AssignmentPattern"===n.type&&n.typeAnnotation&&n.right.startsuper.parseMaybeAssign(e,t,r),s),!i.error)return i.node;const{context:n}=this.state;n[n.length-1]===x.j_oTag?n.length-=2:n[n.length-1]===x.j_expr&&(n.length-=1)}if(null!=(n=i)&&n.error||this.isRelational("<")){var a,l;let n;s=s||this.state.clone();const o=this.tryParse(i=>{var s;n=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(n,()=>{const i=super.parseMaybeAssign(e,t,r);return this.resetStartLocationFromNode(i,n),i});"ArrowFunctionExpression"!==a.type&&null!=(s=a.extra)&&s.parenthesized&&i();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=n,this.resetStartLocationFromNode(o,n),a},s);let c=null;if(o.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(o.node).type){if(!o.error&&!o.aborted)return o.node.async&&this.raise(n.start,J.UnexpectedTypeParameterBeforeAsyncArrowFunction),o.node;c=o.node}if(null!=(a=i)&&a.node)return this.state=i.failState,i.node;if(c)return this.state=o.failState,c;if(null!=(l=i)&&l.thrown)throw i.error;if(o.thrown)throw o.error;throw this.raise(n.start,J.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(e,t,r)}parseArrow(e){if(this.match(o.colon)){const t=this.tryParse(()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const r=this.startNode();return[r.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(o.arrow)||this.unexpected(),r});if(t.thrown)return null;t.error&&(this.state=t.failState),e.returnType=t.node.typeAnnotation?this.finishNode(t.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(){return this.match(o.colon)||super.shouldParseArrow()}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,r){if(!r||-1===this.state.noArrowParamsConversionAt.indexOf(e.start)){for(let t=0;t0&&this.raise(e.params[t].start,J.ThisParamMustBeFirst);return super.checkParams(...arguments)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,r,n){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const n=this.startNodeAt(t,r);n.callee=e,n.arguments=this.parseCallExpressionArguments(o.parenR,!1),e=this.finishNode(n,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const i=this.state.clone(),s=this.tryParse(e=>this.parseAsyncArrowWithTypeParameters(t,r)||e(),i);if(!s.error&&!s.aborted)return s.node;const a=this.tryParse(()=>super.parseSubscripts(e,t,r,n),i);if(a.node&&!a.error)return a.node;if(s.node)return this.state=s.failState,s.node;if(a.node)return this.state=a.failState,a.node;throw s.error||a.error}return super.parseSubscripts(e,t,r,n)}parseSubscript(e,t,r,n,i){if(this.match(o.questionDot)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,n)return i.stop=!0,e;this.next();const s=this.startNodeAt(t,r);return s.callee=e,s.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(o.parenL),s.arguments=this.parseCallExpressionArguments(o.parenR,!1),s.optional=!0,this.finishCallExpression(s,!0)}if(!n&&this.shouldParseTypes()&&this.isRelational("<")){const n=this.startNodeAt(t,r);n.callee=e;const s=this.tryParse(()=>(n.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(o.parenL),n.arguments=this.parseCallExpressionArguments(o.parenR,!1),i.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,i.optionalChainMember)));if(s.node)return s.error&&(this.state=s.failState),s.node}return super.parseSubscript(e,t,r,n,i)}parseNewArguments(e){let t=null;this.shouldParseTypes()&&this.isRelational("<")&&(t=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),e.typeArguments=t,super.parseNewArguments(e)}parseAsyncArrowWithTypeParameters(e,t){const r=this.startNodeAt(e,t);if(this.parseFunctionParams(r),this.parseArrow(r))return this.parseArrowExpression(r,void 0,!0)}readToken_mult_modulo(e){const t=this.input.charCodeAt(this.state.pos+1);if(42===e&&47===t&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(e)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);124!==e||125!==t?super.readToken_pipe_amp(e):this.finishOp(o.braceBarR,2)}parseTopLevel(e,t){const r=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,J.UnterminatedFlowComment),r}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,J.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const e=this.input.indexOf("*-/",this.state.pos+=2);if(-1===e)throw this.raise(this.state.pos-2,T.UnterminatedComment);this.state.pos=e+3}else super.skipBlockComment()}skipFlowComment(){const{pos:e}=this.state;let t=2;for(;[32,9].includes(this.input.charCodeAt(e+t));)t++;const r=this.input.charCodeAt(t+e),n=this.input.charCodeAt(t+e+1);return 58===r&&58===n?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===r&&58!==n&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,T.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:r}){this.raise(e,J.EnumBooleanMemberNotInitialized,r,t)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:r}){const n=r[0].toUpperCase()+r.slice(1);this.raise(e,J.EnumInvalidMemberName,r,n,t)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:r}){this.raise(e,J.EnumDuplicateMemberName,r,t)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,J.EnumInconsistentMemberValues,t)}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:r}){return this.raise(e,null===r?J.EnumInvalidExplicitTypeUnknownSupplied:J.EnumInvalidExplicitType,t,r)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:r,memberName:n}){let i=null;switch(r){case"boolean":case"number":case"string":i=J.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":i=J.EnumInvalidMemberInitializerSymbolType;break;default:i=J.EnumInvalidMemberInitializerUnknownType}return this.raise(e,i,t,n,r)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:r}){this.raise(e,J.EnumNumberMemberNotInitialized,t,r)}flowEnumErrorStringMemberInconsistentlyInitailized(e,{enumName:t}){this.raise(e,J.EnumStringMemberInconsistentlyInitailized,t)}flowEnumMemberInit(){const e=this.state.start,t=()=>this.match(o.comma)||this.match(o.braceR);switch(this.state.type){case o.num:{const r=this.parseLiteral(this.state.value,"NumericLiteral");return t()?{type:"number",pos:r.start,value:r}:{type:"invalid",pos:e}}case o.string:{const r=this.parseLiteral(this.state.value,"StringLiteral");return t()?{type:"string",pos:r.start,value:r}:{type:"invalid",pos:e}}case o._true:case o._false:{const r=this.parseBooleanLiteral();return t()?{type:"boolean",pos:r.start,value:r}:{type:"invalid",pos:e}}default:return{type:"invalid",pos:e}}}flowEnumMemberRaw(){const e=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(o.eq)?this.flowEnumMemberInit():{type:"none",pos:e}}}flowEnumCheckExplicitTypeMismatch(e,t,r){const{explicitType:n}=t;null!==n&&n!==r&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const r=new Set,n={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let i=!1;for(;!this.match(o.braceR);){if(this.eat(o.ellipsis)){i=!0;break}const s=this.startNode(),{id:a,init:l}=this.flowEnumMemberRaw(),c=a.name;if(""===c)continue;/^[a-z]/.test(c)&&this.flowEnumErrorInvalidMemberName(a.start,{enumName:e,memberName:c}),r.has(c)&&this.flowEnumErrorDuplicateMemberName(a.start,{enumName:e,memberName:c}),r.add(c);const p={enumName:e,explicitType:t,memberName:c};switch(s.id=a,l.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(l.pos,p,"boolean"),s.init=l.value,n.booleanMembers.push(this.finishNode(s,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(l.pos,p,"number"),s.init=l.value,n.numberMembers.push(this.finishNode(s,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(l.pos,p,"string"),s.init=l.value,n.stringMembers.push(this.finishNode(s,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(l.pos,p);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(l.pos,p);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(l.pos,p);break;default:n.defaultedMembers.push(this.finishNode(s,"EnumDefaultedMember"))}}this.match(o.braceR)||this.expect(o.comma)}return{members:n,hasUnknownMembers:i}}flowEnumStringMembers(e,t,{enumName:r}){if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){for(const t of e)this.flowEnumErrorStringMemberInconsistentlyInitailized(t.start,{enumName:r});return t}for(const e of t)this.flowEnumErrorStringMemberInconsistentlyInitailized(e.start,{enumName:r});return e}flowEnumParseExplicitType({enumName:e}){if(this.eatContextual("of")){if(!this.match(o.name))throw this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:e,suppliedType:null});const{value:t}=this.state;return this.next(),"boolean"!==t&&"number"!==t&&"string"!==t&&"symbol"!==t&&this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:e,suppliedType:t}),t}return null}flowEnumBody(e,{enumName:t,nameLoc:r}){const n=this.flowEnumParseExplicitType({enumName:t});this.expect(o.braceL);const{members:i,hasUnknownMembers:s}=this.flowEnumMembers({enumName:t,explicitType:n});switch(e.hasUnknownMembers=s,n){case"boolean":return e.explicitType=!0,e.members=i.booleanMembers,this.expect(o.braceR),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=i.numberMembers,this.expect(o.braceR),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(i.stringMembers,i.defaultedMembers,{enumName:t}),this.expect(o.braceR),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=i.defaultedMembers,this.expect(o.braceR),this.finishNode(e,"EnumSymbolBody");default:{const n=()=>(e.members=[],this.expect(o.braceR),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;const s=i.booleanMembers.length,a=i.numberMembers.length,l=i.stringMembers.length,c=i.defaultedMembers.length;if(s||a||l||c){if(s||a){if(!a&&!l&&s>=c){for(const e of i.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=i.booleanMembers,this.expect(o.braceR),this.finishNode(e,"EnumBooleanBody")}if(!s&&!l&&a>=c){for(const e of i.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=i.numberMembers,this.expect(o.braceR),this.finishNode(e,"EnumNumberBody")}return this.flowEnumErrorInconsistentMemberValues(r,{enumName:t}),n()}return e.members=this.flowEnumStringMembers(i.stringMembers,i.defaultedMembers,{enumName:t}),this.expect(o.braceR),this.finishNode(e,"EnumStringBody")}return n()}}}flowParseEnumDeclaration(e){const t=this.parseIdentifier();return e.id=t,e.body=this.flowEnumBody(this.startNode(),{enumName:t.name,nameLoc:t.start}),this.finishNode(e,"EnumDeclaration")}updateContext(e){this.match(o.name)&&"of"===this.state.value&&e===o.name&&"interface"===this.input.slice(this.state.lastTokStart,this.state.lastTokEnd)?this.state.exprAllowed=!1:super.updateContext(e)}isLookaheadToken_lt(){const e=this.nextTokenStart();if(60===this.input.charCodeAt(e)){const t=this.input.charCodeAt(e+1);return 60!==t&&61!==t}return!1}maybeUnwrapTypeCastExpression(e){return"TypeCastExpression"===e.type?e.expression:e}},typescript:e=>class extends e{getScopeHandler(){return se}tsIsIdentifier(){return this.match(o.name)}tsTokenCanFollowModifier(){return(this.match(o.bracketL)||this.match(o.braceL)||this.match(o.star)||this.match(o.ellipsis)||this.match(o.privateName)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(e){if(!this.match(o.name))return;const t=this.state.value;return-1!==e.indexOf(t)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?t:void 0}tsParseModifiers(e,t,r,n){const i=(t,r,n,i)=>{r===n&&e[i]&&this.raise(t,pe.InvalidModifiersOrder,n,i)},s=(t,r,n,i)=>{(e[n]&&r===i||e[i]&&r===n)&&this.raise(t,pe.IncompatibleModifiers,n,i)};for(;;){const a=this.state.start,o=this.tsParseModifier(t.concat(null!=r?r:[]));if(!o)break;ue(o)?e.accessibility?this.raise(a,pe.DuplicateAccessibilityModifier):(i(a,o,o,"override"),i(a,o,o,"static"),e.accessibility=o):(Object.hasOwnProperty.call(e,o)?this.raise(a,pe.DuplicateModifier,o):(i(a,o,"static","readonly"),i(a,o,"static","override"),i(a,o,"override","readonly"),i(a,o,"abstract","override"),s(a,o,"declare","override"),s(a,o,"static","abstract")),e[o]=!0),null!=r&&r.includes(o)&&this.raise(a,n,o)}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(o.braceR);case"HeritageClauseElement":return this.match(o.braceL);case"TupleElementTypes":return this.match(o.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(e,t){const r=[];for(;!this.tsIsListTerminator(e);)r.push(t());return r}tsParseDelimitedList(e,t){return le(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,r){const n=[];for(;!this.tsIsListTerminator(e);){const i=t();if(null==i)return;if(n.push(i),!this.eat(o.comma)){if(this.tsIsListTerminator(e))break;return void(r&&this.expect(o.comma))}}return n}tsParseBracketedList(e,t,r,n){n||(r?this.expect(o.bracketL):this.expectRelational("<"));const i=this.tsParseDelimitedList(e,t);return r?this.expect(o.bracketR):this.expectRelational(">"),i}tsParseImportType(){const e=this.startNode();return this.expect(o._import),this.expect(o.parenL),this.match(o.string)||this.raise(this.state.start,pe.UnsupportedImportTypeArgument),e.argument=this.parseExprAtom(),this.expect(o.parenR),this.eat(o.dot)&&(e.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseEntityName(e){let t=this.parseIdentifier();for(;this.eat(o.dot);){const r=this.startNodeAtNode(t);r.left=t,r.right=this.parseIdentifier(e),t=this.finishNode(r,"TSQualifiedName")}return t}tsParseTypeReference(){const e=this.startNode();return e.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();const t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){const e=this.startNode();return this.expect(o._typeof),this.match(o._import)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(!0),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsEatThenParseType(o._extends),e.default=this.tsEatThenParseType(o.eq),this.finishNode(e,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const e=this.startNode();return this.isRelational("<")||this.match(o.jsxTagStart)?this.next():this.unexpected(),e.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),0===e.params.length&&this.raise(e.start,pe.EmptyTypeParameters),this.finishNode(e,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===o._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(e,t){const r=e===o.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(o.parenL),t.parameters=this.tsParseBindingListForSignature(),(r||this.match(e))&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return this.parseBindingList(o.parenR,41).map(e=>("Identifier"!==e.type&&"RestElement"!==e.type&&"ObjectPattern"!==e.type&&"ArrayPattern"!==e.type&&this.raise(e.start,pe.UnsupportedSignatureParameterKind,e.type),e))}tsParseTypeMemberSemicolon(){this.eat(o.comma)||this.isLineTerminator()||this.expect(o.semi)}tsParseSignatureMember(e,t){return this.tsFillSignature(o.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(o.name)&&this.match(o.colon)}tsTryParseIndexSignature(e){if(!this.match(o.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(o.bracketL);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(o.bracketR),e.parameters=[t];const r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(o.question)&&(e.optional=!0);const r=e;if(this.match(o.parenL)||this.isRelational("<")){t&&this.raise(e.start,pe.ReadonlyForMethodSignature);const n=r;if(n.kind&&this.isRelational("<")&&this.raise(this.state.pos,pe.AccesorCannotHaveTypeParameters),this.tsFillSignature(o.colon,n),this.tsParseTypeMemberSemicolon(),"get"===n.kind)n.parameters.length>0&&(this.raise(this.state.pos,T.BadGetterArity),this.isThisParam(n.parameters[0])&&this.raise(this.state.pos,pe.AccesorCannotDeclareThisParameter));else if("set"===n.kind){if(1!==n.parameters.length)this.raise(this.state.pos,T.BadSetterArity);else{const e=n.parameters[0];this.isThisParam(e)&&this.raise(this.state.pos,pe.AccesorCannotDeclareThisParameter),"Identifier"===e.type&&e.optional&&this.raise(this.state.pos,pe.SetAccesorCannotHaveOptionalParameter),"RestElement"===e.type&&this.raise(this.state.pos,pe.SetAccesorCannotHaveRestParameter)}n.typeAnnotation&&this.raise(n.typeAnnotation.start,pe.SetAccesorCannotHaveReturnType)}else n.kind="method";return this.finishNode(n,"TSMethodSignature")}{const e=r;t&&(e.readonly=!0);const n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSPropertySignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(o.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(o._new)){const t=this.startNode();return this.next(),this.match(o.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers(e,["readonly"],["declare","abstract","private","protected","public","static","override"],pe.InvalidModifierOnTypeMember);const t=this.tsTryParseIndexSignature(e);return t||(this.parsePropertyName(e,!1),e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||!this.tsTokenCanFollowModifier()||(e.kind=e.key.name,this.parsePropertyName(e,!1)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(o.braceL);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(o.braceR),e}tsIsStartOfMappedType(){return this.next(),this.eat(o.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(o.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(o._in))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsExpectThenParseType(o._in),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){const e=this.startNode();return this.expect(o.braceL),this.match(o.plusMin)?(e.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(e.readonly=!0),this.expect(o.bracketL),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(o.bracketR),this.match(o.plusMin)?(e.optional=this.state.value,this.next(),this.expect(o.question)):this.eat(o.question)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(o.braceR),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1,r=null;return e.elementTypes.forEach(e=>{var n;let{type:i}=e;!t||"TSRestType"===i||"TSOptionalType"===i||"TSNamedTupleMember"===i&&e.optional||this.raise(e.start,pe.OptionalTypeBeforeRequired),t=t||"TSNamedTupleMember"===i&&e.optional||"TSOptionalType"===i,"TSRestType"===i&&(i=(e=e.typeAnnotation).type);const s="TSNamedTupleMember"===i;r=null!=(n=r)?n:s,r!==s&&this.raise(e.start,pe.MixedLabeledAndUnlabeledElements)}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const{start:e,startLoc:t}=this.state,r=this.eat(o.ellipsis);let n=this.tsParseType();const i=this.eat(o.question);if(this.eat(o.colon)){const e=this.startNodeAtNode(n);e.optional=i,"TSTypeReference"!==n.type||n.typeParameters||"Identifier"!==n.typeName.type?(this.raise(n.start,pe.InvalidTupleMemberLabel),e.label=n):e.label=n.typeName,e.elementType=this.tsParseType(),n=this.finishNode(e,"TSNamedTupleMember")}else if(i){const e=this.startNodeAtNode(n);e.typeAnnotation=n,n=this.finishNode(e,"TSOptionalType")}if(r){const r=this.startNodeAt(e,t);r.typeAnnotation=n,n=this.finishNode(r,"TSRestType")}return n}tsParseParenthesizedType(){const e=this.startNode();return this.expect(o.parenL),e.typeAnnotation=this.tsParseType(),this.expect(o.parenR),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){const r=this.startNode();return"TSConstructorType"===e&&(r.abstract=!!t,t&&this.next(),this.next()),this.tsFillSignature(o.arrow,r),this.finishNode(r,e)}tsParseLiteralTypeNode(){const e=this.startNode();return e.literal=(()=>{switch(this.state.type){case o.num:case o.bigint:case o.string:case o._true:case o._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){const e=this.startNode();return e.literal=this.parseTemplate(!1),this.finishNode(e,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const e=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case o.name:case o._void:case o._null:{const e=this.match(o._void)?"TSVoidKeyword":this.match(o._null)?"TSNullKeyword":function(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==e&&46!==this.lookaheadCharCode()){const t=this.startNode();return this.next(),this.finishNode(t,e)}return this.tsParseTypeReference()}case o.string:case o.num:case o.bigint:case o._true:case o._false:return this.tsParseLiteralTypeNode();case o.plusMin:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();if(t.type!==o.num&&t.type!==o.bigint)throw this.unexpected();return e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case o._this:return this.tsParseThisTypeOrThisTypePredicate();case o._typeof:return this.tsParseTypeQuery();case o._import:return this.tsParseImportType();case o.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case o.bracketL:return this.tsParseTupleType();case o.parenL:return this.tsParseParenthesizedType();case o.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(o.bracketL);)if(this.match(o.bracketR)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(o.bracketR),e=this.finishNode(t,"TSArrayType")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(o.bracketR),e=this.finishNode(t,"TSIndexedAccessType")}return e}tsParseTypeOperator(e){const t=this.startNode();return this.expectContextual(e),t.operator=e,t.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===e&&this.tsCheckTypeAnnotationForReadOnly(t),this.finishNode(t,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(e.start,pe.UnexpectedReadonly)}}tsParseInferType(){const e=this.startNode();this.expectContextual("infer");const t=this.startNode();return t.name=this.parseIdentifierName(t.start),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseTypeOperatorOrHigher(){const e=["keyof","unique","readonly"].find(e=>this.isContextual(e));return e?this.tsParseTypeOperator(e):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(e,t,r){const n=this.startNode(),i=this.eat(r),s=[];do{s.push(t())}while(this.eat(r));return 1!==s.length||i?(n.types=s,this.finishNode(n,e)):s[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),o.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),o.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(o.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(o.name)||this.match(o._this))return this.next(),!0;if(this.match(o.braceL)){let e=1;for(this.next();e>0;)this.match(o.braceL)?++e:this.match(o.braceR)&&--e,this.next();return!0}if(this.match(o.bracketL)){let e=1;for(this.next();e>0;)this.match(o.bracketL)?++e:this.match(o.bracketR)&&--e,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(o.parenR)||this.match(o.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(o.colon)||this.match(o.comma)||this.match(o.question)||this.match(o.eq))return!0;if(this.match(o.parenR)&&(this.next(),this.match(o.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{const t=this.startNode();this.expect(e);const r=this.startNode(),n=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(n&&this.match(o._this)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(r.parameterName=e,r.asserts=!0,e=this.finishNode(r,"TSTypePredicate")):(this.resetStartLocationFromNode(e,r),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return n?(r.parameterName=this.parseIdentifier(),r.asserts=n,t.typeAnnotation=this.finishNode(r,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);const s=this.tsParseTypeAnnotation(!1);return r.parameterName=i,r.typeAnnotation=s,r.asserts=n,t.typeAnnotation=this.finishNode(r,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(o.colon)?this.tsParseTypeOrTypePredicateAnnotation(o.colon):void 0}tsTryParseTypeAnnotation(){return this.match(o.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(o.colon)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(!this.match(o.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const e=this.state.containsEsc;return this.next(),!(!this.match(o.name)&&!this.match(o._this))&&(e&&this.raise(this.state.lastTokStart,T.InvalidEscapedReservedWord,"asserts"),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(o.colon),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){ce(this.state.inType);const e=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(o._extends))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsParseNonConditionalType(),this.expect(o.question),t.trueType=this.tsParseType(),this.expect(o.colon),t.falseType=this.tsParseType(),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual("abstract")&&this.lookahead().type===o._new}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(o._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const e=this.startNode(),t=this.tsTryNextParseConstantContext();return e.typeAnnotation=t||this.tsNextThenParseType(),this.expectRelational(">"),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){const t=this.state.start,r=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return r.length||this.raise(t,pe.EmptyHeritageClauseType,e),r}tsParseExpressionWithTypeArguments(){const e=this.startNode();return e.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(e){e.id=this.parseIdentifier(),this.checkLVal(e.id,"typescript interface declaration",130),e.typeParameters=this.tsTryParseTypeParameters(),this.eat(o._extends)&&(e.extends=this.tsParseHeritageClause("extends"));const t=this.startNode();return t.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(t,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkLVal(e.id,"typescript type alias",2),e.typeParameters=this.tsTryParseTypeParameters(),e.typeAnnotation=this.tsInType(()=>{if(this.expect(o.eq),this.isContextual("intrinsic")&&this.lookahead().type!==o.dot){const e=this.startNode();return this.next(),this.finishNode(e,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInNoContext(e){const t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}tsInType(e){const t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsEatThenParseType(e){return this.match(e)?this.tsNextThenParseType():void 0}tsExpectThenParseType(e){return this.tsDoThenParseType(()=>this.expect(e))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(e){return this.tsInType(()=>(e(),this.tsParseType()))}tsParseEnumMember(){const e=this.startNode();return e.id=this.match(o.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(o.eq)&&(e.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t){return t&&(e.const=!0),e.id=this.parseIdentifier(),this.checkLVal(e.id,"typescript enum declaration",t?779:267),this.expect(o.braceL),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(o.braceR),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(o.braceL),this.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,o.braceR),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){if(e.id=this.parseIdentifier(),t||this.checkLVal(e.id,"module or namespace declaration",1024),this.eat(o.dot)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual("global")?(e.global=!0,e.id=this.parseIdentifier()):this.match(o.string)?e.id=this.parseExprAtom():this.unexpected(),this.match(o.braceL)?(this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t){e.isExport=t||!1,e.id=this.parseIdentifier(),this.checkLVal(e.id,"import equals declaration",9),this.expect(o.eq);const r=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==r.type&&this.raise(r.start,pe.ImportAliasHasImportType),e.moduleReference=r,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const e=this.startNode();if(this.expectContextual("require"),this.expect(o.parenL),!this.match(o.string))throw this.unexpected();return e.expression=this.parseExprAtom(),this.expect(o.parenR),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),r=e();return this.state=t,r}tsTryParseAndCatch(e){const t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){const t=this.state.clone(),r=e();return void 0!==r&&!1!==r?r:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,r=this.state.type;return this.isContextual("let")&&(r=o._var,t="let"),this.tsInAmbientContext(()=>{switch(r){case o._function:return e.declare=!0,this.parseFunctionStatement(e,!1,!0);case o._class:return e.declare=!0,this.parseClass(e,!0,!1);case o._const:if(this.match(o._const)&&this.isLookaheadContextual("enum"))return this.expect(o._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0);case o._var:return t=t||this.state.value,this.parseVarStatement(e,t);case o.name:{const t=this.state.value;return"global"===t?this.tsParseAmbientExternalModuleDeclaration(e):this.tsParseDeclaration(e,t,!0)}}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(e,t){switch(t.name){case"declare":{const t=this.tsTryParseDeclare(e);if(t)return t.declare=!0,t;break}case"global":if(this.match(o.braceL)){this.scope.enter(256),this.prodParam.enter(0);const r=e;return r.global=!0,r.id=t,r.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(r,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,r){switch(t){case"abstract":if(this.tsCheckLineTerminator(r)&&(this.match(o._class)||this.match(o.name)))return this.tsParseAbstractDeclaration(e);break;case"enum":if(r||this.match(o.name))return r&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminator(r)&&this.match(o.name))return this.tsParseInterfaceDeclaration(e);break;case"module":if(this.tsCheckLineTerminator(r)){if(this.match(o.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.match(o.name))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(r)&&this.match(o.name))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(r)&&this.match(o.name))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e,t){if(!this.isRelational("<"))return;const r=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const n=this.tsTryParseAndCatch(()=>{const r=this.startNodeAt(e,t);return r.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(r),r.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(o.arrow),r});return this.state.maybeInArrowParameters=r,n?this.parseArrowExpression(n,null,!0):void 0}tsParseTypeArguments(){const e=this.startNode();return e.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),0===e.params.length&&this.raise(e.start,pe.EmptyTypeArguments),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(o.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(e,t){const r=this.state.start,n=this.state.startLoc;let i,s=!1;void 0!==e&&(i=this.parseAccessModifier(),s=!!this.tsParseModifier(["readonly"]),!1===e&&(i||s)&&this.raise(r,pe.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(i||s){const e=this.startNodeAt(r,n);return t.length&&(e.decorators=t),i&&(e.accessibility=i),s&&(e.readonly=s),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(e.start,pe.UnsupportedParameterPropertyKind),e.parameter=o,this.finishNode(e,"TSParameterProperty")}return t.length&&(a.decorators=t),o}parseFunctionBodyAndFinish(e,t,r=!1){this.match(o.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(o.colon));const n="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;n&&!this.match(o.braceL)&&this.isLineTerminator()?this.finishNode(e,n):"TSDeclareFunction"===n&&this.state.isAmbientContext&&(this.raise(e.start,pe.DeclareFunctionHasImplementation),e.declare)?super.parseFunctionBodyAndFinish(e,n,r):super.parseFunctionBodyAndFinish(e,t,r)}registerFunctionStatementId(e){!e.body&&e.id?this.checkLVal(e.id,"function name",1024):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{"TSTypeCastExpression"===(null==e?void 0:e.type)&&this.raise(e.typeAnnotation.start,pe.UnexpectedTypeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(...e){const t=super.parseArrayLike(...e);return"ArrayExpression"===t.type&&this.tsCheckForInvalidTypeCasts(t.elements),t}parseSubscript(e,t,r,n,i){if(!this.hasPrecedingLineBreak()&&this.match(o.bang)){this.state.exprAllowed=!1,this.next();const n=this.startNodeAt(t,r);return n.expression=e,this.finishNode(n,"TSNonNullExpression")}if(this.isRelational("<")){const s=this.tsTryParseAndCatch(()=>{if(!n&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,r);if(e)return e}const s=this.startNodeAt(t,r);s.callee=e;const a=this.tsParseTypeArguments();if(a){if(!n&&this.eat(o.parenL))return s.arguments=this.parseCallExpressionArguments(o.parenR,!1),this.tsCheckForInvalidTypeCasts(s.arguments),s.typeParameters=a,i.optionalChainMember&&(s.optional=!1),this.finishCallExpression(s,i.optionalChainMember);if(this.match(o.backQuote)){const n=this.parseTaggedTemplateExpression(e,t,r,i);return n.typeParameters=a,n}}this.unexpected()});if(s)return s}return super.parseSubscript(e,t,r,n,i)}parseNewArguments(e){if(this.isRelational("<")){const t=this.tsTryParseAndCatch(()=>{const e=this.tsParseTypeArguments();return this.match(o.parenL)||this.unexpected(),e});t&&(e.typeParameters=t)}super.parseNewArguments(e)}parseExprOp(e,t,r,n){if(le(o._in.binop)>n&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const i=this.startNodeAt(t,r);i.expression=e;const s=this.tsTryNextParseConstantContext();return i.typeAnnotation=s||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,t,r,n)}return super.parseExprOp(e,t,r,n)}checkReservedWord(e,t,r,n){}checkDuplicateExports(){}parseImport(e){if(e.importKind="value",this.match(o.name)||this.match(o.star)||this.match(o.braceL)){let t=this.lookahead();if(!this.isContextual("type")||t.type===o.comma||t.type===o.name&&"from"===t.value||t.type===o.eq||(e.importKind="type",this.next(),t=this.lookahead()),this.match(o.name)&&t.type===o.eq)return this.tsParseImportEqualsDeclaration(e)}const t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(t.start,pe.TypeImportCannotSpecifyDefaultAndNamed),t}parseExport(e){if(this.match(o._import))return this.next(),this.isContextual("type")&&61!==this.lookaheadCharCode()?(e.importKind="type",this.next()):e.importKind="value",this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(o.eq)){const t=e;return t.expression=this.parseExpression(),this.semicolon(),this.finishNode(t,"TSExportAssignment")}if(this.eatContextual("as")){const t=e;return this.expectContextual("namespace"),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return this.isContextual("type")&&this.lookahead().type===o.braceL?(this.next(),e.exportKind="type"):e.exportKind="value",super.parseExport(e)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===o._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0),e}if("interface"===this.state.value){const e=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(e)return e}return super.parseExportDefaultExpression()}parseStatementContent(e,t){if(this.state.type===o._const){const e=this.lookahead();if(e.type===o.name&&"enum"===e.value){const e=this.startNode();return this.expect(o._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,t){return t.some(t=>ue(t)?e.accessibility===t:!!e[t])}parseClassMember(e,t,r){const n=["declare","private","public","protected","override","abstract","readonly"];this.tsParseModifiers(t,n.concat(["static"]));const i=()=>{const i=!!t.static;i&&this.eat(o.braceL)?(this.tsHasSomeModifiers(t,n)&&this.raise(this.state.pos,pe.StaticBlockCannotHaveModifier),this.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,r,i)};t.declare?this.tsInAmbientContext(i):i()}parseClassMemberWithIsStatic(e,t,r,n){const i=this.tsTryParseIndexSignature(t);if(i)return e.body.push(i),t.abstract&&this.raise(t.start,pe.IndexSignatureHasAbstract),t.accessibility&&this.raise(t.start,pe.IndexSignatureHasAccessibility,t.accessibility),t.declare&&this.raise(t.start,pe.IndexSignatureHasDeclare),void(t.override&&this.raise(t.start,pe.IndexSignatureHasOverride));!this.state.inAbstractClass&&t.abstract&&this.raise(t.start,pe.NonAbstractClassHasAbstractMethod),t.override&&(r.hadSuperClass||this.raise(t.start,pe.OverrideNotInSubClass)),super.parseClassMemberWithIsStatic(e,t,r,n)}parsePostMemberNameModifiers(e){this.eat(o.question)&&(e.optional=!0),e.readonly&&this.match(o.parenL)&&this.raise(e.start,pe.ClassMethodHasReadonly),e.declare&&this.match(o.parenL)&&this.raise(e.start,pe.ClassMethodHasDeclare)}parseExpressionStatement(e,t){return("Identifier"===t.type?this.tsParseExpressionStatement(e,t):void 0)||super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,r,n){if(!n||!this.match(o.question))return super.parseConditional(e,t,r,n);const i=this.tryParse(()=>super.parseConditional(e,t,r));return i.node?(i.error&&(this.state=i.failState),i.node):(n.start=i.error.pos||this.state.start,e)}parseParenItem(e,t,r){if(e=super.parseParenItem(e,t,r),this.eat(o.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(o.colon)){const n=this.startNodeAt(t,r);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,r=this.state.startLoc,n=this.eatContextual("declare");if(n&&(this.isContextual("declare")||!this.shouldParseExportDeclaration()))throw this.raise(this.state.start,pe.ExpectedAmbientAfterExportDeclare);let i;return this.match(o.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(e)),i&&("TSInterfaceDeclaration"===i.type||"TSTypeAliasDeclaration"===i.type||n)&&(e.exportKind="type"),i&&n&&(this.resetStartLocation(i,t,r),i.declare=!0),i}parseClassId(e,t,r){if((!t||r)&&this.isContextual("implements"))return;super.parseClassId(e,t,r,e.declare?1024:139);const n=this.tsTryParseTypeParameters();n&&(e.typeParameters=n)}parseClassPropertyAnnotation(e){!e.optional&&this.eat(o.bang)&&(e.definite=!0);const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){return this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&this.match(o.eq)&&this.raise(this.state.start,pe.DeclareClassFieldHasInitializer),super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(e.start,pe.PrivateElementHasAbstract),e.accessibility&&this.raise(e.start,pe.PrivateElementHasAccessibility,e.accessibility),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}pushClassMethod(e,t,r,n,i,s){const a=this.tsTryParseTypeParameters();a&&i&&this.raise(a.start,pe.ConstructorHasTypeParameters),!t.declare||"get"!==t.kind&&"set"!==t.kind||this.raise(t.start,pe.DeclareAccessor,t.kind),a&&(t.typeParameters=a),super.pushClassMethod(e,t,r,n,i,s)}pushClassPrivateMethod(e,t,r,n){const i=this.tsTryParseTypeParameters();i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,r,n)}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,...t){const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(o.bang)&&(e.definite=!0);const r=this.tsTryParseTypeAnnotation();r&&(e.id.typeAnnotation=r,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(o.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){var t,r,n,i,s,a,l;let c,p,u,d;if(this.hasPlugin("jsx")&&(this.match(o.jsxTagStart)||this.isRelational("<"))){if(c=this.state.clone(),p=this.tryParse(()=>super.parseMaybeAssign(...e),c),!p.error)return p.node;const{context:t}=this.state;t[t.length-1]===x.j_oTag?t.length-=2:t[t.length-1]===x.j_expr&&(t.length-=1)}if(!(null!=(t=p)&&t.error||this.isRelational("<")))return super.parseMaybeAssign(...e);c=c||this.state.clone();const h=this.tryParse(t=>{var r,n;d=this.tsParseTypeParameters();const i=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==i.type||null!=(r=i.extra)&&r.parenthesized)&&t(),0!==(null==(n=d)?void 0:n.params.length)&&this.resetStartLocationFromNode(i,d),i.typeParameters=d,i},c);if(!h.error&&!h.aborted)return h.node;if(!p&&(ce(!this.hasPlugin("jsx")),u=this.tryParse(()=>super.parseMaybeAssign(...e),c),!u.error))return u.node;if(null!=(r=p)&&r.node)return this.state=p.failState,p.node;if(h.node)return this.state=h.failState,h.node;if(null!=(n=u)&&n.node)return this.state=u.failState,u.node;if(null!=(i=p)&&i.thrown)throw p.error;if(h.thrown)throw h.error;if(null!=(s=u)&&s.thrown)throw u.error;throw(null==(a=p)?void 0:a.error)||h.error||(null==(l=u)?void 0:l.error)}parseMaybeUnary(e){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(e)}parseArrow(e){if(this.match(o.colon)){const t=this.tryParse(e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(o.colon);return!this.canInsertSemicolon()&&this.match(o.arrow)||e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseAssignableListItemTypes(e){this.eat(o.question)&&("Identifier"===e.type||this.state.isAmbientContext||this.state.inType||this.raise(e.start,pe.PatternIsOptional),e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}toAssignable(e,t=!1){switch(e.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(e),t);case"TSParameterProperty":return super.toAssignable(e,t);case"ParenthesizedExpression":return this.toAssignableParenthesizedExpression(e,t);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return e.expression=this.toAssignable(e.expression,t),e;default:return super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":return e.expression=this.toAssignable(e.expression,t),e;default:return super.toAssignable(e,t)}}checkLVal(e,t,...r){var n;switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,"parameter property",...r);case"TSAsExpression":case"TSTypeAssertion":if(!(r[0]||"parenthesized expression"===t||null!=(n=e.extra)&&n.parenthesized)){this.raise(e.start,T.InvalidLhs,t);break}return void this.checkLVal(e.expression,"parenthesized expression",...r);case"TSNonNullExpression":return void this.checkLVal(e.expression,t,...r);default:return void super.checkLVal(e,t,...r)}}parseBindingAtom(){switch(this.state.type){case o._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(e){if(this.isRelational("<")){const t=this.tsParseTypeArguments();if(this.match(o.parenL)){const r=super.parseMaybeDecoratorArguments(e);return r.typeParameters=t,r}this.unexpected(this.state.start,o.parenL)}return super.parseMaybeDecoratorArguments(e)}checkCommaAfterRest(e){this.state.isAmbientContext&&this.match(o.comma)&&this.lookaheadCharCode()===e?this.next():super.checkCommaAfterRest(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(o.bang)||this.match(o.colon)||super.isClassProperty()}parseMaybeDefault(...e){const t=super.parseMaybeDefault(...e);return"AssignmentPattern"===t.type&&t.typeAnnotation&&t.right.startthis.tsParseTypeArguments());t&&(e.typeParameters=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){const t=super.getGetterSetterExpectedParamCount(e),r=this.getObjectOrClassMethodParams(e)[0];return r&&this.isThisParam(r)?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){const t=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return e()}finally{this.state.isAmbientContext=t}}parseClass(e,...t){const r=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,...t)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(e){if(this.match(o._class))return e.abstract=!0,this.parseClass(e,!0,!1);if(this.isContextual("interface")){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(e.start,pe.NonClassMethodPropertyHasAbstractModifer),this.next(),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,o._class)}parseMethod(...e){const t=super.parseMethod(...e);if(t.abstract){if(this.hasPlugin("estree")?!!t.value.body:!!t.body){const{key:e}=t;this.raise(t.start,pe.AbstractMethodHasImplementation,"Identifier"===e.type?e.name:`[${this.input.slice(e.start,e.end)}]`)}}return t}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(o.modulo)){const e=this.state.start,t=this.startNode();if(this.eat(o.modulo),this.match(o.name)){const e=this.parseIdentifierName(this.state.start),r=this.createIdentifier(t,e);if(r.type="V8IntrinsicIdentifier",this.match(o.parenL))return r}this.unexpected(e)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(o.placeholder)){const t=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),t.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(o.placeholder),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const r=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,r?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){return 37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(o.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(e){void 0!==e&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(e){"Placeholder"!==e.type&&super.checkLVal(...arguments)}toAssignable(e){return e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?(e.expectedNode="Pattern",e):super.toAssignable(...arguments)}isLet(e){if(super.isLet(e))return!0;if(!this.isContextual("let"))return!1;if(e)return!1;return this.lookahead().type===o.placeholder}verifyBreakContinue(e){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra&&t.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(o.colon)){const r=e;return r.label=this.finishPlaceholder(t,"Identifier"),this.next(),r.body=this.parseStatement("label"),this.finishNode(r,"LabeledStatement")}return this.semicolon(),e.name=t.name,this.finishPlaceholder(e,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(e,t,r){const n=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const i=this.state.strict,s=this.parsePlaceholder("Identifier");if(s)if(this.match(o._extends)||this.match(o.placeholder)||this.match(o.braceL))e.id=s;else{if(r||!t)return e.id=null,e.body=this.finishPlaceholder(s,"ClassBody"),this.finishNode(e,n);this.unexpected(null,de.ClassNameIsRequired)}else this.parseClassId(e,t,r);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass,i),this.finishNode(e,n)}parseExport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(o.comma))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(t,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const r=this.startNode();return r.exported=t,e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],super.parseExport(e)}isExportDefaultSpecifier(){if(this.match(o._default)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(o.placeholder.label,this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e){return!!(e.specifiers&&e.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(e){const{specifiers:t}=e;null!=t&&t.length&&(e.specifiers=t.filter(e=>"Placeholder"===e.exported.type)),super.checkExport(e),e.specifiers=t}parseImport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseImport(...arguments);if(e.specifiers=[],!this.isContextual("from")&&!this.match(o.comma))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const r=this.startNodeAtNode(t);if(r.local=t,this.finishNode(r,"ImportDefaultSpecifier"),e.specifiers.push(r),this.eat(o.comma)){this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)}return this.expectContextual("from"),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},be=Object.keys(Te),ge={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};class Se{constructor(){this.strict=void 0,this.curLine=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isAmbientContext=!1,this.inAbstractClass=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=o.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[x.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.strictErrors=new Map,this.exportedIdentifiers=[],this.tokensLength=0}init(e){this.strict=!1!==e.strictMode&&"module"===e.sourceType,this.curLine=e.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new h(this.curLine,this.pos-this.lineStart)}clone(e){const t=new Se,r=Object.keys(this);for(let n=0,i=r.length;n=48&&e<=57};const Ee=new Set(["g","m","s","i","y","u"]),Pe={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},ve={bin:[48,49]};ve.oct=[...ve.bin,50,51,52,53,54,55],ve.dec=[...ve.oct,56,57],ve.hex=[...ve.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Ae{constructor(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,this.loc=new f(e.startLoc,e.endLoc)}}class we{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class Oe{constructor(e){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new we)}exit(){const e=this.stack.pop(),t=this.current();for(const[r,n]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(r)||t.undefinedPrivateNames.set(r,n):this.raise(n,T.InvalidPrivateFieldResolution,r)}declarePrivateName(e,t,r){const n=this.current();let i=n.privateNames.has(e);if(3&t){const r=i&&n.loneAccessors.get(e);if(r){const s=4&r,a=4&t;i=(3&r)===(3&t)||s!==a,i||n.loneAccessors.delete(e)}else i||n.loneAccessors.set(e,t)}i&&this.raise(r,T.PrivateNameRedeclaration,e),n.privateNames.add(e),n.undefinedPrivateNames.delete(e)}usePrivateName(e,t){let r;for(r of this.stack)if(r.privateNames.has(e))return;r?r.undefinedPrivateNames.set(e,t):this.raise(t,T.InvalidPrivateFieldResolution,e)}}class Ie{constructor(e=0){this.type=void 0,this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class Ce extends Ie{constructor(e){super(e),this.errors=new Map}recordDeclarationError(e,t){this.errors.set(e,t)}clearDeclarationError(e){this.errors.delete(e)}iterateErrors(e){this.errors.forEach(e)}}class Ne{constructor(e){this.stack=[new Ie],this.raise=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){const{stack:r}=this;let n=r.length-1,i=r[n];for(;!i.isCertainlyParameterDeclaration();){if(!i.canBeArrowParameterDeclaration())return;i.recordDeclarationError(e,t),i=r[--n]}this.raise(e,t)}recordParenthesizedIdentifierError(e,t){const{stack:r}=this,n=r[r.length-1];if(n.isCertainlyParameterDeclaration())this.raise(e,t);else{if(!n.canBeArrowParameterDeclaration())return;n.recordDeclarationError(e,t)}}recordAsyncArrowParametersError(e,t){const{stack:r}=this;let n=r.length-1,i=r[n];for(;i.canBeArrowParameterDeclaration();)2===i.type&&i.recordDeclarationError(e,t),i=r[--n]}validateAsPattern(){const{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors((t,r)=>{this.raise(r,t);let n=e.length-2,i=e[n];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(r),i=e[--n]})}}function ke(){return new Ie}class De{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class _e{constructor(e,t,r){this.type=void 0,this.start=void 0,this.end=void 0,this.loc=void 0,this.range=void 0,this.leadingComments=void 0,this.trailingComments=void 0,this.innerComments=void 0,this.extra=void 0,this.type="",this.start=t,this.end=0,this.loc=new f(r),null!=e&&e.options.ranges&&(this.range=[t,0]),null!=e&&e.filename&&(this.loc.filename=e.filename)}__clone(){const e=new _e,t=Object.keys(this);for(let r=0,n=t.length;r"ParenthesizedExpression"===e.type?Le(e.expression):e;const Me={kind:"loop"},je={kind:"switch"},Fe=/[\\uD800-\\uDFFF]/u;class Re extends class extends class extends class extends class extends class extends class extends class extends class extends class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(e){return this.plugins.has(e)}getPluginOption(e,t){if(this.hasPlugin(e))return this.plugins.get(e)[t]}}{addComment(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)}adjustCommentsAfterTrailingComma(e,t,r){if(0===this.state.leadingComments.length)return;let n=null,i=t.length;for(;null===n&&i>0;)n=t[--i];if(null===n)return;for(let e=0;e0?n.trailingComments=s:void 0!==n.trailingComments&&(n.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let r,n,i,s,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(t.length>0){const r=m(t);r.trailingComments&&r.trailingComments[0].start>=e.end&&(i=r.trailingComments,delete r.trailingComments)}for(t.length>0&&m(t).start>=e.start&&(r=t.pop());t.length>0&&m(t).start>=e.start;)n=t.pop();if(!n&&r&&(n=r),r)switch(e.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(e,e.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(e,e.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(e,e.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(e,e.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(e,e.elements,!0)}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==e.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==e.type)&&this.adjustCommentsAfterTrailingComma(e,[this.state.commentPreviousNode]);if(n){if(n.leadingComments)if(n!==e&&n.leadingComments.length>0&&m(n.leadingComments).end<=e.start)e.leadingComments=n.leadingComments,delete n.leadingComments;else for(s=n.leadingComments.length-2;s>=0;--s)if(n.leadingComments[s].end<=e.start){e.leadingComments=n.leadingComments.splice(0,s+1);break}}else if(this.state.leadingComments.length>0)if(m(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(s=0;se.start);s++);const t=this.state.leadingComments.slice(0,s);t.length&&(e.leadingComments=t),i=this.state.leadingComments.slice(s),0===i.length&&(i=null)}if(this.state.commentPreviousNode=e,i)if(i.length&&i[0].start>=e.start&&m(i).end<=e.end)e.innerComments=i;else{const t=i.findIndex(t=>t.end>=e.end);t>0?(e.innerComments=i.slice(0,t),e.trailingComments=i.slice(t)):e.trailingComments=i}t.push(e)}}{getLocationForPosition(e){let t;return t=e===this.state.start?this.state.startLoc:e===this.state.lastTokStart?this.state.lastTokStartLoc:e===this.state.end?this.state.endLoc:e===this.state.lastTokEnd?this.state.lastTokEndLoc:function(e,t){let r,n=1,i=0;for(c.lastIndex=0;(r=c.exec(e))&&r.indexn[t])+` (${i.line}:${i.column})`;if(this.options.errorRecovery){const t=this.state.errors;for(let r=t.length-1;r>=0;r--){const n=t[r];if(n.pos===e)return Object.assign(n,{message:s});if(n.posn[t])+` (${i.line}:${i.column})`;return this._raise(Object.assign({loc:i,pos:e},t),s)}_raise(e,t){const r=new SyntaxError(t);if(Object.assign(r,e),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(r),r;throw r}}{constructor(e,t){super(),this.isLookahead=void 0,this.tokens=[],this.state=new Se,this.state.init(e),this.input=t,this.length=t.length,this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Ae(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}lookahead(){const e=this.state;this.state=e.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){u.lastIndex=e;return e+u.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++ethis.raise(t,e)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){const e=this.curContext();if(null!=e&&e.preserveSpace||this.skipSpace(),this.state.start=this.state.pos,this.state.startLoc=this.state.curPosition(),this.state.pos>=this.length)return void this.finishToken(o.eof);const t=null==e?void 0:e.override;t?t(this):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}pushComment(e,t,r,n,i,s){const a={type:e?"CommentBlock":"CommentLine",value:t,start:r,end:n,loc:new f(i,s)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const e=this.state.curPosition(),t=this.state.pos,r=this.input.indexOf("*/",this.state.pos+2);if(-1===r)throw this.raise(t,T.UnterminatedComment);let n;for(this.state.pos=r+2,c.lastIndex=t;(n=c.exec(this.input))&&n.index=48&&t<=57)throw this.raise(this.state.pos,T.UnexpectedDigitAfterHash);if(123===t||91===t&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),"hash"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,123===t?T.RecordExpressionHashIncorrectStartSyntaxType:T.TupleExpressionHashIncorrectStartSyntaxType);123===t?this.finishToken(o.braceHashL):this.finishToken(o.bracketHashL),this.state.pos+=2}else C(t)?(++this.state.pos,this.finishToken(o.privateName,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(o.privateName,this.readWord1())):this.finishOp(o.hash,1)}readToken_dot(){const e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(o.ellipsis)):(++this.state.pos,this.finishToken(o.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(o.assign,2):this.finishOp(o.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;const t=this.state.pos;for(this.state.pos+=1;!p(e)&&++this.state.pos=48&&t<=57?(++this.state.pos,this.finishToken(o.question)):(this.state.pos+=2,this.finishToken(o.questionDot))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(o.parenL);case 41:return++this.state.pos,void this.finishToken(o.parenR);case 59:return++this.state.pos,void this.finishToken(o.semi);case 44:return++this.state.pos,void this.finishToken(o.comma);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,T.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(o.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(o.bracketL);return;case 93:return++this.state.pos,void this.finishToken(o.bracketR);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,T.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(o.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(o.braceL);return;case 125:return++this.state.pos,void this.finishToken(o.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(o.doubleColon,2):(++this.state.pos,this.finishToken(o.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(o.backQuote);case 48:{const e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:case 62:return void this.readToken_lt_gt(e);case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(o.tilde,1);case 64:return++this.state.pos,void this.finishToken(o.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(C(e))return void this.readWord(e)}throw this.raise(this.state.pos,T.InvalidOrUnexpectedToken,String.fromCodePoint(e))}finishOp(e,t){const r=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,r)}readRegexp(){const e=this.state.pos;let t,r;for(;;){if(this.state.pos>=this.length)throw this.raise(e,T.UnterminatedRegExp);const n=this.input.charAt(this.state.pos);if(l.test(n))throw this.raise(e,T.UnterminatedRegExp);if(t)t=!1;else{if("["===n)r=!0;else if("]"===n&&r)r=!1;else if("/"===n&&!r)break;t="\\\\"===n}++this.state.pos}const n=this.input.slice(e,this.state.pos);++this.state.pos;let i="";for(;this.state.pos-1&&this.raise(this.state.pos+1,T.DuplicateRegExpFlags);else{if(!N(t)&&92!==t)break;this.raise(this.state.pos+1,T.MalformedRegExpFlags)}++this.state.pos,i+=e}this.finishToken(o.regexp,{pattern:n,flags:i})}readInt(e,t,r,n=!0){const i=this.state.pos,s=16===e?Pe.hex:Pe.decBinOct,a=16===e?ve.hex:10===e?ve.dec:8===e?ve.oct:ve.bin;let o=!1,l=0;for(let i=0,c=null==t?1/0:t;i=97?t-97+10:t>=65?t-65+10:xe(t)?t-48:1/0,c>=e)if(this.options.errorRecovery&&c<=9)c=0,this.raise(this.state.start+i+2,T.InvalidDigit,e);else{if(!r)break;c=0,o=!0}++this.state.pos,l=l*e+c}else{const e=this.input.charCodeAt(this.state.pos-1),t=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(t)||s.indexOf(e)>-1||s.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,T.UnexpectedNumericSeparator),n||this.raise(this.state.pos,T.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===i||null!=t&&this.state.pos-i!==t||o?null:l}readRadixNumber(e){const t=this.state.pos;let r=!1;this.state.pos+=2;const n=this.readInt(e);null==n&&this.raise(this.state.start+2,T.InvalidDigit,e);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,r=!0;else if(109===i)throw this.raise(t,T.InvalidDecimal);if(C(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,T.NumberIdentifier);if(r){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(o.bigint,e)}else this.finishToken(o.num,n)}readNumber(e){const t=this.state.pos;let r=!1,n=!1,i=!1,s=!1,a=!1;e||null!==this.readInt(10)||this.raise(t,T.InvalidNumber);const l=this.state.pos-t>=2&&48===this.input.charCodeAt(t);if(l){const e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(t,T.StrictOctalLiteral),!this.state.strict){const r=e.indexOf("_");r>0&&this.raise(r+t,T.ZeroDigitNumericSeparator)}a=l&&!/[89]/.test(e)}let c=this.input.charCodeAt(this.state.pos);if(46!==c||a||(++this.state.pos,this.readInt(10),r=!0,c=this.input.charCodeAt(this.state.pos)),69!==c&&101!==c||a||(c=this.input.charCodeAt(++this.state.pos),43!==c&&45!==c||++this.state.pos,null===this.readInt(10)&&this.raise(t,T.InvalidOrMissingExponent),r=!0,s=!0,c=this.input.charCodeAt(this.state.pos)),110===c&&((r||l)&&this.raise(t,T.InvalidBigIntLiteral),++this.state.pos,n=!0),109===c&&(this.expectPlugin("decimal",this.state.pos),(s||l)&&this.raise(t,T.InvalidDecimal),++this.state.pos,i=!0),C(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,T.NumberIdentifier);const p=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(n)return void this.finishToken(o.bigint,p);if(i)return void this.finishToken(o.decimal,p);const u=a?parseInt(p,8):parseFloat(p);this.finishToken(o.num,u)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const r=++this.state.pos;if(t=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,e),++this.state.pos,null!==t&&t>1114111){if(!e)return null;this.raise(r,T.InvalidCodePoint)}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,T.UnterminatedString);const n=this.input.charCodeAt(this.state.pos);if(n===e)break;if(92===n)t+=this.input.slice(r,this.state.pos),t+=this.readEscapedChar(!1),r=this.state.pos;else if(8232===n||8233===n)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(p(n))throw this.raise(this.state.start,T.UnterminatedString);++this.state.pos}}t+=this.input.slice(r,this.state.pos++),this.finishToken(o.string,t)}readTmplToken(){let e="",t=this.state.pos,r=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,T.UnterminatedTemplate);const n=this.input.charCodeAt(this.state.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(o.template)?36===n?(this.state.pos+=2,void this.finishToken(o.dollarBraceL)):(++this.state.pos,void this.finishToken(o.backQuote)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(o.template,r?null:e));if(92===n){e+=this.input.slice(t,this.state.pos);const n=this.readEscapedChar(!0);null===n?r=!0:e+=n,t=this.state.pos}else if(p(n)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,n){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+="\\n";break;default:e+=String.fromCharCode(n)}++this.state.curLine,this.state.lineStart=this.state.pos,t=this.state.pos}else++this.state.pos}}recordStrictModeErrors(e,t){this.state.strict&&!this.state.strictErrors.has(e)?this.raise(e,t):this.state.strictErrors.set(e,t)}readEscapedChar(e){const t=!e,r=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,r){case 110:return"\\n";case 114:return"\\r";case 120:{const e=this.readHexChar(2,!1,t);return null===e?null:String.fromCharCode(e)}case 117:{const e=this.readCodePoint(t);return null===e?null:String.fromCodePoint(e)}case 116:return"\\t";case 98:return"\\b";case 118:return"\\v";case 102:return"\\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(e)return null;this.recordStrictModeErrors(this.state.pos-1,T.StrictNumericEscape);default:if(r>=48&&r<=55){const t=this.state.pos-1;let r=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(r,8);n>255&&(r=r.slice(0,-1),n=parseInt(r,8)),this.state.pos+=r.length-1;const i=this.input.charCodeAt(this.state.pos);if("0"!==r||56===i||57===i){if(e)return null;this.recordStrictModeErrors(t,T.StrictNumericEscape)}return String.fromCharCode(n)}return String.fromCharCode(r)}}readHexChar(e,t,r){const n=this.state.pos,i=this.readInt(16,e,t,!1);return null===i&&(r?this.raise(n,T.InvalidEscapeSequence):this.state.pos=n-1),i}readWord1(e){this.state.containsEsc=!1;let t="";const r=this.state.pos;let n=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.posthis.state.lastTokEnd&&this.raise(this.state.lastTokEnd,{code:y.SyntaxError,reasonCode:"UnexpectedSpace",template:e})}unexpected(e,t={code:y.SyntaxError,reasonCode:"UnexpectedToken",template:"Unexpected token"}){throw t instanceof n&&(t={code:y.SyntaxError,reasonCode:"UnexpectedToken",template:`Unexpected token, expected "${t.label}"`}),this.raise(null!=e?e:this.state.start,t)}expectPlugin(e,t){if(!this.hasPlugin(e))throw this.raiseWithData(null!=t?t:this.state.start,{missingPlugin:[e]},`This experimental syntax requires enabling the parser plugin: \'${e}\'`);return!0}expectOnePlugin(e,t){if(!e.some(e=>this.hasPlugin(e)))throw this.raiseWithData(null!=t?t:this.state.start,{missingPlugin:e},`This experimental syntax requires enabling one of the following parser plugin(s): \'${e.join(", ")}\'`)}tryParse(e,t=this.state.clone()){const r={node:null};try{const n=e((e=null)=>{throw r.node=e,r});if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:n,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:n,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const n=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:n};if(e===r)return{node:r.node,error:null,thrown:!1,aborted:!0,failState:n};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssign:r,doubleProto:n}=e;if(!t)return r>=0||n>=0;r>=0&&this.unexpected(r),n>=0&&this.raise(n,T.DuplicateProto)}isLiteralPropertyName(){return this.match(o.name)||!!this.state.type.keyword||this.match(o.string)||this.match(o.num)||this.match(o.bigint)||this.match(o.decimal)}isPrivateName(e){return"PrivateName"===e.type}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&this.isPrivateName(e.property)}isOptionalChain(e){return"OptionalMemberExpression"===e.type||"OptionalCallExpression"===e.type}isObjectProperty(e){return"ObjectProperty"===e.type}isObjectMethod(e){return"ObjectMethod"===e.type}initializeScopes(e="module"===this.options.sourceType){const t=this.state.labels;this.state.labels=[];const r=this.state.exportedIdentifiers;this.state.exportedIdentifiers=[];const n=this.inModule;this.inModule=e;const i=this.scope,s=this.getScopeHandler();this.scope=new s(this.raise.bind(this),this.inModule);const a=this.prodParam;this.prodParam=new ae;const o=this.classScope;this.classScope=new Oe(this.raise.bind(this));const l=this.expressionScope;return this.expressionScope=new Ne(this.raise.bind(this)),()=>{this.state.labels=t,this.state.exportedIdentifiers=r,this.inModule=n,this.scope=i,this.prodParam=a,this.classScope=o,this.expressionScope=l}}enterInitialScopes(){let e=0;this.hasPlugin("topLevelAwait")&&this.inModule&&(e|=2),this.scope.enter(1),this.prodParam.enter(e)}}{startNode(){return new _e(this,this.state.start,this.state.startLoc)}startNodeAt(e,t){return new _e(this,e,t)}startNodeAtNode(e){return this.startNodeAt(e.start,e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(e,t,r,n){return e.type=t,e.end=r,e.loc.end=n,this.options.ranges&&(e.range[1]=r),this.processComment(e),e}resetStartLocation(e,t,r){e.start=t,e.loc.start=r,this.options.ranges&&(e.range[0]=t)}resetEndLocation(e,t=this.state.lastTokEnd,r=this.state.lastTokEndLoc){e.end=t,e.loc.end=r,this.options.ranges&&(e.range[1]=t)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.start,t.loc.start)}}{toAssignable(e,t=!1){var r,n;let i=void 0;switch(("ParenthesizedExpression"===e.type||null!=(r=e.extra)&&r.parenthesized)&&(i=Le(e),t?"Identifier"===i.type?this.expressionScope.recordParenthesizedIdentifierError(e.start,T.InvalidParenthesizedAssignment):"MemberExpression"!==i.type&&this.raise(e.start,T.InvalidParenthesizedAssignment):this.raise(e.start,T.InvalidParenthesizedAssignment)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(let r=0,n=e.properties.length,i=n-1;rthis.parseExpressionBase(t)):this.allowInAnd(()=>this.parseExpressionBase(t))}parseExpressionBase(e){const t=this.state.start,r=this.state.startLoc,n=this.parseMaybeAssign(e);if(this.match(o.comma)){const i=this.startNodeAt(t,r);for(i.expressions=[n];this.eat(o.comma);)i.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return n}parseMaybeAssignDisallowIn(e,t,r){return this.disallowInAnd(()=>this.parseMaybeAssign(e,t,r))}parseMaybeAssignAllowIn(e,t,r){return this.allowInAnd(()=>this.parseMaybeAssign(e,t,r))}parseMaybeAssign(e,t,r){const n=this.state.start,i=this.state.startLoc;if(this.isContextual("yield")&&this.prodParam.hasYield){this.state.exprAllowed=!0;let e=this.parseYield();return t&&(e=t.call(this,e,n,i)),e}let s;e?s=!1:(e=new De,s=!0),(this.match(o.parenL)||this.match(o.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e,r);if(t&&(a=t.call(this,a,n,i)),this.state.type.isAssign){const t=this.startNodeAt(n,i),r=this.state.value;return t.operator=r,this.match(o.eq)?(t.left=this.toAssignable(a,!0),e.doubleProto=-1):t.left=a,e.shorthandAssign>=t.left.start&&(e.shorthandAssign=-1),this.checkLVal(a,"assignment expression"),this.next(),t.right=this.parseMaybeAssign(),this.finishNode(t,"AssignmentExpression")}return s&&this.checkExpressionErrors(e,!0),a}parseMaybeConditional(e,t){const r=this.state.start,n=this.state.startLoc,i=this.state.potentialArrowAt,s=this.parseExprOps(e);return this.shouldExitDescending(s,i)?s:this.parseConditional(s,r,n,t)}parseConditional(e,t,r,n){if(this.eat(o.question)){const n=this.startNodeAt(t,r);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(o.colon),n.alternate=this.parseMaybeAssign(),this.finishNode(n,"ConditionalExpression")}return e}parseExprOps(e){const t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseMaybeUnary(e);return this.shouldExitDescending(i,n)?i:this.parseExprOp(i,t,r,-1)}parseExprOp(e,t,r,n){let i=this.state.type.binop;if(null!=i&&(this.prodParam.hasIn||!this.match(o._in))&&i>n){const s=this.state.type;if(s===o.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)}const a=this.startNodeAt(t,r);a.left=e,a.operator=this.state.value;const l=s===o.logicalOR||s===o.logicalAND,c=s===o.nullishCoalescing;if(c&&(i=o.logicalAND.binop),this.next(),s===o.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(o.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,T.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(s,i),this.finishNode(a,l||c?"LogicalExpression":"BinaryExpression");const p=this.state.type;if(c&&(p===o.logicalOR||p===o.logicalAND)||l&&p===o.nullishCoalescing)throw this.raise(this.state.start,T.MixingCoalesceWithLogical);return this.parseExprOp(a,t,r,n)}return e}parseExprOpRightExpr(e,t){const r=this.state.start,n=this.state.startLoc;switch(e){case o.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext(()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t),r,n));case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(t))}default:return this.parseExprOpBaseRightExpr(e,t)}}parseExprOpBaseRightExpr(e,t){const r=this.state.start,n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),r,n,e.rightAssociative?t-1:t)}checkExponentialAfterUnary(e){this.match(o.exponent)&&this.raise(e.argument.start,T.UnexpectedTokenUnaryExponentiation)}parseMaybeUnary(e,t){const r=this.state.start,n=this.state.startLoc,i=this.isContextual("await");if(i&&this.isAwaitAllowed()){this.next();const e=this.parseAwait(r,n);return t||this.checkExponentialAfterUnary(e),e}if(this.isContextual("module")&&123===this.lookaheadCharCode()&&!this.hasFollowingLineBreak())return this.parseModuleExpression();const s=this.match(o.incDec),a=this.startNode();if(this.state.type.prefix){a.operator=this.state.value,a.prefix=!0,this.match(o._throw)&&this.expectPlugin("throwExpressions");const r=this.match(o._delete);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&r){const e=a.argument;"Identifier"===e.type?this.raise(a.start,T.StrictDelete):this.hasPropertyAsPrivateName(e)&&this.raise(a.start,T.DeletePrivateField)}if(!s)return t||this.checkExponentialAfterUnary(a),this.finishNode(a,"UnaryExpression")}const l=this.parseUpdate(a,s,e);if(i){if((this.hasPlugin("v8intrinsic")?this.state.type.startsExpr:this.state.type.startsExpr&&!this.match(o.modulo))&&!this.isAmbiguousAwait())return this.raiseOverwrite(r,this.hasPlugin("topLevelAwait")?T.AwaitNotInAsyncContext:T.AwaitNotInAsyncFunction),this.parseAwait(r,n)}return l}parseUpdate(e,t,r){if(t)return this.checkLVal(e.argument,"prefix operation"),this.finishNode(e,"UpdateExpression");const n=this.state.start,i=this.state.startLoc;let s=this.parseExprSubscripts(r);if(this.checkExpressionErrors(r,!1))return s;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(n,i);e.operator=this.state.value,e.prefix=!1,e.argument=s,this.checkLVal(s,"postfix operation"),this.next(),s=this.finishNode(e,"UpdateExpression")}return s}parseExprSubscripts(e){const t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprAtom(e);return this.shouldExitDescending(i,n)?i:this.parseSubscripts(i,t,r)}parseSubscripts(e,t,r,n){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,r,n,i),i.maybeAsyncArrow=!1}while(!i.stop);return e}parseSubscript(e,t,r,n,i){if(!n&&this.eat(o.doubleColon))return this.parseBind(e,t,r,n,i);if(this.match(o.backQuote))return this.parseTaggedTemplateExpression(e,t,r,i);let s=!1;if(this.match(o.questionDot)){if(n&&40===this.lookaheadCharCode())return i.stop=!0,e;i.optionalChainMember=s=!0,this.next()}return!n&&this.match(o.parenL)?this.parseCoverCallAndAsyncArrowHead(e,t,r,i,s):s||this.match(o.bracketL)||this.eat(o.dot)?this.parseMember(e,t,r,i,s):(i.stop=!0,e)}parseMember(e,t,r,n,i){const s=this.startNodeAt(t,r),a=this.eat(o.bracketL);s.object=e,s.computed=a;const l=!a&&this.match(o.privateName)&&this.state.value,c=a?this.parseExpression():l?this.parsePrivateName():this.parseIdentifier(!0);return!1!==l&&("Super"===s.object.type&&this.raise(t,T.SuperPrivateField),this.classScope.usePrivateName(l,c.start)),s.property=c,a&&this.expect(o.bracketR),n.optionalChainMember?(s.optional=i,this.finishNode(s,"OptionalMemberExpression")):this.finishNode(s,"MemberExpression")}parseBind(e,t,r,n,i){const s=this.startNodeAt(t,r);return s.object=e,s.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(s,"BindExpression"),t,r,n)}parseCoverCallAndAsyncArrowHead(e,t,r,n,i){const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(t,r);return a.callee=e,n.maybeAsyncArrow&&this.expressionScope.enter(new Ce(2)),n.optionalChainMember&&(a.optional=i),a.arguments=i?this.parseCallExpressionArguments(o.parenR,!1):this.parseCallExpressionArguments(o.parenR,n.maybeAsyncArrow,"Import"===e.type,"Super"!==e.type,a),this.finishCallExpression(a,n.optionalChainMember),n.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(n.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,r),a)):(n.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=s,a}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,r,n){const i=this.startNodeAt(t,r);return i.tag=e,i.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(t,T.OptionalChainingNoTemplate),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsyncArrow(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start==5&&e.start===this.state.potentialArrowAt}finishCallExpression(e,t){if("Import"===e.callee.type)if(2===e.arguments.length&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),0===e.arguments.length||e.arguments.length>2)this.raise(e.start,T.ImportCallArity,this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?"one or two arguments":"one argument");else for(const t of e.arguments)"SpreadElement"===t.type&&this.raise(t.start,T.ImportCallSpreadArgument);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,r,n,i){const s=[];let a=!0;const l=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(e);){if(a)a=!1;else if(this.expect(o.comma),this.match(e)){!r||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")||this.raise(this.state.lastTokStart,T.ImportCallArgumentTrailingComma),i&&this.addExtra(i,"trailingComma",this.state.lastTokStart),this.next();break}s.push(this.parseExprListItem(!1,t?new De:void 0,t?{start:0}:void 0,n))}return this.state.inFSharpPipelineDirectBody=l,s}shouldParseAsyncArrow(){return this.match(o.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){var r;return this.expect(o.arrow),this.parseArrowExpression(e,t.arguments,!0,null==(r=t.extra)?void 0:r.trailingComma),e}parseNoCallExpr(){const e=this.state.start,t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,t,!0)}parseExprAtom(e){this.state.type===o.slash&&this.readRegexp();const t=this.state.potentialArrowAt===this.state.start;let r;switch(this.state.type){case o._super:return this.parseSuper();case o._import:return r=this.startNode(),this.next(),this.match(o.dot)?this.parseImportMetaProperty(r):(this.match(o.parenL)||this.raise(this.state.lastTokStart,T.UnsupportedImport),this.finishNode(r,"Import"));case o._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case o.name:{const e=this.state.containsEsc,r=this.parseIdentifier();if(!e&&"async"===r.name&&!this.canInsertSemicolon()){if(this.match(o._function)){const e=this.state.context.length-1;if(this.state.context[e]!==x.functionStatement)throw new Error("Internal error");return this.state.context[e]=x.functionExpression,this.next(),this.parseFunction(this.startNodeAtNode(r),void 0,!0)}if(this.match(o.name))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(r):r;if(this.match(o._do))return this.parseDo(!0)}return t&&this.match(o.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(r),[r],!1)):r}case o._do:return this.parseDo(!1);case o.regexp:{const e=this.state.value;return r=this.parseLiteral(e.value,"RegExpLiteral"),r.pattern=e.pattern,r.flags=e.flags,r}case o.num:return this.parseLiteral(this.state.value,"NumericLiteral");case o.bigint:return this.parseLiteral(this.state.value,"BigIntLiteral");case o.decimal:return this.parseLiteral(this.state.value,"DecimalLiteral");case o.string:return this.parseLiteral(this.state.value,"StringLiteral");case o._null:return r=this.startNode(),this.next(),this.finishNode(r,"NullLiteral");case o._true:case o._false:return this.parseBooleanLiteral();case o.parenL:return this.parseParenAndDistinguishExpression(t);case o.bracketBarL:case o.bracketHashL:return this.parseArrayLike(this.state.type===o.bracketBarL?o.bracketBarR:o.bracketR,!1,!0,e);case o.bracketL:return this.parseArrayLike(o.bracketR,!0,!1,e);case o.braceBarL:case o.braceHashL:return this.parseObjectLike(this.state.type===o.braceBarL?o.braceBarR:o.braceR,!1,!0,e);case o.braceL:return this.parseObjectLike(o.braceR,!1,!1,e);case o._function:return this.parseFunctionOrFunctionSent();case o.at:this.parseDecorators();case o._class:return r=this.startNode(),this.takeDecorators(r),this.parseClass(r,!1);case o._new:return this.parseNewOrNewTarget();case o.backQuote:return this.parseTemplate(!1);case o.doubleColon:{r=this.startNode(),this.next(),r.object=null;const e=r.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(r,"BindExpression");throw this.raise(e.start,T.UnsupportedBind)}case o.privateName:{const e=this.state.start,t=this.state.value;if(r=this.parsePrivateName(),this.match(o._in))this.expectPlugin("privateIn"),this.classScope.usePrivateName(t,r.start);else{if(!this.hasPlugin("privateIn"))throw this.unexpected(e);this.raise(this.state.start,T.PrivateInExpectedIn,t)}return r}case o.hash:if(this.state.inPipeline)return r=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(r.start,T.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(r.start,T.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(r,"PipelinePrimaryTopicReference");case o.relational:if("<"===this.state.value){const e=this.input.codePointAt(this.nextTokenStart());(C(e)||62===e)&&this.expectOnePlugin(["jsx","flow","typescript"])}default:throw this.unexpected()}}parseAsyncArrowUnaryFunction(e){const t=this.startNodeAtNode(e);this.prodParam.enter(oe(!0,this.prodParam.hasYield));const r=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(this.state.pos,T.LineTerminatorBeforeArrow),this.expect(o.arrow),this.parseArrowExpression(t,r,!0),t}parseDo(e){this.expectPlugin("doExpressions"),e&&this.expectPlugin("asyncDoExpressions");const t=this.startNode();t.async=e,this.next();const r=this.state.labels;return this.state.labels=[],e?(this.prodParam.enter(2),t.body=this.parseBlock(),this.prodParam.exit()):t.body=this.parseBlock(),this.state.labels=r,this.finishNode(t,"DoExpression")}parseSuper(){const e=this.startNode();return this.next(),!this.match(o.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(e.start,T.UnexpectedSuper):this.raise(e.start,T.SuperNotAllowed),this.match(o.parenL)||this.match(o.bracketL)||this.match(o.dot)||this.raise(e.start,T.UnsupportedSuper),this.finishNode(e,"Super")}parseBooleanLiteral(){const e=this.startNode();return e.value=this.match(o._true),this.next(),this.finishNode(e,"BooleanLiteral")}parseMaybePrivateName(e){return this.match(o.privateName)?(e||this.raise(this.state.start+1,T.UnexpectedPrivateField),this.parsePrivateName()):this.parseIdentifier(!0)}parsePrivateName(){const e=this.startNode(),t=this.startNodeAt(this.state.start+1,new h(this.state.curLine,this.state.start+1-this.state.lineStart)),r=this.state.value;return this.next(),e.id=this.createIdentifier(t,r),this.finishNode(e,"PrivateName")}parseFunctionOrFunctionSent(){const e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(o.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,r){e.meta=t,"function"===t.name&&"sent"===r&&(this.isContextual(r)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const n=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==r||n)&&this.raise(e.property.start,T.UnsupportedMetaProperty,t.name,r),this.finishNode(e,"MetaProperty")}parseImportMetaProperty(e){const t=this.createIdentifier(this.startNodeAtNode(e),"import");return this.next(),this.isContextual("meta")&&(this.inModule||this.raise(t.start,b.ImportMetaOutsideModule),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}parseLiteral(e,t,r,n){r=r||this.state.start,n=n||this.state.startLoc;const i=this.startNodeAt(r,n);return this.addExtra(i,"rawValue",e),this.addExtra(i,"raw",this.input.slice(r,this.state.end)),i.value=e,this.next(),this.finishNode(i,t)}parseParenAndDistinguishExpression(e){const t=this.state.start,r=this.state.startLoc;let n;this.next(),this.expressionScope.enter(new Ce(1));const i=this.state.maybeInArrowParameters,s=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const a=this.state.start,l=this.state.startLoc,c=[],p=new De,u={start:0};let d,h,f=!0;for(;!this.match(o.parenR);){if(f)f=!1;else if(this.expect(o.comma,u.start||null),this.match(o.parenR)){h=this.state.start;break}if(this.match(o.ellipsis)){const e=this.state.start,t=this.state.startLoc;d=this.state.start,c.push(this.parseParenItem(this.parseRestBinding(),e,t)),this.checkCommaAfterRest(41);break}c.push(this.parseMaybeAssignAllowIn(p,this.parseParenItem,u))}const m=this.state.lastTokEnd,y=this.state.lastTokEndLoc;this.expect(o.parenR),this.state.maybeInArrowParameters=i,this.state.inFSharpPipelineDirectBody=s;let T=this.startNodeAt(t,r);if(e&&this.shouldParseArrow()&&(T=this.parseArrow(T)))return this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(T,c,!1),T;if(this.expressionScope.exit(),c.length||this.unexpected(this.state.lastTokStart),h&&this.unexpected(h),d&&this.unexpected(d),this.checkExpressionErrors(p,!0),u.start&&this.unexpected(u.start),this.toReferencedListDeep(c,!0),c.length>1?(n=this.startNodeAt(a,l),n.expressions=c,this.finishNodeAt(n,"SequenceExpression",m,y)):n=c[0],!this.options.createParenthesizedExpressions)return this.addExtra(n,"parenthesized",!0),this.addExtra(n,"parenStart",t),n;const b=this.startNodeAt(t,r);return b.expression=n,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(o.arrow))return e}parseParenItem(e,t,r){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(o.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const r=this.parseMetaProperty(e,t,"target");return this.scope.inNonArrowFunction||this.scope.inClass||this.raise(r.start,T.UnexpectedNewTarget),r}return this.parseNew(e)}parseNew(e){return e.callee=this.parseNoCallExpr(),"Import"===e.callee.type?this.raise(e.callee.start,T.ImportCallNotNewExpression):this.isOptionalChain(e.callee)?this.raise(this.state.lastTokEnd,T.OptionalChainingNoNew):this.eat(o.questionDot)&&this.raise(this.state.start,T.OptionalChainingNoNew),this.parseNewArguments(e),this.finishNode(e,"NewExpression")}parseNewArguments(e){if(this.eat(o.parenL)){const t=this.parseExprList(o.parenR);this.toReferencedList(t),e.arguments=t}else e.arguments=[]}parseTemplateElement(e){const t=this.startNode();return null===this.state.value&&(e||this.raise(this.state.start+1,T.InvalidEscapeSequenceTemplate)),t.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\\r\\n?/g,"\\n"),cooked:this.state.value},this.next(),t.tail=this.match(o.backQuote),this.finishNode(t,"TemplateElement")}parseTemplate(e){const t=this.startNode();this.next(),t.expressions=[];let r=this.parseTemplateElement(e);for(t.quasis=[r];!r.tail;)this.expect(o.dollarBraceL),t.expressions.push(this.parseTemplateSubstitution()),this.expect(o.braceR),t.quasis.push(r=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,r,n){r&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=Object.create(null);let a=!0;const l=this.startNode();for(l.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(o.comma),this.match(e)){this.addExtra(l,"trailingComma",this.state.lastTokStart);break}const i=this.parsePropertyDefinition(t,n);t||this.checkProto(i,r,s,n),r&&!this.isObjectProperty(i)&&"SpreadElement"!==i.type&&this.raise(i.start,T.InvalidRecordProperty),i.shorthand&&this.addExtra(i,"shorthand",!0),l.properties.push(i)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=i;let c="ObjectExpression";return t?c="ObjectPattern":r&&(c="RecordExpression"),this.finishNode(l,c)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(o.bracketL)||this.match(o.star))}parsePropertyDefinition(e,t){let r=[];if(this.match(o.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,T.UnsupportedPropertyDecorator);this.match(o.at);)r.push(this.parseDecorator());const n=this.startNode();let i,s,a=!1,l=!1,c=!1;if(this.match(o.ellipsis))return r.length&&this.unexpected(),e?(this.next(),n.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(n,"RestElement")):this.parseSpread();r.length&&(n.decorators=r,r=[]),n.method=!1,(e||t)&&(i=this.state.start,s=this.state.startLoc),e||(a=this.eat(o.star));const p=this.state.containsEsc,u=this.parsePropertyName(n,!1);if(!e&&!a&&!p&&this.maybeAsyncOrAccessorProp(n)){const e=u.name;"async"!==e||this.hasPrecedingLineBreak()||(l=!0,a=this.eat(o.star),this.parsePropertyName(n,!1)),"get"!==e&&"set"!==e||(c=!0,n.kind=e,this.match(o.star)&&(a=!0,this.raise(this.state.pos,T.AccessorIsGenerator,e),this.next()),this.parsePropertyName(n,!1))}return this.parseObjPropValue(n,i,s,a,l,e,c,t),n}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const r=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e),i=e.start;n.length!==r&&("get"===e.kind?this.raise(i,T.BadGetterArity):this.raise(i,T.BadSetterArity)),"set"===e.kind&&"RestElement"===(null==(t=n[n.length-1])?void 0:t.type)&&this.raise(i,T.BadSetterRestParameter)}parseObjectMethod(e,t,r,n,i){return i?(this.parseMethod(e,t,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):r||t||this.match(o.parenL)?(n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,r,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(e,t,r,n,i){return e.shorthand=!1,this.eat(o.colon)?(e.value=n?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(e,"ObjectProperty")):e.computed||"Identifier"!==e.key.type?void 0:(this.checkReservedWord(e.key.name,e.key.start,!0,!1),n?e.value=this.parseMaybeDefault(t,r,e.key.__clone()):this.match(o.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),e.value=this.parseMaybeDefault(t,r,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,r,n,i,s,a,o){const l=this.parseObjectMethod(e,n,i,s,a)||this.parseObjectProperty(e,t,r,s,o);return l||this.unexpected(),l}parsePropertyName(e,t){if(this.eat(o.bracketL))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(o.bracketR);else{const r=this.state.inPropertyName;this.state.inPropertyName=!0;const n=this.state.type;e.key=n===o.num||n===o.string||n===o.bigint||n===o.decimal?this.parseExprAtom():this.parseMaybePrivateName(t),n!==o.privateName&&(e.computed=!1),this.state.inPropertyName=r}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,r,n,i,s,a=!1){this.initFunction(e,r),e.generator=!!t;const o=n;return this.scope.enter(18|(a?64:0)|(i?32:0)),this.prodParam.enter(oe(r,e.generator)),this.parseFunctionParams(e,o),this.parseFunctionBodyAndFinish(e,s,!0),this.prodParam.exit(),this.scope.exit(),e}parseArrayLike(e,t,r,n){r&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=this.startNode();return this.next(),s.elements=this.parseExprList(e,!r,n,s),this.state.inFSharpPipelineDirectBody=i,this.finishNode(s,r?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,r,n){this.scope.enter(6);let i=oe(r,!1);!this.match(o.bracketL)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,r);const s=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,n)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=s,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,r){e.params=this.toAssignableList(t,r,!1)}parseFunctionBodyAndFinish(e,t,r=!1){this.parseFunctionBody(e,!1,r),this.finishNode(e,t)}parseFunctionBody(e,t,r=!1){const n=t&&!this.match(o.braceL);if(this.expressionScope.enter(ke()),n)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const n=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,i=>{const s=!this.isSimpleParamList(e.params);if(i&&s){const t="method"!==e.kind&&"constructor"!==e.kind||!e.key?e.start:e.key.end;this.raise(t,T.IllegalLanguageModeDirective)}const a=!n&&this.state.strict;this.checkParams(e,!(this.state.strict||t||r||s),t,a),this.state.strict&&e.id&&this.checkLVal(e.id,"function name",65,void 0,void 0,a)}),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=i}}isSimpleParamList(e){for(let t=0,r=e.length;t=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.start,r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),t,r,e);return this.state.inFSharpPipelineDirectBody=n,i}parseModuleExpression(){this.expectPlugin("moduleBlocks");const e=this.startNode();this.next(),this.eat(o.braceL);const t=this.initializeScopes(!0);this.enterInitialScopes();const r=this.startNode();try{e.body=this.parseProgram(r,o.braceR,"module")}finally{t()}return this.eat(o.braceR),this.finishNode(e,"ModuleExpression")}}{parseTopLevel(e,t){return e.program=this.parseProgram(t),e.comments=this.state.comments,this.options.tokens&&(e.tokens=function(e){for(let t=0;t0)for(const[e]of Array.from(this.scope.undefinedExports)){const t=this.scope.undefinedExports.get(e);this.raise(t,T.ModuleExportUndefined,e)}return this.finishNode(e,"Program")}stmtToDirective(e){const t=e.expression,r=this.startNodeAt(t.start,t.loc.start),n=this.startNodeAt(e.start,e.loc.start),i=this.input.slice(t.start,t.end),s=r.value=i.slice(1,-1);return this.addExtra(r,"raw",i),this.addExtra(r,"rawValue",s),n.value=this.finishNodeAt(r,"DirectiveLiteral",t.end,t.loc.end),this.finishNodeAt(n,"Directive",e.end,e.loc.end)}parseInterpreterDirective(){if(!this.match(o.interpreterDirective))return null;const e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(e){return!!this.isContextual("let")&&this.isLetKeyword(e)}isLetKeyword(e){const t=this.nextTokenStart(),r=this.input.charCodeAt(t);if(92===r||91===r)return!0;if(e)return!1;if(123===r)return!0;if(C(r)){let e=t+1;for(;N(this.input.charCodeAt(e));)++e;const r=this.input.slice(t,e);if(!V.test(r))return!0}return!1}parseStatement(e,t){return this.match(o.at)&&this.parseDecorators(!0),this.parseStatementContent(e,t)}parseStatementContent(e,t){let r=this.state.type;const n=this.startNode();let i;switch(this.isLet(e)&&(r=o._var,i="let"),r){case o._break:case o._continue:return this.parseBreakContinueStatement(n,r.keyword);case o._debugger:return this.parseDebuggerStatement(n);case o._do:return this.parseDoStatement(n);case o._for:return this.parseForStatement(n);case o._function:if(46===this.lookaheadCharCode())break;return e&&(this.state.strict?this.raise(this.state.start,T.StrictFunction):"if"!==e&&"label"!==e&&this.raise(this.state.start,T.SloppyFunction)),this.parseFunctionStatement(n,!1,!e);case o._class:return e&&this.unexpected(),this.parseClass(n,!0);case o._if:return this.parseIfStatement(n);case o._return:return this.parseReturnStatement(n);case o._switch:return this.parseSwitchStatement(n);case o._throw:return this.parseThrowStatement(n);case o._try:return this.parseTryStatement(n);case o._const:case o._var:return i=i||this.state.value,e&&"var"!==i&&this.raise(this.state.start,T.UnexpectedLexicalDeclaration),this.parseVarStatement(n,i);case o._while:return this.parseWhileStatement(n);case o._with:return this.parseWithStatement(n);case o.braceL:return this.parseBlock();case o.semi:return this.parseEmptyStatement(n);case o._import:{const e=this.lookaheadCharCode();if(40===e||46===e)break}case o._export:{let e;return this.options.allowImportExportEverywhere||t||this.raise(this.state.start,T.UnexpectedImportExport),this.next(),r===o._import?(e=this.parseImport(n),"ImportDeclaration"!==e.type||e.importKind&&"value"!==e.importKind||(this.sawUnambiguousESM=!0)):(e=this.parseExport(n),("ExportNamedDeclaration"!==e.type||e.exportKind&&"value"!==e.exportKind)&&("ExportAllDeclaration"!==e.type||e.exportKind&&"value"!==e.exportKind)&&"ExportDefaultDeclaration"!==e.type||(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(n),e}default:if(this.isAsyncFunction())return e&&this.raise(this.state.start,T.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(n,!0,!e)}const s=this.state.value,a=this.parseExpression();return r===o.name&&"Identifier"===a.type&&this.eat(o.colon)?this.parseLabeledStatement(n,s,a,e):this.parseExpressionStatement(n,a)}assertModuleNodeAllowed(e){this.options.allowImportExportEverywhere||this.inModule||this.raise(e.start,b.ImportOutsideModule)}takeDecorators(e){const t=this.state.decoratorStack[this.state.decoratorStack.length-1];t.length&&(e.decorators=t,this.resetStartLocationFromNode(e,t[0]),this.state.decoratorStack[this.state.decoratorStack.length-1]=[])}canHaveLeadingDecorator(){return this.match(o._class)}parseDecorators(e){const t=this.state.decoratorStack[this.state.decoratorStack.length-1];for(;this.match(o.at);){const e=this.parseDecorator();t.push(e)}if(this.match(o._export))e||this.unexpected(),this.hasPlugin("decorators")&&!this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,T.DecoratorExportClass);else if(!this.canHaveLeadingDecorator())throw this.raise(this.state.start,T.UnexpectedLeadingDecorator)}parseDecorator(){this.expectOnePlugin(["decorators-legacy","decorators"]);const e=this.startNode();if(this.next(),this.hasPlugin("decorators")){this.state.decoratorStack.push([]);const t=this.state.start,r=this.state.startLoc;let n;if(this.eat(o.parenL))n=this.parseExpression(),this.expect(o.parenR);else for(n=this.parseIdentifier(!1);this.eat(o.dot);){const e=this.startNodeAt(t,r);e.object=n,e.property=this.parseIdentifier(!0),e.computed=!1,n=this.finishNode(e,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(n),this.state.decoratorStack.pop()}else e.expression=this.parseExprSubscripts();return this.finishNode(e,"Decorator")}parseMaybeDecoratorArguments(e){if(this.eat(o.parenL)){const t=this.startNodeAtNode(e);return t.callee=e,t.arguments=this.parseCallExpressionArguments(o.parenR,!1),this.toReferencedList(t.arguments),this.finishNode(t,"CallExpression")}return e}parseBreakContinueStatement(e,t){const r="break"===t;return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,r?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){const r="break"===t;let n;for(n=0;nthis.parseStatement("do")),this.state.labels.pop(),this.expect(o._while),e.test=this.parseHeaderExpression(),this.eat(o.semi),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(Me);let t=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(t=this.state.lastTokStart),this.scope.enter(0),this.expect(o.parenL),this.match(o.semi))return t>-1&&this.unexpected(t),this.parseFor(e,null);const r=this.isContextual("let"),n=r&&this.isLetKeyword();if(this.match(o._var)||this.match(o._const)||n){const r=this.startNode(),i=n?"let":this.state.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,"VariableDeclaration"),(this.match(o._in)||this.isContextual("of"))&&1===r.declarations.length?this.parseForIn(e,r,t):(t>-1&&this.unexpected(t),this.parseFor(e,r))}const i=this.match(o.name)&&!this.state.containsEsc,s=new De,a=this.parseExpression(!0,s),l=this.isContextual("of");if(l&&(r?this.raise(a.start,T.ForOfLet):-1===t&&i&&"Identifier"===a.type&&"async"===a.name&&this.raise(a.start,T.ForOfAsync)),l||this.match(o._in)){this.toAssignable(a,!0);const r=l?"for-of statement":"for-in statement";return this.checkLVal(a,r),this.parseForIn(e,a,t)}return this.checkExpressionErrors(s,!0),t>-1&&this.unexpected(t),this.parseFor(e,a)}parseFunctionStatement(e,t,r){return this.next(),this.parseFunction(e,1|(r?0:2),t)}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(o._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,T.IllegalReturn),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();const t=e.cases=[];let r,n;for(this.expect(o.braceL),this.state.labels.push(je),this.scope.enter(0);!this.match(o.braceR);)if(this.match(o._case)||this.match(o._default)){const e=this.match(o._case);r&&this.finishNode(r,"SwitchCase"),t.push(r=this.startNode()),r.consequent=[],this.next(),e?r.test=this.parseExpression():(n&&this.raise(this.state.lastTokStart,T.MultipleDefaultsInSwitch),n=!0,r.test=null),this.expect(o.colon)}else r?r.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),r&&this.finishNode(r,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,T.NewlineAfterThrow),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseCatchClauseParam(){const e=this.parseBindingAtom(),t="Identifier"===e.type;return this.scope.enter(t?8:0),this.checkLVal(e,"catch clause",9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(o._catch)){const t=this.startNode();this.next(),this.match(o.parenL)?(this.expect(o.parenL),t.param=this.parseCatchClauseParam(),this.expect(o.parenR)):(t.param=null,this.scope.enter(0)),t.body=this.withTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(o._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,T.NoCatchOrFinally),this.finishNode(e,"TryStatement")}parseVarStatement(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Me),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("while")),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(this.state.start,T.StrictWith),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("with")),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,r,n){for(const e of this.state.labels)e.name===t&&this.raise(r.start,T.LabelRedeclaration,t);const i=this.state.type.isLoop?"loop":this.match(o._switch)?"switch":null;for(let t=this.state.labels.length-1;t>=0;t--){const r=this.state.labels[t];if(r.statementStart!==e.start)break;r.statementStart=this.state.start,r.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.state.start}),e.body=this.parseStatement(n?-1===n.indexOf("label")?n+"label":n:"label"),this.state.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,r){const n=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(o.braceL),t&&this.scope.enter(0),this.parseBlockBody(n,e,!1,o.braceR,r),t&&this.scope.exit(),this.finishNode(n,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,r,n,i){const s=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(s,t?a:void 0,r,n,i)}parseBlockOrModuleBlockBody(e,t,r,n,i){const s=this.state.strict;let a=!1,o=!1;for(;!this.match(n);){const n=this.parseStatement(null,r);if(t&&!o){if(this.isValidDirective(n)){const e=this.stmtToDirective(n);t.push(e),a||"use strict"!==e.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(n)}i&&i.call(this,a),s||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(o.semi)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(o.parenR)?null:this.parseExpression(),this.expect(o.parenR),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,r){const n=this.match(o._in);return this.next(),n?r>-1&&this.unexpected(r):e.await=r>-1,"VariableDeclaration"!==t.type||null==t.declarations[0].init||n&&!this.state.strict&&"var"===t.kind&&"Identifier"===t.declarations[0].id.type?"AssignmentPattern"===t.type&&this.raise(t.start,T.InvalidLhs,"for-loop"):this.raise(t.start,T.ForInOfLoopInitializer,n?"for-in":"for-of"),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(o.parenR),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,n?"ForInStatement":"ForOfStatement")}parseVar(e,t,r){const n=e.declarations=[],i=this.hasPlugin("typescript");for(e.kind=r;;){const e=this.startNode();if(this.parseVarId(e,r),this.eat(o.eq)?e.init=t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==r||this.match(o._in)||this.isContextual("of")?"Identifier"===e.id.type||t&&(this.match(o._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,T.DeclarationMissingInitializer,"Complex binding patterns"):i||this.raise(this.state.lastTokEnd,T.DeclarationMissingInitializer,"Const declarations"),e.init=null),n.push(this.finishNode(e,"VariableDeclarator")),!this.eat(o.comma))break}return e}parseVarId(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"variable declaration","var"===t?5:9,void 0,"var"!==t)}parseFunction(e,t=0,r=!1){const n=1&t,i=2&t,s=!(!n||4&t);this.initFunction(e,r),this.match(o.star)&&i&&this.raise(this.state.start,T.GeneratorInSingleStatementContext),e.generator=this.eat(o.star),n&&(e.id=this.parseFunctionId(s));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(oe(r,e.generator)),n||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(e,n?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),n&&!i&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||this.match(o.name)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(o.parenL),this.expressionScope.enter(new Ie(3)),e.params=this.parseBindingList(o.parenR,41,!1,t),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:9:17,e.id.start)}parseClass(e,t,r){this.next(),this.takeDecorators(e);const n=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,r),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,n),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(o.eq)||this.match(o.semi)||this.match(o.braceR)}isClassMethod(){return this.match(o.parenL)}isNonstaticConstructor(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}parseClassBody(e,t){this.classScope.enter();const r={hadConstructor:!1,hadSuperClass:e};let n=[];const i=this.startNode();if(i.body=[],this.expect(o.braceL),this.withTopicForbiddingContext(()=>{for(;!this.match(o.braceR);){if(this.eat(o.semi)){if(n.length>0)throw this.raise(this.state.lastTokEnd,T.DecoratorSemicolon);continue}if(this.match(o.at)){n.push(this.parseDecorator());continue}const e=this.startNode();n.length&&(e.decorators=n,this.resetStartLocationFromNode(e,n[0]),n=[]),this.parseClassMember(i,e,r),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,T.DecoratorConstructor)}}),this.state.strict=t,this.next(),n.length)throw this.raise(this.state.start,T.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(e,t){const r=this.parseIdentifier(!0);if(this.isClassMethod()){const n=t;return n.kind="method",n.computed=!1,n.key=r,n.static=!1,this.pushClassMethod(e,n,!1,!1,!1,!1),!0}if(this.isClassProperty()){const n=t;return n.computed=!1,n.key=r,n.static=!1,e.body.push(this.parseClassProperty(n)),!0}return!1}parseClassMember(e,t,r){const n=this.isContextual("static");if(n){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(o.braceL))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,r,n)}parseClassMemberWithIsStatic(e,t,r,n){const i=t,s=t,a=t,l=t,c=i,p=i;if(t.static=n,this.eat(o.star)){c.kind="method";const t=this.match(o.privateName);return this.parseClassElementName(c),t?void this.pushClassPrivateMethod(e,s,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,T.ConstructorIsGenerator),void this.pushClassMethod(e,i,!0,!1,!1,!1))}const u=this.state.containsEsc,d=this.match(o.privateName),h=this.parseClassElementName(t),f="Identifier"===h.type,m=this.state.start;if(this.parsePostMemberNameModifiers(p),this.isClassMethod()){if(c.kind="method",d)return void this.pushClassPrivateMethod(e,s,!1,!1);const n=this.isNonstaticConstructor(i);let a=!1;n&&(i.kind="constructor",r.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(h.start,T.DuplicateConstructor),n&&this.hasPlugin("typescript")&&t.override&&this.raise(h.start,T.OverrideOnConstructor),r.hadConstructor=!0,a=r.hadSuperClass),this.pushClassMethod(e,i,!1,!1,n,a)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(e,l):this.pushClassProperty(e,a);else if(!f||"async"!==h.name||u||this.isLineTerminator())if(!f||"get"!==h.name&&"set"!==h.name||u||this.match(o.star)&&this.isLineTerminator())this.isLineTerminator()?d?this.pushClassPrivateProperty(e,l):this.pushClassProperty(e,a):this.unexpected();else{c.kind=h.name;const t=this.match(o.privateName);this.parseClassElementName(i),t?this.pushClassPrivateMethod(e,s,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,T.ConstructorIsAccessor),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else{const t=this.eat(o.star);p.optional&&this.unexpected(m),c.kind="method";const r=this.match(o.privateName);this.parseClassElementName(c),this.parsePostMemberNameModifiers(p),r?this.pushClassPrivateMethod(e,s,t,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,T.ConstructorIsAsync),this.pushClassMethod(e,i,t,!0,!1,!1))}}parseClassElementName(e){const{type:t,value:r,start:n}=this.state;return t!==o.name&&t!==o.string||!e.static||"prototype"!==r||this.raise(n,T.StaticPrototype),t===o.privateName&&"constructor"===r&&this.raise(n,T.ConstructorClassPrivateField),this.parsePropertyName(e,!0)}parseClassStaticBlock(e,t){var r;this.expectPlugin("classStaticBlock",t.start),this.scope.enter(208);const n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const i=t.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,o.braceR),this.prodParam.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,"StaticBlock")),null!=(r=t.decorators)&&r.length&&this.raise(t.start,T.DecoratorStaticBlock)}pushClassProperty(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(t.key.start,T.ConstructorClassField),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){const r=this.parseClassPrivateProperty(t);e.body.push(r),this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.start)}pushClassMethod(e,t,r,n,i,s){e.body.push(this.parseMethod(t,r,n,i,s,"ClassMethod",!0))}pushClassPrivateMethod(e,t,r,n){const i=this.parseMethod(t,r,n,!1,!1,"ClassPrivateMethod",!0);e.body.push(i);const s="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.classScope.declarePrivateName(this.getPrivateNameSV(i.key),s,i.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseInitializer(e){this.scope.enter(80),this.expressionScope.enter(ke()),this.prodParam.enter(0),e.value=this.eat(o.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,r,n=139){this.match(o.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,"class name",n)):r||!t?e.id=null:this.unexpected(null,T.MissingClassName)}parseClassSuper(e){e.superClass=this.eat(o._extends)?this.parseExprSubscripts():null}parseExport(e){const t=this.maybeParseExportDefaultSpecifier(e),r=!t||this.eat(o.comma),n=r&&this.eatExportStar(e),i=n&&this.maybeParseExportNamespaceSpecifier(e),s=r&&(!i||this.eat(o.comma)),a=t||n;if(n&&!i)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const l=this.maybeParseExportNamedSpecifiers(e);if(t&&r&&!n&&!l||i&&s&&!l)throw this.unexpected(null,o.braceL);let c;if(a||l?(c=!1,this.parseExportFrom(e,a)):c=this.maybeParseExportDeclaration(e),a||l||c)return this.checkExport(e,!0,!1,!!e.source),this.finishNode(e,"ExportNamedDeclaration");if(this.eat(o._default))return e.declaration=this.parseExportDefaultExpression(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration");throw this.unexpected(null,o.braceL)}eatExportStar(e){return this.eat(o.star)}maybeParseExportDefaultSpecifier(e){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const t=this.startNode();return t.exported=this.parseIdentifier(!0),e.specifiers=[this.finishNode(t,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual("as")){e.specifiers||(e.specifiers=[]);const t=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){return!!this.match(o.braceL)&&(e.specifiers||(e.specifiers=[]),e.specifiers.push(...this.parseExportSpecifiers()),e.source=null,e.declaration=null,!0)}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual("async"))return!1;const e=this.nextTokenStart();return!l.test(this.input.slice(this.state.pos,e))&&this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode(),t=this.isAsyncFunction();if(this.match(o._function)||t)return this.next(),t&&this.next(),this.parseFunction(e,5,t);if(this.match(o._class))return this.parseClass(e,!0,!0);if(this.match(o.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,T.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(e,!0,!0);if(this.match(o._const)||this.match(o._var)||this.isLet())throw this.raise(this.state.start,T.UnsupportedDefaultExport);{const e=this.parseMaybeAssignAllowIn();return this.semicolon(),e}}parseExportDeclaration(e){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(o.name)){const e=this.state.value;if("async"===e&&!this.state.containsEsc||"let"===e)return!1;if(("type"===e||"interface"===e)&&!this.state.containsEsc){const e=this.lookahead();if(e.type===o.name&&"from"!==e.value||e.type===o.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(o._default))return!1;const e=this.nextTokenStart(),t=this.isUnparsedContextual(e,"from");if(44===this.input.charCodeAt(e)||this.match(o.name)&&t)return!0;if(this.match(o._default)&&t){const t=this.input.charCodeAt(this.nextTokenStartSince(e+4));return 34===t||39===t}return!1}parseExportFrom(e,t){if(this.eatContextual("from")){e.source=this.parseImportSource(),this.checkExport(e);const t=this.maybeParseImportAssertions();t&&(e.assertions=t)}else t?this.unexpected():e.source=null;this.semicolon()}shouldParseExportDeclaration(){if(this.match(o.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,T.DecoratorBeforeExport)}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(e,t,r,n){if(t)if(r){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){var i;const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!=4||null!=(i=t.extra)&&i.parenthesized||this.raise(t.start,T.ExportDefaultFromAsIdentifier)}}else if(e.specifiers&&e.specifiers.length)for(const t of e.specifiers){const{exported:e}=t,r="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,r),!n&&t.local){const{local:e}=t;"StringLiteral"===e.type?this.raise(t.start,T.ExportBindingIsString,e.value,r):(this.checkReservedWord(e.name,e.start,!0,!1),this.scope.checkLocalExport(e))}}else if(e.declaration)if("FunctionDeclaration"===e.declaration.type||"ClassDeclaration"===e.declaration.type){const t=e.declaration.id;if(!t)throw new Error("Assertion failure");this.checkDuplicateExports(e,t.name)}else if("VariableDeclaration"===e.declaration.type)for(const t of e.declaration.declarations)this.checkDeclaration(t.id);if(this.state.decoratorStack[this.state.decoratorStack.length-1].length)throw this.raise(e.start,T.UnsupportedDecoratorExport)}checkDeclaration(e){if("Identifier"===e.type)this.checkDuplicateExports(e,e.name);else if("ObjectPattern"===e.type)for(const t of e.properties)this.checkDeclaration(t);else if("ArrayPattern"===e.type)for(const t of e.elements)t&&this.checkDeclaration(t);else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type?this.checkDeclaration(e.argument):"AssignmentPattern"===e.type&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.state.exportedIdentifiers.indexOf(t)>-1&&this.raise(e.start,"default"===t?T.DuplicateDefaultExport:T.DuplicateExport,t),this.state.exportedIdentifiers.push(t)}parseExportSpecifiers(){const e=[];let t=!0;for(this.expect(o.braceL);!this.eat(o.braceR);){if(t)t=!1;else if(this.expect(o.comma),this.eat(o.braceR))break;const r=this.startNode();r.local=this.parseModuleExportName(),r.exported=this.eatContextual("as")?this.parseModuleExportName():r.local.__clone(),e.push(this.finishNode(r,"ExportSpecifier"))}return e}parseModuleExportName(){if(this.match(o.string)){const e=this.parseLiteral(this.state.value,"StringLiteral"),t=e.value.match(Fe);return t&&this.raise(e.start,T.ModuleExportNameHasLoneSurrogate,t[0].charCodeAt(0).toString(16)),e}return this.parseIdentifier(!0)}parseImport(e){if(e.specifiers=[],!this.match(o.string)){const t=!this.maybeParseDefaultImportSpecifier(e)||this.eat(o.comma),r=t&&this.maybeParseStarImportSpecifier(e);t&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual("from")}e.source=this.parseImportSource();const t=this.maybeParseImportAssertions();if(t)e.assertions=t;else{const t=this.maybeParseModuleAttributes();t&&(e.attributes=t)}return this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(o.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(e){return this.match(o.name)}parseImportSpecifierLocal(e,t,r,n){t.local=this.parseIdentifier(),this.checkLVal(t.local,n,9),e.specifiers.push(this.finishNode(t,r))}parseAssertEntries(){const e=[],t=new Set;do{if(this.match(o.braceR))break;const r=this.startNode(),n=this.state.value;if(this.match(o.string)?r.key=this.parseLiteral(n,"StringLiteral"):r.key=this.parseIdentifier(!0),this.expect(o.colon),"type"!==n&&this.raise(r.key.start,T.ModuleAttributeDifferentFromType,n),t.has(n)&&this.raise(r.key.start,T.ModuleAttributesWithDuplicateKeys,n),t.add(n),!this.match(o.string))throw this.unexpected(this.state.start,T.ModuleAttributeInvalidValue);r.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(r,"ImportAttribute"),e.push(r)}while(this.eat(o.comma));return e}maybeParseModuleAttributes(){if(!this.match(o._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const e=[],t=new Set;do{const r=this.startNode();if(r.key=this.parseIdentifier(!0),"type"!==r.key.name&&this.raise(r.key.start,T.ModuleAttributeDifferentFromType,r.key.name),t.has(r.key.name)&&this.raise(r.key.start,T.ModuleAttributesWithDuplicateKeys,r.key.name),t.add(r.key.name),this.expect(o.colon),!this.match(o.string))throw this.unexpected(this.state.start,T.ModuleAttributeInvalidValue);r.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(r,"ImportAttribute"),e.push(r)}while(this.eat(o.comma));return e}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(o.braceL);const e=this.parseAssertEntries();return this.eat(o.braceR),e}maybeParseDefaultImportSpecifier(e){return!!this.shouldParseDefaultImport(e)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(o.star)){const t=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(o.braceL);!this.eat(o.braceR);){if(t)t=!1;else{if(this.eat(o.colon))throw this.raise(this.state.start,T.DestructureNamedImport);if(this.expect(o.comma),this.eat(o.braceR))break}this.parseImportSpecifier(e)}}parseImportSpecifier(e){const t=this.startNode();if(t.imported=this.parseModuleExportName(),this.eatContextual("as"))t.local=this.parseIdentifier();else{const{imported:e}=t;if("StringLiteral"===e.type)throw this.raise(t.start,T.ImportBindingIsString,e.value);this.checkReservedWord(e.name,t.start,!0,!0),t.local=e.__clone()}this.checkLVal(t.local,"import specifier",9),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}}{constructor(e,t){super(e=function(e){const t={};for(const r of Object.keys(ge))t[r]=e&&null!=e[r]?e[r]:ge[r];return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=function(e){const t=new Map;for(const r of e){const[e,n]=Array.isArray(r)?r:[r,{}];t.has(e)||t.set(e,n||{})}return t}(this.options.plugins),this.filename=e.sourceFilename}getScopeHandler(){return q}parse(){this.enterInitialScopes();const e=this.startNode(),t=this.startNode();return this.nextToken(),e.errors=null,this.parseTopLevel(e,t),e.errors=this.state.errors,e}}function Be(e,t){let r=Re;return null!=e&&e.plugins&&(!function(e){if(he(e,"decorators")){if(he(e,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const t=fe(e,"decorators","decoratorsBeforeExport");if(null==t)throw new Error("The \'decorators\' plugin requires a \'decoratorsBeforeExport\' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the \'decorators-legacy\' plugin instead of \'decorators\'.");if("boolean"!=typeof t)throw new Error("\'decoratorsBeforeExport\' must be a boolean.")}if(he(e,"flow")&&he(e,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(he(e,"placeholders")&&he(e,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(he(e,"pipelineOperator")&&!me.includes(fe(e,"pipelineOperator","proposal")))throw new Error("\'pipelineOperator\' requires \'proposal\' option whose value should be one of: "+me.map(e=>`\'${e}\'`).join(", "));if(he(e,"moduleAttributes")){if(he(e,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==fe(e,"moduleAttributes","version"))throw new Error("The \'moduleAttributes\' plugin requires a \'version\' option, representing the last proposal update. Currently, the only supported value is \'may-2020\'.")}if(he(e,"recordAndTuple")&&!ye.includes(fe(e,"recordAndTuple","syntaxType")))throw new Error("\'recordAndTuple\' requires \'syntaxType\' option whose value should be one of: "+ye.map(e=>`\'${e}\'`).join(", "));if(he(e,"asyncDoExpressions")&&!he(e,"doExpressions")){const e=new Error("\'asyncDoExpressions\' requires \'doExpressions\', please add \'doExpressions\' to parser plugins.");throw e.missingPlugins="doExpressions",e}}(e.plugins),r=function(e){const t=be.filter(t=>he(e,t)),r=t.join("/");let n=Ue[r];if(!n){n=Re;for(const e of t)n=Te[e](n);Ue[r]=n}return n}(e.plugins)),new r(e,t)}const Ue={};t.parse=function(e,t){var r;if("unambiguous"!==(null==(r=t)?void 0:r.sourceType))return Be(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";const r=Be(t,e),n=r.parse();if(r.sawUnambiguousESM)return n;if(r.ambiguousScriptDifferentAst)try{return t.sourceType="script",Be(t,e).parse()}catch(e){}else n.program.sourceType="script";return n}catch(r){try{return t.sourceType="script",Be(t,e).parse()}catch(e){}throw r}},t.parseExpression=function(e,t){const r=Be(t,e);return r.options.strictMode&&(r.state.strict=!0),r.getExpression()},t.tokTypes=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){const{metadata:a,names:l}=function(e,t,r){let n,s,a,l="";do{l+="$";const c=o(t,l);n=c.names,s=new Set(n),a=(0,i.default)(e,e.code(c.code),{parser:r.parser,placeholderWhitelist:new Set(c.names.concat(r.placeholderWhitelist?Array.from(r.placeholderWhitelist):[])),placeholderPattern:r.placeholderPattern,preserveComments:r.preserveComments,syntacticPlaceholders:r.syntacticPlaceholders})}while(a.placeholders.some(e=>e.isDuplicate&&s.has(e.name)));return{metadata:a,names:n}}(e,t,r);return t=>{const r={};return t.forEach((e,t)=>{r[l[t]]=e}),t=>{const i=(0,n.normalizeReplacements)(t);return i&&Object.keys(i).forEach(e=>{if(Object.prototype.hasOwnProperty.call(r,e))throw new Error("Unexpected replacement overlap.")}),e.unwrap((0,s.default)(a,i?Object.assign(i,r):r))}}};var n=r(59),i=a(r(127)),s=a(r(128));function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t){const r=[];let n=e[0];for(let i=1;i=0)return"after";if(r.this.indexOf(e)>=0)return"before";let i;const s={target:0,this:0};for(;!i&&s.this=0?i=e:s.this++}if(!i)throw new Error("Internal Babel error - The two compared nodes don\'t appear to belong to the same program.");if(c(r.this,s.this-1)||c(r.target,s.target-1))return"unknown";const a={this:r.this[s.this-1],target:r.target[s.target-1]};if(a.target.listKey&&a.this.listKey&&a.target.container===a.this.container)return a.target.key>a.this.key?"before":"after";const l=n.VISITOR_KEYS[i.type],p={this:l.indexOf(a.this.parentKey),target:l.indexOf(a.target.parentKey)};return p.target>p.this?"before":"after"},t._guessExecutionStatusRelativeToDifferentFunctions=function(e){if(!e.isFunctionDeclaration()||e.parentPath.isExportDeclaration())return"unknown";const t=e.scope.getBinding(e.node.id.name);if(!t.references)return"before";const r=t.referencePaths;let n;for(const t of r){if(!!t.find(t=>t.node===e.node))continue;if("callee"!==t.key||!t.parentPath.isCallExpression())return"unknown";if(p.has(t.node))continue;p.add(t.node);const r=this._guessExecutionStatusRelativeTo(t);if(p.delete(t.node),n&&n!==r)return"unknown";n=r}return n},t.resolve=function(e,t){return this._resolve(e,t)||this},t._resolve=function(e,t){if(t&&t.indexOf(this)>=0)return;if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get("id").isIdentifier())return this.get("init").resolve(e,t)}else if(this.isReferencedIdentifier()){const r=this.scope.getBinding(this.node.name);if(!r)return;if(!r.constant)return;if("module"===r.kind)return;if(r.path!==this){const n=r.path.resolve(e,t);if(this.find(e=>e.node===n.node))return;return n}}else{if(this.isTypeCastExpression())return this.get("expression").resolve(e,t);if(e&&this.isMemberExpression()){const r=this.toComputedKey();if(!n.isLiteral(r))return;const i=r.value,s=this.get("object").resolve(e,t);if(s.isObjectExpression()){const r=s.get("properties");for(const n of r){if(!n.isProperty())continue;const r=n.get("key");let s=n.isnt("computed")&&r.isIdentifier({name:i});if(s=s||r.isLiteral({value:i}),s)return n.get("value").resolve(e,t)}}else if(s.isArrayExpression()&&!isNaN(+i)){const r=s.get("elements")[i];if(r)return r.resolve(e,t)}}}},t.isConstantExpression=function(){if(this.isIdentifier()){const e=this.scope.getBinding(this.node.name);return!!e&&e.constant}if(this.isLiteral())return!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get("expressions").every(e=>e.isConstantExpression()));if(this.isUnaryExpression())return"void"===this.get("operator").node&&this.get("argument").isConstantExpression();if(this.isBinaryExpression())return this.get("left").isConstantExpression()&&this.get("right").isConstantExpression();return!1},t.isInStrictMode=function(){const e=this.isProgram()?this:this.parentPath;return!!e.find(e=>{if(e.isProgram({sourceType:"module"}))return!0;if(e.isClass())return!0;if(!e.isProgram()&&!e.isFunction())return!1;if(e.isArrowFunctionExpression()&&!e.get("body").isBlockStatement())return!1;let{node:t}=e;e.isFunction()&&(t=t.body);for(const e of t.directives)if("use strict"===e.value.value)return!0})},t.is=void 0;var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(r(0));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function s(e){const t=this.node&&this.node[e];return t&&Array.isArray(t)?!!t.length:!!t}const a=s;function o(e){return(e.scope.getFunctionParent()||e.scope.getProgramParent()).path}function l(e,t){switch(e){case"LogicalExpression":return"right"===t;case"ConditionalExpression":case"IfStatement":return"consequent"===t||"alternate"===t;case"WhileStatement":case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":return"body"===t;case"ForStatement":return"body"===t||"update"===t;case"SwitchStatement":return"cases"===t;case"TryStatement":return"handler"===t;case"AssignmentPattern":return"right"===t;case"OptionalMemberExpression":return"property"===t;case"OptionalCallExpression":return"arguments"===t;default:return!1}}function c(e,t){for(let r=0;r0)return!0}return!1},t.isBlacklisted=t.isDenylisted=function(){var e;const t=null!=(e=this.opts.denylist)?e:this.opts.blacklist;return t&&t.indexOf(this.node.type)>-1},t.visit=function(){if(!this.node)return!1;if(this.isDenylisted())return!1;if(this.opts.shouldSkip&&this.opts.shouldSkip(this))return!1;if(this.shouldSkip||this.call("enter")||this.shouldSkip)return this.debug("Skip..."),this.shouldStop;return this.debug("Recursing into..."),i.default.node(this.node,this.opts,this.scope,this.state,this,this.skipKeys),this.call("exit"),this.shouldStop},t.skip=function(){this.shouldSkip=!0},t.skipKey=function(e){null==this.skipKeys&&(this.skipKeys={});this.skipKeys[e]=!0},t.stop=function(){this._traverseFlags|=s.SHOULD_SKIP|s.SHOULD_STOP},t.setScope=function(){if(this.opts&&this.opts.noScope)return;let e,t=this.parentPath;for(;t&&!e;){if(t.opts&&t.opts.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope&&this.scope.init()},t.setContext=function(e){null!=this.skipKeys&&(this.skipKeys={});this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts);return this.setScope(),this},t.resync=function(){if(this.removed)return;this._resyncParent(),this._resyncList(),this._resyncKey()},t._resyncParent=function(){this.parentPath&&(this.parent=this.parentPath.node)},t._resyncKey=function(){if(!this.container)return;if(this.node===this.container[this.key])return;if(Array.isArray(this.container)){for(let e=0;e0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)},t.pushContext=function(e){this.contexts.push(e),this.setContext(e)},t.setup=function(e,t,r,n){this.listKey=r,this.container=t,this.parentPath=e||this.parentPath,this.setKey(n)},t.setKey=function(e){var t;this.key=e,this.node=this.container[this.key],this.type=null==(t=this.node)?void 0:t.type},t.requeue=function(e=this){if(e.removed)return;const t=this.contexts;for(const r of t)r.maybeQueue(e)},t._getQueueContexts=function(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t};var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(8)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.remove=function(){var e;this._assertUnremoved(),this.resync(),(null==(e=this.opts)?void 0:e.noScope)||this._removeFromScope();if(this._callRemovalHooks())return void this._markRemoved();this.shareCommentsWithSiblings(),this._remove(),this._markRemoved()},t._removeFromScope=function(){const e=this.getBindingIdentifiers();Object.keys(e).forEach(e=>this.scope.removeBinding(e))},t._callRemovalHooks=function(){for(const e of n.hooks)if(e(this,this.parentPath))return!0},t._remove=function(){Array.isArray(this.container)?(this.container.splice(this.key,1),this.updateSiblingKeys(this.key,-1)):this._replaceWith(null)},t._markRemoved=function(){this._traverseFlags|=i.SHOULD_SKIP|i.REMOVED,this.node=null},t._assertUnremoved=function(){if(this.removed)throw this.buildCodeFrameError("NodePath has been removed so is read-only.")};var n=r(366),i=r(8)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hooks=void 0;t.hooks=[function(e,t){if("test"===e.key&&(t.isWhile()||t.isSwitchCase())||"declaration"===e.key&&t.isExportDeclaration()||"body"===e.key&&t.isLabeledStatement()||"declarations"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||"expression"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return"left"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&("consequent"===e.key||"alternate"===e.key)||"body"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:"BlockStatement",body:[]}),!0}]},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.insertBefore=function(e){this._assertUnremoved(),e=this._verifyNodeList(e);const{parentPath:t}=this;if(t.isExpressionStatement()||t.isLabeledStatement()||t.isExportNamedDeclaration()||t.isExportDefaultDeclaration()&&this.isDeclaration())return t.insertBefore(e);if(this.isNodeType("Expression")&&!this.isJSXElement()||t.isForStatement()&&"init"===this.key)return this.node&&e.push(this.node),this.replaceExpressionWithStatements(e);if(Array.isArray(this.container))return this._containerInsertBefore(e);if(this.isStatementOrBlock()){const t=this.node&&(!this.isExpressionStatement()||null!=this.node.expression);return this.replaceWith(a.blockStatement(t?[this.node]:[])),this.unshiftContainer("body",e)}throw new Error("We don\'t know what to do with this node type. We were previously a Statement but we can\'t fit in here?")},t._containerInsert=function(e,t){this.updateSiblingKeys(e,t.length);const r=[];this.container.splice(e,0,...t);for(let n=0;na.isExpression(e)?a.expressionStatement(e):e));if(this.isNodeType("Expression")&&!this.isJSXElement()&&!t.isJSXElement()||t.isForStatement()&&"init"===this.key){if(this.node){let{scope:r}=this;t.isMethod({computed:!0,key:this.node})&&(r=r.parent);const n=r.generateDeclaredUidIdentifier();e.unshift(a.expressionStatement(a.assignmentExpression("=",a.cloneNode(n),this.node))),e.push(a.expressionStatement(a.cloneNode(n)))}return this.replaceExpressionWithStatements(e)}if(Array.isArray(this.container))return this._containerInsertAfter(e);if(this.isStatementOrBlock()){const t=this.node&&(!this.isExpressionStatement()||null!=this.node.expression);return this.replaceWith(a.blockStatement(t?[this.node]:[])),this.pushContainer("body",e)}throw new Error("We don\'t know what to do with this node type. We were previously a Statement but we can\'t fit in here?")},t.updateSiblingKeys=function(e,t){if(!this.parent)return;const r=n.path.get(this.parent);for(let n=0;n=e&&(i.key+=t)}},t._verifyNodeList=function(e){if(!e)return[];e.constructor!==Array&&(e=[e]);for(let t=0;t=0)break}while(e=e.parent)}getAttachmentPath(){let e=this._getAttachmentPath();if(!e)return;let t=e.scope;if(t.path===e&&(t=e.scope.parent),t.path.isProgram()||t.path.isFunction())for(const r of Object.keys(this.bindings)){if(!t.hasOwnBinding(r))continue;const n=this.bindings[r];if("param"===n.kind||"params"===n.path.parentKey)continue;if(this.getAttachmentParentForPath(n.path).key>=e.key){this.attachAfter=!0,e=n.path;for(const t of n.constantViolations)this.getAttachmentParentForPath(t).key>e.key&&(e=t)}}return e}_getAttachmentPath(){const e=this.scopes.pop();if(e)if(e.path.isFunction()){if(!this.hasOwnParamBindings(e))return this.getNextScopeAttachmentParent();{if(this.scope===e)return;const t=e.path.get("body").get("body");for(let e=0;e=0;n--){const i=e[n].get("consequent");let s=l(i);if(s){for(;0===s.key&&s.parentPath.isBlockStatement();)s=s.parentPath;const e=s.getPrevSibling();s.key>0&&(e.isExpressionStatement()||e.isBlockStatement())?(t=o(e,t),s.remove()):(s.replaceWith(s.scope.buildUndefinedNode()),t=o(s,t))}else if(r){const e=t=>!t.isBlockStatement()||t.get("body").some(e);i.some(e)&&(t=o(i[i.length-1],t),r=!1)}}return t}(this.get("cases"),e):e.push(this)}return e},t.getSibling=function(e){return i.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e})},t.getPrevSibling=function(){return this.getSibling(this.key-1)},t.getNextSibling=function(){return this.getSibling(this.key+1)},t.getAllNextSiblings=function(){let e=this.key,t=this.getSibling(++e);const r=[];for(;t.node;)r.push(t),t=this.getSibling(++e);return r},t.getAllPrevSiblings=function(){let e=this.key,t=this.getSibling(--e);const r=[];for(;t.node;)r.push(t),t=this.getSibling(--e);return r},t.get=function(e,t){!0===t&&(t=this.context);const r=e.split(".");return 1===r.length?this._getKey(e,t):this._getPattern(r,t)},t._getKey=function(e,t){const r=this.node,n=r[e];return Array.isArray(n)?n.map((s,a)=>i.default.get({listKey:e,parentPath:this,parent:r,container:n,key:a}).setContext(t)):i.default.get({parentPath:this,parent:r,container:r,key:e}).setContext(t)},t._getPattern=function(e,t){let r=this;for(const n of e)r="."===n?r.parentPath:Array.isArray(r)?r[n]:r.get(n,t);return r},t.getBindingIdentifiers=function(e){return s.getBindingIdentifiers(this.node,e)},t.getOuterBindingIdentifiers=function(e){return s.getOuterBindingIdentifiers(this.node,e)},t.getBindingIdentifierPaths=function(e=!1,t=!1){let r=[].concat(this);const n=Object.create(null);for(;r.length;){const i=r.shift();if(!i)continue;if(!i.node)continue;const a=s.getBindingIdentifiers.keys[i.node.type];if(i.isIdentifier())if(e){(n[i.node.name]=n[i.node.name]||[]).push(i)}else n[i.node.name]=i;else if(i.isExportDeclaration()){const e=i.get("declaration");e.isDeclaration()&&r.push(e)}else{if(t){if(i.isFunctionDeclaration()){r.push(i.get("id"));continue}if(i.isFunctionExpression())continue}if(a)for(let e=0;ee.toString()),n})),n[i]=s)}return n}function u(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function d(e,t){const r=function(r){if(e.checkPath(r))return t.apply(this,arguments)};return r.toString=()=>t.toString(),r}function h(e){return"_"===e[0]||("enter"===e||"exit"===e||"shouldSkip"===e||("denylist"===e||"noScope"===e||"skipKeys"===e||"blacklist"===e))}function f(e,t){for(const r of Object.keys(t))e[r]=[].concat(e[r]||[],t[r])}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class{getCode(){}getScope(){}addHelper(){throw new Error("Helpers are not supported by the default hub.")}buildError(e,t,r=TypeError){return new r(t)}}},function(e,t,r){var n,i,s;!function(r,a){"use strict";i=[],void 0===(s="function"==typeof(n=function(){function e(e){return e.charAt(0).toUpperCase()+e.substring(1)}function t(e){return function(){return this[e]}}var r=["isConstructor","isEval","isNative","isToplevel"],n=["columnNumber","lineNumber"],i=["fileName","functionName","source"],s=r.concat(n,i,["args"]);function a(t){if(t)for(var r=0;ri.column))}function f(e){return e.node.init.property.type===d.NUMERIC_LITERAL&&0===e.node.init.property.value}function m(e,t,r){let n=[];return!function(e){const t=e.node.id;if(t.type===d.ARRAY_PATTERN||t.type===d.IDENTIFIER&&!x(e))return!0;return!1}(e)?n=t.filter(t=>function(e,t){const r=e.node.id.name;return null!=r&&(r===(t.node.init.object&&t.node.init.object.name)||r===t.node.init.name)}(e,t)):n.unshift(e),n}function y(e,t,r,n,i){const s=c(0,()=>function(e){const t=[];return c(0,()=>u()(e,{enter(e){e.isVariableDeclarator()&&function(e){const t=e.node.init;if(null!=t){if(t.type===d.CALL_EXPRESSION){return g(t.callee)}if(t.type===d.MEMBER_EXPRESSION||t.type===d.IDENTIFIER)return!0}return!1}(e)&&t.push(e)}})),t}(t));let a=null;if(0===i){const e=s.filter(e=>{const t=h(e,n),r=b(e);return t&&r});1===e.length&&(a=e[0])}else a=s.find(e=>{const t=h(e,n,i),r=b(e);return t&&r});if(!a)return null;try{const t=c(0,()=>m(a,s));return c(0,()=>function(e,t,r){let n;const i=null===e.id;switch(t.length){case 1:if(i&&t[0]===r){n=T(r,i);break}n=T(t[0]);break;case 2:if(1!==(t=t.filter(e=>f(e))).length)throw new Error("Couldn\'t isolate AST Node containing hook variable.");n=T(t[0]);break;default:n=T(r)}return n}(e,t,a))}catch(e){return console.error(e),null}}function T(e,t=!1){var r,n;switch(e.node.id.type){case d.ARRAY_PATTERN:return t?null:null!==(r=null===(n=e.node.id.elements[0])||void 0===n?void 0:n.name)&&void 0!==r?r:null;case d.IDENTIFIER:return e.node.id.name;default:return null}}function b(e){const t=e.node.init;if(null==t||t.type!==d.CALL_EXPRESSION)return!1;return g(t.callee)}function g(e){if(e.type===d.IDENTIFIER)return t=e.name,/^use[A-Z0-9].*$/.test(t);if(e.type===d.MEMBER_EXPRESSION&&!e.computed&&g(e.property)){const t=e.object,r=/^[A-Z].*/;return t.type===d.IDENTIFIER&&r.test(t.name)}return!1;var t}function S(e,t){return e.name===t||"MemberExpression"===e.type&&"React"===e.object.name&&e.property.name===t}function x(e){const t=e.node.init.callee;return S(t,"useState")||S(t,"useReducer")||S(t,"useTransition")}var E=r(129),P=r.n(E),v=r(62),A=r.n(v);let w=null;new WeakMap;function O({fileName:e,lineNumber:t,columnNumber:r}){if(null==e||null==t||null==r)throw Error("Hook source code location not found.");return`${e}:${t}:${r}`}for(var I=r(21),C={},N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k=0;k>>=1,u&&(o=0===o?-2147483648:-o),n[i]+=o,i++,o=a=0}}}return _(r,n,i),t.push(r),t}function _(e,t,r){4===r?e.push([t[0],t[1],t[2],t[3]]):5===r?e.push([t[0],t[1],t[2],t[3],t[4]]):1===r&&e.push([t[0]])}function L(e,t){const{names:r,mappings:n}=t,i=M(e,n,j);if(null==i)throw new Error(`Expected to find a line in the HookMap that covers the target location at line: ${e.line}, column: ${e.column}`);let s;if(s=R(i)!==e.line?i[i.length-1]:M(e,i,F),null==s)throw new Error(`Expected to find a mapping in the HookMap that covers the target location at line: ${e.line}, column: ${e.column}`);const a=function(e){const t=e[2];if(null==t)throw new Error("Unexpected hook name index missing in entry in HookMap");return t}(s);if(null==a)throw new Error(`Expected to find a name index in the HookMap that covers the target location at line: ${e.line}, column: ${e.column}`);const o=r[a];if(null==o)throw new Error(`Expected to find a name in the HookMap that covers the target location at line: ${e.line}, column: ${e.column}`);return""===o?null:o}function M(e,t,r){let n,i=t.length,s=0,a=0;for(;i>0;){s=a,n=Math.floor(i/2),s+=n;const o=r(e,t,s);if(0===o.direction){if(null==o.index)throw new Error("Expected an index when matching element is found.");a=o.index;break}o.direction>0?(s++,a=s,i-=n+1):i=n}return null!=a?t[a]:null}function j(e,t,r){const n=r,i=t[n];if(null==i)throw new Error(`Unexpected line missing in HookMap at index ${r}.`);const s=R(i);let a,o=r+1;const l=t[o];return null!=l?a=R(l):(o=n,a=s),s===e.line?{index:n,direction:0}:a===e.line||e.line>a&&null==l?{index:o,direction:0}:sa&&null==l?{index:o,direction:0}:s{this._getMetadataObjectsBySourceNames(e.map).forEach((e,t)=>{r.set(t,e)})}),r}const t=new Map,r=e,n=(e,n)=>{let i=r.sources[n];null!=i&&(i=U(i,r),t.set(i,e))};if(e.hasOwnProperty("x_react_sources")&&null!=e.x_react_sources){e.x_react_sources.filter(Boolean).forEach(n)}else if(e.hasOwnProperty("x_facebook_sources")&&null!=e.x_facebook_sources){const t=e.x_facebook_sources;null!=t&&t.forEach((e,t)=>{const r=null!=e?e[1]:null;null!=r&&n(r,t)})}return t}_getHookMapForSource(e){if(this._decodedHookMapCache.has(e))return this._decodedHookMapCache.get(e);let t=null;const r=this._getMetadataBySource(),n=U(e,this._sourceMap),i=r.get(n);if(null!=i){const e=i[0];t=null!=e?function(e){return{names:e.names,mappings:D(e.mappings)}}(e):null}return null!=t&&this._decodedHookMapCache.set(e,t),t}}function K(e){return null!=e.sections?function(e){let t={line:-1,column:0};const r=e.sections.map(e=>{const r=e.offset,n=r.line,i=r.column;if(nn){if(!(a-o>0)){o=a;break}a=o}else{if(!(o-s>0)){o=s;break}s=o}}else if(e>t){if(!(a-o>0)){o=a;break}a=o}else{if(!(o-s>0)){o=s;break}s=o}}if(null==i)throw Error(`Could not find matching section for line:${t} and column:${e}`);return null===i.sourceMapConsumer&&(i.sourceMapConsumer=new K(i.map)),i.sourceMapConsumer.originalPositionFor({columnNumber:e,lineNumber:t})}}}(e):function(e){const t=c(0,()=>D(e.mappings));return{originalPositionFor:function({columnNumber:r,lineNumber:n}){var i;const s=r-1,a=t[n-1];let o=null,l=0,c=a.length-1,p=-1;for(;l<=c;){p=Math.floor((c+l)/2),o=a[p];const e=o[0];if(e===s)break;if(e>s){if(!(c-p>0)){p=c;break}c=p}else{if(!(p-l>0)){p=l;break}l=p}}for(;p>0;){if(a[p-1][0]!==s)break;p--}if(null==o)throw Error(`Could not find runtime location for line:${n} and column:${r}`);const u=o[1],d=null!=e.sourcesContent?e.sourcesContent[u]:null,h=null!==(i=e.sources[u])&&void 0!==i?i:null,f=o[2]+1,m=o[3];if(null===d||null===h)throw Error(`Could not find original source for line:${n} and column:${r}`);return{column:m,line:f,sourceContent:d,sourceURL:h}}}}(e)}const q=new s.a({max:50}),Y=new s.a({max:50,dispose:(e,t)=>{0}});const W=async function(e,t){return async function(e,t,r){const n=l(),i=await t();if(null!=r){r(l()-n)}return i}(0,async()=>{const r=c(0,()=>function(e){const t=new Map;return e.forEach((e,r)=>{t.set(r,{metadataConsumer:null,originalSourceAST:null,originalSourceCode:null,originalSourceURL:null,originalSourceLineNumber:null,originalSourceColumnNumber:null,sourceMapConsumer:null})}),t}(t));return c(0,()=>function(e,t){e.forEach((e,r)=>{const n=t.get(r);if(null==n)throw Error(`Expected to find HookParsedMetadata for "${r}"`);const{runtimeSourceURL:i,sourceMapJSON:s}=e,a=q.get(i);if(null!=a)n.metadataConsumer=a.metadataConsumer,n.sourceMapConsumer=a.sourceMapConsumer;else if(null!=s){const e=c(0,()=>K(s)),t=c(0,()=>new V(s));n.metadataConsumer=t,n.sourceMapConsumer=e,q.set(i,{metadataConsumer:t,sourceMapConsumer:e})}})}(t,r)),c(0,()=>function(e,t){e.forEach((e,r)=>{const i=t.get(r);if(null==i)throw Error(`Expected to find HookParsedMetadata for "${r}"`);if(null!==i.originalSourceAST)return;if(null!=i.originalSourceURL&&null!=i.originalSourceCode&&null!=i.originalSourceColumnNumber&&null!=i.originalSourceLineNumber)return;const{lineNumber:s,columnNumber:a}=e.hookSource;if(null==s||null==a)throw Error("Hook source code location not found.");const{metadataConsumer:o,sourceMapConsumer:l}=i,p=e.runtimeSourceCode;let u,d,h,f,m=!1;if(function(){if(null===w)try{A()(),w=!1}catch(e){P.a.parse(e)[0].lineNumber===v.SOURCE_STACK_FRAME_LINE_NUMBER&&(w=!0)}return!0===w}()||null===l)h=a,f=s,d=p,u=e.runtimeSourceURL;else{const{column:e,line:t,sourceContent:r,sourceURL:n}=l.originalPositionFor({columnNumber:a,lineNumber:s});h=e,f=t,d=r,u=n}if(i.originalSourceCode=d,i.originalSourceURL=u,i.originalSourceLineNumber=f,i.originalSourceColumnNumber=h,null!=o&&o.hasHookMap(u)&&(m=!0),m)return void 0;const y=Y.get(u);if(null!=y)i.originalSourceAST=y.originalSourceAST,i.originalSourceCode=y.originalSourceCode;else try{const e=d.indexOf("@flow")>0?"flow":"typescript",t=c(0,()=>Object(n.parse)(d,{sourceType:"unambiguous",plugins:["jsx",e]}));i.originalSourceAST=t,Y.set(u,{originalSourceAST:t,originalSourceCode:d})}catch(e){throw new Error(`Failed to parse source file: ${u}\\n\\nOriginal error: `+e)}})}(t,r)),c(0,()=>function(e,t){const r=new Map;return e.map(e=>{const n=e.hookSource;if(!n.fileName)return null;const i=O(n),s=t.get(i);if(!s)return null;const{lineNumber:a,columnNumber:o}=n;if(!a||!o)return null;const{originalSourceURL:l,originalSourceColumnNumber:p,originalSourceLineNumber:u}=s;if(null==u||null==p||null==l)return null;let d;const{metadataConsumer:h}=s;null!=h&&(d=c(0,()=>h.hookNameFor({line:u,column:p,source:l}))),null==d&&(d=c(0,()=>y(e,s.originalSourceAST,s.originalSourceCode,u,p)));const f=O(n);r.set(f,d)}),r}(e,r))})},X=function(){Y.reset(),q.reset()};addEventListener("message",(function(e){var r,n=e.data,i=n.type,s=n.method,a=n.id,o=n.params;"RPC"===i&&s&&((r=t[s])?Promise.resolve().then((function(){return r.apply(t,o)})):Promise.reject("No such method")).then((function(e){postMessage({type:"RPC",id:a,result:e})})).catch((function(e){var t={message:e};e.stack&&(t.message=e.message,t.stack=e.stack,t.name=e.name),postMessage({type:"RPC",id:a,error:t})}))})),postMessage({type:"RPC",method:"ready"})}]);\n//# sourceMappingURL=parseSourceAndMetadata.worker.worker.js.map'])),{name:"parseSourceAndMetadata.worker.worker.js"});return n(e,i),e}},210:function(e,t,r){"use strict";r.r(t),r.d(t,"parseSourceAndMetadata",(function(){return y})),r.d(t,"purgeCachedMetadata",(function(){return T})),r.d(t,"parseHookNames",(function(){return b}));var n=r(73),i=r(209),s=r.n(i),a=r(1),o=r(39);function l(e,t){if(null==t)return!1;if(void 0===e.mappings){return e.sections.some(e=>l(e.map,t))}return e.sources.some(e=>"Inline Babel script"===e||t.endsWith(e))}const c={cache:"force-cache"};async function u(e,t){return Object(n.a)("loadSourceAndMetadata()",async()=>{const r=Object(n.c)("initializeHookSourceAndMetadata",()=>function(e){const t=new Map;for(let r=0;rfunction(e,t){const r=new Map,i=[];return e.forEach(e=>{const{runtimeSourceURL:s}=e;let o=d;null!=t&&(o=e=>Object(n.a)(`fetchFileWithCaching("${e}")`,()=>t(e)));const l=r.get(s)||o(s).then(e=>{if(e.length>1e8)throw Error("Source code too large to parse");return a.F&&(console.groupCollapsed(`loadSourceFiles() runtimeSourceURL "${s}"`),console.log(e),console.groupEnd()),e});r.set(s,l),i.push(l.then(t=>{e.runtimeSourceCode=t}))}),Promise.all(i)}(r,t)),await Object(n.a)("extractAndLoadSourceMapJSON()",()=>function(e){const t=new Map;a.F&&console.log("extractAndLoadSourceMapJSON() load",e.size,"source maps");const r=[];return e.forEach(e=>{const i=/ ?sourceMappingURL=([^\s'"]+)/gm,s=e.runtimeSourceCode;let o=Object(n.c)("sourceMapRegex.exec(runtimeSourceCode)",()=>i.exec(s));if(null==o)a.F&&console.log("extractAndLoadSourceMapJSON() No source map found");else{const c=[];for(;null!=o;){const{runtimeSourceURL:t}=e,r=o[1];if(r.indexOf("base64,")>=0)try{const i=r.match(/base64,([a-zA-Z0-9+\/=]+)/)[1],s=Object(n.c)("decodeBase64String()",()=>p(i)),o=Object(n.c)("JSON.parse(decoded)",()=>JSON.parse(s));if(a.F&&(console.groupCollapsed("extractAndLoadSourceMapJSON() Inline source map"),console.log(o),console.groupEnd()),l(o,t)){e.sourceMapJSON=o,e.runtimeSourceCode=null;break}}catch(e){}else c.push(r);o=Object(n.c)("sourceMapRegex.exec(runtimeSourceCode)",()=>i.exec(s))}null===e.sourceMapJSON&&c.forEach((i,s)=>{if(s!==c.length-1)return void console.warn(`More than one external source map detected in the source file; skipping "${i}"`);const{runtimeSourceURL:o}=e;let l=i;if(!l.startsWith("http")&&!l.startsWith("/")){if(-1!==o.lastIndexOf("/")){l=`${o.slice(0,o.lastIndexOf("/"))}/${l}`}}e.sourceMapURL=l;const u=t.get(l)||d(l).then(e=>Object(n.c)("JSON.parse(sourceMapContents)",()=>JSON.parse(e)),e=>null);a.F&&(t.has(l)||console.log(`extractAndLoadSourceMapJSON() External source map "${l}"`)),t.set(l,u),r.push(u.then(t=>{null!==t&&(e.sourceMapJSON=t,e.runtimeSourceCode=null)}))})}}),Promise.all(r)}(r)),r})}function p(e){if("function"==typeof atob)return atob(e);if("undefined"!=typeof Buffer&&null!==Buffer&&"function"==typeof Buffer.from)return Buffer.from(e,"base64");throw Error("Cannot decode base64 string")}function d(e,t="fetchFile"){return Object(n.b)(`${t}("${e}")`,r=>new Promise((n,i)=>{fetch(e,c).then(s=>{s.ok?s.text().then(e=>{r(),n(e)}).catch(n=>{a.F&&console.log(`${t}() Could not read text for url "${e}"`),r(),i(null)}):(a.F&&console.log(`${t}() Got bad response for url "${e}"`),r(),i(null))},e=>{a.F&&console.log(`${t}() Could not fetch file: ${e.message}`),r(),i(null)})}))}function h(e){const t=[];return Object(n.c)("flattenHooksList()",()=>{!function e(t,r){for(let n=0;n0&&e(i.subHooks,r))}}(e,t)}),a.F&&console.log("flattenHooksList() hooksList:",t),t}function f(e){return["Effect","ImperativeHandle","LayoutEffect","DebugValue"].includes(e.name)}const m=s()();function y(e,t){return m.parseSourceAndMetadata(e,t)}const T=m.purgeCachedMetadata,g=new Map;async function b(e,t){return Object(n.a)("parseHookNames",async()=>{const r=h(e);if(0===r.length)return g;return y(r,await u(r,t))})}}}; //# sourceMappingURL=parseHookNames.chunk.js.map