@hpcc-js/observablehq-compiler 1.4.0 → 1.5.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.
package/dist/index.esm.js CHANGED
@@ -1,14 +1,14 @@
1
1
  // This file was generated. Do not modify manually!
2
- var 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];
2
+ var 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];
3
3
 
4
4
  // This file was generated. Do not modify manually!
5
- var 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];
5
+ var 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];
6
6
 
7
7
  // This file was generated. Do not modify manually!
8
- var 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";
8
+ var 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\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";
9
9
 
10
10
  // This file was generated. Do not modify manually!
11
- var 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";
11
+ var 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";
12
12
 
13
13
  // These are a run-length and offset encoded representation of the
14
14
  // >0xffff code points that are a valid part of identifiers. The
@@ -487,6 +487,7 @@ var
487
487
  SCOPE_SUPER = 64,
488
488
  SCOPE_DIRECT_SUPER = 128,
489
489
  SCOPE_CLASS_STATIC_BLOCK = 256,
490
+ SCOPE_CLASS_FIELD_INIT = 512,
490
491
  SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION$1 | SCOPE_CLASS_STATIC_BLOCK;
491
492
 
492
493
  function functionFlags(async, generator) {
@@ -597,15 +598,16 @@ Parser.prototype.parse = function parse () {
597
598
 
598
599
  prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION$1) > 0 };
599
600
 
600
- prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR$1) > 0 && !this.currentVarScope().inClassFieldInit };
601
+ prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR$1) > 0 };
601
602
 
602
- prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC$1) > 0 && !this.currentVarScope().inClassFieldInit };
603
+ prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC$1) > 0 };
603
604
 
604
605
  prototypeAccessors.canAwait.get = function () {
605
606
  for (var i = this.scopeStack.length - 1; i >= 0; i--) {
606
- var scope = this.scopeStack[i];
607
- if (scope.inClassFieldInit || scope.flags & SCOPE_CLASS_STATIC_BLOCK) { return false }
608
- if (scope.flags & SCOPE_FUNCTION$1) { return (scope.flags & SCOPE_ASYNC$1) > 0 }
607
+ var ref = this.scopeStack[i];
608
+ var flags = ref.flags;
609
+ if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false }
610
+ if (flags & SCOPE_FUNCTION$1) { return (flags & SCOPE_ASYNC$1) > 0 }
609
611
  }
610
612
  return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
611
613
  };
@@ -613,8 +615,7 @@ prototypeAccessors.canAwait.get = function () {
613
615
  prototypeAccessors.allowSuper.get = function () {
614
616
  var ref = this.currentThisScope();
615
617
  var flags = ref.flags;
616
- var inClassFieldInit = ref.inClassFieldInit;
617
- return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
618
+ return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod
618
619
  };
619
620
 
620
621
  prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
@@ -622,10 +623,13 @@ prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThis
622
623
  prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
623
624
 
624
625
  prototypeAccessors.allowNewDotTarget.get = function () {
625
- var ref = this.currentThisScope();
626
- var flags = ref.flags;
627
- var inClassFieldInit = ref.inClassFieldInit;
628
- return (flags & (SCOPE_FUNCTION$1 | SCOPE_CLASS_STATIC_BLOCK)) > 0 || inClassFieldInit
626
+ for (var i = this.scopeStack.length - 1; i >= 0; i--) {
627
+ var ref = this.scopeStack[i];
628
+ var flags = ref.flags;
629
+ if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) ||
630
+ ((flags & SCOPE_FUNCTION$1) && !(flags & SCOPE_ARROW))) { return true }
631
+ }
632
+ return false
629
633
  };
630
634
 
631
635
  prototypeAccessors.inClassStaticBlock.get = function () {
@@ -877,6 +881,49 @@ pp$8.isAsyncFunction = function() {
877
881
  !(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))
878
882
  };
879
883
 
