Ignore:
Timestamp:
12/12/24 17:06:06 (5 weeks ago)
Author:
stefan toskovski <stefantoska84@…>
Branches:
main
Parents:
d565449
Message:

Pred finalna verzija

File:
1 edited

Legend:

Unmodified
Added
Removed
  • imaps-frontend/node_modules/@babel/parser/lib/index.js

    rd565449 r0c6b92a  
    140140  IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.",
    141141  IllegalReturn: "'return' outside of function.",
    142   ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedAssertSyntax: true` option in the import attributes plugin to suppress this error.",
     142  ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.",
    143143  ImportBindingIsString: ({
    144144    importName
    145145  }) => `A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${importName}" as foo }\`?`,
    146   ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments.",
    147   ImportCallArity: ({
    148     maxArgumentCount
    149   }) => `\`import()\` requires exactly ${maxArgumentCount === 1 ? "one argument" : "one or two arguments"}.`,
     146  ImportCallArity: `\`import()\` requires exactly one or two arguments.`,
    150147  ImportCallNotNewExpression: "Cannot use new with import(...).",
    151148  ImportCallSpreadArgument: "`...` is not allowed in `import()`.",
     
    346343}) {
    347344  const hasMissingPlugin = reasonCode === "MissingPlugin" || reasonCode === "MissingOneOfPlugins";
     345  {
     346    const oldReasonCodes = {
     347      AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter",
     348      AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters",
     349      ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference",
     350      SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter",
     351      SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter",
     352      SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType"
     353    };
     354    if (oldReasonCodes[reasonCode]) {
     355      reasonCode = oldReasonCodes[reasonCode];
     356    }
     357  }
    348358  return function constructor(loc, details) {
    349359    const error = new SyntaxError();
     
    661671    const node = super.finishCallExpression(unfinished, optional);
    662672    if (node.callee.type === "Import") {
     673      var _ref, _ref2;
    663674      node.type = "ImportExpression";
    664675      node.source = node.arguments[0];
    665       if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) {
    666         var _ref, _ref2;
    667         node.options = (_ref = node.arguments[1]) != null ? _ref : null;
    668         node.attributes = (_ref2 = node.arguments[1]) != null ? _ref2 : null;
    669       }
     676      node.options = (_ref = node.arguments[1]) != null ? _ref : null;
     677      node.attributes = (_ref2 = node.arguments[1]) != null ? _ref2 : null;
    670678      delete node.arguments;
    671679      delete node.callee;
     
    12091217    startsExpr
    12101218  }),
     1219  placeholder: createToken("%%", {
     1220    startsExpr: true
     1221  }),
    12111222  string: createToken("string", {
    12121223    startsExpr
     
    12351246    startsExpr: true
    12361247  }),
    1237   jsxTagEnd: createToken("jsxTagEnd"),
    1238   placeholder: createToken("%%", {
    1239     startsExpr: true
    1240   })
     1248  jsxTagEnd: createToken("jsxTagEnd")
    12411249};
    12421250function tokenIsIdentifier(token) {
    1243   return token >= 93 && token <= 132;
     1251  return token >= 93 && token <= 133;
    12441252}
    12451253function tokenKeywordOrIdentifierIsKeyword(token) {
     
    12471255}
    12481256function tokenIsKeywordOrIdentifier(token) {
    1249   return token >= 58 && token <= 132;
     1257  return token >= 58 && token <= 133;
    12501258}
    12511259function tokenIsLiteralPropertyName(token) {
    1252   return token >= 58 && token <= 136;
     1260  return token >= 58 && token <= 137;
    12531261}
    12541262function tokenComesBeforeExpression(token) {
     
    13141322    }
    13151323  };
    1316   tokenTypes[142].updateContext = context => {
     1324  tokenTypes[143].updateContext = context => {
    13171325    context.push(types.j_expr, types.j_oTag);
    13181326  };
    13191327}
    1320 let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
    1321 let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
     1328let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7cd\ua7d0\ua7d1\ua7d3\ua7d5-\ua7dc\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
     1329let nonASCIIidentifierChars = "\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
    13221330const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
    13231331const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
    13241332nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
    1325 const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
    1326 const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
     1333const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
     1334const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
    13271335function isInAstralSet(code, set) {
    13281336  let pos = 0x10000;
     
    15801588    this.ambiguousScriptDifferentAst = false;
    15811589  }
     1590  sourceToOffsetPos(sourcePos) {
     1591    return sourcePos + this.startIndex;
     1592  }
     1593  offsetToSourcePos(offsetPos) {
     1594    return offsetPos - this.startIndex;
     1595  }
    15821596  hasPlugin(pluginConfig) {
    15831597    if (typeof pluginConfig === "string") {
     
    16931707        start: commentStart
    16941708      } = commentWS;
    1695       if (this.input.charCodeAt(commentStart - 1) === 44) {
     1709      if (this.input.charCodeAt(this.offsetToSourcePos(commentStart) - 1) === 44) {
    16961710        switch (node.type) {
    16971711          case "ObjectExpression":
     
    18421856  constructor() {
    18431857    this.flags = 1024;
     1858    this.startIndex = void 0;
    18441859    this.curLine = void 0;
    18451860    this.lineStart = void 0;
     
    18581873    this.commentStack = [];
    18591874    this.pos = 0;
    1860     this.type = 139;
     1875    this.type = 140;
    18611876    this.value = null;
    18621877    this.start = 0;
     
    18781893    strictMode,
    18791894    sourceType,
     1895    startIndex,
    18801896    startLine,
    18811897    startColumn
    18821898  }) {
    18831899    this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === "module";
     1900    this.startIndex = startIndex;
    18841901    this.curLine = startLine;
    18851902    this.lineStart = -startColumn;
    1886     this.startLoc = this.endLoc = new Position(startLine, startColumn, 0);
     1903    this.startLoc = this.endLoc = new Position(startLine, startColumn, startIndex);
    18871904  }
    18881905  get maybeInArrowParameters() {
     
    19591976  }
    19601977  curPosition() {
    1961     return new Position(this.curLine, this.pos - this.lineStart, this.pos);
     1978    return new Position(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex);
    19621979  }
    19631980  clone() {
    19641981    const state = new State();
    19651982    state.flags = this.flags;
     1983    state.startIndex = this.startIndex;
    19661984    state.curLine = this.curLine;
    19671985    state.lineStart = this.lineStart;
     
    22812299class Token {
    22822300  constructor(state) {
     2301    const startIndex = state.startIndex || 0;
    22832302    this.type = state.type;
    22842303    this.value = state.value;
    2285     this.start = state.start;
    2286     this.end = state.end;
     2304    this.start = startIndex + state.start;
     2305    this.end = startIndex + state.end;
    22872306    this.loc = new SourceLocation(state.startLoc, state.endLoc);
    22882307  }
     
    24252444    if (!this.isLookahead) this.state.startLoc = this.state.curPosition();
    24262445    if (this.state.pos >= this.length) {
    2427       this.finishToken(139);
     2446      this.finishToken(140);
    24282447      return;
    24292448    }
     
    24482467      type: "CommentBlock",
    24492468      value: this.input.slice(start + 2, end),
    2450       start,
    2451       end: end + commentEnd.length,
     2469      start: this.sourceToOffsetPos(start),
     2470      end: this.sourceToOffsetPos(end + commentEnd.length),
    24522471      loc: new SourceLocation(startLoc, this.state.curPosition())
    24532472    };
     
    24712490      type: "CommentLine",
    24722491      value,
    2473       start,
    2474       end,
     2492      start: this.sourceToOffsetPos(start),
     2493      end: this.sourceToOffsetPos(end),
    24752494      loc: new SourceLocation(startLoc, this.state.curPosition())
    24762495    };
     
    25572576      const end = this.state.pos;
    25582577      const commentWhitespace = {
    2559         start: spaceStart,
    2560         end,
     2578        start: this.sourceToOffsetPos(spaceStart),
     2579        end: this.sourceToOffsetPos(end),
    25612580        comments,
    25622581        leadingNode: null,
     
    26032622    } else if (isIdentifierStart(next)) {
    26042623      ++this.state.pos;
    2605       this.finishToken(138, this.readWord1(next));
     2624      this.finishToken(139, this.readWord1(next));
    26062625    } else if (next === 92) {
    26072626      ++this.state.pos;
    2608       this.finishToken(138, this.readWord1());
     2627      this.finishToken(139, this.readWord1());
    26092628    } else {
    26102629      this.finishOp(27, 1);
     
    30183037    }
    30193038    this.state.pos = pos;
    3020     this.finishToken(137, {
     3039    this.finishToken(138, {
    30213040      pattern: content,
    30223041      flags: mods
     
    30323051  }
    30333052  readRadixNumber(radix) {
     3053    const start = this.state.pos;
    30343054    const startLoc = this.state.curPosition();
    30353055    let isBigInt = false;
     
    30523072    }
    30533073    if (isBigInt) {
    3054       const str = this.input.slice(startLoc.index, this.state.pos).replace(/[_n]/g, "");
    3055       this.finishToken(135, str);
     3074      const str = this.input.slice(start, this.state.pos).replace(/[_n]/g, "");
     3075      this.finishToken(136, str);
    30563076      return;
    30573077    }
    3058     this.finishToken(134, val);
     3078    this.finishToken(135, val);
    30593079  }
    30603080  readNumber(startsWithDot) {
     
    30633083    let isFloat = false;
    30643084    let isBigInt = false;
    3065     let isDecimal = false;
    30663085    let hasExponent = false;
    30673086    let isOctal = false;
     
    31133132      }
    31143133      ++this.state.pos;
    3115       isDecimal = true;
     3134      var isDecimal = true;
    31163135    }
    31173136    if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {
     
    31203139    const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, "");
    31213140    if (isBigInt) {
    3122       this.finishToken(135, str);
    3123       return;
    3124     }
    3125     if (isDecimal) {
    31263141      this.finishToken(136, str);
    31273142      return;
    31283143    }
     3144    if (isDecimal) {
     3145      this.finishToken(137, str);
     3146      return;
     3147    }
    31293148    const val = isOctal ? parseInt(str, 8) : parseFloat(str);
    3130     this.finishToken(134, val);
     3149    this.finishToken(135, val);
    31313150  }
    31323151  readCodePoint(throwOnInvalid) {
     
    31483167    this.state.lineStart = lineStart;
    31493168    this.state.curLine = curLine;
    3150     this.finishToken(133, str);
     3169    this.finishToken(134, str);
    31513170  }
    31523171  readTemplateContinuation() {
     
    31703189    this.state.curLine = curLine;
    31713190    if (firstInvalidLoc) {
    3172       this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, firstInvalidLoc.pos);
     3191      this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, this.sourceToOffsetPos(firstInvalidLoc.pos));
    31733192    }
    31743193    if (this.input.codePointAt(pos) === 96) {
     
    35583577  }
    35593578  canInsertSemicolon() {
    3560     return this.match(139) || this.match(8) || this.hasPrecedingLineBreak();
     3579    return this.match(140) || this.match(8) || this.hasPrecedingLineBreak();
    35613580  }
    35623581  hasPrecedingLineBreak() {
    3563     return hasNewLine(this.input, this.state.lastTokEndLoc.index, this.state.start);
     3582    return hasNewLine(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start);
    35643583  }
    35653584  hasFollowingLineBreak() {
     
    39623981    return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
    39633982  }
    3964   shouldParseEnums() {
    3965     return !!this.getPluginOption("flow", "enums");
    3966   }
    39673983  finishToken(type, val) {
    3968     if (type !== 133 && type !== 13 && type !== 28) {
     3984    if (type !== 134 && type !== 13 && type !== 28) {
    39693985      if (this.flowPragma === undefined) {
    39703986        this.flowPragma = null;
     
    40944110  flowParseDeclareModule(node) {
    40954111    this.scope.enter(0);
    4096     if (this.match(133)) {
     4112    if (this.match(134)) {
    40974113      node.id = super.parseExprAtom();
    40984114    } else {
     
    43214337    node.params = [];
    43224338    this.state.inType = true;
    4323     if (this.match(47) || this.match(142)) {
     4339    if (this.match(47) || this.match(143)) {
    43244340      this.next();
    43254341    } else {
     
    43954411  }
    43964412  flowParseObjectPropertyKey() {
    4397     return this.match(134) || this.match(133) ? super.parseExprAtom() : this.parseIdentifier(true);
     4413    return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(true);
    43984414  }
    43994415  flowParseObjectTypeIndexer(node, isStatic, variance) {
     
    48394855          return this.finishNode(node, "FunctionTypeAnnotation");
    48404856        }
    4841       case 133:
     4857      case 134:
    48424858        return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
    48434859      case 85:
     
    48494865        if (this.state.value === "-") {
    48504866          this.next();
    4851           if (this.match(134)) {
     4867          if (this.match(135)) {
    48524868            return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node);
    48534869          }
    4854           if (this.match(135)) {
     4870          if (this.match(136)) {
    48554871            return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node);
    48564872          }
     
    48594875        this.unexpected();
    48604876        return;
    4861       case 134:
     4877      case 135:
    48624878        return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
    4863       case 135:
     4879      case 136:
    48644880        return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
    48654881      case 88:
     
    50315047        return this.flowParseInterface(node);
    50325048      }
    5033     } else if (this.shouldParseEnums() && this.isContextual(126)) {
     5049    } else if (this.isContextual(126)) {
    50345050      const node = this.startNode();
    50355051      this.next();
     
    50645080      type
    50655081    } = this.state;
    5066     if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 126) {
     5082    if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) {
    50675083      return !this.state.containsEsc;
    50685084    }
     
    50735089      type
    50745090    } = this.state;
    5075     if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 126) {
     5091    if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) {
    50765092      return this.state.containsEsc;
    50775093    }
     
    50795095  }
    50805096  parseExportDefaultExpression() {
    5081     if (this.shouldParseEnums() && this.isContextual(126)) {
     5097    if (this.isContextual(126)) {
    50825098      const node = this.startNode();
    50835099      this.next();
     
    51815197  forwardNoArrowParamsConversionAt(node, parse) {
    51825198    let result;
    5183     if (this.state.noArrowParamsConversionAt.includes(node.start)) {
     5199    if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) {
    51845200      this.state.noArrowParamsConversionAt.push(this.state.start);
    51855201      result = parse();
     
    52325248      this.next();
    52335249      return this.flowParseInterface(declarationNode);
    5234     } else if (this.shouldParseEnums() && this.isContextual(126)) {
     5250    } else if (this.isContextual(126)) {
    52355251      node.exportKind = "value";
    52365252      const declarationNode = this.startNode();
     
    54635479    return result;
    54645480  }
    5465   parseAssignableListItemTypes(param) {
     5481  parseFunctionParamType(param) {
    54665482    if (this.eat(17)) {
    54675483      if (param.type !== "Identifier") {
     
    56145630    let state = null;
    56155631    let jsx;
    5616     if (this.hasPlugin("jsx") && (this.match(142) || this.match(47))) {
     5632    if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
    56175633      state = this.state.clone();
    56185634      jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state);
     
    56915707  }
    56925708  setArrowFunctionParameters(node, params) {
    5693     if (this.state.noArrowParamsConversionAt.includes(node.start)) {
     5709    if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) {
    56945710      node.params = params;
    56955711    } else {
     
    56985714  }
    56995715  checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) {
    5700     if (isArrowFunction && this.state.noArrowParamsConversionAt.includes(node.start)) {
     5716    if (isArrowFunction && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) {
    57015717      return;
    57025718    }
     
    57095725  }
    57105726  parseParenAndDistinguishExpression(canBeArrow) {
    5711     return super.parseParenAndDistinguishExpression(canBeArrow && !this.state.noArrowAt.includes(this.state.start));
     5727    return super.parseParenAndDistinguishExpression(canBeArrow && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)));
    57125728  }
    57135729  parseSubscripts(base, startLoc, noCalls) {
     
    57165732      const node = this.startNodeAt(startLoc);
    57175733      node.callee = base;
    5718       node.arguments = super.parseCallExpressionArguments(11, false);
     5734      node.arguments = super.parseCallExpressionArguments(11);
    57195735      base = this.finishNode(node, "CallExpression");
    57205736    } else if (base.type === "Identifier" && base.name === "async" && this.match(47)) {
     
    57485764      node.typeArguments = this.flowParseTypeParameterInstantiation();
    57495765      this.expect(10);
    5750       node.arguments = this.parseCallExpressionArguments(11, false);
     5766      node.arguments = this.parseCallExpressionArguments(11);
    57515767      node.optional = true;
    57525768      return this.finishCallExpression(node, true);
     
    57575773        node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew();
    57585774        this.expect(10);
    5759         node.arguments = super.parseCallExpressionArguments(11, false);
     5775        node.arguments = super.parseCallExpressionArguments(11);
    57605776        if (subscriptState.optionalChainMember) {
    57615777          node.optional = false;
     
    58735889    const endOfInit = () => this.match(12) || this.match(8);
    58745890    switch (this.state.type) {
    5875       case 134:
     5891      case 135:
    58765892        {
    58775893          const literal = this.parseNumericLiteral(this.state.value);
     
    58885904          };
    58895905        }
    5890       case 133:
     5906      case 134:
    58915907        {
    58925908          const literal = this.parseStringLiteral(this.state.value);
     
    64936509            if (ch === 60 && this.state.canStartJSXElement) {
    64946510              ++this.state.pos;
    6495               this.finishToken(142);
     6511              this.finishToken(143);
    64966512            } else {
    64976513              super.getTokenFromCode(ch);
     
    65006516          }
    65016517          out += this.input.slice(chunkStart, this.state.pos);
    6502           this.finishToken(141, out);
     6518          this.finishToken(142, out);
    65036519          return;
    65046520        case 38:
     
    65566572    }
    65576573    out += this.input.slice(chunkStart, this.state.pos++);
    6558     this.finishToken(133, out);
     6574    this.finishToken(134, out);
    65596575  }
    65606576  jsxReadEntity() {
     
    65966612      ch = this.input.charCodeAt(++this.state.pos);
    65976613    } while (isIdentifierChar(ch) || ch === 45);
    6598     this.finishToken(140, this.input.slice(start, this.state.pos));
     6614    this.finishToken(141, this.input.slice(start, this.state.pos));
    65996615  }
    66006616  jsxParseIdentifier() {
    66016617    const node = this.startNode();
    6602     if (this.match(140)) {
     6618    if (this.match(141)) {
    66036619      node.name = this.state.value;
    66046620    } else if (tokenIsKeyword(this.state.type)) {
     
    66456661        }
    66466662        return node;
    6647       case 142:
    6648       case 133:
     6663      case 143:
     6664      case 134:
    66496665        return this.parseExprAtom();
    66506666      default:
     
    66946710  jsxParseOpeningElementAt(startLoc) {
    66956711    const node = this.startNodeAt(startLoc);
    6696     if (this.eat(143)) {
     6712    if (this.eat(144)) {
    66976713      return this.finishNode(node, "JSXOpeningFragment");
    66986714    }
     
    67026718  jsxParseOpeningElementAfterName(node) {
    67036719    const attributes = [];
    6704     while (!this.match(56) && !this.match(143)) {
     6720    while (!this.match(56) && !this.match(144)) {
    67056721      attributes.push(this.jsxParseAttribute());
    67066722    }
    67076723    node.attributes = attributes;
    67086724    node.selfClosing = this.eat(56);
    6709     this.expect(143);
     6725    this.expect(144);
    67106726    return this.finishNode(node, "JSXOpeningElement");
    67116727  }
    67126728  jsxParseClosingElementAt(startLoc) {
    67136729    const node = this.startNodeAt(startLoc);
    6714     if (this.eat(143)) {
     6730    if (this.eat(144)) {
    67156731      return this.finishNode(node, "JSXClosingFragment");
    67166732    }
    67176733    node.name = this.jsxParseElementName();
    6718     this.expect(143);
     6734    this.expect(144);
    67196735    return this.finishNode(node, "JSXClosingElement");
    67206736  }
     
    67276743      contents: for (;;) {
    67286744        switch (this.state.type) {
    6729           case 142:
     6745          case 143:
    67306746            startLoc = this.state.startLoc;
    67316747            this.next();
     
    67366752            children.push(this.jsxParseElementAt(startLoc));
    67376753            break;
    6738           case 141:
     6754          case 142:
    67396755            children.push(this.parseLiteral(this.state.value, "JSXText"));
    67406756            break;
     
    67946810  }
    67956811  parseExprAtom(refExpressionErrors) {
    6796     if (this.match(142)) {
     6812    if (this.match(143)) {
    67976813      return this.jsxParseElement();
    67986814    } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) {
    6799       this.replaceToken(142);
     6815      this.replaceToken(143);
    68006816      return this.jsxParseElement();
    68016817    } else {
     
    68206836      if (code === 62) {
    68216837        ++this.state.pos;
    6822         this.finishToken(143);
     6838        this.finishToken(144);
    68236839        return;
    68246840      }
     
    68306846    if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
    68316847      ++this.state.pos;
    6832       this.finishToken(142);
     6848      this.finishToken(143);
    68336849      return;
    68346850    }
     
    68406856      type
    68416857    } = this.state;
    6842     if (type === 56 && prevType === 142) {
     6858    if (type === 56 && prevType === 143) {
    68436859      context.splice(-2, 2, types.j_cTag);
    68446860      this.state.canStartJSXElement = false;
    6845     } else if (type === 142) {
     6861    } else if (type === 143) {
    68466862      context.push(types.j_oTag);
    6847     } else if (type === 143) {
     6863    } else if (type === 144) {
    68486864      const out = context[context.length - 1];
    68496865      if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) {
     
    71657181        break;
    71667182      } else if (this.match(21)) {
    7167         elts.push(this.parseAssignableListItemTypes(this.parseRestBinding(), flags));
     7183        let rest = this.parseRestBinding();
     7184        if (this.hasPlugin("flow") || flags & 2) {
     7185          rest = this.parseFunctionParamType(rest);
     7186        }
     7187        elts.push(rest);
    71687188        if (!this.checkCommaAfterRest(closeCharCode)) {
    71697189          this.expect(close);
     
    71987218    }
    71997219    const prop = this.startNode();
    7200     if (type === 138) {
     7220    if (type === 139) {
    72017221      this.expectPlugin("destructuringPrivate", startLoc);
    72027222      this.classScope.usePrivateName(this.state.value, startLoc);
     
    72107230  parseAssignableListItem(flags, decorators) {
    72117231    const left = this.parseMaybeDefault();
    7212     this.parseAssignableListItemTypes(left, flags);
     7232    if (this.hasPlugin("flow") || flags & 2) {
     7233      this.parseFunctionParamType(left);
     7234    }
    72137235    const elt = this.parseMaybeDefault(left.loc.start, left);
    72147236    if (decorators.length) {
     
    72177239    return elt;
    72187240  }
    7219   parseAssignableListItemTypes(param, flags) {
     7241  parseFunctionParamType(param) {
    72207242    return param;
    72217243  }
     
    73767398    propertyName
    73777399  }) => `Property '${propertyName}' cannot have an initializer because it is marked abstract.`,
    7378   AccesorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
    7379   AccesorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
    73807400  AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.",
     7401  AccessorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
     7402  AccessorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
    73817403  ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.",
    73827404  ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.",
    7383   ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",
     7405  ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",
    73847406  ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.",
    73857407  DeclareAccessor: ({
     
    74407462  ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",
    74417463  ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",
    7442   SetAccesorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
    7443   SetAccesorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
    7444   SetAccesorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
     7464  SetAccessorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
     7465  SetAccessorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
     7466  SetAccessorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
    74457467  SingleTypeParameterWithoutTrailingComma: ({
    74467468    typeParameterName
     
    75207542  }
    75217543  tsTokenCanFollowModifier() {
    7522     return (this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(138) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak();
     7544    return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName();
     7545  }
     7546  tsNextTokenOnSameLineAndCanFollowModifier() {
     7547    this.next();
     7548    if (this.hasPrecedingLineBreak()) {
     7549      return false;
     7550    }
     7551    return this.tsTokenCanFollowModifier();
    75237552  }
    75247553  tsNextTokenCanFollowModifier() {
    7525     this.next();
    7526     return this.tsTokenCanFollowModifier();
     7554    if (this.match(106)) {
     7555      this.next();
     7556      return this.tsTokenCanFollowModifier();
     7557    }
     7558    return this.tsNextTokenOnSameLineAndCanFollowModifier();
    75277559  }
    75287560  tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock) {
     
    76817713    this.expect(83);
    76827714    this.expect(10);
    7683     if (!this.match(133)) {
     7715    if (!this.match(134)) {
    76847716      this.raise(TSErrors.UnsupportedImportTypeArgument, this.state.startLoc);
    76857717    }
    76867718    node.argument = super.parseExprAtom();
    7687     if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) {
     7719    if (this.eat(12) && !this.match(11)) {
     7720      node.options = super.parseMaybeAssignAllowIn();
     7721      this.eat(12);
     7722    } else {
    76887723      node.options = null;
    7689     }
    7690     if (this.eat(12)) {
    7691       this.expectImportAttributesPlugin();
    7692       if (!this.match(11)) {
    7693         node.options = super.parseMaybeAssignAllowIn();
    7694         this.eat(12);
    7695       }
    76967724    }
    76977725    this.expect(11);
     
    77637791  tsParseTypeParameters(parseModifiers) {
    77647792    const node = this.startNode();
    7765     if (this.match(47) || this.match(142)) {
     7793    if (this.match(47) || this.match(143)) {
    77667794      this.next();
    77677795    } else {
     
    78497877      const method = nodeAny;
    78507878      if (method.kind && this.match(47)) {
    7851         this.raise(TSErrors.AccesorCannotHaveTypeParameters, this.state.curPosition());
     7879        this.raise(TSErrors.AccessorCannotHaveTypeParameters, this.state.curPosition());
    78527880      }
    78537881      this.tsFillSignature(14, method);
     
    78597887          this.raise(Errors.BadGetterArity, this.state.curPosition());
    78607888          if (this.isThisParam(method[paramsKey][0])) {
    7861             this.raise(TSErrors.AccesorCannotDeclareThisParameter, this.state.curPosition());
     7889            this.raise(TSErrors.AccessorCannotDeclareThisParameter, this.state.curPosition());
    78627890          }
    78637891        }
     
    78687896          const firstParameter = method[paramsKey][0];
    78697897          if (this.isThisParam(firstParameter)) {
    7870             this.raise(TSErrors.AccesorCannotDeclareThisParameter, this.state.curPosition());
     7898            this.raise(TSErrors.AccessorCannotDeclareThisParameter, this.state.curPosition());
    78717899          }
    78727900          if (firstParameter.type === "Identifier" && firstParameter.optional) {
    7873             this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter, this.state.curPosition());
     7901            this.raise(TSErrors.SetAccessorCannotHaveOptionalParameter, this.state.curPosition());
    78747902          }
    78757903          if (firstParameter.type === "RestElement") {
    7876             this.raise(TSErrors.SetAccesorCannotHaveRestParameter, this.state.curPosition());
     7904            this.raise(TSErrors.SetAccessorCannotHaveRestParameter, this.state.curPosition());
    78777905          }
    78787906        }
    78797907        if (method[returnTypeKey]) {
    7880           this.raise(TSErrors.SetAccesorCannotHaveReturnType, method[returnTypeKey]);
     7908          this.raise(TSErrors.SetAccessorCannotHaveReturnType, method[returnTypeKey]);
    78817909        }
    78827910      } else {
     
    79517979    this.next();
    79527980    return this.match(58);
    7953   }
    7954   tsParseMappedTypeParameter() {
    7955     const node = this.startNode();
    7956     node.name = this.tsParseTypeParameterName();
    7957     node.constraint = this.tsExpectThenParseType(58);
    7958     return this.finishNode(node, "TSTypeParameter");
    79597981  }
    79607982  tsParseMappedType() {
     
    79697991    }
    79707992    this.expect(0);
    7971     node.typeParameter = this.tsParseMappedTypeParameter();
     7993    {
     7994      const typeParameter = this.startNode();
     7995      typeParameter.name = this.tsParseTypeParameterName();
     7996      typeParameter.constraint = this.tsExpectThenParseType(58);
     7997      node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter");
     7998    }
    79727999    node.nameType = this.eatContextual(93) ? this.tsParseType() : null;
    79738000    this.expect(3);
     
    80888115    const node = this.startNode();
    80898116    switch (this.state.type) {
     8117      case 135:
     8118      case 136:
    80908119      case 134:
    8091       case 135:
    8092       case 133:
    80938120      case 85:
    80948121      case 86:
     
    81198146  tsParseNonArrayType() {
    81208147    switch (this.state.type) {
    8121       case 133:
    81228148      case 134:
    81238149      case 135:
     8150      case 136:
    81248151      case 85:
    81258152      case 86:
     
    81298156          const node = this.startNode();
    81308157          const nextToken = this.lookahead();
    8131           if (nextToken.type !== 134 && nextToken.type !== 135) {
     8158          if (nextToken.type !== 135 && nextToken.type !== 136) {
    81328159            this.unexpected();
    81338160          }
     
    85358562  tsParseEnumMember() {
    85368563    const node = this.startNode();
    8537     node.id = this.match(133) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true);
     8564    node.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true);
    85388565    if (this.eat(29)) {
    85398566      node.initializer = super.parseMaybeAssignAllowIn();
     
    85808607  tsParseAmbientExternalModuleDeclaration(node) {
    85818608    if (this.isContextual(112)) {
     8609      node.kind = "global";
    85828610      node.global = true;
    85838611      node.id = this.parseIdentifier();
    8584     } else if (this.match(133)) {
     8612    } else if (this.match(134)) {
     8613      node.kind = "module";
    85858614      node.id = super.parseStringLiteral(this.state.value);
    85868615    } else {
     
    86218650    this.expectContextual(119);
    86228651    this.expect(10);
    8623     if (!this.match(133)) {
     8652    if (!this.match(134)) {
    86248653      this.unexpected();
    86258654    }
     
    87168745          this.prodParam.enter(0);
    87178746          const mod = node;
     8747          mod.kind = "global";
    87188748          mod.global = true;
    87198749          mod.id = expr;
     
    87378767      case "module":
    87388768        if (this.tsCheckLineTerminator(next)) {
    8739           if (this.match(133)) {
     8769          if (this.match(134)) {
    87408770            return this.tsParseAmbientExternalModuleDeclaration(node);
    87418771          } else if (tokenIsIdentifier(this.state.type)) {
     8772            node.kind = "module";
    87428773            return this.tsParseModuleOrNamespaceDeclaration(node);
    87438774          }
     
    87468777      case "namespace":
    87478778        if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {
     8779          node.kind = "namespace";
    87488780          return this.tsParseModuleOrNamespaceDeclaration(node);
    87498781        }
     
    88188850    }
    88198851    const left = this.parseMaybeDefault();
    8820     this.parseAssignableListItemTypes(left, flags);
     8852    if (flags & 2) {
     8853      this.parseFunctionParamType(left);
     8854    }
    88218855    const elt = this.parseMaybeDefault(left.loc.start, left);
    88228856    if (accessibility || readonly || override) {
     
    89358969          const node = this.startNodeAt(startLoc);
    89368970          node.callee = base;
    8937           node.arguments = this.parseCallExpressionArguments(11, false);
     8971          node.arguments = this.parseCallExpressionArguments(11);
    89388972          this.tsCheckForInvalidTypeCasts(node.arguments);
    89398973          node.typeParameters = typeArguments;
     
    90279061  }
    90289062  parseImport(node) {
    9029     if (this.match(133)) {
     9063    if (this.match(134)) {
    90309064      node.importKind = "value";
    90319065      return super.parseImport(node);
     
    91079141        this.raise(TSErrors.InitializerNotAllowedInAmbientContext, init);
    91089142      } else if (!isValidAmbientConstInitializer(init, this.hasPlugin("estree"))) {
    9109         this.raise(TSErrors.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference, init);
     9143        this.raise(TSErrors.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, init);
    91109144      }
    91119145    }
     
    92959329      } = node;
    92969330      this.raise(TSErrors.AbstractPropertyHasInitializer, this.state.startLoc, {
    9297         propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(key.start, key.end)}]`
     9331        propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]`
    92989332      });
    92999333    }
     
    93899423    let jsx;
    93909424    let typeCast;
    9391     if (this.hasPlugin("jsx") && (this.match(142) || this.match(47))) {
     9425    if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
    93929426      state = this.state.clone();
    93939427      jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state);
     
    94709504    return super.parseArrow(node);
    94719505  }
    9472   parseAssignableListItemTypes(param, flags) {
    9473     if (!(flags & 2)) return param;
     9506  parseFunctionParamType(param) {
    94749507    if (this.eat(17)) {
    94759508      param.optional = true;
     
    97259758        } = method;
    97269759        this.raise(TSErrors.AbstractMethodHasImplementation, method, {
    9727           methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(key.start, key.end)}]`
     9760          methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]`
    97289761        });
    97299762      }
     
    98989931var placeholders = superClass => class PlaceholdersParserMixin extends superClass {
    98999932  parsePlaceholder(expectedNode) {
    9900     if (this.match(144)) {
     9933    if (this.match(133)) {
    99019934      const node = this.startNode();
    99029935      this.next();
     
    99049937      node.name = super.parseIdentifier(true);
    99059938      this.assertNoSpace();
    9906       this.expect(144);
     9939      this.expect(133);
    99079940      return this.finishPlaceholder(node, expectedNode);
    99089941    }
     
    99189951  getTokenFromCode(code) {
    99199952    if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) {
    9920       this.finishOp(144, 2);
     9953      this.finishOp(133, 2);
    99219954    } else {
    99229955      super.getTokenFromCode(code);
     
    99529985    }
    99539986    const nextToken = this.lookahead();
    9954     if (nextToken.type === 144) {
     9987    if (nextToken.type === 133) {
    99559988      return true;
    99569989    }
     
    999010023    const placeholder = this.parsePlaceholder("Identifier");
    999110024    if (placeholder) {
    9992       if (this.match(81) || this.match(144) || this.match(5)) {
     10025      if (this.match(81) || this.match(133) || this.match(5)) {
    999310026        node.id = placeholder;
    999410027      } else if (optionalId || !isStatement) {
     
    1002610059      const next = this.nextTokenStart();
    1002710060      if (this.isUnparsedContextual(next, "from")) {
    10028         if (this.input.startsWith(tokenLabelName(144), this.nextTokenStartSince(next + 4))) {
     10061        if (this.input.startsWith(tokenLabelName(133), this.nextTokenStartSince(next + 4))) {
    1002910062          return true;
    1003010063        }
     
    1007510108  }
    1007610109  assertNoSpace() {
    10077     if (this.state.start > this.state.lastTokEndLoc.index) {
     10110    if (this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index)) {
    1007810111      this.raise(PlaceholderErrors.UnexpectedSpace, this.state.lastTokEndLoc);
    1007910112    }
     
    1015210185  if (pluginsMap.has("moduleAttributes")) {
    1015310186    {
    10154       if (pluginsMap.has("importAttributes") || pluginsMap.has("importAssertions")) {
    10155         throw new Error("Cannot combine importAssertions, importAttributes and moduleAttributes plugins.");
     10187      if (pluginsMap.has("deprecatedImportAssert") || pluginsMap.has("importAssertions")) {
     10188        throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");
    1015610189      }
    1015710190      const moduleAttributesVersionPluginOption = pluginsMap.get("moduleAttributes").version;
     
    1016110194    }
    1016210195  }
    10163   if (pluginsMap.has("importAttributes") && pluginsMap.has("importAssertions")) {
    10164     throw new Error("Cannot combine importAssertions and importAttributes plugins.");
     10196  if (pluginsMap.has("importAssertions")) {
     10197    if (pluginsMap.has("deprecatedImportAssert")) {
     10198      throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");
     10199    }
     10200  }
     10201  if (!pluginsMap.has("deprecatedImportAssert") && pluginsMap.has("importAttributes") && pluginsMap.get("importAttributes").deprecatedAssertSyntax) {
     10202    {
     10203      pluginsMap.set("deprecatedImportAssert", {});
     10204    }
    1016510205  }
    1016610206  if (pluginsMap.has("recordAndTuple")) {
     
    1019310233};
    1019410234const mixinPluginNames = Object.keys(mixinPlugins);
    10195 const defaultOptions = {
    10196   sourceType: "script",
    10197   sourceFilename: undefined,
    10198   startColumn: 0,
    10199   startLine: 1,
    10200   allowAwaitOutsideFunction: false,
    10201   allowReturnOutsideFunction: false,
    10202   allowNewTargetOutsideFunction: false,
    10203   allowImportExportEverywhere: false,
    10204   allowSuperOutsideMethod: false,
    10205   allowUndeclaredExports: false,
    10206   plugins: [],
    10207   strictMode: null,
    10208   ranges: false,
    10209   tokens: false,
    10210   createImportExpressions: false,
    10211   createParenthesizedExpressions: false,
    10212   errorRecovery: false,
    10213   attachComment: true,
    10214   annexB: true
    10215 };
     10235function createDefaultOptions() {
     10236  return {
     10237    sourceType: "script",
     10238    sourceFilename: undefined,
     10239    startIndex: 0,
     10240    startColumn: 0,
     10241    startLine: 1,
     10242    allowAwaitOutsideFunction: false,
     10243    allowReturnOutsideFunction: false,
     10244    allowNewTargetOutsideFunction: false,
     10245    allowImportExportEverywhere: false,
     10246    allowSuperOutsideMethod: false,
     10247    allowUndeclaredExports: false,
     10248    plugins: [],
     10249    strictMode: null,
     10250    ranges: false,
     10251    tokens: false,
     10252    createImportExpressions: false,
     10253    createParenthesizedExpressions: false,
     10254    errorRecovery: false,
     10255    attachComment: true,
     10256    annexB: true
     10257  };
     10258}
    1021610259function getOptions(opts) {
     10260  const options = createDefaultOptions();
    1021710261  if (opts == null) {
    10218     return Object.assign({}, defaultOptions);
     10262    return options;
    1021910263  }
    1022010264  if (opts.annexB != null && opts.annexB !== false) {
    1022110265    throw new Error("The `annexB` option can only be set to `false`.");
    1022210266  }
    10223   const options = {};
    10224   for (const key of Object.keys(defaultOptions)) {
    10225     var _opts$key;
    10226     options[key] = (_opts$key = opts[key]) != null ? _opts$key : defaultOptions[key];
     10267  for (const key of Object.keys(options)) {
     10268    if (opts[key] != null) options[key] = opts[key];
     10269  }
     10270  if (options.startLine === 1) {
     10271    if (opts.startIndex == null && options.startColumn > 0) {
     10272      options.startIndex = options.startColumn;
     10273    } else if (opts.startColumn == null && options.startIndex > 0) {
     10274      options.startColumn = options.startIndex;
     10275    }
     10276  } else if (opts.startColumn == null || opts.startIndex == null) {
     10277    if (opts.startIndex != null) {
     10278      throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");
     10279    }
    1022710280  }
    1022810281  return options;
     
    1025310306  }
    1025410307  shouldExitDescending(expr, potentialArrowAt) {
    10255     return expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt;
     10308    return expr.type === "ArrowFunctionExpression" && this.offsetToSourcePos(expr.start) === potentialArrowAt;
    1025610309  }
    1025710310  getExpression() {
     
    1025910312    this.nextToken();
    1026010313    const expr = this.parseExpression();
    10261     if (!this.match(139)) {
     10314    if (!this.match(140)) {
    1026210315      this.unexpected();
    1026310316    }
     
    1037910432  }
    1038010433  parseMaybeUnaryOrPrivate(refExpressionErrors) {
    10381     return this.match(138) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors);
     10434    return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors);
    1038210435  }
    1038310436  parseExprOps(refExpressionErrors) {
     
    1061810671      node.property = this.parseExpression();
    1061910672      this.expect(3);
    10620     } else if (this.match(138)) {
     10673    } else if (this.match(139)) {
    1062110674      if (base.type === "Super") {
    1062210675        this.raise(Errors.SuperPrivateField, startLoc);
     
    1066310716      node.arguments = this.parseCallExpressionArguments(11);
    1066410717    } else {
    10665       node.arguments = this.parseCallExpressionArguments(11, base.type === "Import", base.type !== "Super", node, refExpressionErrors);
     10718      node.arguments = this.parseCallExpressionArguments(11, base.type !== "Super", node, refExpressionErrors);
    1066610719    }
    1066710720    let finishedNode = this.finishCallExpression(node, optionalChainMember);
     
    1069510748  }
    1069610749  atPossibleAsyncArrow(base) {
    10697     return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt;
    10698   }
    10699   expectImportAttributesPlugin() {
    10700     if (!this.hasPlugin("importAssertions")) {
    10701       this.expectPlugin("importAttributes");
    10702     }
     10750    return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && this.offsetToSourcePos(base.start) === this.state.potentialArrowAt;
    1070310751  }
    1070410752  finishCallExpression(node, optional) {
    1070510753    if (node.callee.type === "Import") {
    10706       if (node.arguments.length === 2) {
    10707         {
    10708           if (!this.hasPlugin("moduleAttributes")) {
    10709             this.expectImportAttributesPlugin();
    10710           }
    10711         }
    10712       }
    1071310754      if (node.arguments.length === 0 || node.arguments.length > 2) {
    10714         this.raise(Errors.ImportCallArity, node, {
    10715           maxArgumentCount: this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? 2 : 1
    10716         });
     10755        this.raise(Errors.ImportCallArity, node);
    1071710756      } else {
    1071810757        for (const arg of node.arguments) {
     
    1072510764    return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression");
    1072610765  }
    10727   parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) {
     10766  parseCallExpressionArguments(close, allowPlaceholder, nodeForExtra, refExpressionErrors) {
    1072810767    const elts = [];
    1072910768    let first = true;
     
    1073610775        this.expect(12);
    1073710776        if (this.match(close)) {
    10738           if (dynamicImport && !this.hasPlugin("importAttributes") && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) {
    10739             this.raise(Errors.ImportCallArgumentTrailingComma, this.state.lastTokStartLoc);
    10740           }
    1074110777          if (nodeForExtra) {
    1074210778            this.addTrailingCommaExtraToNode(nodeForExtra);
     
    1081010846          return this.parseRegExpLiteral(this.state.value);
    1081110847        }
     10848      case 135:
     10849        return this.parseNumericLiteral(this.state.value);
     10850      case 136:
     10851        return this.parseBigIntLiteral(this.state.value);
    1081210852      case 134:
    10813         return this.parseNumericLiteral(this.state.value);
    10814       case 135:
    10815         return this.parseBigIntLiteral(this.state.value);
    10816       case 136:
    10817         return this.parseDecimalLiteral(this.state.value);
    10818       case 133:
    1081910853        return this.parseStringLiteral(this.state.value);
    1082010854      case 84:
     
    1087010904          }
    1087110905        }
    10872       case 138:
     10906      case 139:
    1087310907        {
    1087410908          this.raise(Errors.PrivateInExpectedIn, this.state.startLoc, {
     
    1091210946        }
    1091310947      default:
     10948        if (type === 137) {
     10949          return this.parseDecimalLiteral(this.state.value);
     10950        }
    1091410951        if (tokenIsIdentifier(type)) {
    1091510952          if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123) {
     
    1109811135  parseLiteralAtNode(value, type, node) {
    1109911136    this.addExtra(node, "rawValue", value);
    11100     this.addExtra(node, "raw", this.input.slice(node.start, this.state.end));
     11137    this.addExtra(node, "raw", this.input.slice(this.offsetToSourcePos(node.start), this.state.end));
    1110111138    node.value = value;
    1110211139    this.next();
     
    1112111158  parseRegExpLiteral(value) {
    1112211159    const node = this.startNode();
    11123     this.addExtra(node, "raw", this.input.slice(node.start, this.state.end));
     11160    this.addExtra(node, "raw", this.input.slice(this.offsetToSourcePos(node.start), this.state.end));
    1112411161    node.pattern = value.pattern;
    1112511162    node.flags = value.flags;
     
    1149211529      } else {
    1149311530        switch (type) {
    11494           case 134:
     11531          case 135:
    1149511532            key = this.parseNumericLiteral(value);
    1149611533            break;
    11497           case 133:
     11534          case 134:
    1149811535            key = this.parseStringLiteral(value);
    1149911536            break;
    11500           case 135:
     11537          case 136:
    1150111538            key = this.parseBigIntLiteral(value);
    1150211539            break;
    11503           case 136:
    11504             key = this.parseDecimalLiteral(value);
    11505             break;
    11506           case 138:
     11540          case 139:
    1150711541            {
    1150811542              const privateKeyLoc = this.state.startLoc;
     
    1151811552            }
    1151911553          default:
     11554            if (type === 137) {
     11555              key = this.parseDecimalLiteral(value);
     11556              break;
     11557            }
    1152011558            this.unexpected();
    1152111559        }
    1152211560      }
    1152311561      prop.key = key;
    11524       if (type !== 138) {
     11562      if (type !== 139) {
    1152511563        prop.computed = false;
    1152611564      }
     
    1177611814      type
    1177711815    } = this.state;
    11778     return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 102 && !this.state.containsEsc || type === 137 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54;
     11816    return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 102 && !this.state.containsEsc || type === 138 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54;
    1177911817  }
    1178011818  parseYield() {
     
    1178811826      switch (this.state.type) {
    1178911827        case 13:
    11790         case 139:
     11828        case 140:
    1179111829        case 8:
    1179211830        case 11:
     
    1180711845    this.next();
    1180811846    node.source = this.parseMaybeAssignAllowIn();
    11809     if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) {
    11810       node.options = null;
    11811     }
     11847    node.options = null;
    1181211848    if (this.eat(12)) {
    11813       this.expectImportAttributesPlugin();
    1181411849      if (!this.match(11)) {
    1181511850        node.options = this.parseMaybeAssignAllowIn();
    11816         this.eat(12);
     11851        if (this.eat(12) && !this.match(11)) {
     11852          do {
     11853            this.parseMaybeAssignAllowIn();
     11854          } while (this.eat(12) && !this.match(11));
     11855          this.raise(Errors.ImportCallArity, node);
     11856        }
    1181711857      }
    1181811858    }
     
    1197012010const loneSurrogate = /[\uD800-\uDFFF]/u;
    1197112011const keywordRelationalOperator = /in(?:stanceof)?/y;
    11972 function babel7CompatTokens(tokens, input) {
     12012function babel7CompatTokens(tokens, input, startIndex) {
    1197312013  for (let i = 0; i < tokens.length; i++) {
    1197412014    const token = tokens[i];
     
    1197812018    if (typeof type === "number") {
    1197912019      {
    11980         if (type === 138) {
     12020        if (type === 139) {
    1198112021          const {
    1198212022            loc,
     
    1201512055          const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1);
    1201612056          let startToken;
    12017           if (input.charCodeAt(start) === 96) {
     12057          if (input.charCodeAt(start - startIndex) === 96) {
    1201812058            startToken = new Token({
    1201912059              type: getExportedToken(22),
     
    1208212122    file.comments = this.comments;
    1208312123    if (this.options.tokens) {
    12084       file.tokens = babel7CompatTokens(this.tokens, this.input);
     12124      file.tokens = babel7CompatTokens(this.tokens, this.input, this.startIndex);
    1208512125    }
    1208612126    return this.finishNode(file, "File");
    1208712127  }
    12088   parseProgram(program, end = 139, sourceType = this.options.sourceType) {
     12128  parseProgram(program, end = 140, sourceType = this.options.sourceType) {
    1208912129    program.sourceType = sourceType;
    1209012130    program.interpreter = this.parseInterpreterDirective();
     
    1210112141    }
    1210212142    let finishedProgram;
    12103     if (end === 139) {
     12143    if (end === 140) {
    1210412144      finishedProgram = this.finishNode(program, "Program");
    1210512145    } else {
     
    1211512155    const directiveLiteral = directive.value;
    1211612156    const expressionValue = directiveLiteral.value;
    12117     const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end);
     12157    const raw = this.input.slice(this.offsetToSourcePos(directiveLiteral.start), this.offsetToSourcePos(directiveLiteral.end));
    1211812158    const val = directiveLiteral.value = raw.slice(1, -1);
    1211912159    this.addExtra(directiveLiteral, "raw", raw);
     
    1242212462          const node = this.startNodeAt(startLoc);
    1242312463          node.object = expr;
    12424           if (this.match(138)) {
     12464          if (this.match(139)) {
    1242512465            this.classScope.usePrivateName(this.state.value, this.state.startLoc);
    1242612466            node.property = this.parsePrivateName();
     
    1244212482      const node = this.startNodeAtNode(expr);
    1244312483      node.callee = expr;
    12444       node.arguments = this.parseCallExpressionArguments(11, false);
     12484      node.arguments = this.parseCallExpressionArguments(11);
    1244512485      this.toReferencedList(node.arguments);
    1244612486      return this.finishNode(node, "CallExpression");
     
    1271912759      const label = this.state.labels[i];
    1272012760      if (label.statementStart === node.start) {
    12721         label.statementStart = this.state.start;
     12761        label.statementStart = this.sourceToOffsetPos(this.state.start);
    1272212762        label.kind = kind;
    1272312763      } else {
     
    1272812768      name: maybeName,
    1272912769      kind: kind,
    12730       statementStart: this.state.start
     12770      statementStart: this.sourceToOffsetPos(this.state.start)
    1273112771    });
    1273212772    node.body = flags & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(true) : this.parseStatement();
     
    1302513065    if (this.eat(55)) {
    1302613066      method.kind = "method";
    13027       const isPrivateName = this.match(138);
     13067      const isPrivateName = this.match(139);
    1302813068      this.parseClassElementName(method);
    1302913069      if (isPrivateName) {
     
    1307613116      }
    1307713117      method.kind = "method";
    13078       const isPrivate = this.match(138);
     13118      const isPrivate = this.match(139);
    1307913119      this.parseClassElementName(method);
    1308013120      this.parsePostMemberNameModifiers(publicMember);
     
    1309013130      this.resetPreviousNodeTrailingComments(key);
    1309113131      method.kind = maybeContextualKw;
    13092       const isPrivate = this.match(138);
     13132      const isPrivate = this.match(139);
    1309313133      this.parseClassElementName(publicMethod);
    1309413134      if (isPrivate) {
     
    1310413144      this.expectPlugin("decoratorAutoAccessors");
    1310513145      this.resetPreviousNodeTrailingComments(key);
    13106       const isPrivate = this.match(138);
     13146      const isPrivate = this.match(139);
    1310713147      this.parseClassElementName(publicProp);
    1310813148      this.pushClassAccessorProperty(classBody, accessorProp, isPrivate);
     
    1312213162      value
    1312313163    } = this.state;
    13124     if ((type === 132 || type === 133) && member.static && value === "prototype") {
     13164    if ((type === 132 || type === 134) && member.static && value === "prototype") {
    1312513165      this.raise(Errors.StaticPrototype, this.state.startLoc);
    1312613166    }
    13127     if (type === 138) {
     13167    if (type === 139) {
    1312813168      if (value === "constructor") {
    1312913169        this.raise(Errors.ConstructorClassPrivateField, this.state.startLoc);
     
    1353613576      }
    1353713577      const isMaybeTypeOnly = this.isContextual(130);
    13538       const isString = this.match(133);
     13578      const isString = this.match(134);
    1353913579      const node = this.startNode();
    1354013580      node.local = this.parseModuleExportName();
     
    1355413594  }
    1355513595  parseModuleExportName() {
    13556     if (this.match(133)) {
     13596    if (this.match(134)) {
    1355713597      const result = this.parseStringLiteral(this.state.value);
    1355813598      const surrogate = loneSurrogate.exec(result.value);
     
    1367313713  }
    1367413714  parseImport(node) {
    13675     if (this.match(133)) {
     13715    if (this.match(134)) {
    1367613716      return this.parseImportSourceAndAttributes(node);
    1367713717    }
     
    1369813738  }
    1369913739  parseImportSource() {
    13700     if (!this.match(133)) this.unexpected();
     13740    if (!this.match(134)) this.unexpected();
    1370113741    return this.parseExprAtom();
    1370213742  }
     
    1372713767      }
    1372813768      attrNames.add(keyName);
    13729       if (this.match(133)) {
     13769      if (this.match(134)) {
    1373013770        node.key = this.parseStringLiteral(keyName);
    1373113771      } else {
     
    1373313773      }
    1373413774      this.expect(14);
    13735       if (!this.match(133)) {
     13775      if (!this.match(134)) {
    1373613776        throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc);
    1373713777      }
     
    1375813798      attributes.add(node.key.name);
    1375913799      this.expect(14);
    13760       if (!this.match(133)) {
     13800      if (!this.match(134)) {
    1376113801        throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc);
    1376213802      }
     
    1376813808  maybeParseImportAttributes(node) {
    1376913809    let attributes;
    13770     let useWith = false;
     13810    {
     13811      var useWith = false;
     13812    }
    1377113813    if (this.match(76)) {
    1377213814      if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40) {
     
    1377413816      }
    1377513817      this.next();
     13818      if (this.hasPlugin("moduleAttributes")) {
     13819        attributes = this.parseModuleAttributes();
     13820      } else {
     13821        attributes = this.parseImportAttributes();
     13822      }
    1377613823      {
    13777         if (this.hasPlugin("moduleAttributes")) {
    13778           attributes = this.parseModuleAttributes();
    13779         } else {
    13780           this.expectImportAttributesPlugin();
    13781           attributes = this.parseImportAttributes();
    13782         }
    13783       }
    13784       useWith = true;
     13824        useWith = true;
     13825      }
    1378513826    } else if (this.isContextual(94) && !this.hasPrecedingLineBreak()) {
    13786       if (this.hasPlugin("importAttributes")) {
    13787         if (this.getPluginOption("importAttributes", "deprecatedAssertSyntax") !== true) {
    13788           this.raise(Errors.ImportAttributesUseAssert, this.state.startLoc);
    13789         }
     13827      if (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importAssertions")) {
     13828        this.raise(Errors.ImportAttributesUseAssert, this.state.startLoc);
     13829      }
     13830      if (!this.hasPlugin("importAssertions")) {
    1379013831        this.addExtra(node, "deprecatedAssertSyntax", true);
    13791       } else {
    13792         this.expectOnePlugin(["importAttributes", "importAssertions"]);
    1379313832      }
    1379413833      this.next();
    1379513834      attributes = this.parseImportAttributes();
    13796     } else if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) {
     13835    } else {
    1379713836      attributes = [];
    13798     } else {
    13799       if (this.hasPlugin("moduleAttributes")) {
    13800         attributes = [];
    13801       } else return;
    1380213837    }
    1380313838    if (!useWith && this.hasPlugin("importAssertions")) {
     
    1384313878      }
    1384413879      const specifier = this.startNode();
    13845       const importedIsString = this.match(133);
     13880      const importedIsString = this.match(134);
    1384613881      const isMaybeTypeOnly = this.isContextual(130);
    1384713882      specifier.imported = this.parseModuleExportName();
     
    1388113916    this.plugins = pluginsMap;
    1388213917    this.filename = options.sourceFilename;
     13918    this.startIndex = options.startIndex;
    1388313919  }
    1388413920  getScopeHandler() {
Note: See TracChangeset for help on using the changeset viewer.