@amplitude/ai 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/.claude/commands/instrument-with-amplitude-ai.md +12 -0
  2. package/.cursor/skills/instrument-with-amplitude-ai/SKILL.md +4 -42
  3. package/AGENTS.md +86 -28
  4. package/README.md +190 -111
  5. package/amplitude-ai.md +463 -0
  6. package/bin/amplitude-ai-doctor.mjs +0 -0
  7. package/bin/amplitude-ai-instrument.mjs +0 -0
  8. package/bin/amplitude-ai-mcp.mjs +0 -0
  9. package/bin/amplitude-ai-register-catalog.mjs +0 -0
  10. package/bin/amplitude-ai-status.mjs +0 -0
  11. package/bin/amplitude-ai.mjs +14 -5
  12. package/data/agent_event_catalog.json +52 -2
  13. package/dist/bound-agent.d.ts +18 -14
  14. package/dist/bound-agent.d.ts.map +1 -1
  15. package/dist/bound-agent.js +4 -1
  16. package/dist/bound-agent.js.map +1 -1
  17. package/dist/cli/status.d.ts.map +1 -1
  18. package/dist/cli/status.js +31 -19
  19. package/dist/cli/status.js.map +1 -1
  20. package/dist/client.d.ts +14 -14
  21. package/dist/client.d.ts.map +1 -1
  22. package/dist/client.js +38 -0
  23. package/dist/client.js.map +1 -1
  24. package/dist/context.d.ts +5 -0
  25. package/dist/context.d.ts.map +1 -1
  26. package/dist/context.js +4 -0
  27. package/dist/context.js.map +1 -1
  28. package/dist/core/constants.d.ts +3 -1
  29. package/dist/core/constants.d.ts.map +1 -1
  30. package/dist/core/constants.js +3 -1
  31. package/dist/core/constants.js.map +1 -1
  32. package/dist/core/tracking.d.ts +12 -2
  33. package/dist/core/tracking.d.ts.map +1 -1
  34. package/dist/core/tracking.js +13 -2
  35. package/dist/core/tracking.js.map +1 -1
  36. package/dist/decorators.d.ts +1 -1
  37. package/dist/decorators.d.ts.map +1 -1
  38. package/dist/decorators.js +4 -3
  39. package/dist/decorators.js.map +1 -1
  40. package/dist/index.d.ts +7 -4
  41. package/dist/index.js +5 -2
  42. package/dist/mcp/contract.d.ts +4 -0
  43. package/dist/mcp/contract.d.ts.map +1 -1
  44. package/dist/mcp/contract.js +6 -2
  45. package/dist/mcp/contract.js.map +1 -1
  46. package/dist/mcp/generate-verify-test.d.ts +7 -0
  47. package/dist/mcp/generate-verify-test.d.ts.map +1 -0
  48. package/dist/mcp/generate-verify-test.js +25 -0
  49. package/dist/mcp/generate-verify-test.js.map +1 -0
  50. package/dist/mcp/index.d.ts +2 -1
  51. package/dist/mcp/index.js +2 -1
  52. package/dist/mcp/instrument-file.d.ts +14 -0
  53. package/dist/mcp/instrument-file.d.ts.map +1 -0
  54. package/dist/mcp/instrument-file.js +139 -0
  55. package/dist/mcp/instrument-file.js.map +1 -0
  56. package/dist/mcp/scan-project.d.ts +52 -0
  57. package/dist/mcp/scan-project.d.ts.map +1 -0
  58. package/dist/mcp/scan-project.js +309 -0
  59. package/dist/mcp/scan-project.js.map +1 -0
  60. package/dist/mcp/server.d.ts.map +1 -1
  61. package/dist/mcp/server.js +79 -4
  62. package/dist/mcp/server.js.map +1 -1
  63. package/dist/mcp/validate-file.d.ts +4 -0
  64. package/dist/mcp/validate-file.d.ts.map +1 -1
  65. package/dist/mcp/validate-file.js +559 -11
  66. package/dist/mcp/validate-file.js.map +1 -1
  67. package/dist/middleware.js +2 -1
  68. package/dist/middleware.js.map +1 -1
  69. package/dist/node_modules/.pnpm/acorn-typescript@1.4.13_acorn@8.16.0/node_modules/acorn-typescript/lib/index.js +2389 -0
  70. package/dist/node_modules/.pnpm/acorn-typescript@1.4.13_acorn@8.16.0/node_modules/acorn-typescript/lib/index.js.map +1 -0
  71. package/dist/node_modules/.pnpm/acorn@8.16.0/node_modules/acorn/dist/acorn.js +5128 -0
  72. package/dist/node_modules/.pnpm/acorn@8.16.0/node_modules/acorn/dist/acorn.js.map +1 -0
  73. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +1 -1
  74. package/dist/providers/anthropic.d.ts.map +1 -1
  75. package/dist/providers/anthropic.js +1 -0
  76. package/dist/providers/anthropic.js.map +1 -1
  77. package/dist/providers/base.d.ts +2 -1
  78. package/dist/providers/base.d.ts.map +1 -1
  79. package/dist/providers/base.js +4 -0
  80. package/dist/providers/base.js.map +1 -1
  81. package/dist/providers/openai.d.ts.map +1 -1
  82. package/dist/providers/openai.js +2 -0
  83. package/dist/providers/openai.js.map +1 -1
  84. package/dist/serverless.d.ts +19 -0
  85. package/dist/serverless.d.ts.map +1 -0
  86. package/dist/serverless.js +35 -0
  87. package/dist/serverless.js.map +1 -0
  88. package/dist/session.d.ts +24 -8
  89. package/dist/session.d.ts.map +1 -1
  90. package/dist/session.js +20 -1
  91. package/dist/session.js.map +1 -1
  92. package/dist/types.d.ts +1 -0
  93. package/dist/types.d.ts.map +1 -1
  94. package/dist/types.js.map +1 -1
  95. package/dist/utils/costs.d.ts.map +1 -1
  96. package/dist/utils/costs.js +5 -1
  97. package/dist/utils/costs.js.map +1 -1
  98. package/llms-full.txt +353 -69
  99. package/llms.txt +6 -2
  100. package/mcp.schema.json +7 -3
  101. package/package.json +10 -5
  102. package/bin/amplitude-ai-init.mjs +0 -27
  103. package/dist/cli/init.d.ts +0 -14
  104. package/dist/cli/init.d.ts.map +0 -1
  105. package/dist/cli/init.js +0 -40
  106. package/dist/cli/init.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["t","s","i","e","o","n","N","r","h","p","a","l","u","d","m","f","x"],"sources":["../../../../../../../node_modules/.pnpm/acorn-typescript@1.4.13_acorn@8.16.0/node_modules/acorn-typescript/lib/index.js"],"sourcesContent":["var t=require(\"acorn\");function e(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(s){if(\"default\"!==s){var i=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:function(){return t[s]}})}}),e.default=t,e}var s=/*#__PURE__*/e(t);function i(t,e){for(var s=0;s<e.length;s++){var i=e[s];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(t,\"symbol\"==typeof(r=function(t,e){if(\"object\"!=typeof t||null===t)return t;var s=t[Symbol.toPrimitive];if(void 0!==s){var i=s.call(t,\"string\");if(\"object\"!=typeof i)return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(t)}(i.key))?r:String(r),i)}var r}function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var s=arguments[e];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i])}return t},r.apply(this,arguments)}function a(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,n(t,e)}function n(t,e){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},n(t,e)}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var s=0,i=new Array(e);s<e;s++)i[s]=t[s];return i}function h(t,e){var s=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(s)return(s=s.call(t)).next.bind(s);if(Array.isArray(t)||(s=function(t,e){if(t){if(\"string\"==typeof t)return o(t,e);var s=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===s&&t.constructor&&(s=t.constructor.name),\"Map\"===s||\"Set\"===s?Array.from(t):\"Arguments\"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?o(t,e):void 0}}(t))||e&&t&&\"number\"==typeof t.length){s&&(t=s);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var p=!0;function c(e,s){return void 0===s&&(s={}),new t.TokenType(\"name\",s)}var l=new WeakMap,u=1024,d=new RegExp(\"(?:[^\\\\S\\\\n\\\\r\\\\u2028\\\\u2029]|\\\\/\\\\/.*|\\\\/\\\\*.*?\\\\*\\\\/)*\",\"y\"),m=new RegExp(\"(?=(\"+d.source+\"))\\\\1\"+/(?=[\\n\\r\\u2028\\u2029]|\\/\\*(?!.*?\\*\\/)|$)/.source,\"y\"),y=function(){this.shorthandAssign=void 0,this.trailingComma=void 0,this.parenthesizedAssign=void 0,this.parenthesizedBind=void 0,this.doubleProto=void 0,this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};function f(t,e){var s=e.key.name,i=t[s],r=\"true\";return\"MethodDefinition\"!==e.type||\"get\"!==e.kind&&\"set\"!==e.kind||(r=(e.static?\"s\":\"i\")+e.kind),\"iget\"===i&&\"iset\"===r||\"iset\"===i&&\"iget\"===r||\"sget\"===i&&\"sset\"===r||\"sset\"===i&&\"sget\"===r?(t[s]=\"true\",!1):!!i||(t[s]=r,!1)}function x(t,e){var s=t.key;return!t.computed&&(\"Identifier\"===s.type&&s.name===e||\"Literal\"===s.type&&s.value===e)}var T={AbstractMethodHasImplementation:function(t){return\"Method '\"+t.methodName+\"' cannot have an implementation because it is marked abstract.\"},AbstractPropertyHasInitializer:function(t){return\"Property '\"+t.propertyName+\"' cannot have an initializer because it is marked abstract.\"},AccesorCannotDeclareThisParameter:\"'get' and 'set' accessors cannot declare 'this' parameters.\",AccesorCannotHaveTypeParameters:\"An accessor cannot have type parameters.\",CannotFindName:function(t){return\"Cannot find name '\"+t.name+\"'.\"},ClassMethodHasDeclare:\"Class methods cannot have the 'declare' modifier.\",ClassMethodHasReadonly:\"Class methods cannot have the 'readonly' modifier.\",ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference:\"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.\",ConstructorHasTypeParameters:\"Type parameters cannot appear on a constructor declaration.\",DeclareAccessor:function(t){return\"'declare' is not allowed in \"+t.kind+\"ters.\"},DeclareClassFieldHasInitializer:\"Initializers are not allowed in ambient contexts.\",DeclareFunctionHasImplementation:\"An implementation cannot be declared in ambient contexts.\",DuplicateAccessibilityModifier:function(){return\"Accessibility modifier already seen.\"},DuplicateModifier:function(t){return\"Duplicate modifier: '\"+t.modifier+\"'.\"},EmptyHeritageClauseType:function(t){return\"'\"+t.token+\"' 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:function(t){var e=t.modifiers;return\"'\"+e[0]+\"' modifier cannot be used with '\"+e[1]+\"' modifier.\"},IndexSignatureHasAbstract:\"Index signatures cannot have the 'abstract' modifier.\",IndexSignatureHasAccessibility:function(t){return\"Index signatures cannot have an accessibility modifier ('\"+t.modifier+\"').\"},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.\",InitializerNotAllowedInAmbientContext:\"Initializers are not allowed in ambient contexts.\",InvalidModifierOnTypeMember:function(t){return\"'\"+t.modifier+\"' modifier cannot appear on a type member.\"},InvalidModifierOnTypeParameter:function(t){return\"'\"+t.modifier+\"' modifier cannot appear on a type parameter.\"},InvalidModifierOnTypeParameterPositions:function(t){return\"'\"+t.modifier+\"' modifier can only appear on a type parameter of a class, interface or type alias.\"},InvalidModifiersOrder:function(t){var e=t.orderedModifiers;return\"'\"+e[0]+\"' modifier must precede '\"+e[1]+\"' modifier.\"},InvalidPropertyAccessAfterInstantiationExpression:\"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.\",InvalidTupleMemberLabel:\"Tuple members must be labeled with a simple identifier.\",MissingInterfaceName:\"'interface' declarations must be followed by an 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:function(t){return\"Private elements cannot have an accessibility modifier ('\"+t.modifier+\"').\"},PrivateMethodsHasAccessibility:function(t){return\"Private methods cannot have an accessibility modifier ('\"+t.modifier+\"').\"},ReadonlyForMethodSignature:\"'readonly' modifier can only appear on a property declaration or index signature.\",ReservedArrowTypeParam:\"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.\",ReservedTypeAssertion:\"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.\",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.\",SingleTypeParameterWithoutTrailingComma:function(t){var e=t.typeParameterName;return\"Single type parameter \"+e+\" should have a trailing comma. Example usage: <\"+e+\",>.\"},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.\",TypeModifierIsUsedInTypeExports:\"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.\",TypeModifierIsUsedInTypeImports:\"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.\",UnexpectedParameterModifier:\"A parameter property is only allowed in a constructor implementation.\",UnexpectedReadonly:\"'readonly' type modifier is only permitted on array and tuple literal types.\",GenericsEndWithComma:\"Trailing comma is not allowed at the end of generics.\",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:function(t){return\"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got \"+t.type+\".\"},LetInLexicalBinding:\"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\"},v={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:\"♦\"},P=/^[\\da-fA-F]+$/,b=/^\\d+$/;function g(t){return t?\"JSXIdentifier\"===t.type?t.name:\"JSXNamespacedName\"===t.type?t.namespace.name+\":\"+t.name.name:\"JSXMemberExpression\"===t.type?g(t.object)+\".\"+g(t.property):void 0:t}var A=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;function S(t){if(!t)throw new Error(\"Assert fail\")}function k(t){return\"accessor\"===t}function C(t){return\"in\"===t||\"out\"===t}function E(t,e){return 2|(t?4:0)|(e?8:0)}function I(t){if(\"MemberExpression\"!==t.type)return!1;var e=t.property;return(!t.computed||!(\"TemplateLiteral\"!==e.type||e.expressions.length>0))&&N(t.object)}function N(t){return\"Identifier\"===t.type||\"MemberExpression\"===t.type&&!t.computed&&N(t.object)}function w(t){return\"private\"===t||\"public\"===t||\"protected\"===t}function L(e){var n=e||{},o=n.dts,d=void 0!==o&&o,N=n.allowSatisfies,L=void 0!==N&&N;return function(n){var o=n.acorn||s,N=function(e){var s=l.get(e.Parser.acorn||e);if(!s){var i={assert:c(0,{startsExpr:p}),asserts:c(0,{startsExpr:p}),global:c(0,{startsExpr:p}),keyof:c(0,{startsExpr:p}),readonly:c(0,{startsExpr:p}),unique:c(0,{startsExpr:p}),abstract:c(0,{startsExpr:p}),declare:c(0,{startsExpr:p}),enum:c(0,{startsExpr:p}),module:c(0,{startsExpr:p}),namespace:c(0,{startsExpr:p}),interface:c(0,{startsExpr:p}),type:c(0,{startsExpr:p})},a={at:new t.TokenType(\"@\"),jsxName:new t.TokenType(\"jsxName\"),jsxText:new t.TokenType(\"jsxText\",{beforeExpr:!0}),jsxTagStart:new t.TokenType(\"jsxTagStart\",{startsExpr:!0}),jsxTagEnd:new t.TokenType(\"jsxTagEnd\")},n={tc_oTag:new t.TokContext(\"<tag\",!1,!1),tc_cTag:new t.TokContext(\"</tag\",!1,!1),tc_expr:new t.TokContext(\"<tag>...</tag>\",!0,!0)},o=new RegExp(\"^(?:\"+Object.keys(i).join(\"|\")+\")$\");a.jsxTagStart.updateContext=function(){this.context.push(n.tc_expr),this.context.push(n.tc_oTag),this.exprAllowed=!1},a.jsxTagEnd.updateContext=function(e){var s=this.context.pop();s===n.tc_oTag&&e===t.tokTypes.slash||s===n.tc_cTag?(this.context.pop(),this.exprAllowed=this.curContext()===n.tc_expr):this.exprAllowed=!0},s={tokTypes:r({},i,a),tokContexts:r({},n),keywordsRegExp:o,tokenIsLiteralPropertyName:function(e){return[t.tokTypes.name,t.tokTypes.string,t.tokTypes.num].concat(Object.values(t.keywordTypes),Object.values(i)).includes(e)},tokenIsKeywordOrIdentifier:function(e){return[t.tokTypes.name].concat(Object.values(t.keywordTypes),Object.values(i)).includes(e)},tokenIsIdentifier:function(e){return[].concat(Object.values(i),[t.tokTypes.name]).includes(e)},tokenIsTSDeclarationStart:function(t){return[i.abstract,i.declare,i.enum,i.module,i.namespace,i.interface,i.type].includes(t)},tokenIsTSTypeOperator:function(t){return[i.keyof,i.readonly,i.unique].includes(t)},tokenIsTemplate:function(e){return e===t.tokTypes.invalidTemplate}}}return s}(o),M=o.tokTypes,O=o.keywordTypes,D=o.isIdentifierStart,_=o.lineBreak,R=o.isNewLine,j=o.tokContexts,F=o.isIdentifierChar,B=N.tokTypes,H=N.tokContexts,q=N.keywordsRegExp,U=N.tokenIsLiteralPropertyName,V=N.tokenIsTemplate,K=N.tokenIsTSDeclarationStart,z=N.tokenIsIdentifier,J=N.tokenIsKeywordOrIdentifier,X=N.tokenIsTSTypeOperator;function W(t,e,s){void 0===s&&(s=t.length);for(var i=e;i<s;i++){var r=t.charCodeAt(i);if(R(r))return i<s-1&&13===r&&10===t.charCodeAt(i+1)?i+2:i+1}return-1}n=function(t,e,s){var i=s.tokTypes,r=e.tokTypes;/*#__PURE__*/return function(t){function e(){return t.apply(this,arguments)||this}a(e,t);var s=e.prototype;return s.takeDecorators=function(t){var e=this.decoratorStack[this.decoratorStack.length-1];e.length&&(t.decorators=e,this.resetStartLocationFromNode(t,e[0]),this.decoratorStack[this.decoratorStack.length-1]=[])},s.parseDecorators=function(t){for(var e=this.decoratorStack[this.decoratorStack.length-1];this.match(r.at);){var s=this.parseDecorator();e.push(s)}this.match(i._export)?t||this.unexpected():this.canHaveLeadingDecorator()||this.raise(this.start,\"Leading decorators must be attached to a class declaration.\")},s.parseDecorator=function(){var t=this.startNode();this.next(),this.decoratorStack.push([]);var e,s=this.start,r=this.startLoc;if(this.match(i.parenL)){var a=this.start,n=this.startLoc;if(this.next(),e=this.parseExpression(),this.expect(i.parenR),this.options.preserveParens){var o=this.startNodeAt(a,n);o.expression=e,e=this.finishNode(o,\"ParenthesizedExpression\")}}else for(e=this.parseIdent(!1);this.eat(i.dot);){var h=this.startNodeAt(s,r);h.object=e,h.property=this.parseIdent(!0),h.computed=!1,e=this.finishNode(h,\"MemberExpression\")}return t.expression=this.parseMaybeDecoratorArguments(e),this.decoratorStack.pop(),this.finishNode(t,\"Decorator\")},s.parseMaybeDecoratorArguments=function(t){if(this.eat(i.parenL)){var e=this.startNodeAtNode(t);return e.callee=t,e.arguments=this.parseExprList(i.parenR,!1),this.finishNode(e,\"CallExpression\")}return t},e}(t)}(n,N,o),n=function(t,e,s,i){var r=t.tokTypes,n=e.tokTypes,o=t.isNewLine,h=t.isIdentifierChar,p=Object.assign({allowNamespaces:!0,allowNamespacedObjects:!0},i||{});/*#__PURE__*/return function(t){function e(){return t.apply(this,arguments)||this}a(e,t);var s=e.prototype;return s.jsx_readToken=function(){for(var t=\"\",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated JSX contents\");var s=this.input.charCodeAt(this.pos);switch(s){case 60:case 123:return this.pos===this.start?60===s&&this.exprAllowed?(++this.pos,this.finishToken(n.jsxTagStart)):this.getTokenFromCode(s):(t+=this.input.slice(e,this.pos),this.finishToken(n.jsxText,t));case 38:t+=this.input.slice(e,this.pos),t+=this.jsx_readEntity(),e=this.pos;break;case 62:case 125:this.raise(this.pos,\"Unexpected token `\"+this.input[this.pos]+\"`. Did you mean `\"+(62===s?\"&gt;\":\"&rbrace;\")+'` or `{\"'+this.input[this.pos]+'\"}`?');default:o(s)?(t+=this.input.slice(e,this.pos),t+=this.jsx_readNewLine(!0),e=this.pos):++this.pos}}},s.jsx_readNewLine=function(t){var e,s=this.input.charCodeAt(this.pos);return++this.pos,13===s&&10===this.input.charCodeAt(this.pos)?(++this.pos,e=t?\"\\n\":\"\\r\\n\"):e=String.fromCharCode(s),this.options.locations&&(++this.curLine,this.lineStart=this.pos),e},s.jsx_readString=function(t){for(var e=\"\",s=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated string constant\");var i=this.input.charCodeAt(this.pos);if(i===t)break;38===i?(e+=this.input.slice(s,this.pos),e+=this.jsx_readEntity(),s=this.pos):o(i)?(e+=this.input.slice(s,this.pos),e+=this.jsx_readNewLine(!1),s=this.pos):++this.pos}return e+=this.input.slice(s,this.pos++),this.finishToken(r.string,e)},s.jsx_readEntity=function(){var t,e=\"\",s=0,i=this.input[this.pos];\"&\"!==i&&this.raise(this.pos,\"Entity must start with an ampersand\");for(var r=++this.pos;this.pos<this.input.length&&s++<10;){if(\";\"===(i=this.input[this.pos++])){\"#\"===e[0]?\"x\"===e[1]?(e=e.substr(2),P.test(e)&&(t=String.fromCharCode(parseInt(e,16)))):(e=e.substr(1),b.test(e)&&(t=String.fromCharCode(parseInt(e,10)))):t=v[e];break}e+=i}return t||(this.pos=r,\"&\")},s.jsx_readWord=function(){var t,e=this.pos;do{t=this.input.charCodeAt(++this.pos)}while(h(t)||45===t);return this.finishToken(n.jsxName,this.input.slice(e,this.pos))},s.jsx_parseIdentifier=function(){var t=this.startNode();return this.type===n.jsxName?t.name=this.value:this.type.keyword?t.name=this.type.keyword:this.unexpected(),this.next(),this.finishNode(t,\"JSXIdentifier\")},s.jsx_parseNamespacedName=function(){var t=this.start,e=this.startLoc,s=this.jsx_parseIdentifier();if(!p.allowNamespaces||!this.eat(r.colon))return s;var i=this.startNodeAt(t,e);return i.namespace=s,i.name=this.jsx_parseIdentifier(),this.finishNode(i,\"JSXNamespacedName\")},s.jsx_parseElementName=function(){if(this.type===n.jsxTagEnd)return\"\";var t=this.start,e=this.startLoc,s=this.jsx_parseNamespacedName();for(this.type!==r.dot||\"JSXNamespacedName\"!==s.type||p.allowNamespacedObjects||this.unexpected();this.eat(r.dot);){var i=this.startNodeAt(t,e);i.object=s,i.property=this.jsx_parseIdentifier(),s=this.finishNode(i,\"JSXMemberExpression\")}return s},s.jsx_parseAttributeValue=function(){switch(this.type){case r.braceL:var t=this.jsx_parseExpressionContainer();return\"JSXEmptyExpression\"===t.expression.type&&this.raise(t.start,\"JSX attributes must only be assigned a non-empty expression\"),t;case n.jsxTagStart:case r.string:return this.parseExprAtom();default:this.raise(this.start,\"JSX value should be either an expression or a quoted JSX text\")}},s.jsx_parseEmptyExpression=function(){var t=this.startNodeAt(this.lastTokEnd,this.lastTokEndLoc);return this.finishNodeAt(t,\"JSXEmptyExpression\",this.start,this.startLoc)},s.jsx_parseExpressionContainer=function(){var t=this.startNode();return this.next(),t.expression=this.type===r.braceR?this.jsx_parseEmptyExpression():this.parseExpression(),this.expect(r.braceR),this.finishNode(t,\"JSXExpressionContainer\")},s.jsx_parseAttribute=function(){var t=this.startNode();return this.eat(r.braceL)?(this.expect(r.ellipsis),t.argument=this.parseMaybeAssign(),this.expect(r.braceR),this.finishNode(t,\"JSXSpreadAttribute\")):(t.name=this.jsx_parseNamespacedName(),t.value=this.eat(r.eq)?this.jsx_parseAttributeValue():null,this.finishNode(t,\"JSXAttribute\"))},s.jsx_parseOpeningElementAt=function(t,e){var s=this.startNodeAt(t,e);s.attributes=[];var i=this.jsx_parseElementName();for(i&&(s.name=i);this.type!==r.slash&&this.type!==n.jsxTagEnd;)s.attributes.push(this.jsx_parseAttribute());return s.selfClosing=this.eat(r.slash),this.expect(n.jsxTagEnd),this.finishNode(s,i?\"JSXOpeningElement\":\"JSXOpeningFragment\")},s.jsx_parseClosingElementAt=function(t,e){var s=this.startNodeAt(t,e),i=this.jsx_parseElementName();return i&&(s.name=i),this.expect(n.jsxTagEnd),this.finishNode(s,i?\"JSXClosingElement\":\"JSXClosingFragment\")},s.jsx_parseElementAt=function(t,e){var s=this.startNodeAt(t,e),i=[],a=this.jsx_parseOpeningElementAt(t,e),o=null;if(!a.selfClosing){t:for(;;)switch(this.type){case n.jsxTagStart:if(t=this.start,e=this.startLoc,this.next(),this.eat(r.slash)){o=this.jsx_parseClosingElementAt(t,e);break t}i.push(this.jsx_parseElementAt(t,e));break;case n.jsxText:i.push(this.parseExprAtom());break;case r.braceL:i.push(this.jsx_parseExpressionContainer());break;default:this.unexpected()}g(o.name)!==g(a.name)&&this.raise(o.start,\"Expected corresponding JSX closing tag for <\"+g(a.name)+\">\")}var h=a.name?\"Element\":\"Fragment\";return s[\"opening\"+h]=a,s[\"closing\"+h]=o,s.children=i,this.type===r.relational&&\"<\"===this.value&&this.raise(this.start,\"Adjacent JSX elements must be wrapped in an enclosing tag\"),this.finishNode(s,\"JSX\"+h)},s.jsx_parseText=function(){var t=this.parseLiteral(this.value);return t.type=\"JSXText\",t},s.jsx_parseElement=function(){var t=this.start,e=this.startLoc;return this.next(),this.jsx_parseElementAt(t,e)},e}(s)}(o,N,n,null==e?void 0:e.jsx),n=function(t,e,s){var i=e.tokTypes,r=s.tokTypes;/*#__PURE__*/return function(t){function e(){return t.apply(this,arguments)||this}a(e,t);var s=e.prototype;return s.parseMaybeImportAttributes=function(t){if(this.type===r._with||this.type===i.assert){this.next();var e=this.parseImportAttributes();e&&(t.attributes=e)}},s.parseImportAttributes=function(){this.expect(r.braceL);var t=this.parseWithEntries();return this.expect(r.braceR),t},s.parseWithEntries=function(){var t=[],e=new Set;do{if(this.type===r.braceR)break;var s,i=this.startNode();s=this.type===r.string?this.parseLiteral(this.value):this.parseIdent(!0),this.next(),i.key=s,e.has(i.key.name)&&this.raise(this.pos,\"Duplicated key in attributes\"),e.add(i.key.name),this.type!==r.string&&this.raise(this.pos,\"Only string is supported as an attribute value\"),i.value=this.parseLiteral(this.value),t.push(this.finishNode(i,\"ImportAttribute\"))}while(this.eat(r.comma));return t},e}(t)}(n,N,o);var Y=/*#__PURE__*/function(t){function e(e,s,i){var r;return(r=t.call(this,e,s,i)||this).preValue=null,r.preToken=null,r.isLookahead=!1,r.isAmbientContext=!1,r.inAbstractClass=!1,r.inType=!1,r.inDisallowConditionalTypesContext=!1,r.maybeInArrowParameters=!1,r.shouldParseArrowReturnType=void 0,r.shouldParseAsyncArrowReturnType=void 0,r.decoratorStack=[[]],r.importsStack=[[]],r.importOrExportOuterKind=void 0,r.tsParseConstModifier=r.tsParseModifiers.bind(function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(r),{allowedModifiers:[\"const\"],disallowedModifiers:[\"in\",\"out\"],errorTemplate:T.InvalidModifierOnTypeParameterPositions}),r}a(e,t);var s,r,n,p=e.prototype;return p.getTokenFromCodeInType=function(e){return 62===e||60===e?this.finishOp(M.relational,1):t.prototype.getTokenFromCode.call(this,e)},p.readToken=function(e){if(!this.inType){var s=this.curContext();if(s===H.tc_expr)return this.jsx_readToken();if(s===H.tc_oTag||s===H.tc_cTag){if(D(e))return this.jsx_readWord();if(62==e)return++this.pos,this.finishToken(B.jsxTagEnd);if((34===e||39===e)&&s==H.tc_oTag)return this.jsx_readString(e)}if(60===e&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1))return++this.pos,this.finishToken(B.jsxTagStart)}return t.prototype.readToken.call(this,e)},p.getTokenFromCode=function(e){return this.inType?this.getTokenFromCodeInType(e):64===e?(++this.pos,this.finishToken(B.at)):t.prototype.getTokenFromCode.call(this,e)},p.isAbstractClass=function(){return this.ts_isContextual(B.abstract)&&this.lookahead().type===M._class},p.finishNode=function(e,s){return\"\"!==e.type&&0!==e.end?e:t.prototype.finishNode.call(this,e,s)},p.tryParse=function(t,e){void 0===e&&(e=this.cloneCurLookaheadState());var s={node:null};try{return{node:t(function(t){throw void 0===t&&(t=null),s.node=t,s}),error:null,thrown:!1,aborted:!1,failState:null}}catch(t){var i=this.getCurLookaheadState();if(this.setLookaheadState(e),t instanceof SyntaxError)return{node:null,error:t,thrown:!0,aborted:!1,failState:i};if(t===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:i};throw t}},p.setOptionalParametersError=function(t,e){var s;t.optionalParametersLoc=null!=(s=null==e?void 0:e.loc)?s:this.startLoc},p.reScan_lt_gt=function(){this.type===M.relational&&(this.pos-=1,this.readToken_lt_gt(this.fullCharCodeAtPos()))},p.reScan_lt=function(){var t=this.type;return t===M.bitShift?(this.pos-=2,this.finishOp(M.relational,1),M.relational):t},p.resetEndLocation=function(t,e){void 0===e&&(e=this.lastTokEndLoc),t.end=e.column,t.loc.end=e,this.options.ranges&&(t.range[1]=e.column)},p.startNodeAtNode=function(e){return t.prototype.startNodeAt.call(this,e.start,e.loc.start)},p.nextTokenStart=function(){return this.nextTokenStartSince(this.pos)},p.tsHasSomeModifiers=function(t,e){return e.some(function(e){return w(e)?t.accessibility===e:!!t[e]})},p.tsIsStartOfStaticBlocks=function(){return this.isContextual(\"static\")&&123===this.lookaheadCharCode()},p.tsCheckForInvalidTypeCasts=function(t){var e=this;t.forEach(function(t){\"TSTypeCastExpression\"===(null==t?void 0:t.type)&&e.raise(t.typeAnnotation.start,T.UnexpectedTypeAnnotation)})},p.atPossibleAsyncArrow=function(t){return\"Identifier\"===t.type&&\"async\"===t.name&&this.lastTokEndLoc.column===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&t.start===this.potentialArrowAt},p.tsIsIdentifier=function(){return z(this.type)},p.tsTryParseTypeOrTypePredicateAnnotation=function(){return this.match(M.colon)?this.tsParseTypeOrTypePredicateAnnotation(M.colon):void 0},p.tsTryParseGenericAsyncArrowFunction=function(e,s,i){var r=this;if(this.tsMatchLeftRelational()){var a=this.maybeInArrowParameters;this.maybeInArrowParameters=!0;var n=this.tsTryParseAndCatch(function(){var i=r.startNodeAt(e,s);return i.typeParameters=r.tsParseTypeParameters(),t.prototype.parseFunctionParams.call(r,i),i.returnType=r.tsTryParseTypeOrTypePredicateAnnotation(),r.expect(M.arrow),i});if(this.maybeInArrowParameters=a,n)return t.prototype.parseArrowExpression.call(this,n,null,!0,i)}},p.tsParseTypeArgumentsInExpression=function(){if(this.reScan_lt()===M.relational)return this.tsParseTypeArguments()},p.tsInNoContext=function(t){var e=this.context;this.context=[e[0]];try{return t()}finally{this.context=e}},p.tsTryParseTypeAnnotation=function(){return this.match(M.colon)?this.tsParseTypeAnnotation():void 0},p.isUnparsedContextual=function(t,e){var s=t+e.length;if(this.input.slice(t,s)===e){var i=this.input.charCodeAt(s);return!(F(i)||55296==(64512&i))}return!1},p.isAbstractConstructorSignature=function(){return this.ts_isContextual(B.abstract)&&this.lookahead().type===M._new},p.nextTokenStartSince=function(t){return A.lastIndex=t,A.test(this.input)?A.lastIndex:t},p.lookaheadCharCode=function(){return this.input.charCodeAt(this.nextTokenStart())},p.compareLookaheadState=function(t,e){for(var s=0,i=Object.keys(t);s<i.length;s++){var r=i[s];if(t[r]!==e[r])return!1}return!0},p.createLookaheadState=function(){this.value=null,this.context=[this.curContext()]},p.getCurLookaheadState=function(){return{endLoc:this.endLoc,lastTokEnd:this.lastTokEnd,lastTokStart:this.lastTokStart,lastTokStartLoc:this.lastTokStartLoc,pos:this.pos,value:this.value,type:this.type,start:this.start,end:this.end,context:this.context,startLoc:this.startLoc,lastTokEndLoc:this.lastTokEndLoc,curLine:this.curLine,lineStart:this.lineStart,curPosition:this.curPosition,containsEsc:this.containsEsc}},p.cloneCurLookaheadState=function(){return{pos:this.pos,value:this.value,type:this.type,start:this.start,end:this.end,context:this.context&&this.context.slice(),startLoc:this.startLoc,lastTokEndLoc:this.lastTokEndLoc,endLoc:this.endLoc,lastTokEnd:this.lastTokEnd,lastTokStart:this.lastTokStart,lastTokStartLoc:this.lastTokStartLoc,curLine:this.curLine,lineStart:this.lineStart,curPosition:this.curPosition,containsEsc:this.containsEsc}},p.setLookaheadState=function(t){this.pos=t.pos,this.value=t.value,this.endLoc=t.endLoc,this.lastTokEnd=t.lastTokEnd,this.lastTokStart=t.lastTokStart,this.lastTokStartLoc=t.lastTokStartLoc,this.type=t.type,this.start=t.start,this.end=t.end,this.context=t.context,this.startLoc=t.startLoc,this.lastTokEndLoc=t.lastTokEndLoc,this.curLine=t.curLine,this.lineStart=t.lineStart,this.curPosition=t.curPosition,this.containsEsc=t.containsEsc},p.tsLookAhead=function(t){var e=this.getCurLookaheadState(),s=t();return this.setLookaheadState(e),s},p.lookahead=function(t){var e=this.getCurLookaheadState();if(this.createLookaheadState(),this.isLookahead=!0,void 0!==t)for(var s=0;s<t;s++)this.nextToken();else this.nextToken();this.isLookahead=!1;var i=this.getCurLookaheadState();return this.setLookaheadState(e),i},p.readWord=function(){var t=this.readWord1(),e=M.name;return this.keywords.test(t)?e=O[t]:new RegExp(q).test(t)&&(e=B[t]),this.finishToken(e,t)},p.skipBlockComment=function(){var t;this.isLookahead||(t=this.options.onComment&&this.curPosition());var e=this.pos,s=this.input.indexOf(\"*/\",this.pos+=2);if(-1===s&&this.raise(this.pos-2,\"Unterminated comment\"),this.pos=s+2,this.options.locations)for(var i,r=e;(i=W(this.input,r,this.pos))>-1;)++this.curLine,r=this.lineStart=i;this.isLookahead||this.options.onComment&&this.options.onComment(!0,this.input.slice(e+2,s),e,this.pos,t,this.curPosition())},p.skipLineComment=function(t){var e,s=this.pos;this.isLookahead||(e=this.options.onComment&&this.curPosition());for(var i=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!R(i);)i=this.input.charCodeAt(++this.pos);this.isLookahead||this.options.onComment&&this.options.onComment(!1,this.input.slice(s+t,this.pos),s,this.pos,e,this.curPosition())},p.finishToken=function(t,e){this.preValue=this.value,this.preToken=this.type,this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var s=this.type;this.type=t,this.value=e,this.isLookahead||this.updateContext(s)},p.resetStartLocation=function(t,e,s){t.start=e,t.loc.start=s,this.options.ranges&&(t.range[0]=e)},p.isLineTerminator=function(){return this.eat(M.semi)||t.prototype.canInsertSemicolon.call(this)},p.hasFollowingLineBreak=function(){return m.lastIndex=this.end,m.test(this.input)},p.addExtra=function(t,e,s,i){if(void 0===i&&(i=!0),t){var r=t.extra=t.extra||{};i?r[e]=s:Object.defineProperty(r,e,{enumerable:i,value:s})}},p.isLiteralPropertyName=function(){return U(this.type)},p.hasPrecedingLineBreak=function(){return _.test(this.input.slice(this.lastTokEndLoc.index,this.start))},p.createIdentifier=function(t,e){return t.name=e,this.finishNode(t,\"Identifier\")},p.resetStartLocationFromNode=function(t,e){this.resetStartLocation(t,e.start,e.loc.start)},p.isThisParam=function(t){return\"Identifier\"===t.type&&\"this\"===t.name},p.isLookaheadContextual=function(t){var e=this.nextTokenStart();return this.isUnparsedContextual(e,t)},p.ts_type_isContextual=function(t,e){return t===e&&!this.containsEsc},p.ts_isContextual=function(t){return this.type===t&&!this.containsEsc},p.ts_isContextualWithState=function(t,e){return t.type===e&&!t.containsEsc},p.isContextualWithState=function(t,e){return e.type===M.name&&e.value===t&&!e.containsEsc},p.tsIsStartOfMappedType=function(){return this.next(),this.eat(M.plusMin)?this.ts_isContextual(B.readonly):(this.ts_isContextual(B.readonly)&&this.next(),!!this.match(M.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(M._in))))},p.tsInDisallowConditionalTypesContext=function(t){var e=this.inDisallowConditionalTypesContext;this.inDisallowConditionalTypesContext=!0;try{return t()}finally{this.inDisallowConditionalTypesContext=e}},p.tsTryParseType=function(){return this.tsEatThenParseType(M.colon)},p.match=function(t){return this.type===t},p.matchJsx=function(t){return this.type===N.tokTypes[t]},p.ts_eatWithState=function(t,e,s){if(t===s.type){for(var i=0;i<e;i++)this.next();return!0}return!1},p.ts_eatContextualWithState=function(t,e,s){if(q.test(t)){if(this.ts_isContextualWithState(s,B[t])){for(var i=0;i<e;i++)this.next();return!0}return!1}if(!this.isContextualWithState(t,s))return!1;for(var r=0;r<e;r++)this.next();return!0},p.canHaveLeadingDecorator=function(){return this.match(M._class)},p.eatContextual=function(e){return q.test(e)?!!this.ts_isContextual(B[e])&&(this.next(),!0):t.prototype.eatContextual.call(this,e)},p.tsIsExternalModuleReference=function(){return this.isContextual(\"require\")&&40===this.lookaheadCharCode()},p.tsParseExternalModuleReference=function(){var t=this.startNode();return this.expectContextual(\"require\"),this.expect(M.parenL),this.match(M.string)||this.unexpected(),t.expression=this.parseExprAtom(),this.expect(M.parenR),this.finishNode(t,\"TSExternalModuleReference\")},p.tsParseEntityName=function(t){void 0===t&&(t=!0);for(var e=this.parseIdent(t);this.eat(M.dot);){var s=this.startNodeAtNode(e);s.left=e,s.right=this.parseIdent(t),e=this.finishNode(s,\"TSQualifiedName\")}return e},p.tsParseEnumMember=function(){var t=this.startNode();return t.id=this.match(M.string)?this.parseLiteral(this.value):this.parseIdent(!0),this.eat(M.eq)&&(t.initializer=this.parseMaybeAssign()),this.finishNode(t,\"TSEnumMember\")},p.tsParseEnumDeclaration=function(t,e){return void 0===e&&(e={}),e.const&&(t.const=!0),e.declare&&(t.declare=!0),this.expectContextual(\"enum\"),t.id=this.parseIdent(),this.checkLValSimple(t.id),this.expect(M.braceL),t.members=this.tsParseDelimitedList(\"EnumMembers\",this.tsParseEnumMember.bind(this)),this.expect(M.braceR),this.finishNode(t,\"TSEnumDeclaration\")},p.tsParseModuleBlock=function(){var e=this.startNode();for(t.prototype.enterScope.call(this,512),this.expect(M.braceL),e.body=[];this.type!==M.braceR;){var s=this.parseStatement(null,!0);e.body.push(s)}return this.next(),t.prototype.exitScope.call(this),this.finishNode(e,\"TSModuleBlock\")},p.tsParseAmbientExternalModuleDeclaration=function(e){return this.ts_isContextual(B.global)?(e.global=!0,e.id=this.parseIdent()):this.match(M.string)?e.id=this.parseLiteral(this.value):this.unexpected(),this.match(M.braceL)?(t.prototype.enterScope.call(this,u),e.body=this.tsParseModuleBlock(),t.prototype.exitScope.call(this)):t.prototype.semicolon.call(this),this.finishNode(e,\"TSModuleDeclaration\")},p.tsTryParseDeclare=function(t){var e=this;if(!this.isLineTerminator()){var s,i=this.type;return this.isContextual(\"let\")&&(i=M._var,s=\"let\"),this.tsInAmbientContext(function(){if(i===M._function)return t.declare=!0,e.parseFunctionStatement(t,!1,!0);if(i===M._class)return t.declare=!0,e.parseClass(t,!0);if(i===B.enum)return e.tsParseEnumDeclaration(t,{declare:!0});if(i===B.global)return e.tsParseAmbientExternalModuleDeclaration(t);if(i===M._const||i===M._var)return e.match(M._const)&&e.isLookaheadContextual(\"enum\")?(e.expect(M._const),e.tsParseEnumDeclaration(t,{const:!0,declare:!0})):(t.declare=!0,e.parseVarStatement(t,s||e.value,!0));if(i===B.interface){var r=e.tsParseInterfaceDeclaration(t,{declare:!0});if(r)return r}return z(i)?e.tsParseDeclaration(t,e.value,!0):void 0})}},p.tsIsListTerminator=function(t){switch(t){case\"EnumMembers\":case\"TypeMembers\":return this.match(M.braceR);case\"HeritageClauseElement\":return this.match(M.braceL);case\"TupleElementTypes\":return this.match(M.bracketR);case\"TypeParametersOrArguments\":return this.tsMatchRightRelational()}},p.tsParseDelimitedListWorker=function(t,e,s,i){for(var r=[],a=-1;!this.tsIsListTerminator(t);){a=-1;var n=e();if(null==n)return;if(r.push(n),!this.eat(M.comma)){if(this.tsIsListTerminator(t))break;return void(s&&this.expect(M.comma))}a=this.lastTokStart}return i&&(i.value=a),r},p.tsParseDelimitedList=function(t,e,s){return function(t){if(null==t)throw new Error(\"Unexpected \"+t+\" value.\");return t}(this.tsParseDelimitedListWorker(t,e,!0,s))},p.tsParseBracketedList=function(t,e,s,i,r){i||this.expect(s?M.bracketL:M.relational);var a=this.tsParseDelimitedList(t,e,r);return this.expect(s?M.bracketR:M.relational),a},p.tsParseTypeParameterName=function(){return this.parseIdent().name},p.tsEatThenParseType=function(t){return this.match(t)?this.tsNextThenParseType():void 0},p.tsExpectThenParseType=function(t){var e=this;return this.tsDoThenParseType(function(){return e.expect(t)})},p.tsNextThenParseType=function(){var t=this;return this.tsDoThenParseType(function(){return t.next()})},p.tsDoThenParseType=function(t){var e=this;return this.tsInType(function(){return t(),e.tsParseType()})},p.tsSkipParameterStart=function(){if(z(this.type)||this.match(M._this))return this.next(),!0;if(this.match(M.braceL))try{return this.parseObj(!0),!0}catch(t){return!1}if(this.match(M.bracketL)){this.next();try{return this.parseBindingList(M.bracketR,!0,!0),!0}catch(t){return!1}}return!1},p.tsIsUnambiguouslyStartOfFunctionType=function(){if(this.next(),this.match(M.parenR)||this.match(M.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(M.colon)||this.match(M.comma)||this.match(M.question)||this.match(M.eq))return!0;if(this.match(M.parenR)&&(this.next(),this.match(M.arrow)))return!0}return!1},p.tsIsStartOfFunctionType=function(){return!!this.tsMatchLeftRelational()||this.match(M.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))},p.tsInAllowConditionalTypesContext=function(t){var e=this.inDisallowConditionalTypesContext;this.inDisallowConditionalTypesContext=!1;try{return t()}finally{this.inDisallowConditionalTypesContext=e}},p.tsParseBindingListForSignature=function(){var e=this;return t.prototype.parseBindingList.call(this,M.parenR,!0,!0).map(function(t){return\"Identifier\"!==t.type&&\"RestElement\"!==t.type&&\"ObjectPattern\"!==t.type&&\"ArrayPattern\"!==t.type&&e.raise(t.start,T.UnsupportedSignatureParameterKind(t.type)),t})},p.tsParseTypePredicateAsserts=function(){if(this.type!==B.asserts)return!1;var t=this.containsEsc;return this.next(),!(!z(this.type)&&!this.match(M._this)||(t&&this.raise(this.lastTokStart,\"Escape sequence in keyword asserts\"),0))},p.tsParseThisTypeNode=function(){var t=this.startNode();return this.next(),this.finishNode(t,\"TSThisType\")},p.tsParseTypeAnnotation=function(t,e){var s=this;return void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),this.tsInType(function(){t&&s.expect(M.colon),e.typeAnnotation=s.tsParseType()}),this.finishNode(e,\"TSTypeAnnotation\")},p.tsParseThisTypePredicate=function(t){this.next();var e=this.startNodeAtNode(t);return e.parameterName=t,e.typeAnnotation=this.tsParseTypeAnnotation(!1),e.asserts=!1,this.finishNode(e,\"TSTypePredicate\")},p.tsParseThisTypeOrThisTypePredicate=function(){var t=this.tsParseThisTypeNode();return this.isContextual(\"is\")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(t):t},p.tsParseTypePredicatePrefix=function(){var t=this.parseIdent();if(this.isContextual(\"is\")&&!this.hasPrecedingLineBreak())return this.next(),t},p.tsParseTypeOrTypePredicateAnnotation=function(t){var e=this;return this.tsInType(function(){var s=e.startNode();e.expect(t);var i=e.startNode(),r=!!e.tsTryParse(e.tsParseTypePredicateAsserts.bind(e));if(r&&e.match(M._this)){var a=e.tsParseThisTypeOrThisTypePredicate();return\"TSThisType\"===a.type?(i.parameterName=a,i.asserts=!0,i.typeAnnotation=null,a=e.finishNode(i,\"TSTypePredicate\")):(e.resetStartLocationFromNode(a,i),a.asserts=!0),s.typeAnnotation=a,e.finishNode(s,\"TSTypeAnnotation\")}var n=e.tsIsIdentifier()&&e.tsTryParse(e.tsParseTypePredicatePrefix.bind(e));if(!n)return r?(i.parameterName=e.parseIdent(),i.asserts=r,i.typeAnnotation=null,s.typeAnnotation=e.finishNode(i,\"TSTypePredicate\"),e.finishNode(s,\"TSTypeAnnotation\")):e.tsParseTypeAnnotation(!1,s);var o=e.tsParseTypeAnnotation(!1);return i.parameterName=n,i.typeAnnotation=o,i.asserts=r,s.typeAnnotation=e.finishNode(i,\"TSTypePredicate\"),e.finishNode(s,\"TSTypeAnnotation\")})},p.tsFillSignature=function(t,e){var s=t===M.arrow;e.typeParameters=this.tsTryParseTypeParameters(),this.expect(M.parenL),e.parameters=this.tsParseBindingListForSignature(),(s||this.match(t))&&(e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t))},p.tsTryNextParseConstantContext=function(){if(this.lookahead().type!==M._const)return null;this.next();var t=this.tsParseTypeReference();return t.typeParameters&&this.raise(t.typeName.start,T.CannotFindName({name:\"const\"})),t},p.tsParseFunctionOrConstructorType=function(t,e){var s=this,i=this.startNode();return\"TSConstructorType\"===t&&(i.abstract=!!e,e&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(function(){return s.tsFillSignature(M.arrow,i)}),this.finishNode(i,t)},p.tsParseUnionOrIntersectionType=function(t,e,s){var i=this.startNode(),r=this.eat(s),a=[];do{a.push(e())}while(this.eat(s));return 1!==a.length||r?(i.types=a,this.finishNode(i,t)):a[0]},p.tsCheckTypeAnnotationForReadOnly=function(t){switch(t.typeAnnotation.type){case\"TSTupleType\":case\"TSArrayType\":return;default:this.raise(t.start,T.UnexpectedReadonly)}},p.tsParseTypeOperator=function(){var t=this.startNode(),e=this.value;return this.next(),t.operator=e,t.typeAnnotation=this.tsParseTypeOperatorOrHigher(),\"readonly\"===e&&this.tsCheckTypeAnnotationForReadOnly(t),this.finishNode(t,\"TSTypeOperator\")},p.tsParseConstraintForInferType=function(){var t=this;if(this.eat(M._extends)){var e=this.tsInDisallowConditionalTypesContext(function(){return t.tsParseType()});if(this.inDisallowConditionalTypesContext||!this.match(M.question))return e}},p.tsParseInferType=function(){var t=this,e=this.startNode();this.expectContextual(\"infer\");var s=this.startNode();return s.name=this.tsParseTypeParameterName(),s.constraint=this.tsTryParse(function(){return t.tsParseConstraintForInferType()}),e.typeParameter=this.finishNode(s,\"TSTypeParameter\"),this.finishNode(e,\"TSInferType\")},p.tsParseLiteralTypeNode=function(){var t=this,e=this.startNode();return e.literal=function(){switch(t.type){case M.num:case M.string:case M._true:case M._false:return t.parseExprAtom();default:t.unexpected()}}(),this.finishNode(e,\"TSLiteralType\")},p.tsParseImportType=function(){var t=this.startNode();return this.expect(M._import),this.expect(M.parenL),this.match(M.string)||this.raise(this.start,T.UnsupportedImportTypeArgument),t.argument=this.parseExprAtom(),this.expect(M.parenR),this.eat(M.dot)&&(t.qualifier=this.tsParseEntityName()),this.tsMatchLeftRelational()&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,\"TSImportType\")},p.tsParseTypeQuery=function(){var t=this.startNode();return this.expect(M._typeof),t.exprName=this.match(M._import)?this.tsParseImportType():this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.tsMatchLeftRelational()&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,\"TSTypeQuery\")},p.tsParseMappedTypeParameter=function(){var t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsExpectThenParseType(M._in),this.finishNode(t,\"TSTypeParameter\")},p.tsParseMappedType=function(){var t=this.startNode();return this.expect(M.braceL),this.match(M.plusMin)?(t.readonly=this.value,this.next(),this.expectContextual(\"readonly\")):this.eatContextual(\"readonly\")&&(t.readonly=!0),this.expect(M.bracketL),t.typeParameter=this.tsParseMappedTypeParameter(),t.nameType=this.eatContextual(\"as\")?this.tsParseType():null,this.expect(M.bracketR),this.match(M.plusMin)?(t.optional=this.value,this.next(),this.expect(M.question)):this.eat(M.question)&&(t.optional=!0),t.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(M.braceR),this.finishNode(t,\"TSMappedType\")},p.tsParseTypeLiteral=function(){var t=this.startNode();return t.members=this.tsParseObjectTypeMembers(),this.finishNode(t,\"TSTypeLiteral\")},p.tsParseTupleElementType=function(){var t=this.startLoc,e=this.start,s=this.eat(M.ellipsis),i=this.tsParseType(),r=this.eat(M.question);if(this.eat(M.colon)){var a=this.startNodeAtNode(i);a.optional=r,\"TSTypeReference\"!==i.type||i.typeParameters||\"Identifier\"!==i.typeName.type?(this.raise(i.start,T.InvalidTupleMemberLabel),a.label=i):a.label=i.typeName,a.elementType=this.tsParseType(),i=this.finishNode(a,\"TSNamedTupleMember\")}else if(r){var n=this.startNodeAtNode(i);n.typeAnnotation=i,i=this.finishNode(n,\"TSOptionalType\")}if(s){var o=this.startNodeAt(e,t);o.typeAnnotation=i,i=this.finishNode(o,\"TSRestType\")}return i},p.tsParseTupleType=function(){var t=this,e=this.startNode();e.elementTypes=this.tsParseBracketedList(\"TupleElementTypes\",this.tsParseTupleElementType.bind(this),!0,!1);var s=!1,i=null;return e.elementTypes.forEach(function(e){var r=e.type;!s||\"TSRestType\"===r||\"TSOptionalType\"===r||\"TSNamedTupleMember\"===r&&e.optional||t.raise(e.start,T.OptionalTypeBeforeRequired),s||(s=\"TSNamedTupleMember\"===r&&e.optional||\"TSOptionalType\"===r);var a=r;\"TSRestType\"===r&&(a=(e=e.typeAnnotation).type);var n=\"TSNamedTupleMember\"===a;null!=i||(i=n),i!==n&&t.raise(e.start,T.MixedLabeledAndUnlabeledElements)}),this.finishNode(e,\"TSTupleType\")},p.tsParseTemplateLiteralType=function(){var t=this.startNode();return t.literal=this.parseTemplate({isTagged:!1}),this.finishNode(t,\"TSLiteralType\")},p.tsParseTypeReference=function(){var t=this.startNode();return t.typeName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.tsMatchLeftRelational()&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,\"TSTypeReference\")},p.tsMatchLeftRelational=function(){return this.match(M.relational)&&\"<\"===this.value},p.tsMatchRightRelational=function(){return this.match(M.relational)&&\">\"===this.value},p.tsParseParenthesizedType=function(){var t=this.startNode();return this.expect(M.parenL),t.typeAnnotation=this.tsParseType(),this.expect(M.parenR),this.finishNode(t,\"TSParenthesizedType\")},p.tsParseNonArrayType=function(){switch(this.type){case M.string:case M.num:case M._true:case M._false:return this.tsParseLiteralTypeNode();case M.plusMin:if(\"-\"===this.value){var t=this.startNode();return this.lookahead().type!==M.num&&this.unexpected(),t.literal=this.parseMaybeUnary(),this.finishNode(t,\"TSLiteralType\")}break;case M._this:return this.tsParseThisTypeOrThisTypePredicate();case M._typeof:return this.tsParseTypeQuery();case M._import:return this.tsParseImportType();case M.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case M.bracketL:return this.tsParseTupleType();case M.parenL:return this.tsParseParenthesizedType();case M.backQuote:case M.dollarBraceL:return this.tsParseTemplateLiteralType();default:var e=this.type;if(z(e)||e===M._void||e===M._null){var s=e===M._void?\"TSVoidKeyword\":e===M._null?\"TSNullKeyword\":function(t){switch(t){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.value);if(void 0!==s&&46!==this.lookaheadCharCode()){var i=this.startNode();return this.next(),this.finishNode(i,s)}return this.tsParseTypeReference()}}this.unexpected()},p.tsParseArrayTypeOrHigher=function(){for(var t=this.tsParseNonArrayType();!this.hasPrecedingLineBreak()&&this.eat(M.bracketL);)if(this.match(M.bracketR)){var e=this.startNodeAtNode(t);e.elementType=t,this.expect(M.bracketR),t=this.finishNode(e,\"TSArrayType\")}else{var s=this.startNodeAtNode(t);s.objectType=t,s.indexType=this.tsParseType(),this.expect(M.bracketR),t=this.finishNode(s,\"TSIndexedAccessType\")}return t},p.tsParseTypeOperatorOrHigher=function(){var t=this;return X(this.type)&&!this.containsEsc?this.tsParseTypeOperator():this.isContextual(\"infer\")?this.tsParseInferType():this.tsInAllowConditionalTypesContext(function(){return t.tsParseArrayTypeOrHigher()})},p.tsParseIntersectionTypeOrHigher=function(){return this.tsParseUnionOrIntersectionType(\"TSIntersectionType\",this.tsParseTypeOperatorOrHigher.bind(this),M.bitwiseAND)},p.tsParseUnionTypeOrHigher=function(){return this.tsParseUnionOrIntersectionType(\"TSUnionType\",this.tsParseIntersectionTypeOrHigher.bind(this),M.bitwiseOR)},p.tsParseNonConditionalType=function(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType(\"TSFunctionType\"):this.match(M._new)?this.tsParseFunctionOrConstructorType(\"TSConstructorType\"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType(\"TSConstructorType\",!0):this.tsParseUnionTypeOrHigher()},p.tsParseType=function(){var t=this;S(this.inType);var e=this.tsParseNonConditionalType();if(this.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(M._extends))return e;var s=this.startNodeAtNode(e);return s.checkType=e,s.extendsType=this.tsInDisallowConditionalTypesContext(function(){return t.tsParseNonConditionalType()}),this.expect(M.question),s.trueType=this.tsInAllowConditionalTypesContext(function(){return t.tsParseType()}),this.expect(M.colon),s.falseType=this.tsInAllowConditionalTypesContext(function(){return t.tsParseType()}),this.finishNode(s,\"TSConditionalType\")},p.tsIsUnambiguouslyIndexSignature=function(){return this.next(),!!z(this.type)&&(this.next(),this.match(M.colon))},p.tsInType=function(t){var e=this.inType;this.inType=!0;try{return t()}finally{this.inType=e}},p.tsTryParseIndexSignature=function(t){if(this.match(M.bracketL)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))){this.expect(M.bracketL);var e=this.parseIdent();e.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(e),this.expect(M.bracketR),t.parameters=[e];var s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(t,\"TSIndexSignature\")}},p.tsParseNoneModifiers=function(t){this.tsParseModifiers({modified:t,allowedModifiers:[],disallowedModifiers:[\"in\",\"out\"],errorTemplate:T.InvalidModifierOnTypeParameterPositions})},p.tsParseTypeParameter=function(t){void 0===t&&(t=this.tsParseNoneModifiers.bind(this));var e=this.startNode();return t(e),e.name=this.tsParseTypeParameterName(),e.constraint=this.tsEatThenParseType(M._extends),e.default=this.tsEatThenParseType(M.eq),this.finishNode(e,\"TSTypeParameter\")},p.tsParseTypeParameters=function(t){var e=this.startNode();this.tsMatchLeftRelational()||this.matchJsx(\"jsxTagStart\")?this.next():this.unexpected();var s={value:-1};return e.params=this.tsParseBracketedList(\"TypeParametersOrArguments\",this.tsParseTypeParameter.bind(this,t),!1,!0,s),0===e.params.length&&this.raise(this.start,T.EmptyTypeParameters),-1!==s.value&&this.addExtra(e,\"trailingComma\",s.value),this.finishNode(e,\"TSTypeParameterDeclaration\")},p.tsTryParseTypeParameters=function(t){if(this.tsMatchLeftRelational())return this.tsParseTypeParameters(t)},p.tsTryParse=function(t){var e=this.getCurLookaheadState(),s=t();return void 0!==s&&!1!==s?s:void this.setLookaheadState(e)},p.tsTokenCanFollowModifier=function(){return(this.match(M.bracketL)||this.match(M.braceL)||this.match(M.star)||this.match(M.ellipsis)||this.match(M.privateId)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()},p.tsNextTokenCanFollowModifier=function(){return this.next(!0),this.tsTokenCanFollowModifier()},p.tsParseModifier=function(t,e){if(z(this.type)||this.type===M._in){var s=this.value;if(-1!==t.indexOf(s)&&!this.containsEsc){if(e&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return s}}},p.tsParseModifiersByMap=function(t){for(var e=t.modified,s=t.map,i=0,r=Object.keys(s);i<r.length;i++){var a=r[i];e[a]=s[a]}},p.tsParseModifiers=function(t){for(var e=this,s=t.modified,i=t.allowedModifiers,r=t.disallowedModifiers,a=t.stopOnStartOfClassStaticBlock,n=t.errorTemplate,o=void 0===n?T.InvalidModifierOnTypeMember:n,h={},p=function(t,i,r,a){i===r&&s[a]&&e.raise(t.column,T.InvalidModifiersOrder({orderedModifiers:[r,a]}))},c=function(t,i,r,a){(s[r]&&i===a||s[a]&&i===r)&&e.raise(t.column,T.IncompatibleModifiers({modifiers:[r,a]}))};;){var l=this.startLoc,u=this.tsParseModifier(i.concat(null!=r?r:[]),a);if(!u)break;w(u)?s.accessibility?this.raise(this.start,T.DuplicateAccessibilityModifier()):(p(l,u,u,\"override\"),p(l,u,u,\"static\"),p(l,u,u,\"readonly\"),p(l,u,u,\"accessor\"),h.accessibility=u,s.accessibility=u):C(u)?s[u]?this.raise(this.start,T.DuplicateModifier({modifier:u})):(p(l,u,\"in\",\"out\"),h[u]=u,s[u]=!0):k(u)?s[u]?this.raise(this.start,T.DuplicateModifier({modifier:u})):(c(l,u,\"accessor\",\"readonly\"),c(l,u,\"accessor\",\"static\"),c(l,u,\"accessor\",\"override\"),h[u]=u,s[u]=!0):Object.hasOwnProperty.call(s,u)?this.raise(this.start,T.DuplicateModifier({modifier:u})):(p(l,u,\"static\",\"readonly\"),p(l,u,\"static\",\"override\"),p(l,u,\"override\",\"readonly\"),p(l,u,\"abstract\",\"override\"),c(l,u,\"declare\",\"override\"),c(l,u,\"static\",\"abstract\"),h[u]=u,s[u]=!0),null!=r&&r.includes(u)&&this.raise(this.start,o)}return h},p.tsParseInOutModifiers=function(t){this.tsParseModifiers({modified:t,allowedModifiers:[\"in\",\"out\"],disallowedModifiers:[\"public\",\"private\",\"protected\",\"readonly\",\"declare\",\"abstract\",\"override\"],errorTemplate:T.InvalidModifierOnTypeParameter})},p.tsParseTypeArguments=function(){var t=this,e=this.startNode();return e.params=this.tsInType(function(){return t.tsInNoContext(function(){return t.expect(M.relational),t.tsParseDelimitedList(\"TypeParametersOrArguments\",t.tsParseType.bind(t))})}),0===e.params.length&&this.raise(this.start,T.EmptyTypeArguments),this.exprAllowed=!1,this.expect(M.relational),this.finishNode(e,\"TSTypeParameterInstantiation\")},p.tsParseHeritageClause=function(t){var e=this,s=this.start,i=this.tsParseDelimitedList(\"HeritageClauseElement\",function(){var t=e.startNode();return t.expression=e.tsParseEntityName(),e.tsMatchLeftRelational()&&(t.typeParameters=e.tsParseTypeArguments()),e.finishNode(t,\"TSExpressionWithTypeArguments\")});return i.length||this.raise(s,T.EmptyHeritageClauseType({token:t})),i},p.tsParseTypeMemberSemicolon=function(){this.eat(M.comma)||this.isLineTerminator()||this.expect(M.semi)},p.tsTryParseAndCatch=function(t){var e=this.tryParse(function(e){return t()||e()});if(!e.aborted&&e.node)return e.error&&this.setLookaheadState(e.failState),e.node},p.tsParseSignatureMember=function(t,e){return this.tsFillSignature(M.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,t)},p.tsParsePropertyOrMethodSignature=function(t,e){this.eat(M.question)&&(t.optional=!0);var s=t;if(this.match(M.parenL)||this.tsMatchLeftRelational()){e&&this.raise(t.start,T.ReadonlyForMethodSignature);var i=s;i.kind&&this.tsMatchLeftRelational()&&this.raise(this.start,T.AccesorCannotHaveTypeParameters),this.tsFillSignature(M.colon,i),this.tsParseTypeMemberSemicolon();var r=\"parameters\",a=\"typeAnnotation\";if(\"get\"===i.kind)i[r].length>0&&(this.raise(this.start,\"A 'get' accesor must not have any formal parameters.\"),this.isThisParam(i[r][0])&&this.raise(this.start,T.AccesorCannotDeclareThisParameter));else if(\"set\"===i.kind){if(1!==i[r].length)this.raise(this.start,\"A 'get' accesor must not have any formal parameters.\");else{var n=i[r][0];this.isThisParam(n)&&this.raise(this.start,T.AccesorCannotDeclareThisParameter),\"Identifier\"===n.type&&n.optional&&this.raise(this.start,T.SetAccesorCannotHaveOptionalParameter),\"RestElement\"===n.type&&this.raise(this.start,T.SetAccesorCannotHaveRestParameter)}i[a]&&this.raise(i[a].start,T.SetAccesorCannotHaveReturnType)}else i.kind=\"method\";return this.finishNode(i,\"TSMethodSignature\")}var o=s;e&&(o.readonly=!0);var h=this.tsTryParseTypeAnnotation();return h&&(o.typeAnnotation=h),this.tsParseTypeMemberSemicolon(),this.finishNode(o,\"TSPropertySignature\")},p.tsParseTypeMember=function(){var t=this.startNode();if(this.match(M.parenL)||this.tsMatchLeftRelational())return this.tsParseSignatureMember(\"TSCallSignatureDeclaration\",t);if(this.match(M._new)){var e=this.startNode();return this.next(),this.match(M.parenL)||this.tsMatchLeftRelational()?this.tsParseSignatureMember(\"TSConstructSignatureDeclaration\",t):(t.key=this.createIdentifier(e,\"new\"),this.tsParsePropertyOrMethodSignature(t,!1))}return this.tsParseModifiers({modified:t,allowedModifiers:[\"readonly\"],disallowedModifiers:[\"declare\",\"abstract\",\"private\",\"protected\",\"public\",\"static\",\"override\"]}),this.tsTryParseIndexSignature(t)||(this.parsePropertyName(t),t.computed||\"Identifier\"!==t.key.type||\"get\"!==t.key.name&&\"set\"!==t.key.name||!this.tsTokenCanFollowModifier()||(t.kind=t.key.name,this.parsePropertyName(t)),this.tsParsePropertyOrMethodSignature(t,!!t.readonly))},p.tsParseList=function(t,e){for(var s=[];!this.tsIsListTerminator(t);)s.push(e());return s},p.tsParseObjectTypeMembers=function(){this.expect(M.braceL);var t=this.tsParseList(\"TypeMembers\",this.tsParseTypeMember.bind(this));return this.expect(M.braceR),t},p.tsParseInterfaceDeclaration=function(t,e){if(void 0===e&&(e={}),this.hasFollowingLineBreak())return null;this.expectContextual(\"interface\"),e.declare&&(t.declare=!0),z(this.type)?(t.id=this.parseIdent(),this.checkLValSimple(t.id,7)):(t.id=null,this.raise(this.start,T.MissingInterfaceName)),t.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers.bind(this)),this.eat(M._extends)&&(t.extends=this.tsParseHeritageClause(\"extends\"));var s=this.startNode();return s.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),t.body=this.finishNode(s,\"TSInterfaceBody\"),this.finishNode(t,\"TSInterfaceDeclaration\")},p.tsParseAbstractDeclaration=function(t){if(this.match(M._class))return t.abstract=!0,this.parseClass(t,!0);if(this.ts_isContextual(B.interface)){if(!this.hasFollowingLineBreak())return t.abstract=!0,this.tsParseInterfaceDeclaration(t)}else this.unexpected(t.start)},p.tsIsDeclarationStart=function(){return K(this.type)},p.tsParseExpressionStatement=function(e,s){switch(s.name){case\"declare\":var i=this.tsTryParseDeclare(e);if(i)return i.declare=!0,i;break;case\"global\":if(this.match(M.braceL)){t.prototype.enterScope.call(this,u);var r=e;return r.global=!0,r.id=s,r.body=this.tsParseModuleBlock(),t.prototype.exitScope.call(this),this.finishNode(r,\"TSModuleDeclaration\")}break;default:return this.tsParseDeclaration(e,s.name,!1)}},p.tsParseModuleReference=function(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)},p.tsIsExportDefaultSpecifier=function(){var t=this.type,e=this.isAsyncFunction(),s=this.isLet();if(z(t)){if(e&&!this.containsEsc||s)return!1;if((t===B.type||t===B.interface)&&!this.containsEsc){var i=this.lookahead();if(z(i.type)&&!this.isContextualWithState(\"from\",i)||i.type===M.braceL)return!1}}else if(!this.match(M._default))return!1;var r=this.nextTokenStart(),a=this.isUnparsedContextual(r,\"from\");if(44===this.input.charCodeAt(r)||z(this.type)&&a)return!0;if(this.match(M._default)&&a){var n=this.input.charCodeAt(this.nextTokenStartSince(r+4));return 34===n||39===n}return!1},p.tsInAmbientContext=function(t){var e=this.isAmbientContext;this.isAmbientContext=!0;try{return t()}finally{this.isAmbientContext=e}},p.tsCheckLineTerminator=function(t){return t?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()},p.tsParseModuleOrNamespaceDeclaration=function(e,s){if(void 0===s&&(s=!1),e.id=this.parseIdent(),s||this.checkLValSimple(e.id,8),this.eat(M.dot)){var i=this.startNode();this.tsParseModuleOrNamespaceDeclaration(i,!0),e.body=i}else t.prototype.enterScope.call(this,u),e.body=this.tsParseModuleBlock(),t.prototype.exitScope.call(this);return this.finishNode(e,\"TSModuleDeclaration\")},p.checkLValSimple=function(e,s,i){return void 0===s&&(s=0),t.prototype.checkLValSimple.call(this,e,s,i)},p.tsParseTypeAliasDeclaration=function(t){var e=this;return t.id=this.parseIdent(),this.checkLValSimple(t.id,6),t.typeAnnotation=this.tsInType(function(){if(t.typeParameters=e.tsTryParseTypeParameters(e.tsParseInOutModifiers.bind(e)),e.expect(M.eq),e.ts_isContextual(B.interface)&&e.lookahead().type!==M.dot){var s=e.startNode();return e.next(),e.finishNode(s,\"TSIntrinsicKeyword\")}return e.tsParseType()}),this.semicolon(),this.finishNode(t,\"TSTypeAliasDeclaration\")},p.tsParseDeclaration=function(t,e,s){switch(e){case\"abstract\":if(this.tsCheckLineTerminator(s)&&(this.match(M._class)||z(this.type)))return this.tsParseAbstractDeclaration(t);break;case\"module\":if(this.tsCheckLineTerminator(s)){if(this.match(M.string))return this.tsParseAmbientExternalModuleDeclaration(t);if(z(this.type))return this.tsParseModuleOrNamespaceDeclaration(t)}break;case\"namespace\":if(this.tsCheckLineTerminator(s)&&z(this.type))return this.tsParseModuleOrNamespaceDeclaration(t);break;case\"type\":if(this.tsCheckLineTerminator(s)&&z(this.type))return this.tsParseTypeAliasDeclaration(t)}},p.tsTryParseExportDeclaration=function(){return this.tsParseDeclaration(this.startNode(),this.value,!0)},p.tsParseImportEqualsDeclaration=function(e,s){e.isExport=s||!1,e.id=this.parseIdent(),this.checkLValSimple(e.id,2),t.prototype.expect.call(this,M.eq);var i=this.tsParseModuleReference();return\"type\"===e.importKind&&\"TSExternalModuleReference\"!==i.type&&this.raise(i.start,T.ImportAliasHasImportType),e.moduleReference=i,t.prototype.semicolon.call(this),this.finishNode(e,\"TSImportEqualsDeclaration\")},p.isExportDefaultSpecifier=function(){if(this.tsIsDeclarationStart())return!1;var t=this.type;if(z(t)){if(this.isContextual(\"async\")||this.isContextual(\"let\"))return!1;if((t===B.type||t===B.interface)&&!this.containsEsc){var e=this.lookahead();if(z(e.type)&&!this.isContextualWithState(\"from\",e)||e.type===M.braceL)return!1}}else if(!this.match(M._default))return!1;var s=this.nextTokenStart(),i=this.isUnparsedContextual(s,\"from\");if(44===this.input.charCodeAt(s)||z(this.type)&&i)return!0;if(this.match(M._default)&&i){var r=this.input.charCodeAt(this.nextTokenStartSince(s+4));return 34===r||39===r}return!1},p.parseTemplate=function(t){var e=(void 0===t?{}:t).isTagged,s=void 0!==e&&e,i=this.startNode();this.next(),i.expressions=[];var r=this.parseTemplateElement({isTagged:s});for(i.quasis=[r];!r.tail;)this.type===M.eof&&this.raise(this.pos,\"Unterminated template literal\"),this.expect(M.dollarBraceL),i.expressions.push(this.inType?this.tsParseType():this.parseExpression()),this.expect(M.braceR),i.quasis.push(r=this.parseTemplateElement({isTagged:s}));return this.next(),this.finishNode(i,\"TemplateLiteral\")},p.parseFunction=function(t,e,s,i,r){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===M.star&&2&e&&this.unexpected(),t.generator=this.eat(M.star)),this.options.ecmaVersion>=8&&(t.async=!!i),1&e&&(t.id=4&e&&this.type!==M.name?null:this.parseIdent());var a=this.yieldPos,n=this.awaitPos,o=this.awaitIdentPos,h=this.maybeInArrowParameters;this.maybeInArrowParameters=!1,this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(E(t.async,t.generator)),1&e||(t.id=this.type===M.name?this.parseIdent():null),this.parseFunctionParams(t);var p=1&e;return this.parseFunctionBody(t,s,!1,r,{isFunctionDeclaration:p}),this.yieldPos=a,this.awaitPos=n,this.awaitIdentPos=o,1&e&&t.id&&!(2&e)&&this.checkLValSimple(t.id,t.body?this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3:0),this.maybeInArrowParameters=h,this.finishNode(t,p?\"FunctionDeclaration\":\"FunctionExpression\")},p.parseFunctionBody=function(e,s,i,r,a){void 0===s&&(s=!1),void 0===i&&(i=!1),void 0===r&&(r=!1),this.match(M.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(M.colon));var n=null!=a&&a.isFunctionDeclaration?\"TSDeclareFunction\":null!=a&&a.isClassMethod?\"TSDeclareMethod\":void 0;return n&&!this.match(M.braceL)&&this.isLineTerminator()?this.finishNode(e,n):\"TSDeclareFunction\"===n&&this.isAmbientContext&&(this.raise(e.start,T.DeclareFunctionHasImplementation),e.declare)?(t.prototype.parseFunctionBody.call(this,e,s,i,!1),this.finishNode(e,n)):(t.prototype.parseFunctionBody.call(this,e,s,i,r),e)},p.parseNew=function(){var t;this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword new\");var e=this.startNode(),s=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(M.dot)){e.meta=s;var i=this.containsEsc;return e.property=this.parseIdent(!0),\"target\"!==e.property.name&&this.raiseRecoverable(e.property.start,\"The only valid meta property for new is 'new.target'\"),i&&this.raiseRecoverable(e.start,\"'new.target' must not contain escaped characters\"),this.allowNewDotTarget||this.raiseRecoverable(e.start,\"'new.target' can only be used in functions and class static block\"),this.finishNode(e,\"MetaProperty\")}var r=this.start,a=this.startLoc,n=this.type===M._import;e.callee=this.parseSubscripts(this.parseExprAtom(),r,a,!0,!1),n&&\"ImportExpression\"===e.callee.type&&this.raise(r,\"Cannot use new with import()\");var o=e.callee;return\"TSInstantiationExpression\"!==o.type||null!=(t=o.extra)&&t.parenthesized||(e.typeParameters=o.typeParameters,e.callee=o.expression),e.arguments=this.eat(M.parenL)?this.parseExprList(M.parenR,this.options.ecmaVersion>=8,!1):[],this.finishNode(e,\"NewExpression\")},p.parseExprOp=function(e,s,i,r,a){var n;if(M._in.binop>r&&!this.hasPrecedingLineBreak()&&(this.isContextual(\"as\")&&(n=\"TSAsExpression\"),L&&this.isContextual(\"satisfies\")&&(n=\"TSSatisfiesExpression\"),n)){var o=this.startNodeAt(s,i);o.expression=e;var h=this.tsTryNextParseConstantContext();return o.typeAnnotation=h||this.tsNextThenParseType(),this.finishNode(o,n),this.reScan_lt_gt(),this.parseExprOp(o,s,i,r,a)}return t.prototype.parseExprOp.call(this,e,s,i,r,a)},p.parseImportSpecifiers=function(){var t=[],e=!0;if(N.tokenIsIdentifier(this.type)&&(t.push(this.parseImportDefaultSpecifier()),!this.eat(M.comma)))return t;if(this.type===M.star)return t.push(this.parseImportNamespaceSpecifier()),t;for(this.expect(M.braceL);!this.eat(M.braceR);){if(e)e=!1;else if(this.expect(M.comma),this.afterTrailingComma(M.braceR))break;t.push(this.parseImportSpecifier())}return t},p.parseImport=function(t){var e=this.lookahead();if(t.importKind=\"value\",this.importOrExportOuterKind=\"value\",z(e.type)||this.match(M.star)||this.match(M.braceL)){var s=this.lookahead(2);if(s.type!==M.comma&&!this.isContextualWithState(\"from\",s)&&s.type!==M.eq&&this.ts_eatContextualWithState(\"type\",1,e)&&(this.importOrExportOuterKind=\"type\",t.importKind=\"type\",e=this.lookahead(),s=this.lookahead(2)),z(e.type)&&s.type===M.eq){this.next();var i=this.tsParseImportEqualsDeclaration(t);return this.importOrExportOuterKind=\"value\",i}}return this.next(),this.type===M.string?(t.specifiers=[],t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual(\"from\"),t.source=this.type===M.string?this.parseExprAtom():this.unexpected()),this.parseMaybeImportAttributes(t),this.semicolon(),this.finishNode(t,\"ImportDeclaration\"),this.importOrExportOuterKind=\"value\",\"type\"===t.importKind&&t.specifiers.length>1&&\"ImportDefaultSpecifier\"===t.specifiers[0].type&&this.raise(t.start,T.TypeImportCannotSpecifyDefaultAndNamed),t},p.parseExportDefaultDeclaration=function(){if(this.isAbstractClass()){var e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0)}if(this.match(B.interface)){var s=this.tsParseInterfaceDeclaration(this.startNode());if(s)return s}return t.prototype.parseExportDefaultDeclaration.call(this)},p.parseExportAllDeclaration=function(t,e){return this.options.ecmaVersion>=11&&(this.eatContextual(\"as\")?(t.exported=this.parseModuleExportName(),this.checkExport(e,t.exported,this.lastTokStart)):t.exported=null),this.expectContextual(\"from\"),this.type!==M.string&&this.unexpected(),t.source=this.parseExprAtom(),this.parseMaybeImportAttributes(t),this.semicolon(),this.finishNode(t,\"ExportAllDeclaration\")},p.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),this.eat(M.comma)){var e=this.parseExpression();t.arguments=[e]}if(!this.eat(M.parenR)){var s=this.start;this.eat(M.comma)&&this.eat(M.parenR)?this.raiseRecoverable(s,\"Trailing comma is not allowed in import()\"):this.unexpected(s)}return this.finishNode(t,\"ImportExpression\")},p.parseExport=function(t,e){var s=this.lookahead();if(this.ts_eatWithState(M._import,2,s)){this.ts_isContextual(B.type)&&61!==this.lookaheadCharCode()?(t.importKind=\"type\",this.importOrExportOuterKind=\"type\",this.next()):(t.importKind=\"value\",this.importOrExportOuterKind=\"value\");var i=this.tsParseImportEqualsDeclaration(t,!0);return this.importOrExportOuterKind=void 0,i}if(this.ts_eatWithState(M.eq,2,s)){var r=t;return r.expression=this.parseExpression(),this.semicolon(),this.importOrExportOuterKind=void 0,this.finishNode(r,\"TSExportAssignment\")}if(this.ts_eatContextualWithState(\"as\",2,s)){var a=t;return this.expectContextual(\"namespace\"),a.id=this.parseIdent(),this.semicolon(),this.importOrExportOuterKind=void 0,this.finishNode(a,\"TSNamespaceExportDeclaration\")}if(this.ts_isContextualWithState(s,B.type)&&this.lookahead(2).type===M.braceL?(this.next(),this.importOrExportOuterKind=\"type\",t.exportKind=\"type\"):(this.importOrExportOuterKind=\"value\",t.exportKind=\"value\"),this.next(),this.eat(M.star))return this.parseExportAllDeclaration(t,e);if(this.eat(M._default))return this.checkExport(e,\"default\",this.lastTokStart),t.declaration=this.parseExportDefaultDeclaration(),this.finishNode(t,\"ExportDefaultDeclaration\");if(this.shouldParseExportStatement())t.declaration=this.parseExportDeclaration(t),\"VariableDeclaration\"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual(\"from\"))this.type!==M.string&&this.unexpected(),t.source=this.parseExprAtom(),this.parseMaybeImportAttributes(t);else{for(var n,o=h(t.specifiers);!(n=o()).done;){var p=n.value;this.checkUnreserved(p.local),this.checkLocalExport(p.local),\"Literal\"===p.local.type&&this.raise(p.local.start,\"A string literal cannot be used as an exported binding without `from`.\")}t.source=null}this.semicolon()}return this.finishNode(t,\"ExportNamedDeclaration\")},p.checkExport=function(t,e,s){t&&(\"string\"!=typeof e&&(e=\"Identifier\"===e.type?e.name:e.value),t[e]=!0)},p.parseMaybeDefault=function(e,s,i){var r=t.prototype.parseMaybeDefault.call(this,e,s,i);return\"AssignmentPattern\"===r.type&&r.typeAnnotation&&r.right.start<r.typeAnnotation.start&&this.raise(r.typeAnnotation.start,T.TypeAnnotationAfterAssign),r},p.typeCastToParameter=function(t){return t.expression.typeAnnotation=t.typeAnnotation,this.resetEndLocation(t.expression,t.typeAnnotation.end),t.expression},p.toAssignableList=function(e,s){for(var i=0;i<e.length;i++){var r=e[i];\"TSTypeCastExpression\"===(null==r?void 0:r.type)&&(e[i]=this.typeCastToParameter(r))}return t.prototype.toAssignableList.call(this,e,s)},p.reportReservedArrowTypeParam=function(t){},p.parseExprAtom=function(e,s,i){if(this.type===B.jsxText)return this.jsx_parseText();if(this.type===B.jsxTagStart)return this.jsx_parseElement();if(this.type===B.at)return this.parseDecorators(),this.parseExprAtom();if(z(this.type)){var r=this.potentialArrowAt===this.start,a=this.start,n=this.startLoc,o=this.containsEsc,h=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!o&&\"async\"===h.name&&!this.canInsertSemicolon()&&this.eat(M._function))return this.overrideContext(j.f_expr),this.parseFunction(this.startNodeAt(a,n),0,!1,!0,s);if(r&&!this.canInsertSemicolon()){if(this.eat(M.arrow))return this.parseArrowExpression(this.startNodeAt(a,n),[h],!1,s);if(this.options.ecmaVersion>=8&&\"async\"===h.name&&this.type===M.name&&!o&&(!this.potentialArrowInForAwait||\"of\"!==this.value||this.containsEsc))return h=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(M.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(a,n),[h],!0,s)}return h}return t.prototype.parseExprAtom.call(this,e,s,i)},p.parseExprAtomDefault=function(){if(z(this.type)){var t=this.potentialArrowAt===this.start,e=this.containsEsc,s=this.parseIdent();if(!e&&\"async\"===s.name&&!this.canInsertSemicolon()){var i=this.type;if(i===M._function)return this.next(),this.parseFunction(this.startNodeAtNode(s),void 0,!0,!0);if(z(i)){if(61===this.lookaheadCharCode()){var r=this.parseIdent(!1);return!this.canInsertSemicolon()&&this.eat(M.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAtNode(s),[r],!0)}return s}}return t&&this.match(M.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(s),[s],!1)):s}this.unexpected()},p.parseIdentNode=function(){var e=this.startNode();return J(this.type)?(e.name=this.value,e):t.prototype.parseIdentNode.call(this)},p.parseVarStatement=function(e,s,i){void 0===i&&(i=!1);var r=this.isAmbientContext;this.next(),t.prototype.parseVar.call(this,e,!1,s,i||r),this.semicolon();var a=this.finishNode(e,\"VariableDeclaration\");if(!r)return a;for(var n,o=h(a.declarations);!(n=o()).done;){var p=n.value,c=p.init;c&&(\"const\"!==s||p.id.typeAnnotation?this.raise(c.start,T.InitializerNotAllowedInAmbientContext):\"StringLiteral\"!==c.type&&\"BooleanLiteral\"!==c.type&&\"NumericLiteral\"!==c.type&&\"BigIntLiteral\"!==c.type&&(\"TemplateLiteral\"!==c.type||c.expressions.length>0)&&!I(c)&&this.raise(c.start,T.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference))}return a},p.parseStatement=function(e,s,i){if(this.match(B.at)&&this.parseDecorators(!0),this.match(M._const)&&this.isLookaheadContextual(\"enum\")){var r=this.startNode();return this.expect(M._const),this.tsParseEnumDeclaration(r,{const:!0})}if(this.ts_isContextual(B.enum))return this.tsParseEnumDeclaration(this.startNode());if(this.ts_isContextual(B.interface)){var a=this.tsParseInterfaceDeclaration(this.startNode());if(a)return a}return t.prototype.parseStatement.call(this,e,s,i)},p.parseAccessModifier=function(){return this.tsParseModifier([\"public\",\"protected\",\"private\"])},p.parsePostMemberNameModifiers=function(t){this.eat(M.question)&&(t.optional=!0),t.readonly&&this.match(M.parenL)&&this.raise(t.start,T.ClassMethodHasReadonly),t.declare&&this.match(M.parenL)&&this.raise(t.start,T.ClassMethodHasDeclare)},p.parseExpressionStatement=function(e,s){return(\"Identifier\"===s.type?this.tsParseExpressionStatement(e,s):void 0)||t.prototype.parseExpressionStatement.call(this,e,s)},p.shouldParseExportStatement=function(){return!!this.tsIsDeclarationStart()||!!this.match(B.at)||t.prototype.shouldParseExportStatement.call(this)},p.parseConditional=function(t,e,s,i,r){if(this.eat(M.question)){var a=this.startNodeAt(e,s);return a.test=t,a.consequent=this.parseMaybeAssign(),this.expect(M.colon),a.alternate=this.parseMaybeAssign(i),this.finishNode(a,\"ConditionalExpression\")}return t},p.parseMaybeConditional=function(t,e){var s=this,i=this.start,r=this.startLoc,a=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return a;if(!this.maybeInArrowParameters||!this.match(M.question))return this.parseConditional(a,i,r,t,e);var n=this.tryParse(function(){return s.parseConditional(a,i,r,t,e)});return n.node?(n.error&&this.setLookaheadState(n.failState),n.node):(n.error&&this.setOptionalParametersError(e,n.error),a)},p.parseParenItem=function(e){var s=this.start,i=this.startLoc;if(e=t.prototype.parseParenItem.call(this,e),this.eat(M.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(M.colon)){var r=this.startNodeAt(s,i);return r.expression=e,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,\"TSTypeCastExpression\")}return e},p.parseExportDeclaration=function(t){var e=this;if(!this.isAmbientContext&&this.ts_isContextual(B.declare))return this.tsInAmbientContext(function(){return e.parseExportDeclaration(t)});var s=this.start,i=this.startLoc,r=this.eatContextual(\"declare\");!r||!this.ts_isContextual(B.declare)&&this.shouldParseExportStatement()||this.raise(this.start,T.ExpectedAmbientAfterExportDeclare);var a=z(this.type)&&this.tsTryParseExportDeclaration()||this.parseStatement(null);return a?((\"TSInterfaceDeclaration\"===a.type||\"TSTypeAliasDeclaration\"===a.type||r)&&(t.exportKind=\"type\"),r&&(this.resetStartLocation(a,s,i),a.declare=!0),a):null},p.parseClassId=function(e,s){if(s||!this.isContextual(\"implements\")){t.prototype.parseClassId.call(this,e,s);var i=this.tsTryParseTypeParameters(this.tsParseInOutModifiers.bind(this));i&&(e.typeParameters=i)}},p.parseClassPropertyAnnotation=function(t){t.optional||(\"!\"===this.value&&this.eat(M.prefix)?t.definite=!0:this.eat(M.question)&&(t.optional=!0));var e=this.tsTryParseTypeAnnotation();e&&(t.typeAnnotation=e)},p.parseClassField=function(e){if(\"PrivateIdentifier\"===e.key.type)e.abstract&&this.raise(e.start,T.PrivateElementHasAbstract),e.accessibility&&this.raise(e.start,T.PrivateElementHasAccessibility({modifier:e.accessibility})),this.parseClassPropertyAnnotation(e);else if(this.parseClassPropertyAnnotation(e),this.isAmbientContext&&(!e.readonly||e.typeAnnotation)&&this.match(M.eq)&&this.raise(this.start,T.DeclareClassFieldHasInitializer),e.abstract&&this.match(M.eq)){var s=e.key;this.raise(this.start,T.AbstractPropertyHasInitializer({propertyName:\"Identifier\"!==s.type||e.computed?\"[\"+this.input.slice(s.start,s.end)+\"]\":s.name}))}return t.prototype.parseClassField.call(this,e)},p.parseClassMethod=function(t,e,s,i){var r=\"constructor\"===t.kind,a=\"PrivateIdentifier\"===t.key.type,n=this.tsTryParseTypeParameters();a?(n&&(t.typeParameters=n),t.accessibility&&this.raise(t.start,T.PrivateMethodsHasAccessibility({modifier:t.accessibility}))):n&&r&&this.raise(n.start,T.ConstructorHasTypeParameters);var o=t.declare,h=t.kind;!(void 0!==o&&o)||\"get\"!==h&&\"set\"!==h||this.raise(t.start,T.DeclareAccessor({kind:h})),n&&(t.typeParameters=n);var p=t.key;\"constructor\"===t.kind?(e&&this.raise(p.start,\"Constructor can't be a generator\"),s&&this.raise(p.start,\"Constructor can't be an async method\")):t.static&&x(t,\"prototype\")&&this.raise(p.start,\"Classes may not have a static property named prototype\");var c=t.value=this.parseMethod(e,s,i,!0,t);return\"get\"===t.kind&&0!==c.params.length&&this.raiseRecoverable(c.start,\"getter should have no params\"),\"set\"===t.kind&&1!==c.params.length&&this.raiseRecoverable(c.start,\"setter should have exactly one param\"),\"set\"===t.kind&&\"RestElement\"===c.params[0].type&&this.raiseRecoverable(c.params[0].start,\"Setter cannot use rest params\"),this.finishNode(t,\"MethodDefinition\")},p.isClassMethod=function(){return this.match(M.relational)},p.parseClassElement=function(e){var s=this;if(this.eat(M.semi))return null;var i,r=this.options.ecmaVersion,a=this.startNode(),n=\"\",o=!1,h=!1,p=\"method\",c=[\"declare\",\"private\",\"public\",\"protected\",\"accessor\",\"override\",\"abstract\",\"readonly\",\"static\"],l=this.tsParseModifiers({modified:a,allowedModifiers:c,disallowedModifiers:[\"in\",\"out\"],stopOnStartOfClassStaticBlock:!0,errorTemplate:T.InvalidModifierOnTypeParameterPositions});i=Boolean(l.static);var u=function(){if(!s.tsIsStartOfStaticBlocks()){var l=s.tsTryParseIndexSignature(a);if(l)return a.abstract&&s.raise(a.start,T.IndexSignatureHasAbstract),a.accessibility&&s.raise(a.start,T.IndexSignatureHasAccessibility({modifier:a.accessibility})),a.declare&&s.raise(a.start,T.IndexSignatureHasDeclare),a.override&&s.raise(a.start,T.IndexSignatureHasOverride),l;if(!s.inAbstractClass&&a.abstract&&s.raise(a.start,T.NonAbstractClassHasAbstractMethod),a.override&&e&&s.raise(a.start,T.OverrideNotInSubClass),a.static=i,i&&(s.isClassElementNameStart()||s.type===M.star||(n=\"static\")),!n&&r>=8&&s.eatContextual(\"async\")&&(!s.isClassElementNameStart()&&s.type!==M.star||s.canInsertSemicolon()?n=\"async\":h=!0),!n&&(r>=9||!h)&&s.eat(M.star)&&(o=!0),!n&&!h&&!o){var u=s.value;(s.eatContextual(\"get\")||s.eatContextual(\"set\"))&&(s.isClassElementNameStart()?p=u:n=u)}if(n?(a.computed=!1,a.key=s.startNodeAt(s.lastTokStart,s.lastTokStartLoc),a.key.name=n,s.finishNode(a.key,\"Identifier\")):s.parseClassElementName(a),s.parsePostMemberNameModifiers(a),s.isClassMethod()||r<13||s.type===M.parenL||\"method\"!==p||o||h){var d=!a.static&&x(a,\"constructor\"),m=d&&e;d&&\"method\"!==p&&s.raise(a.key.start,\"Constructor can't have get/set modifier\"),a.kind=d?\"constructor\":p,s.parseClassMethod(a,o,h,m)}else s.parseClassField(a);return a}if(s.next(),s.next(),s.tsHasSomeModifiers(a,c)&&s.raise(s.start,T.StaticBlockCannotHaveModifier),r>=13)return t.prototype.parseClassStaticBlock.call(s,a),a};return a.declare?this.tsInAmbientContext(u):u(),a},p.isClassElementNameStart=function(){return!!this.tsIsIdentifier()||t.prototype.isClassElementNameStart.call(this)},p.parseClassSuper=function(e){t.prototype.parseClassSuper.call(this,e),e.superClass&&(this.tsMatchLeftRelational()||this.match(M.bitShift))&&(e.superTypeParameters=this.tsParseTypeArgumentsInExpression()),this.eatContextual(\"implements\")&&(e.implements=this.tsParseHeritageClause(\"implements\"))},p.parseFunctionParams=function(e){var s=this.tsTryParseTypeParameters();s&&(e.typeParameters=s),t.prototype.parseFunctionParams.call(this,e)},p.parseVarId=function(e,s){t.prototype.parseVarId.call(this,e,s),\"Identifier\"===e.id.type&&!this.hasPrecedingLineBreak()&&\"!\"===this.value&&this.eat(M.prefix)&&(e.definite=!0);var i=this.tsTryParseTypeAnnotation();i&&(e.id.typeAnnotation=i,this.resetEndLocation(e.id))},p.parseArrowExpression=function(t,e,s,i){this.match(M.colon)&&(t.returnType=this.tsParseTypeAnnotation());var r=this.yieldPos,a=this.awaitPos,n=this.awaitIdentPos;this.enterScope(16|E(s,!1)),this.initFunction(t);var o=this.maybeInArrowParameters;return this.options.ecmaVersion>=8&&(t.async=!!s),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.maybeInArrowParameters=!0,t.params=this.toAssignableList(e,!0),this.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0,!1,i),this.yieldPos=r,this.awaitPos=a,this.awaitIdentPos=n,this.maybeInArrowParameters=o,this.finishNode(t,\"ArrowFunctionExpression\")},p.parseMaybeAssignOrigin=function(t,e,s){if(this.isContextual(\"yield\")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var i=!1,r=-1,a=-1,n=-1;e?(r=e.parenthesizedAssign,a=e.trailingComma,n=e.doubleProto,e.parenthesizedAssign=e.trailingComma=-1):(e=new y,i=!0);var o=this.start,h=this.startLoc;(this.type===M.parenL||z(this.type))&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=\"await\"===t);var p=this.parseMaybeConditional(t,e);if(s&&(p=s.call(this,p,o,h)),this.type.isAssign){var c=this.startNodeAt(o,h);return c.operator=this.value,this.type===M.eq&&(p=this.toAssignable(p,!0,e)),i||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=p.start&&(e.shorthandAssign=-1),this.type===M.eq?this.checkLValPattern(p):this.checkLValSimple(p),c.left=p,this.next(),c.right=this.parseMaybeAssign(t),n>-1&&(e.doubleProto=n),this.finishNode(c,\"AssignmentExpression\")}return i&&this.checkExpressionErrors(e,!0),r>-1&&(e.parenthesizedAssign=r),a>-1&&(e.trailingComma=a),p},p.parseMaybeAssign=function(t,e,s){var i,r,a,n,o,h,p,c,l,u,d,m=this;if(this.matchJsx(\"jsxTagStart\")||this.tsMatchLeftRelational()){if(c=this.cloneCurLookaheadState(),!(l=this.tryParse(function(){return m.parseMaybeAssignOrigin(t,e,s)},c)).error)return l.node;var y=this.context,f=y[y.length-1];f===N.tokContexts.tc_oTag&&y[y.length-2]===N.tokContexts.tc_expr?(y.pop(),y.pop()):f!==N.tokContexts.tc_oTag&&f!==N.tokContexts.tc_expr||y.pop()}if(!(null!=(i=l)&&i.error||this.tsMatchLeftRelational()))return this.parseMaybeAssignOrigin(t,e,s);c&&!this.compareLookaheadState(c,this.getCurLookaheadState())||(c=this.cloneCurLookaheadState());var x=this.tryParse(function(i){var r,a;d=m.tsParseTypeParameters();var n=m.parseMaybeAssignOrigin(t,e,s);return(\"ArrowFunctionExpression\"!==n.type||null!=(r=n.extra)&&r.parenthesized)&&i(),0!==(null==(a=d)?void 0:a.params.length)&&m.resetStartLocationFromNode(n,d),n.typeParameters=d,n},c);if(!x.error&&!x.aborted)return d&&this.reportReservedArrowTypeParam(d),x.node;if(!l&&(S(!0),!(u=this.tryParse(function(){return m.parseMaybeAssignOrigin(t,e,s)},c)).error))return u.node;if(null!=(r=l)&&r.node)return this.setLookaheadState(l.failState),l.node;if(x.node)return this.setLookaheadState(x.failState),d&&this.reportReservedArrowTypeParam(d),x.node;if(null!=(a=u)&&a.node)return this.setLookaheadState(u.failState),u.node;if(null!=(n=l)&&n.thrown)throw l.error;if(x.thrown)throw x.error;if(null!=(o=u)&&o.thrown)throw u.error;throw(null==(h=l)?void 0:h.error)||x.error||(null==(p=u)?void 0:p.error)},p.parseAssignableListItem=function(t){for(var e=[];this.match(B.at);)e.push(this.parseDecorator());var s,i=this.start,r=this.startLoc,a=!1,n=!1;if(void 0!==t){var o={};this.tsParseModifiers({modified:o,allowedModifiers:[\"public\",\"private\",\"protected\",\"override\",\"readonly\"]}),s=o.accessibility,n=o.override,a=o.readonly,!1===t&&(s||a||n)&&this.raise(r.start,T.UnexpectedParameterModifier)}var h=this.parseMaybeDefault(i,r);this.parseBindingListItem(h);var p=this.parseMaybeDefault(h.start,h.loc,h);if(e.length&&(p.decorators=e),s||a||n){var c=this.startNodeAt(i,r);return s&&(c.accessibility=s),a&&(c.readonly=a),n&&(c.override=n),\"Identifier\"!==p.type&&\"AssignmentPattern\"!==p.type&&this.raise(c.start,T.UnsupportedParameterPropertyKind),c.parameter=p,this.finishNode(c,\"TSParameterProperty\")}return p},p.checkLValInnerPattern=function(e,s,i){void 0===s&&(s=0),\"TSParameterProperty\"===e.type?this.checkLValInnerPattern(e.parameter,s,i):t.prototype.checkLValInnerPattern.call(this,e,s,i)},p.parseBindingListItem=function(t){this.eat(M.question)&&(\"Identifier\"===t.type||this.isAmbientContext||this.inType||this.raise(t.start,T.PatternIsOptional),t.optional=!0);var e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),this.resetEndLocation(t),t},p.isAssignable=function(t,e){var s=this;switch(t.type){case\"TSTypeCastExpression\":return this.isAssignable(t.expression,e);case\"TSParameterProperty\":case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":case\"RestElement\":return!0;case\"ObjectExpression\":var i=t.properties.length-1;return t.properties.every(function(t,e){return\"ObjectMethod\"!==t.type&&(e===i||\"SpreadElement\"!==t.type)&&s.isAssignable(t)});case\"Property\":case\"ObjectProperty\":return this.isAssignable(t.value);case\"SpreadElement\":return this.isAssignable(t.argument);case\"ArrayExpression\":return t.elements.every(function(t){return null===t||s.isAssignable(t)});case\"AssignmentExpression\":return\"=\"===t.operator;case\"ParenthesizedExpression\":return this.isAssignable(t.expression);case\"MemberExpression\":case\"OptionalMemberExpression\":return!e;default:return!1}},p.toAssignable=function(e,s,i){switch(void 0===s&&(s=!1),void 0===i&&(i=new y),e.type){case\"ParenthesizedExpression\":return this.toAssignableParenthesizedExpression(e,s,i);case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":return s||this.raise(e.start,T.UnexpectedTypeCastInParameter),this.toAssignable(e.expression,s,i);case\"MemberExpression\":break;case\"AssignmentExpression\":return s||\"TSTypeCastExpression\"!==e.left.type||(e.left=this.typeCastToParameter(e.left)),t.prototype.toAssignable.call(this,e,s,i);case\"TSTypeCastExpression\":return this.typeCastToParameter(e);default:return t.prototype.toAssignable.call(this,e,s,i)}return e},p.toAssignableParenthesizedExpression=function(e,s,i){switch(e.expression.type){case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":case\"ParenthesizedExpression\":return this.toAssignable(e.expression,s,i);default:return t.prototype.toAssignable.call(this,e,s,i)}},p.curPosition=function(){if(this.options.locations){var e=t.prototype.curPosition.call(this);return Object.defineProperty(e,\"offset\",{get:function(){return function(t){var e=new o.Position(this.line,this.column+t);return e.index=this.index+t,e}}}),e.index=this.pos,e}},p.parseBindingAtom=function(){return this.type===M._this?this.parseIdent(!0):t.prototype.parseBindingAtom.call(this)},p.shouldParseArrow=function(t){var e,s=this;if(e=this.match(M.colon)?t.every(function(t){return s.isAssignable(t,!0)}):!this.canInsertSemicolon()){if(this.match(M.colon)){var i=this.tryParse(function(t){var e=s.tsParseTypeOrTypePredicateAnnotation(M.colon);return!s.canInsertSemicolon()&&s.match(M.arrow)||t(),e});if(i.aborted)return this.shouldParseArrowReturnType=void 0,!1;i.thrown||(i.error&&this.setLookaheadState(i.failState),this.shouldParseArrowReturnType=i.node)}return!!this.match(M.arrow)||(this.shouldParseArrowReturnType=void 0,!1)}return this.shouldParseArrowReturnType=void 0,e},p.parseParenArrowList=function(t,e,s,i){var r=this.startNodeAt(t,e);return r.returnType=this.shouldParseArrowReturnType,this.shouldParseArrowReturnType=void 0,this.parseArrowExpression(r,s,!1,i)},p.parseParenAndDistinguishExpression=function(t,e){var s,i=this.start,r=this.startLoc,a=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){var n=this.maybeInArrowParameters;this.maybeInArrowParameters=!0,this.next();var o,h=this.start,p=this.startLoc,c=[],l=!0,u=!1,d=new y,m=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==M.parenR;){if(l?l=!1:this.expect(M.comma),a&&this.afterTrailingComma(M.parenR,!0)){u=!0;break}if(this.type===M.ellipsis){o=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===M.comma&&this.raise(this.start,\"Comma is not permitted after the rest element\");break}c.push(this.parseMaybeAssign(e,d,this.parseParenItem))}var x=this.lastTokEnd,T=this.lastTokEndLoc;if(this.expect(M.parenR),this.maybeInArrowParameters=n,t&&this.shouldParseArrow(c)&&this.eat(M.arrow))return this.checkPatternErrors(d,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=m,this.awaitPos=f,this.parseParenArrowList(i,r,c,e);c.length&&!u||this.unexpected(this.lastTokStart),o&&this.unexpected(o),this.checkExpressionErrors(d,!0),this.yieldPos=m||this.yieldPos,this.awaitPos=f||this.awaitPos,c.length>1?((s=this.startNodeAt(h,p)).expressions=c,this.finishNodeAt(s,\"SequenceExpression\",x,T)):s=c[0]}else s=this.parseParenExpression();if(this.options.preserveParens){var v=this.startNodeAt(i,r);return v.expression=s,this.finishNode(v,\"ParenthesizedExpression\")}return s},p.parseTaggedTemplateExpression=function(t,e,s,i){var r=this.startNodeAt(e,s);return r.tag=t,r.quasi=this.parseTemplate({isTagged:!0}),i&&this.raise(e,\"Tagged Template Literals are not allowed in optionalChain.\"),this.finishNode(r,\"TaggedTemplateExpression\")},p.shouldParseAsyncArrow=function(){var t=this;if(!this.match(M.colon))return!this.canInsertSemicolon()&&this.eat(M.arrow);var e=this.tryParse(function(e){var s=t.tsParseTypeOrTypePredicateAnnotation(M.colon);return!t.canInsertSemicolon()&&t.match(M.arrow)||e(),s});return e.aborted?(this.shouldParseAsyncArrowReturnType=void 0,!1):e.thrown?void 0:(e.error&&this.setLookaheadState(e.failState),this.shouldParseAsyncArrowReturnType=e.node,!this.canInsertSemicolon()&&this.eat(M.arrow))},p.parseSubscriptAsyncArrow=function(t,e,s,i){var r=this.startNodeAt(t,e);return r.returnType=this.shouldParseAsyncArrowReturnType,this.shouldParseAsyncArrowReturnType=void 0,this.parseArrowExpression(r,s,!0,i)},p.parseExprList=function(t,e,s,i){for(var r=[],a=!0;!this.eat(t);){if(a)a=!1;else if(this.expect(M.comma),e&&this.afterTrailingComma(t))break;var n=void 0;s&&this.type===M.comma?n=null:this.type===M.ellipsis?(n=this.parseSpread(i),i&&this.type===M.comma&&i.trailingComma<0&&(i.trailingComma=this.start)):n=this.parseMaybeAssign(!1,i,this.parseParenItem),r.push(n)}return r},p.parseSubscript=function(t,e,s,i,r,a,n){var o=this,h=a;if(!this.hasPrecedingLineBreak()&&\"!\"===this.value&&this.match(M.prefix)){this.exprAllowed=!1,this.next();var p=this.startNodeAt(e,s);return p.expression=t,t=this.finishNode(p,\"TSNonNullExpression\")}var c=!1;if(this.match(M.questionDot)&&60===this.lookaheadCharCode()){if(i)return t;t.optional=!0,h=c=!0,this.next()}if(this.tsMatchLeftRelational()||this.match(M.bitShift)){var l,u=this.tsTryParseAndCatch(function(){if(!i&&o.atPossibleAsyncArrow(t)){var r=o.tsTryParseGenericAsyncArrowFunction(e,s,n);if(r)return t=r}var a=o.tsParseTypeArgumentsInExpression();if(!a)return t;if(c&&!o.match(M.parenL))return l=o.curPosition(),t;if(V(o.type)||o.type===M.backQuote){var p=o.parseTaggedTemplateExpression(t,e,s,h);return p.typeParameters=a,p}if(!i&&o.eat(M.parenL)){var u=new y,d=o.startNodeAt(e,s);return d.callee=t,d.arguments=o.parseExprList(M.parenR,o.options.ecmaVersion>=8,!1,u),o.tsCheckForInvalidTypeCasts(d.arguments),d.typeParameters=a,h&&(d.optional=c),o.checkExpressionErrors(u,!0),t=o.finishNode(d,\"CallExpression\")}var m=o.type;if(!(o.tsMatchRightRelational()||m===M.bitShift||m!==M.parenL&&(f=m,Boolean(f.startsExpr))&&!o.hasPrecedingLineBreak())){var f,x=o.startNodeAt(e,s);return x.expression=t,x.typeParameters=a,o.finishNode(x,\"TSInstantiationExpression\")}});if(l&&this.unexpected(l),u)return\"TSInstantiationExpression\"===u.type&&(this.match(M.dot)||this.match(M.questionDot)&&40!==this.lookaheadCharCode())&&this.raise(this.start,T.InvalidPropertyAccessAfterInstantiationExpression),t=u}var d=this.options.ecmaVersion>=11,m=d&&this.eat(M.questionDot);i&&m&&this.raise(this.lastTokStart,\"Optional chaining cannot appear in the callee of new expressions\");var f=this.eat(M.bracketL);if(f||m&&this.type!==M.parenL&&this.type!==M.backQuote||this.eat(M.dot)){var x=this.startNodeAt(e,s);x.object=t,f?(x.property=this.parseExpression(),this.expect(M.bracketR)):x.property=this.type===M.privateId&&\"Super\"!==t.type?this.parsePrivateIdent():this.parseIdent(\"never\"!==this.options.allowReserved),x.computed=!!f,d&&(x.optional=m),t=this.finishNode(x,\"MemberExpression\")}else if(!i&&this.eat(M.parenL)){var v=this.maybeInArrowParameters;this.maybeInArrowParameters=!0;var P=new y,b=this.yieldPos,g=this.awaitPos,A=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var S=this.parseExprList(M.parenR,this.options.ecmaVersion>=8,!1,P);if(r&&!m&&this.shouldParseAsyncArrow())this.checkPatternErrors(P,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,\"Cannot use 'await' as identifier inside an async function\"),this.yieldPos=b,this.awaitPos=g,this.awaitIdentPos=A,t=this.parseSubscriptAsyncArrow(e,s,S,n);else{this.checkExpressionErrors(P,!0),this.yieldPos=b||this.yieldPos,this.awaitPos=g||this.awaitPos,this.awaitIdentPos=A||this.awaitIdentPos;var k=this.startNodeAt(e,s);k.callee=t,k.arguments=S,d&&(k.optional=m),t=this.finishNode(k,\"CallExpression\")}this.maybeInArrowParameters=v}else if(this.type===M.backQuote){(m||h)&&this.raise(this.start,\"Optional chaining cannot appear in the tag of tagged template expressions\");var C=this.startNodeAt(e,s);C.tag=t,C.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(C,\"TaggedTemplateExpression\")}return t},p.parseGetterSetter=function(t){t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var e=\"get\"===t.kind?0:1,s=t.value.params[0],i=s&&this.isThisParam(s);t.value.params.length!==(e=i?e+1:e)?this.raiseRecoverable(t.value.start,\"get\"===t.kind?\"getter should have no params\":\"setter should have exactly one param\"):\"set\"===t.kind&&\"RestElement\"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,\"Setter cannot use rest params\")},p.parseProperty=function(e,s){if(!e){var i=[];if(this.match(B.at))for(;this.match(B.at);)i.push(this.parseDecorator());var r=t.prototype.parseProperty.call(this,e,s);return\"SpreadElement\"===r.type&&i.length&&this.raise(r.start,\"Decorators can't be used with SpreadElement\"),i.length&&(r.decorators=i,i=[]),r}return t.prototype.parseProperty.call(this,e,s)},p.parseCatchClauseParam=function(){var t=this.parseBindingAtom(),e=\"Identifier\"===t.type;this.enterScope(e?32:0),this.checkLValPattern(t,e?4:2);var s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s,this.resetEndLocation(t)),this.expect(M.parenR),t},p.parseClass=function(t,e){var s=this.inAbstractClass;this.inAbstractClass=!!t.abstract;try{this.next(),this.takeDecorators(t);var i=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var r=this.enterClassBody(),a=this.startNode(),n=!1;a.body=[];var o=[];for(this.expect(M.braceL);this.type!==M.braceR;)if(this.match(B.at))o.push(this.parseDecorator());else{var h=this.parseClassElement(null!==t.superClass);o.length&&(h.decorators=o,this.resetStartLocationFromNode(h,o[0]),o=[]),h&&(a.body.push(h),\"MethodDefinition\"===h.type&&\"constructor\"===h.kind&&\"FunctionExpression\"===h.value.type?(n&&this.raiseRecoverable(h.start,\"Duplicate constructor in the same class\"),n=!0,h.decorators&&h.decorators.length>0&&this.raise(h.start,\"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\")):h.key&&\"PrivateIdentifier\"===h.key.type&&f(r,h)&&this.raiseRecoverable(h.key.start,\"Identifier '#\"+h.key.name+\"' has already been declared\"))}return this.strict=i,this.next(),o.length&&this.raise(this.start,\"Decorators must be attached to a class element.\"),t.body=this.finishNode(a,\"ClassBody\"),this.exitClassBody(),this.finishNode(t,e?\"ClassDeclaration\":\"ClassExpression\")}finally{this.inAbstractClass=s}},p.parseClassFunctionParams=function(){var t=this.tsTryParseTypeParameters(this.tsParseConstModifier),e=this.parseBindingList(M.parenR,!1,this.options.ecmaVersion>=8,!0);return t&&(e.typeParameters=t),e},p.parseMethod=function(t,e,s,i,r){var a=this.startNode(),n=this.yieldPos,o=this.awaitPos,h=this.awaitIdentPos;if(this.initFunction(a),this.options.ecmaVersion>=6&&(a.generator=t),this.options.ecmaVersion>=8&&(a.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|E(e,a.generator)|(s?128:0)),this.expect(M.parenL),a.params=this.parseClassFunctionParams(),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(a,!1,!0,!1,{isClassMethod:i}),this.yieldPos=n,this.awaitPos=o,this.awaitIdentPos=h,r&&r.abstract&&a.body){var p=r.key;this.raise(r.start,T.AbstractMethodHasImplementation({methodName:\"Identifier\"!==p.type||r.computed?\"[\"+this.input.slice(p.start,p.end)+\"]\":p.name}))}return this.finishNode(a,\"FunctionExpression\")},e.parse=function(t,e){if(!1===e.locations)throw new Error(\"You have to enable options.locations while using acorn-typescript\");e.locations=!0;var s=new this(e,t);return d&&(s.isAmbientContext=!0),s.parse()},e.parseExpressionAt=function(t,e,s){if(!1===s.locations)throw new Error(\"You have to enable options.locations while using acorn-typescript\");s.locations=!0;var i=new this(s,t,e);return d&&(i.isAmbientContext=!0),i.nextToken(),i.parseExpression()},p.parseImportSpecifier=function(){if(this.ts_isContextual(B.type)){var e=this.startNode();return e.imported=this.parseModuleExportName(),this.parseTypeOnlyImportExportSpecifier(e,!0,\"type\"===this.importOrExportOuterKind),this.finishNode(e,\"ImportSpecifier\")}var s=t.prototype.parseImportSpecifier.call(this);return s.importKind=\"value\",s},p.parseExportSpecifier=function(e){var s=this.ts_isContextual(B.type);if(!this.match(M.string)&&s){var i=this.startNode();return i.local=this.parseModuleExportName(),this.parseTypeOnlyImportExportSpecifier(i,!1,\"type\"===this.importOrExportOuterKind),this.finishNode(i,\"ExportSpecifier\"),this.checkExport(e,i.exported,i.exported.start),i}var r=t.prototype.parseExportSpecifier.call(this,e);return r.exportKind=\"value\",r},p.parseTypeOnlyImportExportSpecifier=function(e,s,i){var r,a=s?\"imported\":\"local\",n=s?\"local\":\"exported\",o=e[a],h=!1,p=!0,c=o.start;if(this.isContextual(\"as\")){var l=this.parseIdent();if(this.isContextual(\"as\")){var u=this.parseIdent();J(this.type)?(h=!0,o=l,r=s?this.parseIdent():this.parseModuleExportName(),p=!1):(r=u,p=!1)}else J(this.type)?(p=!1,r=s?this.parseIdent():this.parseModuleExportName()):(h=!0,o=l)}else J(this.type)&&(h=!0,s?(o=t.prototype.parseIdent.call(this,!0),this.isContextual(\"as\")||this.checkUnreserved(o)):o=this.parseModuleExportName());h&&i&&this.raise(c,s?T.TypeModifierIsUsedInTypeImports:T.TypeModifierIsUsedInTypeExports),e[a]=o,e[n]=r,e[s?\"importKind\":\"exportKind\"]=h?\"type\":\"value\",p&&this.eatContextual(\"as\")&&(e[n]=s?this.parseIdent():this.parseModuleExportName()),e[n]||(e[n]=this.copyNode(e[a])),s&&this.checkLValSimple(e[n],2)},p.raiseCommonCheck=function(e,s,i){return\"Comma is not permitted after the rest element\"===s?this.isAmbientContext&&this.match(M.comma)&&41===this.lookaheadCharCode()?void this.next():t.prototype.raise.call(this,e,s):i?t.prototype.raiseRecoverable.call(this,e,s):t.prototype.raise.call(this,e,s)},p.raiseRecoverable=function(t,e){return this.raiseCommonCheck(t,e,!0)},p.raise=function(t,e){return this.raiseCommonCheck(t,e,!0)},p.updateContext=function(e){var s=this.type;if(s==M.braceL){var i=this.curContext();i==H.tc_oTag?this.context.push(j.b_expr):i==H.tc_expr?this.context.push(j.b_tmpl):t.prototype.updateContext.call(this,e),this.exprAllowed=!0}else{if(s!==M.slash||e!==B.jsxTagStart)return t.prototype.updateContext.call(this,e);this.context.length-=2,this.context.push(H.tc_cTag),this.exprAllowed=!1}},p.jsx_parseOpeningElementAt=function(t,e){var s=this,i=this.startNodeAt(t,e),r=this.jsx_parseElementName();if(r&&(i.name=r),this.match(M.relational)||this.match(M.bitShift)){var a=this.tsTryParseAndCatch(function(){return s.tsParseTypeArgumentsInExpression()});a&&(i.typeParameters=a)}for(i.attributes=[];this.type!==M.slash&&this.type!==B.jsxTagEnd;)i.attributes.push(this.jsx_parseAttribute());return i.selfClosing=this.eat(M.slash),this.expect(B.jsxTagEnd),this.finishNode(i,r?\"JSXOpeningElement\":\"JSXOpeningFragment\")},p.enterScope=function(e){e===u&&this.importsStack.push([]),t.prototype.enterScope.call(this,e);var s=t.prototype.currentScope.call(this);s.types=[],s.enums=[],s.constEnums=[],s.classes=[],s.exportOnlyBindings=[]},p.exitScope=function(){t.prototype.currentScope.call(this).flags===u&&this.importsStack.pop(),t.prototype.exitScope.call(this)},p.hasImport=function(t,e){var s=this.importsStack.length;if(this.importsStack[s-1].indexOf(t)>-1)return!0;if(!e&&s>1)for(var i=0;i<s-1;i++)if(this.importsStack[i].indexOf(t)>-1)return!0;return!1},p.maybeExportDefined=function(t,e){this.inModule&&1&t.flags&&this.undefinedExports.delete(e)},p.isRedeclaredInScope=function(e,s,i){return!!(0&i)&&(2&i?e.lexical.indexOf(s)>-1||e.functions.indexOf(s)>-1||e.var.indexOf(s)>-1:3&i?e.lexical.indexOf(s)>-1||!t.prototype.treatFunctionsAsVarInScope.call(this,e)&&e.var.indexOf(s)>-1:e.lexical.indexOf(s)>-1&&!(32&e.flags&&e.lexical[0]===s)||!this.treatFunctionsAsVarInScope(e)&&e.functions.indexOf(s)>-1)},p.checkRedeclarationInScope=function(t,e,s,i){this.isRedeclaredInScope(t,e,s)&&this.raise(i,\"Identifier '\"+e+\"' has already been declared.\")},p.declareName=function(e,s,i){if(4096&s)return this.hasImport(e,!0)&&this.raise(i,\"Identifier '\"+e+\"' has already been declared.\"),void this.importsStack[this.importsStack.length-1].push(e);var r=this.currentScope();if(1024&s)return this.maybeExportDefined(r,e),void r.exportOnlyBindings.push(e);t.prototype.declareName.call(this,e,s,i),0&s&&(0&s||(this.checkRedeclarationInScope(r,e,s,i),this.maybeExportDefined(r,e)),r.types.push(e)),256&s&&r.enums.push(e),512&s&&r.constEnums.push(e),128&s&&r.classes.push(e)},p.checkLocalExport=function(e){var s=e.name;if(!this.hasImport(s)){for(var i=this.scopeStack.length-1;i>=0;i--){var r=this.scopeStack[i];if(r.types.indexOf(s)>-1||r.exportOnlyBindings.indexOf(s)>-1)return}t.prototype.checkLocalExport.call(this,e)}},s=e,n=[{key:\"acornTypeScript\",get:function(){return N}}],(r=[{key:\"acornTypeScript\",get:function(){return N}}])&&i(s.prototype,r),n&&i(s,n),Object.defineProperty(s,\"prototype\",{writable:!1}),e}(n);return Y}}exports.default=L,exports.tsPlugin=L;\n"],"x_google_ignoreList":[0],"mappings":"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AI,MAAK;EAAI,MAAK;EAAI,OAAM;EAAI,OAAM;EAAI,MAAK;EAAI,QAAO;EAAI,OAAM;EAAI,MAAK;EAAI,MAAK;EAAI,OAAM;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,QAAO;EAAI,MAAK;EAAI,OAAM;EAAI,OAAM;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,MAAK;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,MAAK;EAAI,KAAI;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,QAAO;EAAI,MAAK;EAAI,OAAM;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,MAAK;EAAI,QAAO;EAAI,OAAM;EAAI,OAAM;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,QAAO;EAAI,MAAK;EAAI,OAAM;EAAI,OAAM;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,MAAK;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,MAAK;EAAI,KAAI;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,QAAO;EAAI,MAAK;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,QAAO;EAAI,OAAM;EAAI,MAAK;EAAI,QAAO;EAAI,OAAM;EAAI,MAAK;EAAI,OAAM;EAAI,OAAM;EAAI,QAAO;EAAI,QAAO;EAAI,MAAK;EAAI,MAAK;EAAI,MAAK;EAAI,OAAM;EAAI,OAAM;EAAI,MAAK;EAAI,OAAM;EAAI,OAAM;EAAI,SAAQ;EAAI,MAAK;EAAI,KAAI;EAAI,OAAM;EAAI,MAAK;EAAI,OAAM;EAAI,QAAO;EAAI,IAAG;EAAI,IAAG;EAAI,IAAG;EAAI,SAAQ;EAAI,IAAG;EAAI,KAAI;EAAI,OAAM;EAAI,KAAI;EAAI,SAAQ;EAAI,KAAI;EAAI,KAAI;EAAI,KAAI;EAAI,OAAM;EAAI,OAAM;EAAI,MAAK;EAAI,OAAM;EAAI,OAAM;EAAI,SAAQ;EAAI,MAAK;EAAI,KAAI;EAAI,OAAM;EAAI,MAAK;EAAI,OAAM;EA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"}