884
+ pp$8.isUsingKeyword = function(isAwaitUsing, isFor) {
885
+ if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? "await" : "using"))
886
+ { return false }
887
+
888
+ skipWhiteSpace.lastIndex = this.pos;
889
+ var skip = skipWhiteSpace.exec(this.input);
890
+ var next = this.pos + skip[0].length;
891
+
892
+ if (lineBreak.test(this.input.slice(this.pos, next))) { return false }
893
+
894
+ if (isAwaitUsing) {
895
+ var awaitEndPos = next + 5 /* await */, after;
896
+ if (this.input.slice(next, awaitEndPos) !== "using" ||
897
+ awaitEndPos === this.input.length ||
898
+ isIdentifierChar(after = this.input.charCodeAt(awaitEndPos)) ||
899
+ (after > 0xd7ff && after < 0xdc00)
900
+ ) { return false }
901
+
902
+ skipWhiteSpace.lastIndex = awaitEndPos;
903
+ var skipAfterUsing = skipWhiteSpace.exec(this.input);
904
+ if (skipAfterUsing && lineBreak.test(this.input.slice(awaitEndPos, awaitEndPos + skipAfterUsing[0].length))) { return false }
905
+ }
906
+
907
+ if (isFor) {
908
+ var ofEndPos = next + 2 /* of */, after$1;
909
+ if (this.input.slice(next, ofEndPos) === "of") {
910
+ if (ofEndPos === this.input.length ||
911
+ (!isIdentifierChar(after$1 = this.input.charCodeAt(ofEndPos)) && !(after$1 > 0xd7ff && after$1 < 0xdc00))) { return false }
912
+ }
913
+ }
914
+
915
+ var ch = this.input.charCodeAt(next);
916
+ return isIdentifierStart(ch, true) || ch === 92 // '\'
917
+ };
918
+
919
+ pp$8.isAwaitUsing = function(isFor) {
920
+ return this.isUsingKeyword(true, isFor)
921
+ };
922
+
923
+ pp$8.isUsing = function(isFor) {
924
+ return this.isUsingKeyword(false, isFor)
925
+ };
926
+
880
927
  // Parse a single statement.
881
928
  //
882
929
  // If expecting a statement and finding a slash operator, parse a
@@ -953,6 +1000,23 @@ pp$8.parseStatement = function(context, topLevel, exports) {
953
1000
  return this.parseFunctionStatement(node, true, !context)
954
1001
  }
955
1002
 
1003
+ var usingKind = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
1004
+ if (usingKind) {
1005
+ if (topLevel && this.options.sourceType === "script") {
1006
+ this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script`");
1007
+ }
1008
+ if (usingKind === "await using") {
1009
+ if (!this.canAwait) {
1010
+ this.raise(this.start, "Await using cannot appear outside of async function");
1011
+ }
1012
+ this.next();
1013
+ }
1014
+ this.next();
1015
+ this.parseVar(node, false, usingKind);
1016
+ this.semicolon();
1017
+ return this.finishNode(node, "VariableDeclaration")
1018
+ }
1019
+
956
1020
  var maybeName = this.value, expr = this.parseExpression();
957
1021
  if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
958
1022
  { return this.parseLabeledStatement(node, maybeName, expr, context) }
@@ -1028,18 +1092,19 @@ pp$8.parseForStatement = function(node) {
1028
1092
  this.next();
1029
1093
  this.parseVar(init$1, true, kind);
1030
1094
  this.finishNode(init$1, "VariableDeclaration");
1031
- if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
1032
- if (this.options.ecmaVersion >= 9) {
1033
- if (this.type === types$1._in) {
1034
- if (awaitAt > -1) { this.unexpected(awaitAt); }
1035
- } else { node.await = awaitAt > -1; }
1036
- }
1037
- return this.parseForIn(node, init$1)
1038
- }
1039
- if (awaitAt > -1) { this.unexpected(awaitAt); }
1040
- return this.parseFor(node, init$1)
1095
+ return this.parseForAfterInit(node, init$1, awaitAt)
1041
1096
  }
1042
1097
  var startsWithLet = this.isContextual("let"), isForOf = false;
1098
+
1099
+ var usingKind = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
1100
+ if (usingKind) {
1101
+ var init$2 = this.startNode();
1102
+ this.next();
1103
+ if (usingKind === "await using") { this.next(); }
1104
+ this.parseVar(init$2, true, usingKind);
1105
+ this.finishNode(init$2, "VariableDeclaration");
1106
+ return this.parseForAfterInit(node, init$2, awaitAt)
1107
+ }
1043
1108
  var containsEsc = this.containsEsc;
1044
1109
  var refDestructuringErrors = new DestructuringErrors;
1045
1110
  var initPos = this.start;
@@ -1065,6 +1130,20 @@ pp$8.parseForStatement = function(node) {
1065
1130
  return this.parseFor(node, init)
1066
1131
  };
1067
1132
 
1133
+ // Helper method to parse for loop after variable initialization
1134
+ pp$8.parseForAfterInit = function(node, init, awaitAt) {
1135
+ if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
1136
+ if (this.options.ecmaVersion >= 9) {
1137
+ if (this.type === types$1._in) {
1138
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
1139
+ } else { node.await = awaitAt > -1; }
1140
+ }
1141
+ return this.parseForIn(node, init)
1142
+ }
1143
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
1144
+ return this.parseFor(node, init)
1145
+ };
1146
+
1068
1147
  pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
1069
1148
  this.next();
1070
1149
  return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
@@ -1321,6 +1400,8 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
1321
1400
  decl.init = this.parseMaybeAssign(isFor);
1322
1401
  } else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
1323
1402
  this.unexpected();
1403
+ } else if (!allowMissingInitializer && (kind === "using" || kind === "await using") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual("of")) {
1404
+ this.raise(this.lastTokEnd, ("Missing initializer in " + kind + " declaration"));
1324
1405
  } else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
1325
1406
  this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
1326
1407
  } else {
@@ -1333,7 +1414,10 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
1333
1414
  };
1334
1415
 
1335
1416
  pp$8.parseVarId = function(decl, kind) {
1336
- decl.id = this.parseBindingAtom();
1417
+ decl.id = kind === "using" || kind === "await using"
1418
+ ? this.parseIdent()
1419
+ : this.parseBindingAtom();
1420
+
1337
1421
  this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
1338
1422
  };
1339
1423
 
@@ -1552,11 +1636,9 @@ pp$8.parseClassField = function(field) {
1552
1636
 
1553
1637
  if (this.eat(types$1.eq)) {
1554
1638
  // To raise SyntaxError if 'arguments' exists in the initializer.
1555
- var scope = this.currentThisScope();
1556
- var inClassFieldInit = scope.inClassFieldInit;
1557
- scope.inClassFieldInit = true;
1639
+ this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER);
1558
1640
  field.value = this.parseMaybeAssign();
1559
- scope.inClassFieldInit = inClassFieldInit;
1641
+ this.exitScope();
1560
1642
  } else {
1561
1643
  field.value = null;
1562
1644
  }
@@ -1672,6 +1754,8 @@ pp$8.parseExportAllDeclaration = function(node, exports) {
1672
1754
  this.expectContextual("from");
1673
1755
  if (this.type !== types$1.string) { this.unexpected(); }
1674
1756
  node.source = this.parseExprAtom();
1757
+ if (this.options.ecmaVersion >= 16)
1758
+ { node.attributes = this.parseWithClause(); }
1675
1759
  this.semicolon();
1676
1760
  return this.finishNode(node, "ExportAllDeclaration")
1677
1761
  };
@@ -1696,12 +1780,16 @@ pp$8.parseExport = function(node, exports) {
1696
1780
  { this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
1697
1781
  node.specifiers = [];
1698
1782
  node.source = null;
1783
+ if (this.options.ecmaVersion >= 16)
1784
+ { node.attributes = []; }
1699
1785
  } else { // export { x, y as z } [from '...']
1700
1786
  node.declaration = null;
1701
1787
  node.specifiers = this.parseExportSpecifiers(exports);
1702
1788
  if (this.eatContextual("from")) {
1703
1789
  if (this.type !== types$1.string) { this.unexpected(); }
1704
1790
  node.source = this.parseExprAtom();
1791
+ if (this.options.ecmaVersion >= 16)
1792
+ { node.attributes = this.parseWithClause(); }
1705
1793
  } else {
1706
1794
  for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
1707
1795
  // check for keywords used as local names
@@ -1717,6 +1805,8 @@ pp$8.parseExport = function(node, exports) {
1717
1805
  }
1718
1806
 
1719
1807
  node.source = null;
1808
+ if (this.options.ecmaVersion >= 16)
1809
+ { node.attributes = []; }
1720
1810
  }
1721
1811
  this.semicolon();
1722
1812
  }
@@ -1842,6 +1932,8 @@ pp$8.parseImport = function(node) {
1842
1932
  this.expectContextual("from");
1843
1933
  node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
1844
1934
  }
1935
+ if (this.options.ecmaVersion >= 16)
1936
+ { node.attributes = this.parseWithClause(); }
1845
1937
  this.semicolon();
1846
1938
  return this.finishNode(node, "ImportDeclaration")
1847
1939
  };
@@ -1902,6 +1994,41 @@ pp$8.parseImportSpecifiers = function() {
1902
1994
  return nodes
1903
1995
  };
1904
1996
 
1997
+ pp$8.parseWithClause = function() {
1998
+ var nodes = [];
1999
+ if (!this.eat(types$1._with)) {
2000
+ return nodes
2001
+ }
2002
+ this.expect(types$1.braceL);
2003
+ var attributeKeys = {};
2004
+ var first = true;
2005
+ while (!this.eat(types$1.braceR)) {
2006
+ if (!first) {
2007
+ this.expect(types$1.comma);
2008
+ if (this.afterTrailingComma(types$1.braceR)) { break }
2009
+ } else { first = false; }
2010
+
2011
+ var attr = this.parseImportAttribute();
2012
+ var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value;
2013
+ if (hasOwn(attributeKeys, keyName))
2014
+ { this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); }
2015
+ attributeKeys[keyName] = true;
2016
+ nodes.push(attr);
2017
+ }
2018
+ return nodes
2019
+ };
2020
+
2021
+ pp$8.parseImportAttribute = function() {
2022
+ var node = this.startNode();
2023
+ node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
2024
+ this.expect(types$1.colon);
2025
+ if (this.type !== types$1.string) {
2026
+ this.unexpected();
2027
+ }
2028
+ node.value = this.parseExprAtom();
2029
+ return this.finishNode(node, "ImportAttribute")
2030
+ };
2031
+
1905
2032
  pp$8.parseModuleExportName = function() {
1906
2033
  if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
1907
2034
  var stringLiteral = this.parseLiteral(this.value);
@@ -2969,13 +3096,32 @@ pp$5.parseDynamicImport = function(node) {
2969
3096
  // Parse node.source.
2970
3097
  node.source = this.parseMaybeAssign();
2971
3098
 
2972
- // Verify ending.
2973
- if (!this.eat(types$1.parenR)) {
2974
- var errorPos = this.start;
2975
- if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
2976
- this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
3099
+ if (this.options.ecmaVersion >= 16) {
3100
+ if (!this.eat(types$1.parenR)) {
3101
+ this.expect(types$1.comma);
3102
+ if (!this.afterTrailingComma(types$1.parenR)) {
3103
+ node.options = this.parseMaybeAssign();
3104
+ if (!this.eat(types$1.parenR)) {
3105
+ this.expect(types$1.comma);
3106
+ if (!this.afterTrailingComma(types$1.parenR)) {
3107
+ this.unexpected();
3108
+ }
3109
+ }
3110
+ } else {
3111
+ node.options = null;
3112
+ }
2977
3113
  } else {
2978
- this.unexpected(errorPos);
3114
+ node.options = null;
3115
+ }
3116
+ } else {
3117
+ // Verify ending.
3118
+ if (!this.eat(types$1.parenR)) {
3119
+ var errorPos = this.start;
3120
+ if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
3121
+ this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
3122
+ } else {
3123
+ this.unexpected(errorPos);
3124
+ }
2979
3125
  }
2980
3126
  }
2981
3127
 
@@ -3002,7 +3148,8 @@ pp$5.parseLiteral = function(value) {
3002
3148
  var node = this.startNode();
3003
3149
  node.value = value;
3004
3150
  node.raw = this.input.slice(this.start, this.end);
3005
- if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1).replace(/_/g, ""); }
3151
+ if (node.raw.charCodeAt(node.raw.length - 1) === 110)
3152
+ { node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
3006
3153
  this.next();
3007
3154
  return this.finishNode(node, "Literal")
3008
3155
  };
@@ -3240,9 +3387,10 @@ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
3240
3387
  };
3241
3388
 
3242
3389
  pp$5.parseGetterSetter = function(prop) {
3243
- prop.kind = prop.key.name;
3390
+ var kind = prop.key.name;
3244
3391
  this.parsePropertyName(prop);
3245
3392
  prop.value = this.parseMethod(false);
3393
+ prop.kind = kind;
3246
3394
  var paramCount = prop.kind === "get" ? 0 : 1;
3247
3395
  if (prop.value.params.length !== paramCount) {
3248
3396
  var start = prop.value.start;
@@ -3265,9 +3413,9 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
3265
3413
  prop.kind = "init";
3266
3414
  } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
3267
3415
  if (isPattern) { this.unexpected(); }
3268
- prop.kind = "init";
3269
3416
  prop.method = true;
3270
3417
  prop.value = this.parseMethod(isGenerator, isAsync);
3418
+ prop.kind = "init";
3271
3419
  } else if (!isPattern && !containsEsc &&
3272
3420
  this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
3273
3421
  (prop.key.name === "get" || prop.key.name === "set") &&
@@ -3279,7 +3427,6 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
3279
3427
  this.checkUnreserved(prop.key);
3280
3428
  if (prop.key.name === "await" && !this.awaitIdentPos)
3281
3429
  { this.awaitIdentPos = startPos; }
3282
- prop.kind = "init";
3283
3430
  if (isPattern) {
3284
3431
  prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
3285
3432
  } else if (this.type === types$1.eq && refDestructuringErrors) {
@@ -3289,6 +3436,7 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
3289
3436
  } else {
3290
3437
  prop.value = this.copyNode(prop.key);
3291
3438
  }
3439
+ prop.kind = "init";
3292
3440
  prop.shorthand = true;
3293
3441
  } else { this.unexpected(); }
3294
3442
  };
@@ -3464,7 +3612,7 @@ pp$5.checkUnreserved = function(ref) {
3464
3612
  { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
3465
3613
  if (this.inAsync && name === "await")
3466
3614
  { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
3467
- if (this.currentThisScope().inClassFieldInit && name === "arguments")
3615
+ if (!(this.currentThisScope().flags & SCOPE_VAR) && name === "arguments")
3468
3616
  { this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
3469
3617
  if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
3470
3618
  { this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
@@ -3577,6 +3725,9 @@ var pp$4 = Parser.prototype;
3577
3725
  pp$4.raise = function(pos, message) {
3578
3726
  var loc = getLineInfo(this.input, pos);
3579
3727
  message += " (" + loc.line + ":" + loc.column + ")";
3728
+ if (this.sourceFile) {
3729
+ message += " in " + this.sourceFile;
3730
+ }
3580
3731
  var err = new SyntaxError(message);
3581
3732
  err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
3582
3733
  throw err
@@ -3600,8 +3751,6 @@ var Scope = function Scope(flags) {
3600
3751
  this.lexical = [];
3601
3752
  // A list of lexically-declared FunctionDeclaration names in the current lexical scope
3602
3753
  this.functions = [];
3603
- // A switch to disallow the identifier reference 'arguments'
3604
- this.inClassFieldInit = false;
3605
3754
  };
3606
3755
 
3607
3756
  // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
@@ -3671,7 +3820,7 @@ pp$3.currentScope = function() {
3671
3820
  pp$3.currentVarScope = function() {
3672
3821
  for (var i = this.scopeStack.length - 1;; i--) {
3673
3822
  var scope = this.scopeStack[i];
3674
- if (scope.flags & SCOPE_VAR) { return scope }
3823
+ if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope }
3675
3824
  }
3676
3825
  };
3677
3826
 
@@ -3679,7 +3828,8 @@ pp$3.currentVarScope = function() {
3679
3828
  pp$3.currentThisScope = function() {
3680
3829
  for (var i = this.scopeStack.length - 1;; i--) {
3681
3830
  var scope = this.scopeStack[i];
3682
- if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }
3831
+ if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) &&
3832
+ !(scope.flags & SCOPE_ARROW)) { return scope }
3683
3833
  }
3684
3834
  };
3685
3835
 
@@ -3735,6 +3885,9 @@ pp$2.copyNode = function(node) {
3735
3885
  return newNode
3736
3886
  };
3737
3887
 
3888
+ // This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually!
3889
+ var scriptValuesAddedInUnicode = "Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz";
3890
+
3738
3891
  // This file contains Unicode properties extracted from the ECMAScript specification.
3739
3892
  // The lists are extracted like so:
3740
3893
  // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
@@ -3777,7 +3930,7 @@ var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Han
3777
3930
  var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
3778
3931
  var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
3779
3932
  var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
3780
- var ecma14ScriptValues = ecma13ScriptValues + " Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz";
3933
+ var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode;
3781
3934
 
3782
3935
  var unicodeScriptValues = {
3783
3936
  9: ecma9ScriptValues,
@@ -4202,12 +4355,41 @@ pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {
4202
4355
  pp$1.regexp_eatUncapturingGroup = function(state) {
4203
4356
  var start = state.pos;
4204
4357
  if (state.eat(0x28 /* ( */)) {
4205
- if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {
4206
- this.regexp_disjunction(state);
4207
- if (state.eat(0x29 /* ) */)) {
4208
- return true
4358
+ if (state.eat(0x3F /* ? */)) {
4359
+ if (this.options.ecmaVersion >= 16) {
4360
+ var addModifiers = this.regexp_eatModifiers(state);
4361
+ var hasHyphen = state.eat(0x2D /* - */);
4362
+ if (addModifiers || hasHyphen) {
4363
+ for (var i = 0; i < addModifiers.length; i++) {
4364
+ var modifier = addModifiers.charAt(i);
4365
+ if (addModifiers.indexOf(modifier, i + 1) > -1) {
4366
+ state.raise("Duplicate regular expression modifiers");
4367
+ }
4368
+ }
4369
+ if (hasHyphen) {
4370
+ var removeModifiers = this.regexp_eatModifiers(state);
4371
+ if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {
4372
+ state.raise("Invalid regular expression modifiers");
4373
+ }
4374
+ for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {
4375
+ var modifier$1 = removeModifiers.charAt(i$1);
4376
+ if (
4377
+ removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||
4378
+ addModifiers.indexOf(modifier$1) > -1
4379
+ ) {
4380
+ state.raise("Duplicate regular expression modifiers");
4381
+ }
4382
+ }
4383
+ }
4384
+ }
4385
+ }
4386
+ if (state.eat(0x3A /* : */)) {
4387
+ this.regexp_disjunction(state);
4388
+ if (state.eat(0x29 /* ) */)) {
4389
+ return true
4390
+ }
4391
+ state.raise("Unterminated group");
4209
4392
  }
4210
- state.raise("Unterminated group");
4211
4393
  }
4212
4394
  state.pos = start;
4213
4395
  }
@@ -4229,6 +4411,23 @@ pp$1.regexp_eatCapturingGroup = function(state) {
4229
4411
  }
4230
4412
  return false
4231
4413
  };
4414
+ // RegularExpressionModifiers ::
4415
+ // [empty]
4416
+ // RegularExpressionModifiers RegularExpressionModifier
4417
+ pp$1.regexp_eatModifiers = function(state) {
4418
+ var modifiers = "";
4419
+ var ch = 0;
4420
+ while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {
4421
+ modifiers += codePointToString(ch);
4422
+ state.advance();
4423
+ }
4424
+ return modifiers
4425
+ };
4426
+ // RegularExpressionModifier :: one of
4427
+ // `i` `m` `s`
4428
+ function isRegularExpressionModifier(ch) {
4429
+ return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */
4430
+ }
4232
4431
 
4233
4432
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
4234
4433
  pp$1.regexp_eatExtendedAtom = function(state) {
@@ -5980,11 +6179,9 @@ pp.readWord = function() {
5980
6179
  // Please use the [github bug tracker][ghbt] to report issues.
5981
6180
  //
5982
6181
  // [ghbt]: https://github.com/acornjs/acorn/issues
5983
- //
5984
- // [walk]: util/walk.js
5985
6182
 
5986
6183
 
5987
- var version = "8.12.1";
6184
+ var version = "8.15.0";
5988
6185
 
5989
6186
  Parser.acorn = {
5990
6187
  Parser: Parser,
@@ -7941,7 +8138,7 @@ function createFile(file, options) {
7941
8138
  return [file.name, { url: new URL(fixRelativeUrl(file.url, options.baseUrl)), mimeType: file.mime_type, toString }];
7942
8139
  }
7943
8140
  function notebook(_files = [], _cells = [], { baseUrl = ".", importMode = "precompiled" } = {}) {
7944
- const files = _files.map(f => createFile(f, { baseUrl, importMode }));
8141
+ const files = _files.map(f => createFile(f, { baseUrl}));
7945
8142
  const fileAttachments = new Map(files);
7946
8143
  const cells = new Map(_cells.map(c => [c.id, c]));
7947
8144
  const retVal = (runtime, inspector) => {