diff --git a/.vs/Paradox_AntiCheat/v16/.suo b/.vs/Paradox_AntiCheat/v16/.suo
index 6c70694..12c066c 100644
Binary files a/.vs/Paradox_AntiCheat/v16/.suo and b/.vs/Paradox_AntiCheat/v16/.suo differ
diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite
index 2454f29..12c7a85 100644
Binary files a/.vs/slnx.sqlite and b/.vs/slnx.sqlite differ
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c66b92c..75841c2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,26 +1,25 @@
# Changelog
-## [v日本語版paradox v3.3.4] Paradox v3.3.4-Beta Js▶︎Ts
-## [v日本語版paradox v3.3.4] Paradox v3.3.4-Beta Japanese version update!!
+## [v3.3.6](https://github.com/Pete9xi/Paradox_AntiCheat/tree/v3.3.6) (2023-09-20)
-## [v日本語版paradox v3.3.3] Paradox v3.3.4 Japanese version update!!
+[Full Changelog](https://github.com/Pete9xi/Paradox_AntiCheat/compare/v3.3.5...v3.3.6)
-## [v日本語版paradox v3.3.2] Paradox v3.3.3 Japanese version update!!
+## [v3.3.5](https://github.com/Pete9xi/Paradox_AntiCheat/tree/v3.3.5) (2023-09-14)
-## [v日本語版paradox v3.3.2] Paradox v3.3.3にアップデートしました!!
+[Full Changelog](https://github.com/Pete9xi/Paradox_AntiCheat/compare/v3.3.4...v3.3.5)
-## [Unreleased](https://github.com/Pete9xi/Paradox_AntiCheat/tree/HEAD)
+## [v3.3.4](https://github.com/Pete9xi/Paradox_AntiCheat/tree/v3.3.4) (2023-08-30)
-[Full Changelog](https://github.com/Pete9xi/Paradox_AntiCheat/compare/v3.3.3...HEAD)
-
-**Merged pull requests:**
-
-- Apply fixes from CodeFactor [\#29](https://github.com/Pete9xi/Paradox_AntiCheat/pull/29) ([Visual1mpact](https://github.com/Visual1mpact))
+[Full Changelog](https://github.com/Pete9xi/Paradox_AntiCheat/compare/v3.3.3...v3.3.4)
## [v3.3.3](https://github.com/Pete9xi/Paradox_AntiCheat/tree/v3.3.3) (2023-08-30)
[Full Changelog](https://github.com/Pete9xi/Paradox_AntiCheat/compare/v3.3.2...v3.3.3)
+**Merged pull requests:**
+
+- Apply fixes from CodeFactor [\#29](https://github.com/Pete9xi/Paradox_AntiCheat/pull/29) ([Visual1mpact](https://github.com/Visual1mpact))
+
## [v3.3.2](https://github.com/Pete9xi/Paradox_AntiCheat/tree/v3.3.2) (2023-08-18)
[Full Changelog](https://github.com/Pete9xi/Paradox_AntiCheat/compare/v3.3.1...v3.3.2)
diff --git a/README.md b/README.md
index 9ac0c22..f88497c 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
config.js
file located at /scripts/data/config.js
.encryption
section.encryption
, find password
.encryption: {
+ Enter your chosen password:
+ encryption: {
password: "mypassword",
}
+
+
- Keep your password safe and confidential.
@@ -78,7 +79,11 @@
Once granted, you'll have Paradox AntiCheat features.
To give Paradox-Op permissions to others, use <prefix>op <player>
.
Learn more by entering <prefix>op help
.
-
+ For Bedrock Dedicated Server (BDS), add the following to the server.properties
file:
+ op-permission-level=2
+#min=2
+#max=4
+
Note: If you're using a password (Realm owners), use <prefix>op <password>
for permission.
@@ -200,4 +205,4 @@
Please note that the project maintainers will review your pull request, and if they find it suitable, they will merge it into the main project. Keep an eye on your pull request for any feedback or updates from the maintainers.
-Happy contributing to the Paradox AntiCheat project! If you have any further questions or need additional assistance, feel free to ask.
\ No newline at end of file
+Happy contributing to the Paradox AntiCheat project! If you have any further questions or need additional assistance, feel free to ask.
diff --git a/entities/allay.json b/entities/allay.json
index cca131a..d675841 100644
--- a/entities/allay.json
+++ b/entities/allay.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:allay",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/armor_stand.json b/entities/armor_stand.json
index def0beb..953a115 100644
--- a/entities/armor_stand.json
+++ b/entities/armor_stand.json
@@ -11,7 +11,7 @@
"description": {
"identifier": "minecraft:armor_stand",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/arrow.json b/entities/arrow.json
index e9902dc..aa17fb8 100644
--- a/entities/arrow.json
+++ b/entities/arrow.json
@@ -4,7 +4,7 @@
"description": {
"identifier": "minecraft:arrow",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/axolotl.json b/entities/axolotl.json
index 58d9909..f7a2d8e 100644
--- a/entities/axolotl.json
+++ b/entities/axolotl.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:axolotl",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/bat.json b/entities/bat.json
index bfac9ee..d092859 100644
--- a/entities/bat.json
+++ b/entities/bat.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:bat",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/bee.json b/entities/bee.json
index b9b8e2f..6de171e 100644
--- a/entities/bee.json
+++ b/entities/bee.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:bee",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false,
"properties": {
"minecraft:has_nectar": {
diff --git a/entities/blaze.json b/entities/blaze.json
index 266ebb7..44a44fb 100644
--- a/entities/blaze.json
+++ b/entities/blaze.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:blaze",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/boat.json b/entities/boat.json
index dd90cce..4d1ab2e 100644
--- a/entities/boat.json
+++ b/entities/boat.json
@@ -4,7 +4,7 @@
"description": {
"identifier": "minecraft:boat",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/camel.json b/entities/camel.json
index 476d0e5..c9d5681 100644
--- a/entities/camel.json
+++ b/entities/camel.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:camel",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -178,6 +178,7 @@
"hard_distance": 6,
"max_distance": 10
},
+ "minecraft:balloonable": {},
"minecraft:type_family": {
"family": ["camel", "mob"]
},
diff --git a/entities/cat.json b/entities/cat.json
index 6c0713d..781011c 100644
--- a/entities/cat.json
+++ b/entities/cat.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:cat",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/cave_spider.json b/entities/cave_spider.json
index 70732bd..4f149cd 100644
--- a/entities/cave_spider.json
+++ b/entities/cave_spider.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:cave_spider",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/chest_boat.json b/entities/chest_boat.json
index 527f201..b367d90 100644
--- a/entities/chest_boat.json
+++ b/entities/chest_boat.json
@@ -4,7 +4,7 @@
"description": {
"identifier": "minecraft:chest_boat",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/chest_minecart.json b/entities/chest_minecart.json
index b8981ae..7f5c632 100644
--- a/entities/chest_minecart.json
+++ b/entities/chest_minecart.json
@@ -18,7 +18,7 @@
"description": {
"identifier": "minecraft:chest_minecart",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/chicken.json b/entities/chicken.json
index 180dbd2..61978b0 100644
--- a/entities/chicken.json
+++ b/entities/chicken.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:chicken",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/command_block_minecart.json b/entities/command_block_minecart.json
index 1778b66..fdad2ce 100644
--- a/entities/command_block_minecart.json
+++ b/entities/command_block_minecart.json
@@ -4,7 +4,7 @@
"description": {
"identifier": "minecraft:command_block_minecart",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/cow.json b/entities/cow.json
index c68b96b..c20b768 100644
--- a/entities/cow.json
+++ b/entities/cow.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:cow",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/creeper.json b/entities/creeper.json
index 4ff1a0a..80e281a 100644
--- a/entities/creeper.json
+++ b/entities/creeper.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:creeper",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/dolphin.json b/entities/dolphin.json
index bf8f7bd..7ec4ad1 100644
--- a/entities/dolphin.json
+++ b/entities/dolphin.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:dolphin",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -331,7 +331,9 @@
"hard_distance": 6,
"max_distance": 10
},
- "minecraft:balloonable": {},
+ "minecraft:balloonable": {
+ "mass": 0.4
+ },
"minecraft:conditional_bandwidth_optimization": {}
},
"events": {
diff --git a/entities/donkey.json b/entities/donkey.json
index c477ba1..053cf7f 100644
--- a/entities/donkey.json
+++ b/entities/donkey.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:donkey",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -185,7 +185,7 @@
"value": "player"
},
{
- "test": "is_sneaking",
+ "test": "is_sneak_held",
"subject": "other",
"value": false
}
@@ -235,11 +235,6 @@
}
],
"breed_items": ["golden_carrot", "golden_apple", "appleEnchanted"]
- },
- "minecraft:behavior.tempt": {
- "priority": 5,
- "speed_multiplier": 1.2,
- "items": ["apple", "carrot", "golden_apple", "appleEnchanted", "golden_carrot", "carrotOnAStick", "hay_block", "sugar", "bread", "wheat"]
}
},
"minecraft:donkey_unchested": {
@@ -269,7 +264,7 @@
"value": "player"
},
{
- "test": "is_sneaking",
+ "test": "is_sneak_held",
"subject": "other",
"value": false
}
@@ -460,6 +455,11 @@
"priority": 1,
"speed_multiplier": 1.2
},
+ "minecraft:behavior.tempt": {
+ "priority": 5,
+ "speed_multiplier": 1.2,
+ "items": ["golden_apple", "appleEnchanted", "golden_carrot"]
+ },
"minecraft:behavior.random_stroll": {
"priority": 6,
"speed_multiplier": 0.7
diff --git a/entities/drowned.json b/entities/drowned.json
index ce7ff03..2163919 100644
--- a/entities/drowned.json
+++ b/entities/drowned.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:drowned",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -47,7 +47,8 @@
},
"minecraft:ranged_mode": {
"minecraft:shooter": {
- "def": "minecraft:thrown_trident"
+ "def": "minecraft:thrown_trident",
+ "sound": "item.trident.throw"
},
"minecraft:behavior.ranged_attack": {
"priority": 3,
@@ -73,6 +74,7 @@
"damage": 3
},
"minecraft:behavior.melee_attack": {
+ "can_spread_on_fire": true,
"priority": 3,
"speed_multiplier": 1,
"track_target": false,
@@ -124,7 +126,13 @@
"minecraft:type_family": {
"family": ["drowned", "zombie", "undead", "monster", "mob"]
},
- "minecraft:equip_item": {},
+ "minecraft:equip_item": {
+ "excluded_items": [
+ {
+ "item": "minecraft:banner:15"
+ }
+ ]
+ },
"minecraft:collision_box": {
"width": 0.6,
"height": 1.9
diff --git a/entities/egg.json b/entities/egg.json
index 255ead2..e907f87 100644
--- a/entities/egg.json
+++ b/entities/egg.json
@@ -18,7 +18,7 @@
"description": {
"identifier": "minecraft:egg",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/elder_guardian.json b/entities/elder_guardian.json
index 00233b2..eae8be7 100644
--- a/entities/elder_guardian.json
+++ b/entities/elder_guardian.json
@@ -17,8 +17,8 @@
},
"description": {
"identifier": "minecraft:elder_guardian",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/ender_crystal.json b/entities/ender_crystal.json
index a2a5d11..88cc93b 100644
--- a/entities/ender_crystal.json
+++ b/entities/ender_crystal.json
@@ -4,7 +4,7 @@
"description": {
"identifier": "minecraft:ender_crystal",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/ender_dragon.json b/entities/ender_dragon.json
index 53548a8..89bbf9f 100644
--- a/entities/ender_dragon.json
+++ b/entities/ender_dragon.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:ender_dragon",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/enderman.json b/entities/enderman.json
index 7ff527e..1ff5af9 100644
--- a/entities/enderman.json
+++ b/entities/enderman.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:enderman",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/endermite.json b/entities/endermite.json
index 443f457..2e94161 100644
--- a/entities/endermite.json
+++ b/entities/endermite.json
@@ -17,8 +17,8 @@
},
"description": {
"identifier": "minecraft:endermite",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/evocation_illager.json b/entities/evocation_illager.json
index c59fc53..8bb54b8 100644
--- a/entities/evocation_illager.json
+++ b/entities/evocation_illager.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:evocation_illager",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -62,6 +62,17 @@
}
},
"components": {
+ "minecraft:equip_item": {},
+ "minecraft:shareables": {
+ "items": [
+ {
+ "item": "minecraft:banner:15",
+ "want_amount": 1,
+ "surplus_amount": 1,
+ "priority": 0
+ }
+ ]
+ },
"minecraft:is_hidden_when_invisible": {},
"minecraft:experience_reward": {
"on_death": "10"
@@ -312,6 +323,15 @@
"minecraft:behavior.hurt_by_target": {
"priority": 1
},
+ "minecraft:behavior.equip_item": {
+ "priority": 3
+ },
+ "minecraft:behavior.pickup_items": {
+ "priority": 7,
+ "max_dist": 3,
+ "goal_radius": 2,
+ "speed_multiplier": 1
+ },
"minecraft:persistent": {},
"minecraft:physics": {},
"minecraft:pushable": {
diff --git a/entities/fireworks_rocket.json b/entities/fireworks_rocket.json
index b3345af..0cc6715 100644
--- a/entities/fireworks_rocket.json
+++ b/entities/fireworks_rocket.json
@@ -18,7 +18,7 @@
"description": {
"identifier": "minecraft:fireworks_rocket",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/fish.json b/entities/fish.json
index d875701..41ffe1f 100644
--- a/entities/fish.json
+++ b/entities/fish.json
@@ -17,8 +17,8 @@
},
"description": {
"identifier": "minecraft:cod",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/fox.json b/entities/fox.json
index 2d0792e..5da5c7d 100644
--- a/entities/fox.json
+++ b/entities/fox.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:fox",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/frog.json b/entities/frog.json
index 2498bce..93e34b7 100644
--- a/entities/frog.json
+++ b/entities/frog.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:frog",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/ghast.json b/entities/ghast.json
index 00c4df9..a10daa3 100644
--- a/entities/ghast.json
+++ b/entities/ghast.json
@@ -17,8 +17,8 @@
},
"description": {
"identifier": "minecraft:ghast",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/glow_squid.json b/entities/glow_squid.json
index 974410e..f1fb547 100644
--- a/entities/glow_squid.json
+++ b/entities/glow_squid.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:glow_squid",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/goat.json b/entities/goat.json
index b1fe3f8..447c707 100644
--- a/entities/goat.json
+++ b/entities/goat.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:goat",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/guardian.json b/entities/guardian.json
index d074ac4..e593d40 100644
--- a/entities/guardian.json
+++ b/entities/guardian.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:guardian",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/hoglin.json b/entities/hoglin.json
index 55cda06..aa6b334 100644
--- a/entities/hoglin.json
+++ b/entities/hoglin.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:hoglin",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -45,7 +45,7 @@
"become_zombie": {
"minecraft:transformation": {
"into": "minecraft:zoglin",
- "transformation_sound": "converted_to_zombified",
+ "transformation_sound": "mob.hoglin.converted_to_zombified",
"keep_level": true
}
},
diff --git a/entities/hopper_minecart.json b/entities/hopper_minecart.json
index 291b21d..7d4b0ff 100644
--- a/entities/hopper_minecart.json
+++ b/entities/hopper_minecart.json
@@ -4,7 +4,7 @@
"description": {
"identifier": "minecraft:hopper_minecart",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/horse.json b/entities/horse.json
index 0c639cc..e1b76a5 100644
--- a/entities/horse.json
+++ b/entities/horse.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:horse",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -222,7 +222,7 @@
"value": "player"
},
{
- "test": "is_sneaking",
+ "test": "is_sneak_held",
"subject": "other",
"value": false
}
@@ -257,7 +257,7 @@
"value": "player"
},
{
- "test": "is_sneaking",
+ "test": "is_sneak_held",
"subject": "other",
"value": false
}
@@ -304,11 +304,6 @@
"mutation_strategy": "random",
"random_variant_mutation_interval": [0, 7],
"random_extra_variant_mutation_interval": [0, 5]
- },
- "minecraft:behavior.tempt": {
- "priority": 5,
- "speed_multiplier": 1.2,
- "items": ["golden_apple", "appleEnchanted", "golden_carrot"]
}
},
"minecraft:horse_saddled": {
@@ -504,6 +499,11 @@
"priority": 3,
"speed_multiplier": 1.2
},
+ "minecraft:behavior.tempt": {
+ "priority": 5,
+ "speed_multiplier": 1.2,
+ "items": ["golden_apple", "appleEnchanted", "golden_carrot"]
+ },
"minecraft:behavior.random_stroll": {
"priority": 6,
"speed_multiplier": 0.7
diff --git a/entities/husk.json b/entities/husk.json
index 46b4c17..5b7384c 100644
--- a/entities/husk.json
+++ b/entities/husk.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:husk",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -44,7 +44,7 @@
"minecraft:convert_to_zombie": {
"minecraft:transformation": {
"into": "minecraft:zombie",
- "transformation_sound": "convert_to_drowned",
+ "transformation_sound": "mob.husk.convert_to_zombie",
"drop_equipment": true,
"delay": {
"value": 15
@@ -55,7 +55,7 @@
"minecraft:convert_to_baby_zombie": {
"minecraft:transformation": {
"into": "minecraft:zombie",
- "transformation_sound": "convert_to_drowned",
+ "transformation_sound": "mob.husk.convert_to_zombie",
"drop_equipment": true,
"delay": {
"value": 15
@@ -119,7 +119,13 @@
"suffocate_time": 0,
"breathes_water": true
},
- "minecraft:equip_item": {},
+ "minecraft:equip_item": {
+ "excluded_items": [
+ {
+ "item": "minecraft:banner:15"
+ }
+ ]
+ },
"minecraft:collision_box": {
"width": 0.6,
"height": 1.9
@@ -399,6 +405,7 @@
"priority": 2
},
"minecraft:behavior.melee_attack": {
+ "can_spread_on_fire": true,
"priority": 3
},
"minecraft:behavior.stomp_turtle_egg": {
diff --git a/entities/iron_golem.json b/entities/iron_golem.json
index 86fa79d..c559597 100644
--- a/entities/iron_golem.json
+++ b/entities/iron_golem.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:iron_golem",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -198,7 +198,22 @@
"red_nether_brick",
"end_bricks",
"red_sandstone",
- "stained_glass",
+ "white_stained_glass",
+ "orange_stained_glass",
+ "magenta_stained_glass",
+ "light_blue_stained_glass",
+ "yellow_stained_glass",
+ "lime_stained_glass",
+ "pink_stained_glass",
+ "gray_stained_glass",
+ "light_gray_stained_glass",
+ "cyan_stained_glass",
+ "purple_stained_glass",
+ "blue_stained_glass",
+ "brown_stained_glass",
+ "green_stained_glass",
+ "red_stained_glass",
+ "black_stained_glass",
"glass",
"glowstone",
"prismarine",
diff --git a/entities/lightning_bolt.json b/entities/lightning_bolt.json
index 0a06acd..8d15d76 100644
--- a/entities/lightning_bolt.json
+++ b/entities/lightning_bolt.json
@@ -4,7 +4,7 @@
"description": {
"identifier": "minecraft:lightning_bolt",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/llama.json b/entities/llama.json
index 677518e..88f3d8c 100644
--- a/entities/llama.json
+++ b/entities/llama.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:llama",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -420,6 +420,11 @@
"priority": 4,
"speed_multiplier": 1.2
},
+ "minecraft:behavior.tempt": {
+ "priority": 5,
+ "speed_multiplier": 1.2,
+ "items": ["hay_block"]
+ },
"minecraft:behavior.random_stroll": {
"priority": 6,
"speed_multiplier": 0.7
diff --git a/entities/magma_cube.json b/entities/magma_cube.json
index 540b41c..a2233e0 100644
--- a/entities/magma_cube.json
+++ b/entities/magma_cube.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:magma_cube",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/minecart.json b/entities/minecart.json
index 9e4e774..380c507 100644
--- a/entities/minecart.json
+++ b/entities/minecart.json
@@ -18,7 +18,7 @@
"description": {
"identifier": "minecraft:minecart",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/mooshroom.json b/entities/mooshroom.json
index 58bdc9e..496de3e 100644
--- a/entities/mooshroom.json
+++ b/entities/mooshroom.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:mooshroom",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/mule.json b/entities/mule.json
index eded6f1..a36db61 100644
--- a/entities/mule.json
+++ b/entities/mule.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:mule",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -166,11 +166,6 @@
"minecraft:inventory": {
"inventory_size": 16,
"container_type": "horse"
- },
- "minecraft:behavior.tempt": {
- "priority": 5,
- "speed_multiplier": 1.2,
- "items": ["apple", "carrot", "golden_apple", "appleEnchanted", "golden_carrot", "carrotOnAStick", "hay_block", "sugar", "bread", "wheat"]
}
},
"minecraft:mule_unchested": {
@@ -193,7 +188,7 @@
"value": "player"
},
{
- "test": "is_sneaking",
+ "test": "is_sneak_held",
"subject": "other",
"value": false
}
@@ -229,7 +224,7 @@
"value": "player"
},
{
- "test": "is_sneaking",
+ "test": "is_sneak_held",
"subject": "other",
"value": false
}
@@ -271,7 +266,7 @@
"value": "player"
},
{
- "test": "is_sneaking",
+ "test": "is_sneak_held",
"subject": "other",
"value": false
}
@@ -392,6 +387,11 @@
"priority": 1,
"speed_multiplier": 1.2
},
+ "minecraft:behavior.tempt": {
+ "priority": 5,
+ "speed_multiplier": 1.2,
+ "items": ["golden_apple", "appleEnchanted", "golden_carrot"]
+ },
"minecraft:behavior.random_stroll": {
"priority": 6,
"speed_multiplier": 0.7
diff --git a/entities/npc.json b/entities/npc.json
index 13c27cc..4105e07 100644
--- a/entities/npc.json
+++ b/entities/npc.json
@@ -17,8 +17,8 @@
},
"description": {
"identifier": "minecraft:npc",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/ocelot.json b/entities/ocelot.json
index 63d4f95..2917467 100644
--- a/entities/ocelot.json
+++ b/entities/ocelot.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:ocelot",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/panda.json b/entities/panda.json
index 9ec5198..71007e1 100644
--- a/entities/panda.json
+++ b/entities/panda.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:panda",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/parrot.json b/entities/parrot.json
index edd53b6..bfd84e1 100644
--- a/entities/parrot.json
+++ b/entities/parrot.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:parrot",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/phantom.json b/entities/phantom.json
index 5ccc2a4..670a844 100644
--- a/entities/phantom.json
+++ b/entities/phantom.json
@@ -10,8 +10,8 @@
},
"description": {
"identifier": "minecraft:phantom",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/pig.json b/entities/pig.json
index 941cd6c..2948130 100644
--- a/entities/pig.json
+++ b/entities/pig.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:pig",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -29,6 +29,7 @@
"minecraft:pig_transform": {
"minecraft:transformation": {
"into": "minecraft:pig_zombie",
+ "transformation_sound": "mob.pig.death",
"delay": 0.5
}
},
diff --git a/entities/piglin.json b/entities/piglin.json
index 7e3d7fa..a5ba5cb 100644
--- a/entities/piglin.json
+++ b/entities/piglin.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:piglin",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -401,7 +401,13 @@
},
"components": {
"minecraft:is_hidden_when_invisible": {},
- "minecraft:equip_item": {},
+ "minecraft:equip_item": {
+ "excluded_items": [
+ {
+ "item": "minecraft:banner:15"
+ }
+ ]
+ },
"minecraft:admire_item": {
"duration": 8,
"cooldown_after_being_attacked": 20
@@ -579,6 +585,7 @@
"value": 64
},
"minecraft:shareables": {
+ "singular_pickup": true,
"items": [
{
"item": "minecraft:golden_sword",
diff --git a/entities/piglin_brute.json b/entities/piglin_brute.json
index dedb0ef..8a5230d 100644
--- a/entities/piglin_brute.json
+++ b/entities/piglin_brute.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:piglin_brute",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/pillager.json b/entities/pillager.json
index b859e42..ca1b68c 100644
--- a/entities/pillager.json
+++ b/entities/pillager.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:pillager",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/polar_bear.json b/entities/polar_bear.json
index 7410802..daf6b95 100644
--- a/entities/polar_bear.json
+++ b/entities/polar_bear.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:polar_bear",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/pufferfish.json b/entities/pufferfish.json
index 961f9c1..e16732d 100644
--- a/entities/pufferfish.json
+++ b/entities/pufferfish.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:pufferfish",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/rabbit.json b/entities/rabbit.json
index fbb69c3..2716c43 100644
--- a/entities/rabbit.json
+++ b/entities/rabbit.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:rabbit",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/ravager.json b/entities/ravager.json
index 1639d41..b0a0d19 100644
--- a/entities/ravager.json
+++ b/entities/ravager.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:ravager",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/salmon.json b/entities/salmon.json
index e880642..4a5c979 100644
--- a/entities/salmon.json
+++ b/entities/salmon.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:salmon",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/sheep.json b/entities/sheep.json
index 12ff397..e133043 100644
--- a/entities/sheep.json
+++ b/entities/sheep.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:sheep",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/shulker.json b/entities/shulker.json
index bbc5a78..30da6d5 100644
--- a/entities/shulker.json
+++ b/entities/shulker.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:shulker",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/silverfish.json b/entities/silverfish.json
index f351ce5..63d0e2b 100644
--- a/entities/silverfish.json
+++ b/entities/silverfish.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:silverfish",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/skeleton.json b/entities/skeleton.json
index 881b5b9..dc55fb2 100644
--- a/entities/skeleton.json
+++ b/entities/skeleton.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:skeleton",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -103,7 +103,8 @@
"attack_radius": 15
},
"minecraft:shooter": {
- "def": "minecraft:arrow"
+ "def": "minecraft:arrow",
+ "sound": "bow"
},
"minecraft:environment_sensor": {
"triggers": [
@@ -190,7 +191,13 @@
"minecraft:experience_reward": {
"on_death": "query.last_hit_by_player ? 5 + (query.equipment_count * Math.Random(1,3)) : 0"
},
- "minecraft:equip_item": {},
+ "minecraft:equip_item": {
+ "excluded_items": [
+ {
+ "item": "minecraft:banner:15"
+ }
+ ]
+ },
"minecraft:collision_box": {
"width": 0.6,
"height": 1.9
@@ -278,6 +285,7 @@
"despawn_from_distance": {}
},
"minecraft:shareables": {
+ "singular_pickup": true,
"items": [
{
"item": "minecraft:netherite_sword",
diff --git a/entities/skeleton_horse.json b/entities/skeleton_horse.json
index 418c8f5..f53649e 100644
--- a/entities/skeleton_horse.json
+++ b/entities/skeleton_horse.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:skeleton_horse",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/slime.json b/entities/slime.json
index a206abe..b9c12c9 100644
--- a/entities/slime.json
+++ b/entities/slime.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:slime",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/sniffer.json b/entities/sniffer.json
index c2b9138..7b44596 100644
--- a/entities/sniffer.json
+++ b/entities/sniffer.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:sniffer",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": true
},
"component_groups": {
@@ -195,6 +195,7 @@
"hard_distance": 6,
"max_distance": 10
},
+ "minecraft:balloonable": {},
"minecraft:type_family": {
"family": ["sniffer", "mob"]
},
diff --git a/entities/snow_golem.json b/entities/snow_golem.json
index 9551c22..4f7fd0b 100644
--- a/entities/snow_golem.json
+++ b/entities/snow_golem.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:snow_golem",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/snowball.json b/entities/snowball.json
index 659f65e..0c39f0f 100644
--- a/entities/snowball.json
+++ b/entities/snowball.json
@@ -18,7 +18,7 @@
"description": {
"identifier": "minecraft:snowball",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/spider.json b/entities/spider.json
index 9d19c62..1e4be6a 100644
--- a/entities/spider.json
+++ b/entities/spider.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:spider",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/splash_potion.json b/entities/splash_potion.json
index 797d543..fb31272 100644
--- a/entities/splash_potion.json
+++ b/entities/splash_potion.json
@@ -18,7 +18,7 @@
"description": {
"identifier": "minecraft:splash_potion",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/squid.json b/entities/squid.json
index 8c8ffb4..c061ea2 100644
--- a/entities/squid.json
+++ b/entities/squid.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:squid",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/stray.json b/entities/stray.json
index d9c4abf..b33a3f1 100644
--- a/entities/stray.json
+++ b/entities/stray.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:stray",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -23,6 +23,7 @@
},
"minecraft:shooter": {
"def": "minecraft:arrow",
+ "sound": "bow",
"aux_val": 19
},
"minecraft:environment_sensor": {
@@ -99,7 +100,13 @@
"suffocate_time": 0,
"breathes_water": true
},
- "minecraft:equip_item": {},
+ "minecraft:equip_item": {
+ "excluded_items": [
+ {
+ "item": "minecraft:banner:15"
+ }
+ ]
+ },
"minecraft:collision_box": {
"width": 0.6,
"height": 1.9
@@ -171,6 +178,7 @@
"despawn_from_distance": {}
},
"minecraft:shareables": {
+ "singular_pickup": true,
"items": [
{
"item": "minecraft:netherite_sword",
diff --git a/entities/strider.json b/entities/strider.json
index 3bdacff..6043542 100644
--- a/entities/strider.json
+++ b/entities/strider.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:strider",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/tadpole.json b/entities/tadpole.json
index 2c1e7fd..2496e30 100644
--- a/entities/tadpole.json
+++ b/entities/tadpole.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:tadpole",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/tnt.json b/entities/tnt.json
index 27b853b..4d739cd 100644
--- a/entities/tnt.json
+++ b/entities/tnt.json
@@ -4,7 +4,7 @@
"description": {
"identifier": "minecraft:tnt",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/tnt_minecart.json b/entities/tnt_minecart.json
index f3418d5..95e9670 100644
--- a/entities/tnt_minecart.json
+++ b/entities/tnt_minecart.json
@@ -4,7 +4,7 @@
"description": {
"identifier": "minecraft:tnt_minecart",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/trader_llama.json b/entities/trader_llama.json
index c64640f..2b2b5bf 100644
--- a/entities/trader_llama.json
+++ b/entities/trader_llama.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:trader_llama",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -405,6 +405,11 @@
"priority": 4,
"speed_multiplier": 1.2
},
+ "minecraft:behavior.tempt": {
+ "priority": 5,
+ "speed_multiplier": 1.2,
+ "items": ["hay_block"]
+ },
"minecraft:behavior.random_stroll": {
"priority": 6,
"speed_multiplier": 0.7
diff --git a/entities/tropicalfish.json b/entities/tropicalfish.json
index 589d759..c15c654 100644
--- a/entities/tropicalfish.json
+++ b/entities/tropicalfish.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:tropicalfish",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/turtle.json b/entities/turtle.json
index ef69adb..6f583e4 100644
--- a/entities/turtle.json
+++ b/entities/turtle.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:turtle",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/vex.json b/entities/vex.json
index 05be9ab..afc6015 100644
--- a/entities/vex.json
+++ b/entities/vex.json
@@ -17,8 +17,8 @@
},
"description": {
"identifier": "minecraft:vex",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/villager.json b/entities/villager.json
index 1f2f75a..3940590 100644
--- a/entities/villager.json
+++ b/entities/villager.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:villager",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/villager_v2.json b/entities/villager_v2.json
index 66d1caa..885c5e5 100644
--- a/entities/villager_v2.json
+++ b/entities/villager_v2.json
@@ -3,7 +3,7 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:villager_v2",
- "is_spawnable": false,
+ "is_spawnable": true,
"is_summonable": false,
"is_experimental": false
},
@@ -972,8 +972,8 @@
"table": "trading/economy_trades/farmer_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1006,8 +1006,8 @@
"table": "trading/economy_trades/fisherman_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1040,8 +1040,8 @@
"table": "trading/economy_trades/shepherd_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1074,8 +1074,8 @@
"table": "trading/economy_trades/fletcher_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1108,8 +1108,8 @@
"table": "trading/economy_trades/librarian_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1142,8 +1142,8 @@
"table": "trading/economy_trades/cartographer_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1176,8 +1176,8 @@
"table": "trading/economy_trades/cleric_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1210,8 +1210,8 @@
"table": "trading/economy_trades/armorer_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1244,8 +1244,8 @@
"table": "trading/economy_trades/weapon_smith_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1278,8 +1278,8 @@
"table": "trading/economy_trades/tool_smith_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1312,8 +1312,8 @@
"table": "trading/economy_trades/butcher_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1346,8 +1346,8 @@
"table": "trading/economy_trades/leather_worker_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1380,8 +1380,8 @@
"table": "trading/economy_trades/stone_mason_trades.json",
"new_screen": true,
"persist_trades": true,
- "cured_discount": [-100, -100],
- "max_cured_discount": [-500, -500]
+ "cured_discount": [-25, -20],
+ "max_cured_discount": [-25, -20]
},
"minecraft:dweller": {
"dwelling_type": "village",
@@ -1458,7 +1458,22 @@
"red_nether_brick",
"end_bricks",
"red_sandstone",
- "stained_glass",
+ "white_stained_glass",
+ "orange_stained_glass",
+ "magenta_stained_glass",
+ "light_blue_stained_glass",
+ "yellow_stained_glass",
+ "lime_stained_glass",
+ "pink_stained_glass",
+ "gray_stained_glass",
+ "light_gray_stained_glass",
+ "cyan_stained_glass",
+ "purple_stained_glass",
+ "blue_stained_glass",
+ "brown_stained_glass",
+ "green_stained_glass",
+ "red_stained_glass",
+ "black_stained_glass",
"glass",
"glowstone",
"prismarine",
@@ -1534,7 +1549,22 @@
"red_nether_brick",
"end_bricks",
"red_sandstone",
- "stained_glass",
+ "white_stained_glass",
+ "orange_stained_glass",
+ "magenta_stained_glass",
+ "light_blue_stained_glass",
+ "yellow_stained_glass",
+ "lime_stained_glass",
+ "pink_stained_glass",
+ "gray_stained_glass",
+ "light_gray_stained_glass",
+ "cyan_stained_glass",
+ "purple_stained_glass",
+ "blue_stained_glass",
+ "brown_stained_glass",
+ "green_stained_glass",
+ "red_stained_glass",
+ "black_stained_glass",
"glass",
"glowstone",
"prismarine",
@@ -1635,6 +1665,14 @@
}
},
"components": {
+ "minecraft:equipment": {
+ "slot_drop_chance": [
+ {
+ "slot": "slot.weapon.mainhand",
+ "drop_chance": 0
+ }
+ ]
+ },
"minecraft:is_hidden_when_invisible": {},
"minecraft:type_family": {
"family": ["villager", "mob"]
diff --git a/entities/vindicator.json b/entities/vindicator.json
index 56c0720..9fb725f 100644
--- a/entities/vindicator.json
+++ b/entities/vindicator.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:vindicator",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -249,6 +249,17 @@
}
},
"components": {
+ "minecraft:equip_item": {},
+ "minecraft:shareables": {
+ "items": [
+ {
+ "item": "minecraft:banner:15",
+ "want_amount": 1,
+ "surplus_amount": 1,
+ "priority": 0
+ }
+ ]
+ },
"minecraft:is_hidden_when_invisible": {},
"minecraft:experience_reward": {
"on_death": "query.last_hit_by_player ? (query.is_baby ? 12 : 5) + (Math.die_roll(query.equipment_count,1,3)) : 0"
@@ -339,6 +350,15 @@
"minecraft:behavior.hurt_by_target": {
"priority": 1
},
+ "minecraft:behavior.equip_item": {
+ "priority": 3
+ },
+ "minecraft:behavior.pickup_items": {
+ "priority": 7,
+ "max_dist": 3,
+ "goal_radius": 2,
+ "speed_multiplier": 1
+ },
"minecraft:on_target_acquired": {
"event": "minecraft:become_aggro",
"target": "self"
diff --git a/entities/wandering_trader.json b/entities/wandering_trader.json
index 561d7ab..171c157 100644
--- a/entities/wandering_trader.json
+++ b/entities/wandering_trader.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:wandering_trader",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/warden.json b/entities/warden.json
index 4395407..3f55b1a 100644
--- a/entities/warden.json
+++ b/entities/warden.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:warden",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/witch.json b/entities/witch.json
index 67229b4..89ab870 100644
--- a/entities/witch.json
+++ b/entities/witch.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:witch",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -118,6 +118,40 @@
"aux_val": 23,
"sound": "throw",
"projectiles": [
+ {
+ "def": "minecraft:splash_potion",
+ "aux_val": 21,
+ "filters": {
+ "all_of": [
+ {
+ "test": "is_raider",
+ "subject": "other",
+ "value": true
+ },
+ {
+ "test": "actor_health",
+ "subject": "other",
+ "value": 4,
+ "operator": "<="
+ }
+ ]
+ },
+ "lose_target": true
+ },
+ {
+ "def": "minecraft:splash_potion",
+ "aux_val": 28,
+ "filters": {
+ "all_of": [
+ {
+ "test": "is_raider",
+ "subject": "other",
+ "value": true
+ }
+ ]
+ },
+ "lose_target": true
+ },
{
"def": "minecraft:splash_potion",
"aux_val": 17,
@@ -311,7 +345,7 @@
"minecraft:behavior.hurt_by_target": {
"priority": 1
},
- "minecraft:behavior.nearest_attackable_target": {
+ "minecraft:behavior.nearest_prioritized_attackable_target": {
"priority": 2,
"entity_types": [
{
@@ -334,6 +368,35 @@
}
]
},
+ "priority": 1,
+ "max_dist": 10
+ },
+ {
+ "filters": {
+ "all_of": [
+ {
+ "test": "is_raider",
+ "subject": "other",
+ "value": true
+ },
+ {
+ "test": "is_raider",
+ "subject": "self",
+ "value": true
+ },
+ {
+ "none_of": [
+ {
+ "test": "is_family",
+ "subject": "other",
+ "value": "witch"
+ }
+ ]
+ }
+ ]
+ },
+ "priority": 2,
+ "cooldown": 10,
"max_dist": 10
}
],
diff --git a/entities/wither.json b/entities/wither.json
index d4d490e..ebd3659 100644
--- a/entities/wither.json
+++ b/entities/wither.json
@@ -10,8 +10,8 @@
},
"description": {
"identifier": "minecraft:wither",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/wither_skeleton.json b/entities/wither_skeleton.json
index 0d4e60c..1e1b2c8 100644
--- a/entities/wither_skeleton.json
+++ b/entities/wither_skeleton.json
@@ -10,8 +10,8 @@
},
"description": {
"identifier": "minecraft:wither_skeleton",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
@@ -29,7 +29,13 @@
"value": 20,
"max": 20
},
- "minecraft:equip_item": {},
+ "minecraft:equip_item": {
+ "excluded_items": [
+ {
+ "item": "minecraft:banner:15"
+ }
+ ]
+ },
"minecraft:collision_box": {
"width": 0.72,
"height": 2.01
@@ -57,6 +63,7 @@
"minecraft:jump.static": {},
"minecraft:can_climb": {},
"minecraft:shareables": {
+ "singular_pickup": true,
"items": [
{
"item": "minecraft:netherite_sword",
diff --git a/entities/wolf.json b/entities/wolf.json
index 917a4d9..35aa028 100644
--- a/entities/wolf.json
+++ b/entities/wolf.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:wolf",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/xp_bottle.json b/entities/xp_bottle.json
index 997f1d2..5ea07a8 100644
--- a/entities/xp_bottle.json
+++ b/entities/xp_bottle.json
@@ -18,7 +18,7 @@
"description": {
"identifier": "minecraft:xp_bottle",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/xp_orb.json b/entities/xp_orb.json
index 9268a0a..d8bc704 100644
--- a/entities/xp_orb.json
+++ b/entities/xp_orb.json
@@ -18,7 +18,7 @@
"description": {
"identifier": "minecraft:xp_orb",
"is_spawnable": false,
- "is_summonable": false,
+ "is_summonable": true,
"is_experimental": false
},
"components": {
diff --git a/entities/zoglin.json b/entities/zoglin.json
index fb0e9c6..851212d 100644
--- a/entities/zoglin.json
+++ b/entities/zoglin.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:zoglin",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/zombie.json b/entities/zombie.json
index 24ae3ff..fd3d295 100644
--- a/entities/zombie.json
+++ b/entities/zombie.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:zombie",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -125,7 +125,13 @@
"minecraft:type_family": {
"family": ["zombie", "undead", "monster", "mob"]
},
- "minecraft:equip_item": {},
+ "minecraft:equip_item": {
+ "excluded_items": [
+ {
+ "item": "minecraft:banner:15"
+ }
+ ]
+ },
"minecraft:collision_box": {
"width": 0.6,
"height": 1.9
@@ -396,6 +402,7 @@
"priority": 2
},
"minecraft:behavior.melee_attack": {
+ "can_spread_on_fire": true,
"priority": 3
},
"minecraft:behavior.stomp_turtle_egg": {
diff --git a/entities/zombie_horse.json b/entities/zombie_horse.json
index 240072e..9b81d46 100644
--- a/entities/zombie_horse.json
+++ b/entities/zombie_horse.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:zombie_horse",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/zombie_pigman.json b/entities/zombie_pigman.json
index 3ac712b..3ced3d5 100644
--- a/entities/zombie_pigman.json
+++ b/entities/zombie_pigman.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:zombie_pigman",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
diff --git a/entities/zombie_villager.json b/entities/zombie_villager.json
index 2bb007a..b21f076 100644
--- a/entities/zombie_villager.json
+++ b/entities/zombie_villager.json
@@ -3,8 +3,8 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:zombie_villager",
- "is_spawnable": false,
- "is_summonable": false,
+ "is_spawnable": true,
+ "is_summonable": true,
"is_experimental": false
},
"component_groups": {
@@ -218,7 +218,13 @@
"minecraft:loot": {
"table": "loot_tables/entities/zombie.json"
},
- "minecraft:equip_item": {},
+ "minecraft:equip_item": {
+ "excluded_items": [
+ {
+ "item": "minecraft:banner:15"
+ }
+ ]
+ },
"minecraft:collision_box": {
"width": 0.6,
"height": 1.9
@@ -484,6 +490,7 @@
"despawn_from_distance": {}
},
"minecraft:behavior.melee_attack": {
+ "can_spread_on_fire": true,
"priority": 6
},
"minecraft:behavior.equip_item": {
@@ -502,7 +509,7 @@
"max_dist": 3,
"goal_radius": 2,
"speed_multiplier": 1,
- "pickup_based_on_chance": true,
+ "pickup_based_on_chance": false,
"can_pickup_any_item": true,
"excluded_items": ["minecraft:glow_ink_sac"]
},
diff --git a/entities/zombie_villager_v2.json b/entities/zombie_villager_v2.json
index 388b6c2..80b4ca6 100644
--- a/entities/zombie_villager_v2.json
+++ b/entities/zombie_villager_v2.json
@@ -3,7 +3,7 @@
"minecraft:entity": {
"description": {
"identifier": "minecraft:zombie_villager_v2",
- "is_spawnable": false,
+ "is_spawnable": true,
"is_summonable": false,
"is_experimental": false
},
@@ -101,20 +101,12 @@
"value": 0
}
},
- "nitwit": {
- "minecraft:type_family": {
- "family": ["nitwit", "zombie", "zombie_villager", "undead", "monster", "mob"]
- },
- "minecraft:variant": {
- "value": 0
- }
- },
"farmer": {
"minecraft:type_family": {
"family": ["farmer", "zombie", "zombie_villager", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 1
}
},
"fisherman": {
@@ -122,7 +114,7 @@
"family": ["fisherman", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 2
}
},
"shepherd": {
@@ -130,7 +122,7 @@
"family": ["shepherd", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 3
}
},
"fletcher": {
@@ -138,7 +130,7 @@
"family": ["fletcher", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 4
}
},
"librarian": {
@@ -146,7 +138,7 @@
"family": ["librarian", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 5
}
},
"cartographer": {
@@ -154,7 +146,7 @@
"family": ["cartographer", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 6
}
},
"cleric": {
@@ -162,7 +154,7 @@
"family": ["cleric", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 7
}
},
"armorer": {
@@ -170,7 +162,7 @@
"family": ["armorer", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 8
}
},
"weaponsmith": {
@@ -178,7 +170,7 @@
"family": ["weaponsmith", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 9
}
},
"toolsmith": {
@@ -186,7 +178,7 @@
"family": ["toolsmith", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 10
}
},
"butcher": {
@@ -194,7 +186,7 @@
"family": ["butcher", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 11
}
},
"leatherworker": {
@@ -202,7 +194,7 @@
"family": ["leatherworker", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 12
}
},
"mason": {
@@ -210,7 +202,15 @@
"family": ["stone_mason", "zombie_villager", "zombie", "undead", "monster", "mob"]
},
"minecraft:variant": {
- "value": 0
+ "value": 13
+ }
+ },
+ "nitwit": {
+ "minecraft:type_family": {
+ "family": ["nitwit", "zombie", "zombie_villager", "undead", "monster", "mob"]
+ },
+ "minecraft:variant": {
+ "value": 14
}
},
"desert_villager": {
@@ -298,7 +298,13 @@
"minecraft:loot": {
"table": "loot_tables/entities/zombie.json"
},
- "minecraft:equip_item": {},
+ "minecraft:equip_item": {
+ "excluded_items": [
+ {
+ "item": "minecraft:banner:15"
+ }
+ ]
+ },
"minecraft:conditional_bandwidth_optimization": {},
"minecraft:collision_box": {
"width": 0.6,
@@ -565,6 +571,7 @@
"despawn_from_distance": {}
},
"minecraft:behavior.melee_attack": {
+ "can_spread_on_fire": true,
"priority": 6
},
"minecraft:behavior.equip_item": {
diff --git a/manifest.json b/manifest.json
index b9b4c6a..506d055 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,28 +1,28 @@
{
"format_version": 2,
"header": {
- "name": "Paradox日本語版!! 【Beta2】",
- "description": "Paradoxv3.3.4 日本語版です!!編集者:こう君",
- "uuid": "88eedb1b-eb23-477b-8599-78d97cbe374e",
- "version": [3, 3, 4],
- "min_engine_version": [1, 20, 10]
+ "name": "Paradox AntiCheat",
+ "description": "A utility to fight against malicious hackers on Bedrock Edition ~ v3.3.6",
+ "uuid": "54edfea5-ab51-47ca-b992-724e255b5560",
+ "version": [3, 3, 6],
+ "min_engine_version": [1, 20, 30]
},
"metadata": {
- "authors": ["MrDiamond64, Visual1mpact, Koukunn_"],
+ "authors": ["MrDiamond64, Visual1mpact"],
"license": "GPLv3",
"url": "https://github.com/Visual1mpact/Paradox_AntiCheat"
},
"modules": [
{
"type": "data",
- "uuid": "f312754d-6bed-493a-a391-4e99b4ccae01",
+ "uuid": "d8395127-6923-4fb7-93d2-977cecd463e0",
"version": [1, 0, 0]
},
{
"description": "Paradox AntiCheat Gametest Features",
"language": "javascript",
"type": "script",
- "uuid": "4ec6a34d-fa29-4477-9c88-7a44ed0163d8",
+ "uuid": "1326c87b-37f3-4543-9f0f-0d03893134e1",
"version": [0, 0, 1],
"entry": "scripts/paradox.js"
}
@@ -30,7 +30,7 @@
"dependencies": [
{
"module_name": "@minecraft/server",
- "version": "1.4.0-beta"
+ "version": "1.6.0-beta"
},
{
"module_name": "@minecraft/server-ui",
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
index 014e0f6..240eb83 100644
--- a/node_modules/.package-lock.json
+++ b/node_modules/.package-lock.json
@@ -1,57 +1,211 @@
{
- "name": "paradox-anticheat",
- "version": "3.3.4",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "node_modules/@minecraft/server": {
- "version": "1.4.0-beta.1.20.10-stable",
- "license": "MIT"
- },
- "node_modules/@minecraft/server-ui": {
- "version": "1.2.0-beta.1.20.10-stable",
- "license": "MIT",
- "dependencies": {
- "@minecraft/server": "^1.4.0-beta.1.20.10-stable"
- }
- },
- "node_modules/7zip-bin": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/i": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz",
- "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==",
- "engines": {
- "node": ">=0.4"
- }
- },
- "node_modules/prettier": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/typescript": {
- "version": "5.1.6",
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- }
+ "name": "paradox-anticheat",
+ "version": "3.3.6",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "node_modules/@minecraft/server": {
+ "version": "1.6.0-beta.1.20.30-stable",
+ "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.6.0-beta.1.20.30-stable.tgz",
+ "integrity": "sha512-hvRjxbI7cl7LVAv+wmw253O6IHFUVBEMvTl+FJLnUaQv9f/JkGBaVDKgyH0yR7G1SMgVLRoQIA5CM8IZWYDHew=="
+ },
+ "node_modules/@minecraft/server-ui": {
+ "version": "1.2.0-beta.1.20.30-stable",
+ "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.2.0-beta.1.20.30-stable.tgz",
+ "integrity": "sha512-0Sk3qFwOmMpihk/q5LTlpi4TfsuM6I/3PbMz1ijM/3zFP49CgXu9ZyDAYT6gQAOtnBIaQBM0Y7BFVrwtxDoMYw==",
+ "dependencies": {
+ "@minecraft/server": "^1.6.0-beta.1.20.30-stable"
+ }
+ },
+ "node_modules/7zip-bin": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz",
+ "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==",
+ "dev": true
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/ejs": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
+ "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jake": {
+ "version": "10.8.7",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz",
+ "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==",
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
+ "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
+ "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
}
+ }
}
diff --git a/node_modules/@minecraft/server-ui/README.md b/node_modules/@minecraft/server-ui/README.md
index d327864..b7b054a 100644
--- a/node_modules/@minecraft/server-ui/README.md
+++ b/node_modules/@minecraft/server-ui/README.md
@@ -12,4 +12,4 @@ The `@minecraft/server-ui` module contains types for expressing simple dialog-ba
See full documentation for this module here:
-https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/@minecraft/server-ui/@minecraft/server-ui
\ No newline at end of file
+https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server-ui/minecraft-server-ui
\ No newline at end of file
diff --git a/node_modules/@minecraft/server-ui/package.json b/node_modules/@minecraft/server-ui/package.json
index e9b5476..eb25242 100644
--- a/node_modules/@minecraft/server-ui/package.json
+++ b/node_modules/@minecraft/server-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@minecraft/server-ui",
- "version": "1.2.0-beta.1.20.10-stable",
+ "version": "1.2.0-beta.1.20.30-stable",
"description": "",
"contributors": [
{
@@ -13,7 +13,7 @@
}
],
"dependencies": {
- "@minecraft/server": "^1.4.0-beta.1.20.10-stable"
+ "@minecraft/server": "^1.6.0-beta.1.20.30-stable"
},
"license": "MIT"
}
\ No newline at end of file
diff --git a/node_modules/@minecraft/server/README.md b/node_modules/@minecraft/server/README.md
index bf8b4df..4dab112 100644
--- a/node_modules/@minecraft/server/README.md
+++ b/node_modules/@minecraft/server/README.md
@@ -4,4 +4,4 @@ Contains many types related to manipulating a Minecraft world, including entitie
See full documentation for this module here:
-https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/@minecraft/server/@minecraft/server
\ No newline at end of file
+https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/minecraft-server
\ No newline at end of file
diff --git a/node_modules/@minecraft/server/index.d.ts b/node_modules/@minecraft/server/index.d.ts
index 3935475..f271930 100644
--- a/node_modules/@minecraft/server/index.d.ts
+++ b/node_modules/@minecraft/server/index.d.ts
@@ -15,70 +15,128 @@
* ```json
* {
* "module_name": "@minecraft/server",
- * "version": "1.3.0"
+ * "version": "1.5.0"
* }
* ```
*
*/
/**
* @beta
+ * Description of the resulting intersection test on two
+ * BlockVolume objects
*/
export enum BlockVolumeIntersection {
+ /**
+ * @beta
+ * @remarks
+ * Volume B has no intersection points with Volume A
+ *
+ */
Disjoint = 0,
+ /**
+ * @beta
+ * @remarks
+ * Volume B resides completely inside Volume A
+ *
+ */
Contains = 1,
+ /**
+ * @beta
+ * @remarks
+ * Volume B partially intersects Volume A
+ *
+ */
Intersects = 2,
}
/**
* @beta
+ * The Action enum determines how the CompoundBlockVolume
+ * considers the associated CompoundBlockVolumeItem when
+ * performing inside/outside calculations.
*/
export enum CompoundBlockVolumeAction {
+ /**
+ * @beta
+ * @remarks
+ * The associated BlockVolume is considered a positive space,
+ * and any intersection tests are considered hits
+ *
+ */
Add = 0,
+ /**
+ * @beta
+ * @remarks
+ * The associated BlockVolume is considered a negative or void
+ * space, and any intersection tests are considered misses.
+ * Using the Subtract action, it is possible to `punch holes`
+ * in block volumes so that any intersection tests may pass
+ * through such spaces
+ *
+ */
Subtract = 1,
}
/**
* @beta
+ * An enum describing the relativity of the
+ * CompoundBlockVolumeItem, relative to the parent
+ * CompoundVolume.
+ */
+export enum CompoundBlockVolumePositionRelativity {
+ /**
+ * @beta
+ * @remarks
+ * The locations within the associated BlockVolume are relative
+ * to the CompoundBlockVolume to which they were added
+ *
+ */
+ Relative = 0,
+ /**
+ * @beta
+ * @remarks
+ * The locations within the associated BlockVolume are in
+ * absolute world space
+ *
+ */
+ Absolute = 1,
+}
+
+/**
* A general purpose relative direction enumeration.
*/
export enum Direction {
/**
- * @beta
* @remarks
* Returns the block beneath (y - 1) of this item.
*
*/
Down = 'Down',
/**
- * @beta
* @remarks
* Returns the block to the east (x + 1) of this item.
*
*/
East = 'East',
/**
- * @beta
* @remarks
* Returns the block to the east (z + 1) of this item.
*
*/
North = 'North',
/**
- * @beta
* @remarks
* Returns the block to the south (z - 1) of this item.
*
*/
South = 'South',
/**
- * @beta
* @remarks
* Returns the block above (y + 1) of this item.
*
*/
Up = 'Up',
/**
- * @beta
* @remarks
* Returns the block to the west (x - 1) of this item.
*
@@ -87,36 +145,186 @@ export enum Direction {
}
/**
- * @beta
+ * Specifies a mechanism for displaying scores on a scoreboard.
*/
export enum DisplaySlotId {
+ /**
+ * @remarks
+ * Displays the score below the player's name.
+ *
+ */
BelowName = 'BelowName',
+ /**
+ * @remarks
+ * Displays the score as a list on the pause screen.
+ *
+ */
List = 'List',
+ /**
+ * @remarks
+ * Displays the score on the side of the player's screen.
+ *
+ */
Sidebar = 'Sidebar',
}
/**
* @beta
+ * Specifies different colors for use as dye.
*/
export enum DyeColor {
+ /**
+ * @beta
+ * @remarks
+ * Black dye color.
+ *
+ */
Black = 'Black',
+ /**
+ * @beta
+ * @remarks
+ * Blue dye color.
+ *
+ */
Blue = 'Blue',
+ /**
+ * @beta
+ * @remarks
+ * Brown dye color.
+ *
+ */
Brown = 'Brown',
+ /**
+ * @beta
+ * @remarks
+ * Cyan dye color.
+ *
+ */
Cyan = 'Cyan',
+ /**
+ * @beta
+ * @remarks
+ * Gray dye color.
+ *
+ */
Gray = 'Gray',
+ /**
+ * @beta
+ * @remarks
+ * Green dye color.
+ *
+ */
Green = 'Green',
+ /**
+ * @beta
+ * @remarks
+ * Light blue dye color.
+ *
+ */
LightBlue = 'LightBlue',
+ /**
+ * @beta
+ * @remarks
+ * Lime dye color.
+ *
+ */
Lime = 'Lime',
+ /**
+ * @beta
+ * @remarks
+ * Magenta dye color.
+ *
+ */
Magenta = 'Magenta',
+ /**
+ * @beta
+ * @remarks
+ * Orange dye color.
+ *
+ */
Orange = 'Orange',
+ /**
+ * @beta
+ * @remarks
+ * Pink dye color.
+ *
+ */
Pink = 'Pink',
+ /**
+ * @beta
+ * @remarks
+ * Purple dye color.
+ *
+ */
Purple = 'Purple',
+ /**
+ * @beta
+ * @remarks
+ * Red dye color.
+ *
+ */
Red = 'Red',
+ /**
+ * @beta
+ * @remarks
+ * Silver dye color.
+ *
+ */
Silver = 'Silver',
+ /**
+ * @beta
+ * @remarks
+ * White dye color.
+ *
+ */
White = 'White',
+ /**
+ * @beta
+ * @remarks
+ * Yellow dye color.
+ *
+ */
Yellow = 'Yellow',
}
+/**
+ * @beta
+ */
+export enum EasingType {
+ InBack = 'InBack',
+ InBounce = 'InBounce',
+ InCirc = 'InCirc',
+ InCubic = 'InCubic',
+ InElastic = 'InElastic',
+ InExpo = 'InExpo',
+ InOutBack = 'InOutBack',
+ InOutBounce = 'InOutBounce',
+ InOutCirc = 'InOutCirc',
+ InOutCubic = 'InOutCubic',
+ InOutElastic = 'InOutElastic',
+ InOutExpo = 'InOutExpo',
+ InOutQuad = 'InOutQuad',
+ InOutQuart = 'InOutQuart',
+ InOutQuint = 'InOutQuint',
+ InOutSine = 'InOutSine',
+ InQuad = 'InQuad',
+ InQuart = 'InQuart',
+ InQuint = 'InQuint',
+ InSine = 'InSine',
+ Linear = 'Linear',
+ OutBack = 'OutBack',
+ OutBounce = 'OutBounce',
+ OutCirc = 'OutCirc',
+ OutCubic = 'OutCubic',
+ OutElastic = 'OutElastic',
+ OutExpo = 'OutExpo',
+ OutQuad = 'OutQuad',
+ OutQuart = 'OutQuart',
+ OutQuint = 'OutQuint',
+ OutSine = 'OutSine',
+ Spring = 'Spring',
+}
+
export enum EntityDamageCause {
anvil = 'anvil',
blockExplosion = 'blockExplosion',
@@ -151,6 +359,45 @@ export enum EntityDamageCause {
wither = 'wither',
}
+/**
+ * @beta
+ * An enumeration describing initialization cause of an entity.
+ */
+export enum EntityInitializationCause {
+ /**
+ * @beta
+ * @remarks
+ * Case when an entity is created as child of other entity or
+ * entities, e.g., cows making a cow or slimes making smaller
+ * slimes after dying.
+ *
+ */
+ Born = 'Born',
+ /**
+ * @beta
+ * @remarks
+ * Case when an entity is created by an event, e.g., Wandering
+ * trader spawning llamas.
+ *
+ */
+ Event = 'Event',
+ Loaded = 'Loaded',
+ /**
+ * @beta
+ * @remarks
+ * Case when an entity is naturally spawned in the world.
+ *
+ */
+ Spawned = 'Spawned',
+ /**
+ * @beta
+ * @remarks
+ * Case when an entity is transformed into another entity.
+ *
+ */
+ Transformed = 'Transformed',
+}
+
/**
* @beta
* Describes the lifetime state of an Entity. For example,
@@ -177,59 +424,52 @@ export enum EntityLifetimeState {
}
/**
- * @beta
* The equipment slot of the mob. This includes armor, offhand
* and mainhand slots.
*/
export enum EquipmentSlot {
/**
- * @beta
* @remarks
* The chest slot. This slot is used to hold items such as
* Chestplate or Elytra.
*
*/
- chest = 'chest',
+ Chest = 'Chest',
/**
- * @beta
* @remarks
* The feet slot. This slot is used to hold items such as
* Boots.
*
*/
- feet = 'feet',
+ Feet = 'Feet',
/**
- * @beta
* @remarks
* The head slot. This slot is used to hold items such as
* Helmets or Carved Pumpkins.
*
*/
- head = 'head',
+ Head = 'Head',
/**
- * @beta
* @remarks
* The legs slot. This slot is used to hold items such as
* Leggings.
*
*/
- legs = 'legs',
+ Legs = 'Legs',
/**
- * @beta
* @remarks
* The mainhand slot. For players, the mainhand slot refers to
* the currently active hotbar slot.
*
*/
- mainhand = 'mainhand',
+ Mainhand = 'Mainhand',
/**
- * @beta
* @remarks
* The offhand slot. This slot is used to hold items such as
* shields and maps.
*
*/
- offhand = 'offhand',
+ Offhand = 'Offhand',
}
/**
@@ -342,12 +582,27 @@ export enum ItemLockMode {
/**
* @beta
+ * Enum containing the different phases of the moon based on
+ * the current day.
+ * Obtain the current MoonPhase using world.getMoonPhase
+ */
+export enum MoonPhase {
+ FullMoon = 0,
+ WaningGibbous = 1,
+ FirstQuarter = 2,
+ WaningCrescent = 3,
+ NewMoon = 4,
+ WaxingCrescent = 5,
+ LastQuarter = 6,
+ WaxingGibbous = 7,
+}
+
+/**
* Used for specifying a sort order for how to display an
* objective and its list of participants.
*/
export enum ObjectiveSortOrder {
/**
- * @beta
* @remarks
* Objective participant list is displayed in ascending (e.g.,
* A-Z) order.
@@ -355,7 +610,6 @@ export enum ObjectiveSortOrder {
*/
Ascending = 0,
/**
- * @beta
* @remarks
* Objective participant list is displayed in descending (e.g.,
* Z-A) order.
@@ -365,19 +619,16 @@ export enum ObjectiveSortOrder {
}
/**
- * @beta
* Contains objectives and participants for the scoreboard.
*/
export enum ScoreboardIdentityType {
/**
- * @beta
* @remarks
* This scoreboard participant is tied to an entity.
*
*/
Entity = 'Entity',
/**
- * @beta
* @remarks
* This scoreboard participant is tied to a pseudo player
* entity - typically this is used to store scores as data or
@@ -386,7 +637,6 @@ export enum ScoreboardIdentityType {
*/
FakePlayer = 'FakePlayer',
/**
- * @beta
* @remarks
* This scoreboard participant is tied to a player.
*
@@ -395,12 +645,10 @@ export enum ScoreboardIdentityType {
}
/**
- * @beta
* Describes where the script event originated from.
*/
export enum ScriptEventSource {
/**
- * @beta
* @remarks
* The script event originated from a Block such as a Command
* Block.
@@ -408,7 +656,6 @@ export enum ScriptEventSource {
*/
Block = 'Block',
/**
- * @beta
* @remarks
* The script event originated from an Entity such as a Player,
* Command Block Minecart or Animation Controller.
@@ -416,14 +663,12 @@ export enum ScriptEventSource {
*/
Entity = 'Entity',
/**
- * @beta
* @remarks
* The script event originated from an NPC dialogue.
*
*/
NPCDialogue = 'NPCDialogue',
/**
- * @beta
* @remarks
* The script event originated from the server, such as from a
* runCommand API call or a dedicated server console.
@@ -454,7 +699,6 @@ export enum SignSide {
}
/**
- * @beta
* Provides numeric values for common periods in the Minecraft
* day.
*/
@@ -494,10 +738,30 @@ export enum WatchdogTerminateReason {
/**
* @beta
+ * Used to specify the type of weather condition within the
+ * world.
*/
export enum WeatherType {
+ /**
+ * @beta
+ * @remarks
+ * Specifies a clear weather condition.
+ *
+ */
Clear = 'Clear',
+ /**
+ * @beta
+ * @remarks
+ * Specifies a rain weather condition.
+ *
+ */
Rain = 'Rain',
+ /**
+ * @beta
+ * @remarks
+ * Specifies a rain and thunder weather condition.
+ *
+ */
Thunder = 'Thunder',
}
@@ -515,6 +779,48 @@ export class Block {
*
*/
readonly dimension: Dimension;
+ /**
+ * @beta
+ * @remarks
+ * Returns true if this block is an air block (i.e., empty
+ * space).
+ *
+ * @throws This property can throw when used.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
+ */
+ readonly isAir: boolean;
+ /**
+ * @beta
+ * @remarks
+ * Returns true if this block is a liquid block - (e.g., a
+ * water block and a lava block are liquid, while an air block
+ * and a stone block are not. Water logged blocks are not
+ * liquid blocks).
+ *
+ * @throws This property can throw when used.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
+ */
+ readonly isLiquid: boolean;
+ /**
+ * @beta
+ * @remarks
+ * Returns true if this block is solid and impassible - (e.g.,
+ * a cobblestone block and a diamond block are solid, while a
+ * ladder block and a fence block are not).
+ *
+ * @throws This property can throw when used.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
+ */
+ readonly isSolid: boolean;
/**
* @beta
* @remarks
@@ -537,6 +843,10 @@ export class Block {
* block.
*
* @throws This property can throw when used.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
readonly permutation: BlockPermutation;
/**
@@ -545,6 +855,10 @@ export class Block {
* Gets the type of block.
*
* @throws This property can throw when used.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
readonly 'type': BlockType;
/**
@@ -553,6 +867,10 @@ export class Block {
* Identifier of the type of block for this block.
*
* @throws This property can throw when used.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
readonly typeId: string;
/**
@@ -589,8 +907,14 @@ export class Block {
* Returns `true` if the block type or permutation can be
* placed on this block, else `false`.
* @throws This function can throw errors.
+ *
+ * {@link Error}
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
- canPlace(blockToPlace: BlockPermutation | BlockType, faceToPlaceOn?: Direction): boolean;
+ canPlace(blockToPlace: BlockPermutation | BlockType | string, faceToPlaceOn?: Direction): boolean;
/**
* @remarks
* Gets additional configuration properties (a component) for
@@ -604,6 +928,10 @@ export class Block {
* Returns the component object if it is present on the
* particular block.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
getComponent(componentName: string): BlockComponent | undefined;
/**
@@ -619,6 +947,10 @@ export class Block {
* Whether additional data facets of the item stack are
* included.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
getItemStack(amount?: number, withData?: boolean): ItemStack;
/**
@@ -630,6 +962,10 @@ export class Block {
* Returns undefined if redstone power is not applicable to
* this block.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
getRedstonePower(): number | undefined;
/**
@@ -640,6 +976,10 @@ export class Block {
* @returns
* The list of tags that the block has.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
getTags(): string[];
/**
@@ -654,7 +994,11 @@ export class Block {
* Returns `true` if the permutation of this block has the tag,
* else `false`.
* @throws This function can throw errors.
- * @example check_block_tags.js
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
+ * @example check_block_tags.js
* ```typescript
* import { world } from "@minecraft/server";
*
@@ -668,36 +1012,6 @@ export class Block {
*/
hasTag(tag: string): boolean;
/**
- * @beta
- * @remarks
- * Returns true if this block is an air block (i.e., empty
- * space).
- *
- * @throws This function can throw errors.
- */
- isAir(): boolean;
- /**
- * @beta
- * @remarks
- * Returns true if this block is a liquid block - (e.g., a
- * water block and a lava black are liquid, while an air block
- * and a stone block are not).
- *
- * @throws This function can throw errors.
- */
- isLiquid(): boolean;
- /**
- * @beta
- * @remarks
- * Returns true if this block is solid and impassible - (e.g.,
- * a cobblestone block and a diamond block are solid, while a
- * ladder block and a fence block are not).
- *
- * @throws This function can throw errors.
- */
- isSolid(): boolean;
- /**
- * @beta
* @remarks
* Returns true if this reference to a block is still valid
* (for example, if the block is unloaded, references to that
@@ -718,6 +1032,10 @@ export class Block {
* Permutation that contains a set of property states for the
* Block.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
setPermutation(permutation: BlockPermutation): void;
/**
@@ -731,8 +1049,14 @@ export class Block {
* Identifier of the type of block to apply - for example,
* minecraft:powered_repeater.
* @throws This function can throw errors.
+ *
+ * {@link Error}
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
- setType(blockType: BlockType): void;
+ setType(blockType: BlockType | string): void;
/**
* @beta
* @remarks
@@ -748,6 +1072,10 @@ export class Block {
* Returns `true` if the block permutation data was
* successfully set, else `false`.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
trySetPermutation(permutation: BlockPermutation): boolean;
}
@@ -791,39 +1119,6 @@ export class BlockAreaSize {
equals(other: BlockAreaSize): boolean;
}
-/**
- * @beta
- * Contains information regarding an event where a player
- * breaks a block.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class BlockBreakAfterEvent extends BlockEvent {
- private constructor();
- /**
- * @remarks
- * Returns permutation information about this block before it
- * was broken.
- *
- */
- readonly brokenBlockPermutation: BlockPermutation;
- /**
- * @remarks
- * Player that broke the block for this event.
- *
- */
- readonly player: Player;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to when a block is
- * broken.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class BlockBreakAfterEventSignal extends IBlockBreakAfterEventSignal {
- private constructor();
-}
-
/**
* Base type for components associated with blocks.
*/
@@ -886,9 +1181,27 @@ export class BlockExplodeAfterEvent extends BlockEvent {
* Manages callbacks that are connected to when an explosion
* occurs, as it impacts individual blocks.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class BlockExplodeAfterEventSignal extends IBlockExplodeAfterEventSignal {
+export class BlockExplodeAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when an explosion
+ * occurs, as it impacts individual blocks.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: BlockExplodeAfterEvent) => void): (arg: BlockExplodeAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when an explosion
+ * occurs, as it impacts individual blocks.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: BlockExplodeAfterEvent) => void): void;
}
/**
@@ -935,6 +1248,18 @@ export class BlockLiquidContainerComponent extends BlockComponent {
*
*/
fillLevel: number;
+ /**
+ * @remarks
+ * Returns true if this reference to a liquid container is
+ * still valid and contains the liquid of the type you have a
+ * reference for (for example, if the block is unloaded, no
+ * longer a liquid container or contains lava when you have a
+ * potion container component, isValidLiquid will not be true.)
+ *
+ * @returns
+ * True if this liquid container still exists, is valid and
+ * contains the expected liquid type.
+ */
isValidLiquid(): boolean;
}
@@ -1190,32 +1515,6 @@ export class BlockPistonComponent extends BlockComponent {
getAttachedBlocks(): Vector3[];
}
-/**
- * @beta
- * Contains information regarding an event where a player
- * places a block.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class BlockPlaceAfterEvent extends BlockEvent {
- private constructor();
- /**
- * @remarks
- * Player that placed the block for this event.
- *
- */
- readonly player: Player;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to when a block is
- * placed.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class BlockPlaceAfterEventSignal extends IBlockPlaceAfterEventSignal {
- private constructor();
-}
-
/**
* @beta
* Represents a fluid container block that currently contains a
@@ -1270,7 +1569,7 @@ export class BlockRecordPlayerComponent extends BlockComponent {
*
* @throws This function can throw errors.
*/
- setRecord(recordItemType: ItemType): void;
+ setRecord(recordItemType: ItemType | string): void;
}
/**
@@ -1417,6 +1716,9 @@ export class BlockStates {
* @remarks
* Retrieves a specific block state instance.
*
+ * @returns
+ * Returns the block state instance if it is found. If the
+ * block state instance is not found returns undefined.
*/
static get(stateName: string): BlockStateType;
/**
@@ -1472,6 +1774,33 @@ export class BlockType {
readonly id: string;
}
+/**
+ * @beta
+ * Contains a catalog of Minecraft Block Types that are
+ * available in this world.
+ */
+export class BlockTypes {
+ private constructor();
+ /**
+ * @remarks
+ * Returns a BlockType object for the specified identifier.
+ *
+ * @param typeName
+ * Identifier of the block type. Should follow a namespace:id
+ * pattern, such as minecraft:dirt.
+ * @returns
+ * BlockType object, or undefined if the block type is not
+ * available within this world.
+ */
+ static get(typeName: string): BlockType | undefined;
+ /**
+ * @remarks
+ * Returns a collection of all available block types.
+ *
+ */
+ static getAll(): BlockType[];
+}
+
/**
* @beta
* Block Volume Utils is a utility class that provides a number
@@ -1637,7 +1966,7 @@ export class BlockWaterContainerComponent extends BlockLiquidContainerComponent
* Color that is used as the base color for sign text.
* @throws This function can throw errors.
*/
- getCustomColor(): Color;
+ getCustomColor(): RGBA;
/**
* @remarks
* Sets a custom base color used for the sign text.
@@ -1646,7 +1975,7 @@ export class BlockWaterContainerComponent extends BlockLiquidContainerComponent
*
* @throws This function can throw errors.
*/
- setCustomColor(color: Color): void;
+ setCustomColor(color: RGBA): void;
}
/**
@@ -1802,6 +2131,60 @@ export class ButtonPushAfterEventSignal extends IButtonPushAfterEventSignal {
private constructor();
}
+/**
+ * @beta
+ * Contains methods relating to the active camera for the
+ * specified player.
+ */
+export class Camera {
+ private constructor();
+ /**
+ * @remarks
+ * Clears the active camera for the specified player. Causes
+ * the specified players to end any in-progress camera
+ * perspectives, including any eased camera motions, and return
+ * to their normal perspective.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ clear(): void;
+ /**
+ * @remarks
+ * Begins a camera fade transition. A fade transition is a
+ * full-screen color that fades-in, holds, and then fades-out.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param fadeCameraOptions
+ * Additional options around camera fade operations.
+ * @throws This function can throw errors.
+ */
+ fade(fadeCameraOptions?: CameraFadeOptions): void;
+ /**
+ * @remarks
+ * Sets the current active camera for the specified player.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param cameraPreset
+ * Identifier of a camera preset file defined within JSON.
+ * @param setOptions
+ * Additional options for the camera.
+ * @throws This function can throw errors.
+ */
+ setCamera(
+ cameraPreset: string,
+ setOptions?:
+ | ScriptCameraDefaultOptions
+ | ScriptCameraSetFacingOptions
+ | ScriptCameraSetLocationOptions
+ | ScriptCameraSetPosOptions
+ | ScriptCameraSetRotOptions,
+ ): void;
+}
+
/**
* @beta
* An event that fires as players enter chat messages.
@@ -1844,9 +2227,39 @@ export class ChatSendAfterEvent {
* Manages callbacks that are connected to chat messages being
* sent.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ChatSendAfterEventSignal extends IChatSendAfterEventSignal {
+export class ChatSendAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when new chat messages
+ * are sent.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @example custom_command.js
+ * ```typescript
+ * const chatCallback = World.beforeEvents.chatSend.subscribe((eventData) => {
+ * if (eventData.message.includes("cancel")) {
+ * // Cancel event if the message contains "cancel"
+ * eventData.canceled = true;
+ * } else {
+ * // Modify chat message being sent
+ * eventData.message = `Modified '${eventData.message}'`;
+ * }
+ * });
+ * ```
+ */
+ subscribe(callback: (arg: ChatSendAfterEvent) => void): (arg: ChatSendAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when new chat messages
+ * are sent.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: ChatSendAfterEvent) => void): void;
}
/**
@@ -1879,9 +2292,27 @@ export class ChatSendBeforeEvent extends ChatSendAfterEvent {
* Manages callbacks that are connected to an event that fires
* before chat messages are sent.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ChatSendBeforeEventSignal extends IChatSendBeforeEventSignal {
+export class ChatSendBeforeEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called before new chat messages
+ * are sent.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: ChatSendBeforeEvent) => void): (arg: ChatSendBeforeEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called before new chat
+ * messages are sent.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: ChatSendBeforeEvent) => void): void;
}
/**
@@ -1911,7 +2342,6 @@ export class Component {
*/
readonly typeId: string;
/**
- * @beta
* @remarks
* Returns whether the component is valid. A component is
* considered valid if its owner is valid, in addition to any
@@ -1941,7 +2371,13 @@ export class Component {
* defining a further single 'void' cube inside the larger one.
* Similarly, the Compound Block Volume can represent irregular
* shaped volumes (e.g. a tree consists of a trunk and lots of
- * leaf cubes which are not necessarily contiguously placed)
+ * leaf cubes which are not necessarily contiguously placed).
+ * Each of the volumes added to the CompoundBlockVolume are (by
+ * default) relative to the origin set (either at construction
+ * or via one of the set functions).
+ * However, it is also possible to push volumes to the compound
+ * collection which are absolute in nature and are not affected
+ * by origin changes.
*/
export class CompoundBlockVolume {
/**
@@ -1958,6 +2394,16 @@ export class CompoundBlockVolume {
*
*/
readonly volumeCount: number;
+ /**
+ * @remarks
+ * Create a CompoundBlockVolume object
+ *
+ * @param origin
+ * An optional world space origin on which to center the
+ * compound volume.
+ * If not specified, the origin is set to (0,0,0)
+ */
+ constructor(origin?: Vector3);
/**
* @remarks
* Clear the contents of the volume stack
@@ -1979,7 +2425,9 @@ export class CompoundBlockVolume {
* subtractive volume to the same location, then the iterator
* will step over the initial volume because it is considered
* negative space)
- *
+ * Note that the Block Locations returned by this iterator are
+ * in absolute world space (irrespective of whether the
+ * compound volume items pushed are absolute or relative)
*
* This function can't be called in read-only mode.
*
@@ -1989,6 +2437,9 @@ export class CompoundBlockVolume {
* @remarks
* Get the largest bounding box that represents a container for
* all of the volumes on the stack
+ * Note that the bounding box returned is represented in
+ * absolute world space (irrespective of whether the compound
+ * volume items pushed are absolute or relative)
*
* This function can't be called in read-only mode.
*
@@ -1997,7 +2448,10 @@ export class CompoundBlockVolume {
/**
* @remarks
* Get the max block location of the outermost bounding
- * rectangle which represents the volumes on the stack
+ * rectangle which represents the volumes on the stack.
+ * Note that the max location returned is in absolute world
+ * space (irrespective of whether the compound volume items
+ * pushed are absolute or relative)
*
* This function can't be called in read-only mode.
*
@@ -2006,7 +2460,10 @@ export class CompoundBlockVolume {
/**
* @remarks
* Get the min block location of the outermost bounding
- * rectangle which represents the volumes on the stack
+ * rectangle which represents the volumes on the stack.
+ * Note that the min location returned is in absolute world
+ * space (irrespective of whether the compound volume items
+ * pushed are absolute or relative)
*
* This function can't be called in read-only mode.
*
@@ -2014,8 +2471,26 @@ export class CompoundBlockVolume {
getMin(): Vector3;
/**
* @remarks
- * Return a boolean representing whether or not a given block
- * location is inside a positive block volume.
+ * Fetch the origin in world space of the compound volume
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ getOrigin(): Vector3;
+ /**
+ * @remarks
+ * Return a boolean which signals if there are any volume items
+ * pushed to the volume
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ isEmpty(): boolean;
+ /**
+ * @remarks
+ * Return a boolean representing whether or not a given
+ * absolute world space block location is inside a positive
+ * block volume.
* E.g. if the stack contains a large cube followed by a
* slightly smaller negative cube, and the test location is
* within the negative cube - the function will return false
@@ -2025,21 +2500,29 @@ export class CompoundBlockVolume {
*
* This function can't be called in read-only mode.
*
- * @param delta
- * block location to test
*/
- isInside(delta: Vector3): boolean;
+ isInside(worldLocation: Vector3): boolean;
/**
* @remarks
* Inspect the last entry pushed to the volume stack without
- * affecting the stack contents
+ * affecting the stack contents.
*
* This function can't be called in read-only mode.
*
+ * @param forceRelativity
+ * Determine whether the function returns a
+ * CompoundBlockVolumeItem which is forced into either relative
+ * or absolute coordinate system.
+ * `true` = force returned item to be relative to volume origin
+ * `false` = force returned item to be absolute world space
+ * location
+ *
+ * If no flag is specified, the item returned retains whatever
+ * relativity it had when it was pushed
* @returns
* Returns undefined if the stack is empty
*/
- peekLastVolume(): CompoundBlockVolumeItem | undefined;
+ peekLastVolume(forceRelativity?: CompoundBlockVolumePositionRelativity): CompoundBlockVolumeItem | undefined;
/**
* @remarks
* Remove the last entry from the volume stack. This will
@@ -2053,7 +2536,10 @@ export class CompoundBlockVolume {
* @remarks
* Push a volume item to the stack. The volume item contains
* an 'action' parameter which determines whether this volume
- * is a positive or negative space
+ * is a positive or negative space.
+ * The item also contains a `locationRelativity` which
+ * determines whether it is relative or absolute to the
+ * compound volume origin
*
* This function can't be called in read-only mode.
*
@@ -2076,16 +2562,47 @@ export class CompoundBlockVolume {
replaceOrAddLastVolume(item: CompoundBlockVolumeItem): boolean;
/**
* @remarks
- * Move the root block location of the volume by a given
- * amount. This effectively adds the specified delta to the
- * block location of all of the volumes in the stack
+ * Set the origin of the compound volume to an absolute world
+ * space location
*
* This function can't be called in read-only mode.
*
- * @param delta
- * Amount to move
+ * @param preserveExistingVolumes
+ * This optional boolean flag determines whether the relative
+ * `CompoundBlockVolumeItem`'s are frozen in place, or are
+ * affected by the new origin.
+ * Imagine a scenario where you have a series of relative
+ * locations around an origin which make up a sphere; all of
+ * these locations are in the range of -2 to 2.
+ * Push each of these locations to the compound volume as
+ * relative items.
+ * Now, move the origin and all of the locations representing
+ * the sphere move accordingly.
+ * However, let's say you want to add a 2nd sphere next to the
+ * 1st.
+ * In this case, set the new origin a few locations over, but
+ * 'preserveExistingVolumes' = true.
+ * This will set a new origin, but the existing sphere
+ * locations will remain relative to the original origin.
+ * Now, you can push the relative sphere locations again (this
+ * time they will be relative to the new origin) - resulting in
+ * 2 spheres next to each other.
+ */
+ setOrigin(position: Vector3, preserveExistingVolumes?: boolean): void;
+ /**
+ * @remarks
+ * Similar to {@link
+ * @minecraft-server/CompoundBlockVolume.setOrigin} - this
+ * function will translate the origin by a given delta to a new
+ * position
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param preserveExistingVolumes
+ * See the description for the arguments to {@link
+ * @minecraft-server/CompoundBlockVolume.setOrigin}
*/
- translate(delta: Vector3): void;
+ translateOrigin(delta: Vector3, preserveExistingVolumes?: boolean): void;
}
/**
@@ -2174,7 +2691,6 @@ export class Container {
*/
getSlot(slot: number): ContainerSlot;
/**
- * @beta
* @remarks
* Returns whether a container object (or the entity or block
* that this container is associated with) is still available
@@ -2534,9 +3050,30 @@ export class DataDrivenEntityTriggerAfterEvent {
* driven entity event - for example, the
* minecraft:ageable_grow_up event on a chicken.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class DataDrivenEntityTriggerAfterEventSignal extends IDataDrivenEntityTriggerAfterEventSignal {
+export class DataDrivenEntityTriggerAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called after a data driven
+ * entity event is triggered.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(
+ callback: (arg: DataDrivenEntityTriggerAfterEvent) => void,
+ options?: EntityDataDrivenTriggerEventOptions,
+ ): (arg: DataDrivenEntityTriggerAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback that will be called after a data driven
+ * entity event is triggered.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: DataDrivenEntityTriggerAfterEvent) => void): void;
}
/**
@@ -2589,24 +3126,45 @@ export class DataDrivenEntityTriggerBeforeEvent {
* entity event - for example, the minecraft:ageable_grow_up
* event on a chicken.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class DataDrivenEntityTriggerBeforeEventSignal extends IDataDrivenEntityTriggerBeforeEventSignal {
+export class DataDrivenEntityTriggerBeforeEventSignal {
private constructor();
-}
-
-/**
- * @beta
- * Contains a set of updates to the component definition state
- * of an entity.
- */
-export class DefinitionModifier {
/**
* @remarks
- * Retrieves the list of component groups that will be added
- * via this definition modification.
+ * Adds a callback that will be called before a data driven
+ * entity event is triggered.
+ *
+ * This function can't be called in read-only mode.
*
*/
- getComponentGroupsToAdd(): string[];
+ subscribe(
+ callback: (arg: DataDrivenEntityTriggerBeforeEvent) => void,
+ options?: EntityDataDrivenTriggerEventOptions,
+ ): (arg: DataDrivenEntityTriggerBeforeEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback that will be called before a data driven
+ * entity event is triggered.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: DataDrivenEntityTriggerBeforeEvent) => void): void;
+}
+
+/**
+ * @beta
+ * Contains a set of updates to the component definition state
+ * of an entity.
+ */
+export class DefinitionModifier {
+ /**
+ * @remarks
+ * Retrieves the list of component groups that will be added
+ * via this definition modification.
+ *
+ */
+ getComponentGroupsToAdd(): string[];
/**
* @remarks
* Retrieves the list of component groups that will be removed
@@ -2650,11 +3208,18 @@ export class DefinitionModifier {
*/
export class Dimension {
private constructor();
+ /**
+ * @beta
+ * @remarks
+ * Height range of the dimension.
+ *
+ * @throws This property can throw when used.
+ */
+ readonly heightRange: NumberRange;
/**
* @remarks
* Identifier of the dimension.
*
- * @throws This property can throw when used.
*/
readonly id: string;
/**
@@ -2671,6 +3236,10 @@ export class Dimension {
* @param explosionOptions
* Additional configurable options for the explosion.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
* @example createExplosion.ts
* ```typescript
* const overworld = mc.world.getDimension("overworld");
@@ -2728,7 +3297,12 @@ export class Dimension {
* Returns number of blocks placed.
* @throws This function can throw errors.
*/
- fillBlocks(begin: Vector3, end: Vector3, block: BlockPermutation | BlockType, options?: BlockFillOptions): number;
+ fillBlocks(
+ begin: Vector3,
+ end: Vector3,
+ block: BlockPermutation | BlockType | string,
+ options?: BlockFillOptions,
+ ): number;
/**
* @remarks
* Returns a block instance at the given location.
@@ -2747,10 +3321,13 @@ export class Dimension {
* trying to interact with a position outside of dimension
* height range
*
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
getBlock(location: Vector3): Block | undefined;
/**
- * @beta
* @remarks
* Gets the first block that intersects with a vector emanating
* from a location.
@@ -2842,7 +3419,6 @@ export class Dimension {
*/
getEntitiesAtBlockLocation(location: Vector3): Entity[];
/**
- * @beta
* @remarks
* Gets entities that intersect with a specified vector
* emanating from a location.
@@ -2883,6 +3459,8 @@ export class Dimension {
* command. Note that in many cases, if the command does not
* operate (e.g., a target selector found no matches), this
* method will not throw an exception.
+ *
+ * {@link CommandError}
*/
runCommand(commandString: string): CommandResult;
/**
@@ -2909,14 +3487,19 @@ export class Dimension {
/**
* @beta
* @remarks
- * Sets the current weather within the dimesion
+ * Sets the current weather within the dimension
*
* This function can't be called in read-only mode.
*
* @param weatherType
- * Set of weather to apply.
+ * Set the type of weather to apply.
+ * @param duration
+ * Sets the duration of the weather (in ticks). If no duration
+ * is provided, the duration will be set to a random duration
+ * between 300 and 900 seconds.
+ * @throws This function can throw errors.
*/
- setWeather(weatherType: WeatherType): void;
+ setWeather(weatherType: WeatherType, duration?: number): void;
/**
* @remarks
* Creates a new entity (e.g., a mob) at the specified
@@ -2932,6 +3515,10 @@ export class Dimension {
* @returns
* Newly created entity at the specified location.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
* @example createOldHorse.ts
* ```typescript
* const overworld = mc.world.getDimension("overworld");
@@ -2985,6 +3572,10 @@ export class Dimension {
* @returns
* Newly created item stack entity at the specified location.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
* @example itemStacks.ts
* ```typescript
* const overworld = mc.world.getDimension('overworld');
@@ -3016,7 +3607,6 @@ export class Dimension {
*/
spawnItem(itemStack: ItemStack, location: Vector3): Entity;
/**
- * @beta
* @remarks
* Creates a new particle emitter at a specified location in
* the world.
@@ -3028,11 +3618,13 @@ export class Dimension {
* @param location
* The location at which to create the particle emitter.
* @param molangVariables
- * A set of additional, customizable variables that can be
- * adjusted for this particle emitter.
- * @returns
- * Newly created entity at the specified location.
+ * A set of optional, customizable variables that can be
+ * adjusted for this particle.
* @throws This function can throw errors.
+ *
+ * {@link LocationInUnloadedChunkError}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
* @example spawnParticle.ts
* ```typescript
* for (let i = 0; i < 100; i++) {
@@ -3049,7 +3641,41 @@ export class Dimension {
* }
* ```
*/
- spawnParticle(effectName: string, location: Vector3, molangVariables: MolangVariableMap): void;
+ spawnParticle(effectName: string, location: Vector3, molangVariables?: MolangVariableMap): void;
+}
+
+/**
+ * @beta
+ * Represents a type of dimension.
+ */
+export class DimensionType {
+ private constructor();
+ /**
+ * @remarks
+ * Identifier of the dimension type.
+ *
+ */
+ readonly typeId: string;
+}
+
+/**
+ * @beta
+ * Used for accessing all available dimension types.
+ */
+export class DimensionTypes {
+ private constructor();
+ /**
+ * @remarks
+ * Retrieves a dimension type using a string-based identifier.
+ *
+ */
+ static get(dimensionTypeId: string): DimensionType | undefined;
+ /**
+ * @remarks
+ * Retrieves an array of all dimension types.
+ *
+ */
+ static getAll(): DimensionType[];
}
/**
@@ -3080,6 +3706,17 @@ export class DynamicPropertiesDefinition {
* @throws This function can throw errors.
*/
defineString(identifier: string, maxLength: number, defaultValue?: string): DynamicPropertiesDefinition;
+ /**
+ * @remarks
+ * Defines a new Vector3-based dynamic property.
+ *
+ * @param identifier
+ * Identifier of the Vector3 property.
+ * @param defaultValue
+ * Optional default starting Vector for this property.
+ * @throws This function can throw errors.
+ */
+ defineVector(identifier: string, defaultValue?: Vector3): DynamicPropertiesDefinition;
}
/**
@@ -3168,9 +3805,30 @@ export class EffectAddAfterEvent {
* Manages callbacks that are connected to when an effect is
* added to an entity.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class EffectAddAfterEventSignal extends IEffectAddAfterEventSignal {
+export class EffectAddAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when an effect is added
+ * to an entity.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(
+ callback: (arg: EffectAddAfterEvent) => void,
+ options?: EntityEventOptions,
+ ): (arg: EffectAddAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when an effect is added
+ * to an entity.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EffectAddAfterEvent) => void): void;
}
/**
@@ -3435,7 +4093,6 @@ export class Entity {
* property is accessible even if {@link Entity.isValid} is
* false.
*
- * @throws This property can throw when used.
*/
readonly id: string;
/**
@@ -3473,6 +4130,14 @@ export class Entity {
* @throws This property can throw when used.
*/
readonly isOnGround: boolean;
+ /**
+ * @beta
+ * @remarks
+ * If true, the entity is currently sleeping.
+ *
+ * @throws This property can throw when used.
+ */
+ readonly isSleeping: boolean;
/**
* @beta
* @remarks
@@ -3528,11 +4193,10 @@ export class Entity {
*/
nameTag: string;
/**
- * @beta
* @remarks
* Returns a scoreboard identity that represents this entity.
+ * Will remain valid when the entity is killed.
*
- * @throws This property can throw when used.
*/
readonly scoreboardIdentity?: ScoreboardIdentity;
/**
@@ -3546,11 +4210,10 @@ export class Entity {
readonly target: Entity;
/**
* @remarks
- * Unique identifier of the type of the entity - for example,
+ * Identifier of the type of the entity - for example,
* 'minecraft:skeleton'. This property is accessible even if
* {@link Entity.isValid} is false.
*
- * @throws This property can throw when used.
*/
readonly typeId: string;
/**
@@ -3797,7 +4460,6 @@ export class Entity {
*/
extinguishFire(useEffects?: boolean): boolean;
/**
- * @beta
* @remarks
* Returns the first intersecting block from the direction that
* this entity is looking at.
@@ -3847,7 +4509,7 @@ export class Entity {
* property has not been set.
* @throws This function can throw errors.
*/
- getDynamicProperty(identifier: string): boolean | number | string | undefined;
+ getDynamicProperty(identifier: string): boolean | number | string | Vector3 | undefined;
/**
* @remarks
* Returns the effect for the specified EffectType on the
@@ -3873,7 +4535,6 @@ export class Entity {
*/
getEffects(): Effect[];
/**
- * @beta
* @remarks
* Gets the entities that this entity is looking at by
* performing a ray cast from the view of this entity.
@@ -3900,10 +4561,29 @@ export class Entity {
/**
* @beta
* @remarks
- * Returns the current rotation component of this entity.
+ * Gets an entity Property value. If the property was set using
+ * the setProperty function within the same tick, the updated
+ * value will not be reflected until the subsequent tick.
*
+ * @param identifier
+ * The entity Property identifier.
* @returns
+ * Returns the current property value. For enum properties, a
+ * string is returned. For float and int properties, a number
+ * is returned. For undefined properties, undefined is
+ * returned.
+ * @throws
+ * Throws if the entity is invalid.
+ */
+ getProperty(identifier: string): boolean | number | string | undefined;
+ /**
+ * @beta
+ * @remarks
* Returns the current rotation component of this entity.
+ *
+ * @returns
+ * Returns a Vec2 containing the rotation of this entity (in
+ * degrees).
* @throws This function can throw errors.
*/
getRotation(): Vector2;
@@ -3970,7 +4650,6 @@ export class Entity {
*/
hasTag(tag: string): boolean;
/**
- * @beta
* @remarks
* Returns whether the entity can be manipulated by script. A
* Player is considered valid when it's EntityLifetimeState is
@@ -4026,6 +4705,18 @@ export class Entity {
* @throws This function can throw errors.
*/
playAnimation(animationName: string, options?: PlayAnimationOptions): void;
+ /**
+ * @beta
+ * @remarks
+ * Immediately removes the entity from the world. The removed
+ * entity will not perform a death animation or drop loot upon
+ * removal.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ remove(): void;
/**
* @beta
* @remarks
@@ -4066,6 +4757,26 @@ export class Entity {
* @throws This function can throw errors.
*/
removeTag(tag: string): boolean;
+ /**
+ * @beta
+ * @remarks
+ * Resets an Entity Property back to its default value, as
+ * specified in the Entity's definition. This property change
+ * is not applied until the next tick.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param identifier
+ * The Entity Property identifier.
+ * @returns
+ * Returns the default property value. For enum properties, a
+ * string is returned. For float and int properties, a number
+ * is returned. For undefined properties, undefined is
+ * returned.
+ * @throws
+ * Throws if the entity is invalid.
+ */
+ resetProperty(identifier: string): boolean | number | string;
/**
* @remarks
* Runs a synchronous command on the entity.
@@ -4079,6 +4790,10 @@ export class Entity {
* A command result containing whether the command was
* successful.
* @throws This function can throw errors.
+ *
+ * {@link CommandError}
+ *
+ * {@link Error}
*/
runCommand(commandString: string): CommandResult;
/**
@@ -4107,7 +4822,7 @@ export class Entity {
* Data value of the property to set.
* @throws This function can throw errors.
*/
- setDynamicProperty(identifier: string, value: boolean | number | string): void;
+ setDynamicProperty(identifier: string, value: boolean | number | string | Vector3): void;
/**
* @beta
* @remarks
@@ -4157,6 +4872,30 @@ export class Entity {
* ```
*/
setOnFire(seconds: number, useEffects?: boolean): boolean;
+ /**
+ * @beta
+ * @remarks
+ * Sets an Entity Property to the provided value. This property
+ * change is not applied until the next tick.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param identifier
+ * The Entity Property identifier.
+ * @param value
+ * The property value. The provided type must be compatible
+ * with the type specified in the entity's definition.
+ * @throws
+ * Throws if the entity is invalid.
+ * Throws if an invalid identifier is provided.
+ * Throws if the provided value type does not match the
+ * property type.
+ * Throws if the provided value is outside the expected range
+ * (int, float properties).
+ * Throws if the provided string value does not match the set
+ * of accepted enum values (enum properties
+ */
+ setProperty(identifier: string, value: boolean | number | string): void;
/**
* @beta
* @remarks
@@ -4165,9 +4904,9 @@ export class Entity {
* This function can't be called in read-only mode.
*
* @param rotation
- * The x and y rotation of the entity. For most mobs, the x
- * rotation controls the head tilt and the y rotation controls
- * the body rotation.
+ * The x and y rotation of the entity (in degrees). For most
+ * mobs, the x rotation controls the head tilt and the y
+ * rotation controls the body rotation.
* @throws This function can throw errors.
*/
setRotation(rotation: Vector2): void;
@@ -4204,7 +4943,6 @@ export class Entity {
*/
teleport(location: Vector3, teleportOptions?: TeleportOptions): void;
/**
- * @beta
* @remarks
* Triggers an entity type event. For every entity, a number of
* events are defined in an entities' definition for key entity
@@ -4216,7 +4954,9 @@ export class Entity {
* @param eventName
* Name of the entity type event to trigger. If a namespace is
* not specified, minecraft: is assumed.
- * @throws This function can throw errors.
+ * @throws
+ * If the event is not defined in the definition of the entity,
+ * an error will be thrown.
* @example triggerEvent.ts
* ```typescript
* const creeper = overworld.spawnEntity("minecraft:creeper", targetLocation);
@@ -4401,6 +5141,12 @@ export class EntityAttributeComponent extends EntityComponent {
// @ts-ignore Class inheritance allowed for native defined classes
export class EntityBaseMovementComponent extends EntityComponent {
private constructor();
+ /**
+ * @remarks
+ * Maximum turn rate for this movement modality of the mob.
+ *
+ * @throws This property can throw when used.
+ */
readonly maxTurn: number;
}
@@ -4587,7 +5333,6 @@ export class EntityDefinitionFeedItem {
}
/**
- * @beta
* Contains data related to the death of an entity in the game.
*/
export class EntityDieAfterEvent {
@@ -4608,22 +5353,50 @@ export class EntityDieAfterEvent {
}
/**
- * @beta
+ * Supports registering for an event that fires after an entity
+ * has died.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class EntityDieAfterEventSignal extends IEntityDieAfterEventSignal {
+export class EntityDieAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Subscribes to an event that fires when an entity dies.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param callback
+ * Function to call when an entity dies.
+ * @param options
+ * Additional filtering options for when the subscription
+ * fires.
+ * @returns
+ * Returns the closure that can be used in future downstream
+ * calls to unsubscribe.
+ */
+ subscribe(
+ callback: (arg: EntityDieAfterEvent) => void,
+ options?: EntityEventOptions,
+ ): (arg: EntityDieAfterEvent) => void;
+ /**
+ * @remarks
+ * Stops this event from calling your function when an entity
+ * dies.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EntityDieAfterEvent) => void): void;
}
/**
- * @beta
* Provides access to a mob's equipment slots. This component
* exists for all mob entities.
*/
// @ts-ignore Class inheritance allowed for native defined classes
-export class EntityEquipmentInventoryComponent extends EntityComponent {
+export class EntityEquippableComponent extends EntityComponent {
private constructor();
- static readonly componentId = 'minecraft:equipment_inventory';
+ static readonly componentId = 'minecraft:equippable';
/**
* @remarks
* Gets the equipped item for the given EquipmentSlot.
@@ -4639,6 +5412,7 @@ export class EntityEquipmentInventoryComponent extends EntityComponent {
*/
getEquipment(equipmentSlot: EquipmentSlot): ItemStack | undefined;
/**
+ * @beta
* @remarks
* Gets the ContainerSlot corresponding to the given
* EquipmentSlot.
@@ -4665,7 +5439,7 @@ export class EntityEquipmentInventoryComponent extends EntityComponent {
* The item to equip. If undefined, clears the slot.
* @throws This function can throw errors.
*/
- setEquipment(equipmentSlot: EquipmentSlot, itemStack?: ItemStack): void;
+ setEquipment(equipmentSlot: EquipmentSlot, itemStack?: ItemStack): boolean;
}
/**
@@ -4696,6 +5470,8 @@ export class EntityFlyingSpeedComponent extends EntityComponent {
private constructor();
/**
* @remarks
+ * Current value of the flying speed of the associated entity.
+ *
* This property can't be edited in read-only mode.
*
*/
@@ -4711,6 +5487,9 @@ export class EntityFrictionModifierComponent extends EntityComponent {
private constructor();
/**
* @remarks
+ * Current value of the friction modifier of the associated
+ * entity.
+ *
* This property can't be edited in read-only mode.
*
*/
@@ -4727,7 +5506,9 @@ export class EntityGroundOffsetComponent extends EntityComponent {
private constructor();
/**
* @remarks
- * Value of this particular ground offset.
+ * Value of this particular ground offset. Note that this value
+ * is effectively read only; setting the ground offset value
+ * will not have an impact on the related entity.
*
* This property can't be edited in read-only mode.
*
@@ -4744,6 +5525,10 @@ export class EntityHealableComponent extends EntityComponent {
private constructor();
/**
* @beta
+ * @remarks
+ * A set of filters that healable items might be associated
+ * with.
+ *
* @throws This property can throw when used.
*/
readonly filters: FilterGroup;
@@ -4768,7 +5553,6 @@ export class EntityHealableComponent extends EntityComponent {
}
/**
- * @beta
* Contains information related to an entity when its health
* changes. Warning: don't change the health of an entity in
* this event, or it will cause an infinite loop!
@@ -4796,13 +5580,33 @@ export class EntityHealthChangedAfterEvent {
}
/**
- * @beta
* Manages callbacks that are connected to when the health of
* an entity changes.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class EntityHealthChangedAfterEventSignal extends IEntityHealthChangedAfterEventSignal {
+export class EntityHealthChangedAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when the health of an
+ * entity changes.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(
+ callback: (arg: EntityHealthChangedAfterEvent) => void,
+ options?: EntityEventOptions,
+ ): (arg: EntityHealthChangedAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when the health of an
+ * entity changes.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EntityHealthChangedAfterEvent) => void): void;
}
/**
@@ -4815,11 +5619,15 @@ export class EntityHealthComponent extends EntityAttributeComponent {
}
/**
- * @beta
* Contains information related to an entity hitting a block.
*/
export class EntityHitBlockAfterEvent {
private constructor();
+ /**
+ * @remarks
+ * Face of the block that was hit.
+ *
+ */
readonly blockFace: Direction;
/**
* @remarks
@@ -4836,17 +5644,36 @@ export class EntityHitBlockAfterEvent {
}
/**
- * @beta
* Manages callbacks that are connected to when an entity hits
* a block.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class EntityHitBlockAfterEventSignal extends IEntityHitBlockAfterEventSignal {
+export class EntityHitBlockAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when an entity hits a
+ * block.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(
+ callback: (arg: EntityHitBlockAfterEvent) => void,
+ options?: EntityEventOptions,
+ ): (arg: EntityHitBlockAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when an entity hits a
+ * block.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EntityHitBlockAfterEvent) => void): void;
}
/**
- * @beta
* Contains information related to an entity hitting (melee
* attacking) another entity.
*/
@@ -4867,27 +5694,46 @@ export class EntityHitEntityAfterEvent {
}
/**
- * @beta
* Manages callbacks that are connected to when an entity makes
* a melee attack on another entity.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class EntityHitEntityAfterEventSignal extends IEntityHitEntityAfterEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * Contains information related to an entity getting hurt.
- */
-export class EntityHurtAfterEvent {
+export class EntityHitEntityAfterEventSignal {
private constructor();
/**
* @remarks
- * Describes the amount of damage caused.
+ * Adds a callback that will be called when an entity hits
+ * another entity.
+ *
+ * This function can't be called in read-only mode.
*
*/
- readonly damage: number;
+ subscribe(
+ callback: (arg: EntityHitEntityAfterEvent) => void,
+ options?: EntityEventOptions,
+ ): (arg: EntityHitEntityAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when an entity makes a
+ * melee attack on another entity.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EntityHitEntityAfterEvent) => void): void;
+}
+
+/**
+ * Contains information related to an entity getting hurt.
+ */
+export class EntityHurtAfterEvent {
+ private constructor();
+ /**
+ * @remarks
+ * Describes the amount of damage caused.
+ *
+ */
+ readonly damage: number;
/**
* @remarks
* Source information on the entity that may have applied this
@@ -4904,13 +5750,31 @@ export class EntityHurtAfterEvent {
}
/**
- * @beta
* Manages callbacks that are connected to when an entity is
* hurt.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class EntityHurtAfterEventSignal extends IEntityHurtAfterEventSignal {
+export class EntityHurtAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when an entity is hurt.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(
+ callback: (arg: EntityHurtAfterEvent) => void,
+ options?: EntityEventOptions,
+ ): (arg: EntityHurtAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when an entity is hurt.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EntityHurtAfterEvent) => void): void;
}
/**
@@ -5199,6 +6063,57 @@ export class EntityLeashableComponent extends EntityComponent {
unleash(): void;
}
+/**
+ * @beta
+ * Contains data related to an entity loaded within the world.
+ * This could happen when an unloaded chunk is reloaded, or
+ * when an entity changes dimensions.
+ */
+export class EntityLoadAfterEvent {
+ private constructor();
+ /**
+ * @remarks
+ * Entity that was loaded.
+ *
+ * This property can't be edited in read-only mode.
+ *
+ */
+ entity: Entity;
+}
+
+/**
+ * @beta
+ * Registers a script-based event handler for handling what
+ * happens when an entity loads.
+ */
+export class EntityLoadAfterEventSignal {
+ private constructor();
+ /**
+ * @remarks
+ * Method to register an event handler for what happens when an
+ * entity loads.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param callback
+ * Function that handles the load event.
+ */
+ subscribe(callback: (arg: EntityLoadAfterEvent) => void): (arg: EntityLoadAfterEvent) => void;
+ /**
+ * @remarks
+ * Unregisters a method that was previously subscribed to the
+ * subscription event.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param callback
+ * Original function that was passed into the subscribe event,
+ * that is to be unregistered.
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EntityLoadAfterEvent) => void): void;
+}
+
/**
* Additional variant value. Can be used to further
* differentiate variants.
@@ -5630,22 +6545,110 @@ export class EntityPushThroughComponent extends EntityComponent {
* from the world (for example, the entity is unloaded because
* it is not close to players.)
*/
-export class EntityRemovedAfterEvent {
+export class EntityRemoveAfterEvent {
private constructor();
/**
* @remarks
- * Reference to an entity that was removed.
+ * Id of the entity that was removed.
*
*/
- readonly removedEntity: string;
+ readonly removedEntityId: string;
+ /**
+ * @remarks
+ * Identifier of the type of the entity removed - for example,
+ * 'minecraft:skeleton'.
+ *
+ */
+ readonly typeId: string;
}
/**
* @beta
+ * Allows registration for an event that fires when an entity
+ * is removed from the game (for example, unloaded, or a few
+ * seconds after they are dead.)
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class EntityRemovedAfterEventSignal extends IEntityRemovedAfterEventSignal {
+export class EntityRemoveAfterEventSignal {
+ private constructor();
+ /**
+ * @remarks
+ * Will call your function every time an entity is removed from
+ * the game.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param callback
+ * Function to call.
+ * @param options
+ * Additional filtering options for this event.
+ * @returns
+ * Returns a closure that can be used in subsequent unsubscribe
+ * operations.
+ */
+ subscribe(
+ callback: (arg: EntityRemoveAfterEvent) => void,
+ options?: EntityEventOptions,
+ ): (arg: EntityRemoveAfterEvent) => void;
+ /**
+ * @remarks
+ * Unsubscribes your function from subsequent calls when an
+ * entity is removed.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EntityRemoveAfterEvent) => void): void;
+}
+
+/**
+ * @beta
+ * Data for an event that happens when an entity is being
+ * removed from the world (for example, the entity is unloaded
+ * because it is not close to players.)
+ */
+export class EntityRemoveBeforeEvent {
+ private constructor();
+ /**
+ * @remarks
+ * Reference to an entity that is being removed.
+ *
+ */
+ readonly removedEntity: Entity;
+}
+
+/**
+ * @beta
+ * Allows registration for an event that fires when an entity
+ * is being removed from the game (for example, unloaded, or a
+ * few seconds after they are dead.)
+ */
+export class EntityRemoveBeforeEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Will call your function every time an entity is being
+ * removed from the game.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param callback
+ * Function to call.
+ * @returns
+ * Returns a closure that can be used in subsequent unsubscribe
+ * operations.
+ */
+ subscribe(callback: (arg: EntityRemoveBeforeEvent) => void): (arg: EntityRemoveBeforeEvent) => void;
+ /**
+ * @remarks
+ * Unsubscribes your function from subsequent calls when an
+ * entity is being removed.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EntityRemoveBeforeEvent) => void): void;
}
/**
@@ -5808,6 +6811,8 @@ export class EntitySkinIdComponent extends EntityComponent {
private constructor();
/**
* @remarks
+ * Returns the value of the skin Id identifier of the entity.
+ *
* This property can't be edited in read-only mode.
*
*/
@@ -5822,6 +6827,12 @@ export class EntitySkinIdComponent extends EntityComponent {
*/
export class EntitySpawnAfterEvent {
private constructor();
+ /**
+ * @remarks
+ * Initialization cause (Spawned, Born ...).
+ *
+ */
+ readonly cause: EntityInitializationCause;
/**
* @remarks
* Entity that was spawned.
@@ -5837,9 +6848,47 @@ export class EntitySpawnAfterEvent {
* Registers a script-based event handler for handling what
* happens when an entity spawns.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class EntitySpawnAfterEventSignal extends IEntitySpawnAfterEventSignal {
+export class EntitySpawnAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Method to register an event handler for what happens when an
+ * entity spawns.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param callback
+ * Function that handles the spawn event.
+ * @example runEntitySpawnEvent.ts
+ * ```typescript
+ * // register a new function that is called when a new entity is created.
+ * mc.world.afterEvents.entitySpawn.subscribe((entityEvent: mc.EntitySpawnAfterEvent) => {
+ * if (entityEvent && entityEvent.entity) {
+ * log(`New entity of type '${entityEvent.entity.typeId}' created!`, 1);
+ * } else {
+ * log(`The entity event didn't work as expected.`, -1);
+ * }
+ * });
+ *
+ * mc.system.runTimeout(() => {
+ * createOldHorse(log, targetLocation);
+ * }, 20);
+ * ```
+ */
+ subscribe(callback: (arg: EntitySpawnAfterEvent) => void): (arg: EntitySpawnAfterEvent) => void;
+ /**
+ * @remarks
+ * Unregisters a method that was previously subscribed to the
+ * subscription event.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param callback
+ * Original function that was passed into the subscribe event,
+ * that is to be unregistered.
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: EntitySpawnAfterEvent) => void): void;
}
/**
@@ -6031,9 +7080,27 @@ export class ExplosionAfterEvent {
* Manages callbacks that are connected to when an explosion
* occurs.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ExplosionAfterEventSignal extends IExplosionAfterEventSignal {
+export class ExplosionAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when an explosion
+ * occurs.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: ExplosionAfterEvent) => void): (arg: ExplosionAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when an explosion
+ * occurs.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: ExplosionAfterEvent) => void): void;
}
/**
@@ -6066,9 +7133,28 @@ export class ExplosionBeforeEvent extends ExplosionAfterEvent {
* Manages callbacks that are connected to before an explosion
* occurs.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ExplosionBeforeEventSignal extends IExplosionBeforeEventSignal {
+export class ExplosionBeforeEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when before an explosion
+ * occurs. The callback can optionally change or cancel
+ * explosion behavior.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: ExplosionBeforeEvent) => void): (arg: ExplosionBeforeEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called from before when an
+ * explosion would occur.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: ExplosionBeforeEvent) => void): void;
}
/**
@@ -6169,502 +7255,489 @@ export class FluidContainer {
}
/**
- * @beta
* Provides an adaptable interface for callers to subscribe to
- * an event that fires when blocks are broken.
+ * an event that fires when a button is pushed.
*/
-export class IBlockBreakAfterEventSignal {
+export class IButtonPushAfterEventSignal {
private constructor();
/**
* @remarks
* This function can't be called in read-only mode.
*
*/
- subscribe(callback: (arg: BlockBreakAfterEvent) => void): (arg: BlockBreakAfterEvent) => void;
+ subscribe(callback: (arg: ButtonPushAfterEvent) => void): (arg: ButtonPushAfterEvent) => void;
/**
* @remarks
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: BlockBreakAfterEvent) => void): void;
+ unsubscribe(callback: (arg: ButtonPushAfterEvent) => void): void;
}
/**
- * @beta
* Provides an adaptable interface for callers to subscribe to
- * an event that fires when an explosion occurs.
+ * an event that fires after a lever is used.
*/
-export class IBlockExplodeAfterEventSignal {
+export class ILeverActionAfterEventSignal {
private constructor();
/**
* @remarks
* This function can't be called in read-only mode.
*
*/
- subscribe(callback: (arg: BlockExplodeAfterEvent) => void): (arg: BlockExplodeAfterEvent) => void;
+ subscribe(callback: (arg: LeverActionAfterEvent) => void): (arg: LeverActionAfterEvent) => void;
/**
* @remarks
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: BlockExplodeAfterEvent) => void): void;
+ unsubscribe(callback: (arg: LeverActionAfterEvent) => void): void;
}
/**
- * @beta
* Provides an adaptable interface for callers to subscribe to
- * an event that fires after a block is placed.
+ * an event that fires after a player joins a world.
*/
-export class IBlockPlaceAfterEventSignal {
+export class IPlayerJoinAfterEventSignal {
private constructor();
/**
* @remarks
* This function can't be called in read-only mode.
*
*/
- subscribe(callback: (arg: BlockPlaceAfterEvent) => void): (arg: BlockPlaceAfterEvent) => void;
+ subscribe(callback: (arg: PlayerJoinAfterEvent) => void): (arg: PlayerJoinAfterEvent) => void;
/**
* @remarks
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: BlockPlaceAfterEvent) => void): void;
+ unsubscribe(callback: (arg: PlayerJoinAfterEvent) => void): void;
}
/**
* Provides an adaptable interface for callers to subscribe to
- * an event that fires when a button is pushed.
+ * an event that fires after a player leaves a world.
*/
-export class IButtonPushAfterEventSignal {
+export class IPlayerLeaveAfterEventSignal {
private constructor();
/**
* @remarks
* This function can't be called in read-only mode.
*
*/
- subscribe(callback: (arg: ButtonPushAfterEvent) => void): (arg: ButtonPushAfterEvent) => void;
+ subscribe(callback: (arg: PlayerLeaveAfterEvent) => void): (arg: PlayerLeaveAfterEvent) => void;
/**
* @remarks
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: ButtonPushAfterEvent) => void): void;
+ unsubscribe(callback: (arg: PlayerLeaveAfterEvent) => void): void;
}
/**
- * @beta
* Provides an adaptable interface for callers to subscribe to
- * an event that fires when a chat message is sent.
+ * an event that fires after a player spawns.
*/
-export class IChatSendAfterEventSignal {
+export class IPlayerSpawnAfterEventSignal {
private constructor();
/**
* @remarks
* This function can't be called in read-only mode.
*
*/
- subscribe(callback: (arg: ChatSendAfterEvent) => void): (arg: ChatSendAfterEvent) => void;
+ subscribe(callback: (arg: PlayerSpawnAfterEvent) => void): (arg: PlayerSpawnAfterEvent) => void;
/**
* @remarks
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: ChatSendAfterEvent) => void): void;
+ unsubscribe(callback: (arg: PlayerSpawnAfterEvent) => void): void;
}
/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires before a chat message is sent.
+ * Contains information related to a chargeable item completing
+ * being charged.
*/
-export class IChatSendBeforeEventSignal {
+export class ItemCompleteUseAfterEvent {
private constructor();
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Returns the item stack that has completed charging.
*
*/
- subscribe(callback: (arg: ChatSendBeforeEvent) => void): (arg: ChatSendBeforeEvent) => void;
+ readonly itemStack: ItemStack;
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Returns the source entity that triggered this item event.
*
- * @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: ChatSendBeforeEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires when an entities' definition is
- * triggered to change.
- */
-export class IDataDrivenEntityTriggerAfterEventSignal {
- private constructor();
+ readonly source: Player;
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Returns the time, in ticks, for the remaining duration left
+ * before the charge completes its cycle.
*
*/
- subscribe(
- callback: (arg: DataDrivenEntityTriggerAfterEvent) => void,
- options?: EntityDataDrivenTriggerEventOptions,
- ): (arg: DataDrivenEntityTriggerAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: DataDrivenEntityTriggerAfterEvent) => void): void;
+ readonly useDuration: number;
}
/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires before an entities' definition is
- * scheduled to change via a triggered event.
+ * Manages callbacks that are connected to the completion of
+ * charging for a chargeable item.
*/
-export class IDataDrivenEntityTriggerBeforeEventSignal {
+export class ItemCompleteUseAfterEventSignal {
private constructor();
/**
* @remarks
+ * Adds a callback that will be called when a chargeable item
+ * completes charging.
+ *
* This function can't be called in read-only mode.
*
*/
- subscribe(
- callback: (arg: DataDrivenEntityTriggerBeforeEvent) => void,
- options?: EntityDataDrivenTriggerEventOptions,
- ): (arg: DataDrivenEntityTriggerBeforeEvent) => void;
+ subscribe(callback: (arg: ItemCompleteUseAfterEvent) => void): (arg: ItemCompleteUseAfterEvent) => void;
/**
* @remarks
+ * Removes a callback from being called when a chargeable item
+ * completes charging.
+ *
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: DataDrivenEntityTriggerBeforeEvent) => void): void;
+ unsubscribe(callback: (arg: ItemCompleteUseAfterEvent) => void): void;
+}
+
+/**
+ * Base class for item components.
+ */
+// @ts-ignore Class inheritance allowed for native defined classes
+export class ItemComponent extends Component {
+ private constructor();
}
/**
* @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires when an effect is added to an entity.
+ * When present on an item, this item has a cooldown effect
+ * when used by entities.
*/
-export class IEffectAddAfterEventSignal {
+// @ts-ignore Class inheritance allowed for native defined classes
+export class ItemCooldownComponent extends ItemComponent {
private constructor();
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Represents the cooldown category that this item is
+ * associated with.
*
+ * @throws This property can throw when used.
*/
- subscribe(
- callback: (arg: EffectAddAfterEvent) => void,
- options?: EntityEventOptions,
- ): (arg: EffectAddAfterEvent) => void;
+ readonly cooldownCategory: string;
+ /**
+ * @remarks
+ * Amount of time, in ticks, that remain for this item
+ * cooldown.
+ *
+ * @throws This property can throw when used.
+ */
+ readonly cooldownTicks: number;
+ static readonly componentId = 'minecraft:cooldown';
/**
* @remarks
+ * Starts a new cooldown period for this item.
+ *
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: EffectAddAfterEvent) => void): void;
+ startCooldown(player: Player): void;
}
/**
* @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires when an entity dies.
+ * Manages callbacks that are connected to an item's definition
+ * and components changing.
*/
-export class IEntityDieAfterEventSignal {
+export class ItemDefinitionAfterEventSignal {
private constructor();
/**
* @remarks
+ * Adds a callback that will be called when an item's
+ * definition and components change.
+ *
* This function can't be called in read-only mode.
*
*/
subscribe(
- callback: (arg: EntityDieAfterEvent) => void,
- options?: EntityEventOptions,
- ): (arg: EntityDieAfterEvent) => void;
+ callback: (arg: ItemDefinitionTriggeredAfterEvent) => void,
+ ): (arg: ItemDefinitionTriggeredAfterEvent) => void;
/**
* @remarks
+ * Removes a callback from being called when an item's
+ * definition and components change.
+ *
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: EntityDieAfterEvent) => void): void;
+ unsubscribe(callback: (arg: ItemDefinitionTriggeredAfterEvent) => void): void;
}
/**
* @beta
+ * Manages callbacks that are connected to an item's definition
+ * and components changing.
*/
-export class IEntityHealthChangedAfterEventSignal {
+export class ItemDefinitionBeforeEventSignal {
private constructor();
/**
* @remarks
+ * Adds a callback that will be called when an item's
+ * definition and components change.
+ *
* This function can't be called in read-only mode.
*
*/
subscribe(
- callback: (arg: EntityHealthChangedAfterEvent) => void,
- options?: EntityEventOptions,
- ): (arg: EntityHealthChangedAfterEvent) => void;
+ callback: (arg: ItemDefinitionTriggeredBeforeEvent) => void,
+ ): (arg: ItemDefinitionTriggeredBeforeEvent) => void;
/**
* @remarks
+ * Removes a callback from being called when an item's
+ * definition and components change.
+ *
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: EntityHealthChangedAfterEvent) => void): void;
+ unsubscribe(callback: (arg: ItemDefinitionTriggeredBeforeEvent) => void): void;
}
/**
* @beta
+ * Contains information related to a custom item having a data
+ * definition change being triggered.
*/
-export class IEntityHitBlockAfterEventSignal {
+export class ItemDefinitionTriggeredAfterEvent {
private constructor();
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Name of the data-driven item event that is triggering this
+ * change.
*
*/
- subscribe(
- callback: (arg: EntityHitBlockAfterEvent) => void,
- options?: EntityEventOptions,
- ): (arg: EntityHitBlockAfterEvent) => void;
+ readonly eventName: string;
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Related item stack that the definitional change has been
+ * triggered upon.
*
- * @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: EntityHitBlockAfterEvent) => void): void;
+ itemStack: ItemStack;
+ /**
+ * @remarks
+ * Returns the source entity that triggered this item event.
+ *
+ */
+ readonly source: Player;
}
/**
* @beta
+ * Contains information related to a triggering of a custom
+ * item definition change.
*/
-export class IEntityHitEntityAfterEventSignal {
+// @ts-ignore Class inheritance allowed for native defined classes
+export class ItemDefinitionTriggeredBeforeEvent extends ItemDefinitionTriggeredAfterEvent {
private constructor();
/**
* @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(
- callback: (arg: EntityHitEntityAfterEvent) => void,
- options?: EntityEventOptions,
- ): (arg: EntityHitEntityAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
+ * If set to true, will cancel the application of this item
+ * definition change.
*
- * @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: EntityHitEntityAfterEvent) => void): void;
+ cancel: boolean;
}
/**
* @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires when an entity is hurt.
+ * When present on an item, this item can take damage in the
+ * process of being used. Note that this component only applies
+ * to data-driven items.
*/
-export class IEntityHurtAfterEventSignal {
+// @ts-ignore Class inheritance allowed for native defined classes
+export class ItemDurabilityComponent extends ItemComponent {
private constructor();
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Returns the current damage level of this particular item.
+ *
+ * This property can't be edited in read-only mode.
*
*/
- subscribe(
- callback: (arg: EntityHurtAfterEvent) => void,
- options?: EntityEventOptions,
- ): (arg: EntityHurtAfterEvent) => void;
+ damage: number;
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Represents the amount of damage that this item can take
+ * before breaking.
*
- * @throws This function can throw errors.
+ * @throws This property can throw when used.
*/
- unsubscribe(callback: (arg: EntityHurtAfterEvent) => void): void;
-}
-
-/**
- * @beta
- */
-export class IEntityRemovedAfterEventSignal {
- private constructor();
+ readonly maxDurability: number;
+ static readonly componentId = 'minecraft:durability';
/**
* @remarks
+ * Returns the maximum chance that this item would be damaged
+ * using the damageRange property, given an unbreaking level.
+ *
* This function can't be called in read-only mode.
*
+ * @param unbreaking
+ * Unbreaking factor to consider in factoring the damage
+ * chance. Incoming unbreaking parameter must be greater than
+ * 0.
+ * @throws This function can throw errors.
*/
- subscribe(
- callback: (arg: EntityRemovedAfterEvent) => void,
- options?: EntityEventOptions,
- ): (arg: EntityRemovedAfterEvent) => void;
+ getDamageChance(unbreaking?: number): number;
/**
* @remarks
+ * A range of numbers that describes the chance of the item
+ * losing durability.
+ *
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: EntityRemovedAfterEvent) => void): void;
+ getDamageRange(): NumberRange;
}
/**
* @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after an entity is spawned.
+ * When present on an item, this item has applied enchantment
+ * effects. Note that this component only applies to
+ * data-driven items.
*/
-export class IEntitySpawnAfterEventSignal {
+// @ts-ignore Class inheritance allowed for native defined classes
+export class ItemEnchantsComponent extends ItemComponent {
private constructor();
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Returns a collection of the enchantments applied to this
+ * item stack.
+ *
+ * This property can't be edited in read-only mode.
*
*/
- subscribe(callback: (arg: EntitySpawnAfterEvent) => void): (arg: EntitySpawnAfterEvent) => void;
+ enchantments: EnchantmentList;
+ static readonly componentId = 'minecraft:enchantments';
/**
* @remarks
+ * Removes all enchantments applied to this item stack.
+ *
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: EntitySpawnAfterEvent) => void): void;
+ removeAllEnchantments(): void;
}
/**
* @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after an explosion occurs.
+ * When present on an item, this item is consumable by
+ * entities. Note that this component only applies to
+ * data-driven items.
*/
-export class IExplosionAfterEventSignal {
+// @ts-ignore Class inheritance allowed for native defined classes
+export class ItemFoodComponent extends ItemComponent {
private constructor();
/**
* @remarks
- * This function can't be called in read-only mode.
+ * If true, the player can always eat this item (even when not
+ * hungry).
*
+ * @throws This property can throw when used.
*/
- subscribe(callback: (arg: ExplosionAfterEvent) => void): (arg: ExplosionAfterEvent) => void;
+ readonly canAlwaysEat: boolean;
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Represents how much nutrition this food item will give an
+ * entity when eaten.
*
- * @throws This function can throw errors.
+ * @throws This property can throw when used.
*/
- unsubscribe(callback: (arg: ExplosionAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires before an explosion begins.
- */
-export class IExplosionBeforeEventSignal {
- private constructor();
+ readonly nutrition: number;
/**
* @remarks
- * This function can't be called in read-only mode.
+ * When an item is eaten, this value is used according to this
+ * formula (nutrition * saturation_modifier * 2) to apply a
+ * saturation buff.
*
+ * @throws This property can throw when used.
*/
- subscribe(callback: (arg: ExplosionBeforeEvent) => void): (arg: ExplosionBeforeEvent) => void;
+ readonly saturationModifier: number;
/**
* @remarks
- * This function can't be called in read-only mode.
+ * When specified, converts the active item to the one
+ * specified by this property.
*
- * @throws This function can throw errors.
+ * @throws This property can throw when used.
*/
- unsubscribe(callback: (arg: ExplosionBeforeEvent) => void): void;
+ readonly usingConvertsTo: string;
+ static readonly componentId = 'minecraft:food';
}
/**
- * @beta
+ * Contains information related to a chargeable item when the
+ * player has finished using the item and released the build
+ * action.
*/
-export class IItemCompleteUseAfterEventSignal {
+export class ItemReleaseUseAfterEvent {
private constructor();
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Returns the item stack that triggered this item event.
*
*/
- subscribe(callback: (arg: ItemCompleteUseAfterEvent) => void): (arg: ItemCompleteUseAfterEvent) => void;
+ readonly itemStack: ItemStack;
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Returns the source entity that triggered this item event.
*
- * @throws This function can throw errors.
*/
- unsubscribe(callback: (arg: ItemCompleteUseAfterEvent) => void): void;
+ readonly source: Player;
+ /**
+ * @remarks
+ * Returns the time, in ticks, for the remaining duration left
+ * before the charge completes its cycle.
+ *
+ */
+ readonly useDuration: number;
}
/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after an items' definition has changed.
+ * Manages callbacks that are connected to the releasing of
+ * charging for a chargeable item.
*/
-export class IItemDefinitionAfterEventSignal {
+export class ItemReleaseUseAfterEventSignal {
private constructor();
/**
* @remarks
+ * Adds a callback that will be called when a chargeable item
+ * is released from charging.
+ *
* This function can't be called in read-only mode.
*
*/
- subscribe(
- callback: (arg: ItemDefinitionTriggeredAfterEvent) => void,
- ): (arg: ItemDefinitionTriggeredAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemDefinitionTriggeredAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires before an items' definition changes.
- */
-export class IItemDefinitionBeforeEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(
- callback: (arg: ItemDefinitionTriggeredBeforeEvent) => void,
- ): (arg: ItemDefinitionTriggeredBeforeEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemDefinitionTriggeredBeforeEvent) => void): void;
-}
-
-/**
- * @beta
- */
-export class IItemReleaseUseAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ItemReleaseUseAfterEvent) => void): (arg: ItemReleaseUseAfterEvent) => void;
+ subscribe(callback: (arg: ItemReleaseUseAfterEvent) => void): (arg: ItemReleaseUseAfterEvent) => void;
/**
* @remarks
+ * Removes a callback from being called when a chargeable item
+ * is released from charging.
+ *
* This function can't be called in read-only mode.
*
* @throws This function can throw errors.
@@ -6673,6044 +7746,827 @@ export class IItemReleaseUseAfterEventSignal {
}
/**
- * @beta
- */
-export class IItemStartUseAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ItemStartUseAfterEvent) => void): (arg: ItemStartUseAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemStartUseAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires when an item item is starting to be used
- * on a block.
- */
-export class IItemStartUseOnAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ItemStartUseOnAfterEvent) => void): (arg: ItemStartUseOnAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemStartUseOnAfterEvent) => void): void;
-}
-
-/**
- * @beta
- */
-export class IItemStopUseAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ItemStopUseAfterEvent) => void): (arg: ItemStopUseAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemStopUseAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires when an item has stopped being used on a
- * block.
- */
-export class IItemStopUseOnAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ItemStopUseOnAfterEvent) => void): (arg: ItemStopUseOnAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemStopUseOnAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after an item is used.
- */
-export class IItemUseAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ItemUseAfterEvent) => void): (arg: ItemUseAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemUseAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires before an item is used.
- */
-export class IItemUseBeforeEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ItemUseBeforeEvent) => void): (arg: ItemUseBeforeEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemUseBeforeEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after an item is used on a block.
- */
-export class IItemUseOnAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ItemUseOnAfterEvent) => void): (arg: ItemUseOnAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemUseOnAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires before an item is being used on a block.
- */
-export class IItemUseOnBeforeEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ItemUseOnBeforeEvent) => void): (arg: ItemUseOnBeforeEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ItemUseOnBeforeEvent) => void): void;
-}
-
-/**
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after a lever is used.
- */
-export class ILeverActionAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: LeverActionAfterEvent) => void): (arg: LeverActionAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: LeverActionAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after a piston is activated.
- */
-export class IPistonActivateAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: PistonActivateAfterEvent) => void): (arg: PistonActivateAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: PistonActivateAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires before a piston is activated.
+ * Defines a collection of items.
*/
-export class IPistonActivateBeforeEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: PistonActivateBeforeEvent) => void): (arg: PistonActivateBeforeEvent) => void;
+export class ItemStack {
/**
+ * @beta
* @remarks
- * This function can't be called in read-only mode.
+ * Number of the items in the stack. Valid values range between
+ * 1-255. The provided value will be clamped to the item's
+ * maximum stack size.
*
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: PistonActivateBeforeEvent) => void): void;
-}
-
-/**
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after a player joins a world.
- */
-export class IPlayerJoinAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: PlayerJoinAfterEvent) => void): (arg: PlayerJoinAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: PlayerJoinAfterEvent) => void): void;
-}
-
-/**
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after a player leaves a world.
- */
-export class IPlayerLeaveAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: PlayerLeaveAfterEvent) => void): (arg: PlayerLeaveAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: PlayerLeaveAfterEvent) => void): void;
-}
-
-/**
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after a player spawns.
- */
-export class IPlayerSpawnAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: PlayerSpawnAfterEvent) => void): (arg: PlayerSpawnAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: PlayerSpawnAfterEvent) => void): void;
-}
-
-/**
- * @beta
- */
-export class IPressurePlatePopAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: PressurePlatePopAfterEvent) => void): (arg: PressurePlatePopAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: PressurePlatePopAfterEvent) => void): void;
-}
-
-/**
- * @beta
- */
-export class IPressurePlatePushAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: PressurePlatePushAfterEvent) => void): (arg: PressurePlatePushAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: PressurePlatePushAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after a projectile hits a target.
- */
-export class IProjectileHitAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: ProjectileHitAfterEvent) => void): (arg: ProjectileHitAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ProjectileHitAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires when /script event command is called.
- */
-export class IScriptEventCommandMessageAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(
- callback: (arg: ScriptEventCommandMessageAfterEvent) => void,
- options?: ScriptEventMessageFilterOptions,
- ): (arg: ScriptEventCommandMessageAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: ScriptEventCommandMessageAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Provides an adaptable interface for callers to subscribe to
- * an event that fires after a server message is sent. Note
- * that this event is for internal use only.
- */
-export class IServerMessageAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: MessageReceiveAfterEvent) => void): (arg: MessageReceiveAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: MessageReceiveAfterEvent) => void): void;
-}
-
-/**
- * @beta
- */
-export class ITargetBlockHitAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: TargetBlockHitAfterEvent) => void): (arg: TargetBlockHitAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: TargetBlockHitAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * Contains information related to a chargeable item completing
- * being charged.
- */
-export class ItemCompleteUseAfterEvent {
- private constructor();
- /**
- * @remarks
- * Returns the item stack that has completed charging.
- *
- */
- readonly itemStack: ItemStack;
- /**
- * @remarks
- * Returns the source entity that triggered this item event.
- *
- */
- readonly source: Entity;
- /**
- * @remarks
- * Returns the time, in ticks, for the remaining duration left
- * before the charge completes its cycle.
- *
- */
- readonly useDuration: number;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to the completion of
- * charging for a chargeable item.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemCompleteUseAfterEventSignal extends IItemCompleteUseAfterEventSignal {
- private constructor();
-}
-
-/**
- * Base class for item components.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemComponent extends Component {
- private constructor();
-}
-
-/**
- * @beta
- * When present on an item, this item has a cooldown effect
- * when used by entities.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemCooldownComponent extends ItemComponent {
- private constructor();
- /**
- * @remarks
- * Represents the cooldown category that this item is
- * associated with.
- *
- * @throws This property can throw when used.
- */
- readonly cooldownCategory: string;
- /**
- * @remarks
- * Amount of time, in ticks, that remain for this item
- * cooldown.
- *
- * @throws This property can throw when used.
- */
- readonly cooldownTicks: number;
- static readonly componentId = 'minecraft:cooldown';
- /**
- * @remarks
- * Starts a new cooldown period for this item.
- *
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- startCooldown(player: Player): void;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to an item's definition
- * and components changing.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemDefinitionAfterEventSignal extends IItemDefinitionAfterEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to an item's definition
- * and components changing.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemDefinitionBeforeEventSignal extends IItemDefinitionBeforeEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * Contains information related to a custom item having a data
- * definition change being triggered.
- */
-export class ItemDefinitionTriggeredAfterEvent {
- private constructor();
- /**
- * @remarks
- * Name of the data-driven item event that is triggering this
- * change.
- *
- */
- readonly eventName: string;
- itemStack: ItemStack;
- /**
- * @remarks
- * Returns the source entity that triggered this item event.
- *
- */
- readonly source: Entity;
-}
-
-/**
- * @beta
- * Contains information related to a triggering of a custom
- * item definition change.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemDefinitionTriggeredBeforeEvent extends ItemDefinitionTriggeredAfterEvent {
- private constructor();
- /**
- * @remarks
- * If set to true, will cancel the application of this item
- * definition change.
- *
- */
- cancel: boolean;
-}
-
-/**
- * @beta
- * When present on an item, this item can take damage in the
- * process of being used. Note that this component only applies
- * to data-driven items.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemDurabilityComponent extends ItemComponent {
- private constructor();
- /**
- * @remarks
- * Returns the current damage level of this particular item.
- *
- * This property can't be edited in read-only mode.
- *
- */
- damage: number;
- /**
- * @remarks
- * Represents the amount of damage that this item can take
- * before breaking.
- *
- * @throws This property can throw when used.
- */
- readonly maxDurability: number;
- static readonly componentId = 'minecraft:durability';
- /**
- * @remarks
- * Returns the maximum chance that this item would be damaged
- * using the damageRange property, given an unbreaking level.
- *
- * This function can't be called in read-only mode.
- *
- * @param unbreaking
- * Unbreaking factor to consider in factoring the damage
- * chance. Incoming unbreaking parameter must be greater than
- * 0.
- * @throws This function can throw errors.
- */
- getDamageChance(unbreaking?: number): number;
- /**
- * @remarks
- * A range of numbers that describes the chance of the item
- * losing durability.
- *
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- getDamageRange(): NumberRange;
-}
-
-/**
- * @beta
- * When present on an item, this item has applied enchantment
- * effects. Note that this component only applies to
- * data-driven items.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemEnchantsComponent extends ItemComponent {
- private constructor();
- /**
- * @remarks
- * Returns a collection of the enchantments applied to this
- * item stack.
- *
- * This property can't be edited in read-only mode.
- *
- */
- enchantments: EnchantmentList;
- static readonly componentId = 'minecraft:enchantments';
- /**
- * @remarks
- * Removes all enchantments applied to this item stack.
- *
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- removeAllEnchantments(): void;
-}
-
-/**
- * @beta
- * When present on an item, this item is consumable by
- * entities. Note that this component only applies to
- * data-driven items.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemFoodComponent extends ItemComponent {
- private constructor();
- /**
- * @remarks
- * If true, the player can always eat this item (even when not
- * hungry).
- *
- * @throws This property can throw when used.
- */
- readonly canAlwaysEat: boolean;
- /**
- * @remarks
- * Represents how much nutrition this food item will give an
- * entity when eaten.
- *
- * @throws This property can throw when used.
- */
- readonly nutrition: number;
- /**
- * @remarks
- * When an item is eaten, this value is used according to this
- * formula (nutrition * saturation_modifier * 2) to apply a
- * saturation buff.
- *
- * @throws This property can throw when used.
- */
- readonly saturationModifier: number;
- /**
- * @remarks
- * When specified, converts the active item to the one
- * specified by this property.
- *
- * @throws This property can throw when used.
- */
- readonly usingConvertsTo: string;
- static readonly componentId = 'minecraft:food';
-}
-
-/**
- * @beta
- * Contains information related to a chargeable item when the
- * player has finished using the item and released the build
- * action.
- */
-export class ItemReleaseUseAfterEvent {
- private constructor();
- /**
- * @remarks
- * Returns the item stack that triggered this item event.
- *
- */
- readonly itemStack: ItemStack;
- /**
- * @remarks
- * Returns the source entity that triggered this item event.
- *
- */
- readonly source: Entity;
- /**
- * @remarks
- * Returns the time, in ticks, for the remaining duration left
- * before the charge completes its cycle.
- *
- */
- readonly useDuration: number;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to the releasing of
- * charging for a chargeable item.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemReleaseUseAfterEventSignal extends IItemReleaseUseAfterEventSignal {
- private constructor();
-}
-
-/**
- * Defines a collection of items.
- */
-export class ItemStack {
- /**
- * @remarks
- * Number of the items in the stack. Valid values range between
- * 1-255. The provided value will be clamped to the item's
- * maximum stack size.
- *
- * This property can't be edited in read-only mode.
- *
- * @throws
- * Throws if the value is outside the range of 1-255.
- */
- amount: number;
- /**
- * @remarks
- * Returns whether the item is stackable. An item is considered
- * stackable if the item's maximum stack size is greater than 1
- * and the item does not contain any custom data or properties.
- *
- */
- readonly isStackable: boolean;
- /**
- * @remarks
- * Gets or sets whether the item is kept on death.
- *
- * This property can't be edited in read-only mode.
- *
- */
- keepOnDeath: boolean;
- /**
- * @remarks
- * Gets or sets the item's lock mode. The default value is
- * `ItemLockMode.none`.
- *
- * This property can't be edited in read-only mode.
- *
- */
- lockMode: ItemLockMode;
- /**
- * @remarks
- * The maximum stack size. This value varies depending on the
- * type of item. For example, torches have a maximum stack size
- * of 64, while eggs have a maximum stack size of 16.
- *
- */
- readonly maxAmount: number;
- /**
- * @remarks
- * Given name of this stack of items. The name tag is displayed
- * when hovering over the item. Setting the name tag to an
- * empty string or `undefined` will remove the name tag.
- *
- * This property can't be edited in read-only mode.
- *
- * @throws
- * Throws if the length exceeds 255 characters.
- */
- nameTag?: string;
- /**
- * @remarks
- * The type of the item.
- *
- */
- readonly 'type': ItemType;
- /**
- * @remarks
- * Identifier of the type of items for the stack. If a
- * namespace is not specified, 'minecraft:' is assumed.
- * Examples include 'wheat' or 'apple'.
- *
- */
- readonly typeId: string;
- /**
- * @remarks
- * Creates a new instance of a stack of items for use in the
- * world.
- *
- * @param itemType
- * Type of item to create. See the {@link
- * @minecraft/vanilla-data.MinecraftItemTypes} enumeration for
- * a list of standard item types in Minecraft experiences.
- * @param amount
- * Number of items to place in the stack, between 1-255. The
- * provided value will be clamped to the item's maximum stack
- * size. Note that certain items can only have one item in the
- * stack.
- * @throws
- * Throws if `itemType` is invalid, or if `amount` is outside
- * the range of 1-255.
- */
- constructor(itemType: ItemType | string, amount?: number);
- /**
- * @beta
- * @remarks
- * Creates an exact copy of the item stack, including any
- * custom data or properties.
- *
- * @returns
- * Returns a copy of this item stack.
- */
- clone(): ItemStack;
- /**
- * @remarks
- * Gets a component (that represents additional capabilities)
- * for an item stack.
- *
- * @param componentId
- * The identifier of the component (e.g., 'minecraft:food') to
- * retrieve. If no namespace prefix is specified, 'minecraft:'
- * is assumed. If the component is not present on the item
- * stack, undefined is returned.
- * @example durability.ts
- * ```typescript
- * // Get the maximum durability of a custom sword item
- * const itemStack = new ItemStack("custom:sword");
- * const durability = itemStack.getComponent("minecraft:durability") as ItemDurabilityComponent;
- * const maxDurability = durability.maxDurability;
- * ```
- */
- getComponent(componentId: string): ItemComponent | undefined;
- /**
- * @remarks
- * Returns all components that are both present on this item
- * stack and supported by the API.
- *
- */
- getComponents(): ItemComponent[];
- /**
- * @beta
- * @remarks
- * Returns the lore value - a secondary display string - for an
- * ItemStack.
- *
- * @returns
- * An array of lore strings. If the item does not have lore,
- * returns an empty array.
- */
- getLore(): string[];
- /**
- * @beta
- * @remarks
- * Returns a set of tags associated with this item stack.
- *
- */
- getTags(): string[];
- /**
- * @remarks
- * Returns true if the specified component is present on this
- * item stack.
- *
- * @param componentId
- * The identifier of the component (e.g., 'minecraft:food') to
- * retrieve. If no namespace prefix is specified, 'minecraft:'
- * is assumed.
- */
- hasComponent(componentId: string): boolean;
- /**
- * @beta
- * @remarks
- * Checks whether this item stack has a particular tag
- * associated with it.
- *
- * @param tag
- * Tag to search for.
- * @returns
- * True if the Item Stack has the tag associated with it, else
- * false.
- */
- hasTag(tag: string): boolean;
- /**
- * @remarks
- * Returns whether this item stack can be stacked with the
- * given `itemStack`. This is determined by comparing the item
- * type and any custom data and properties associated with the
- * item stacks. The amount of each item stack is not taken into
- * consideration.
- *
- */
- isStackableWith(itemStack: ItemStack): boolean;
- /**
- * @beta
- * @remarks
- * The list of block types this item can break in Adventure
- * mode. The block names are displayed in the item's tooltip.
- * Setting the value to undefined will clear the list.
- *
- * This function can't be called in read-only mode.
- *
- * @throws
- * Throws if any of the provided block identifiers are invalid.
- * @example example.ts
- * ```typescript
- * // Creates a diamond pickaxe that can destroy cobblestone and obsidian
- * const specialPickaxe = new ItemStack("minecraft:diamond_pickaxe");
- * specialPickaxe.setCanDestroy(["minecraft:cobblestone", "minecraft:obsidian"]);
- * ```
- */
- setCanDestroy(blockIdentifiers?: string[]): void;
- /**
- * @beta
- * @remarks
- * The list of block types this item can be placed on in
- * Adventure mode. This is only applicable to block items. The
- * block names are displayed in the item's tooltip. Setting the
- * value to undefined will clear the list.
- *
- * This function can't be called in read-only mode.
- *
- * @throws
- * Throws if any of the provided block identifiers are invalid.
- * @example example.ts
- * ```typescript
- * // Creates a gold block that can be placed on grass and dirt
- * const specialGoldBlock = new ItemStack("minecraft:gold_block");
- * specialPickaxe.setCanPlaceOn(["minecraft:grass", "minecraft:dirt"]);
- * ```
- */
- setCanPlaceOn(blockIdentifiers?: string[]): void;
- /**
- * @beta
- * @remarks
- * Sets the lore value - a secondary display string - for an
- * ItemStack.
- *
- * This function can't be called in read-only mode.
- *
- * @example diamondAwesomeSword.ts
- * ```typescript
- * const diamondAwesomeSword = new mc.ItemStack(mc.MinecraftItemTypes.diamondSword, 1);
- * let players = mc.world.getAllPlayers();
- *
- * diamondAwesomeSword.setLore(["§c§lDiamond Sword of Awesome§r", "+10 coolness", "§p+4 shiny§r"]);
- *
- * // hover over/select the item in your inventory to see the lore.
- * const inventory = players[0].getComponent("inventory") as mc.EntityInventoryComponent;
- * inventory.container.setItem(0, diamondAwesomeSword);
- *
- * let item = inventory.container.getItem(0);
- *
- * if (item) {
- * let enchants = item.getComponent("minecraft:enchantments") as mc.ItemEnchantsComponent;
- * let knockbackEnchant = new mc.Enchantment("knockback", 3);
- * enchants.enchantments.addEnchantment(knockbackEnchant);
- * }
- * ```
- * @example multilineLore.ts
- * ```typescript
- * // Set the lore of an item to multiple lines of text
- * const itemStack = new ItemStack("minecraft:diamond_sword");
- * itemStack.setLore(["Line 1", "Line 2", "Line 3"]);
- * ```
- */
- setLore(loreList?: string[]): void;
- /**
- * @beta
- * @remarks
- * Triggers an item type event. For custom items, a number of
- * events are defined in an items' definition for key item
- * behaviors.
- *
- * This function can't be called in read-only mode.
- *
- * @param eventName
- * Name of the item type event to trigger. If a namespace is
- * not specified, minecraft: is assumed.
- */
- triggerEvent(eventName: string): void;
-}
-
-/**
- * @beta
- * Contains information related to a chargeable item starting
- * to be charged.
- */
-export class ItemStartUseAfterEvent {
- private constructor();
- /**
- * @remarks
- * The impacted item stack that is starting to be charged.
- *
- */
- readonly itemStack: ItemStack;
- /**
- * @remarks
- * Returns the source entity that triggered this item event.
- *
- */
- readonly source: Entity;
- /**
- * @remarks
- * Returns the time, in ticks, for the remaining duration left
- * before the charge completes its cycle.
- *
- */
- readonly useDuration: number;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to the start of
- * charging for a chargeable item.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemStartUseAfterEventSignal extends IItemStartUseAfterEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * Contains information related to an item being used on a
- * block. This event fires when a player presses the the Use
- * Item / Place Block button to successfully use an item or
- * place a block. Fires for the first block that is interacted
- * with when performing a build action. Note: This event cannot
- * be used with Hoe or Axe items.
- */
-export class ItemStartUseOnAfterEvent {
- private constructor();
- /**
- * @remarks
- * The block that the item is used on.
- *
- */
- readonly block: Block;
- /**
- * @remarks
- * The face of the block that an item is being used on.
- *
- */
- readonly blockFace: Direction;
- /**
- * @remarks
- * The impacted item stack that is starting to be used.
- *
- */
- readonly itemStack: ItemStack;
- /**
- * @remarks
- * Returns the source entity that triggered this item event.
- *
- */
- readonly source: Entity;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to an item starting
- * being used on a block event.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemStartUseOnAfterEventSignal extends IItemStartUseOnAfterEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * Contains information related to a chargeable item has
- * finished an items use cycle, or when the player has released
- * the use action with the item.
- */
-export class ItemStopUseAfterEvent {
- private constructor();
- /**
- * @remarks
- * The impacted item stack that is stopping being charged.
- *
- */
- readonly itemStack: ItemStack;
- /**
- * @remarks
- * Returns the source entity that triggered this item event.
- *
- */
- readonly source: Entity;
- /**
- * @remarks
- * Returns the time, in ticks, for the remaining duration left
- * before the charge completes its cycle.
- *
- */
- readonly useDuration: number;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to the stopping of
- * charging for an item that has a registered
- * minecraft:chargeable component.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemStopUseAfterEventSignal extends IItemStopUseAfterEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * Contains information related to an item that has stopped
- * being used on a block. This event fires when a player
- * successfully uses an item or places a block by pressing the
- * Use Item / Place Block button. If multiple blocks are
- * placed, this event will only occur once at the beginning of
- * the block placement. Note: This event cannot be used with
- * Hoe or Axe items.
- */
-export class ItemStopUseOnAfterEvent {
- private constructor();
- /**
- * @remarks
- * The block that the item is used on.
- *
- */
- readonly block: Block;
- /**
- * @remarks
- * The impacted item stack that is being used on a block.
- *
- */
- readonly itemStack?: ItemStack;
- /**
- * @remarks
- * Returns the source entity that triggered this item event.
- *
- */
- readonly source: Entity;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to an item stops used
- * on a block event.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemStopUseOnAfterEventSignal extends IItemStopUseOnAfterEventSignal {
- private constructor();
-}
-
-/**
- * Represents the type of an item - for example, Wool.
- */
-export class ItemType {
- private constructor();
- /**
- * @remarks
- * Returns the identifier of the item type - for example,
- * 'minecraft:apple'.
- *
- */
- readonly id: string;
-}
-
-/**
- * @beta
- */
-export class ItemTypeIterator implements Iterable {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- [Symbol.iterator](): Iterator;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- next(): IteratorResult;
-}
-
-/**
- * @beta
- * Returns the set of item types registered within Minecraft.
- */
-export class ItemTypes {
- private constructor();
- /**
- * @remarks
- * Returns a specific item type, if available within Minecraft.
- *
- */
- static get(itemId: string): ItemType;
- /**
- * @remarks
- * Retrieves all available item types registered within
- * Minecraft.
- *
- */
- static getAll(): ItemTypeIterator;
-}
-
-/**
- * @beta
- * Contains information related to an item being used. This
- * event fires when an item is successfully used by a player.
- */
-export class ItemUseAfterEvent {
- private constructor();
- /**
- * @remarks
- * The impacted item stack that is being used.
- *
- */
- itemStack: ItemStack;
- /**
- * @remarks
- * Returns the source entity that triggered this item event.
- *
- */
- readonly source: Entity;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to an item use event.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemUseAfterEventSignal extends IItemUseAfterEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * Contains information related to an item being used.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemUseBeforeEvent extends ItemUseAfterEvent {
- private constructor();
- /**
- * @remarks
- * If set to true, this will cancel the item use behavior.
- *
- */
- cancel: boolean;
-}
-
-/**
- * @beta
- * Manages callbacks that fire before an item is used.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemUseBeforeEventSignal extends IItemUseBeforeEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * Contains information related to an item being used on a
- * block. This event fires when an item is successfully used on
- * a block by a player.
- */
-export class ItemUseOnAfterEvent {
- private constructor();
- /**
- * @remarks
- * The block that the item is used on.
- *
- */
- readonly block: Block;
- /**
- * @remarks
- * The face of the block that an item is being used on.
- *
- */
- readonly blockFace: Direction;
- /**
- * @remarks
- * Location relative to the bottom north-west corner of the
- * block where the item is placed.
- *
- */
- readonly faceLocation: Vector3;
- /**
- * @remarks
- * The impacted item stack that is being used on a block.
- *
- */
- readonly itemStack: ItemStack;
- /**
- * @remarks
- * Returns the source entity that triggered this item event.
- *
- */
- readonly source: Entity;
-}
-
-/**
- * @beta
- * Manages callbacks that are connected to an item being used
- * on a block event.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemUseOnAfterEventSignal extends IItemUseOnAfterEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * Contains information related to an item being used on a
- * block.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemUseOnBeforeEvent extends ItemUseOnAfterEvent {
- private constructor();
- /**
- * @remarks
- * If set to true, this will cancel the item use behavior.
- *
- */
- cancel: boolean;
-}
-
-/**
- * @beta
- * Manages callbacks that fire before an item being used on a
- * block event.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ItemUseOnBeforeEventSignal extends IItemUseOnBeforeEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- */
-export class ITripWireTripAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: TripWireTripAfterEvent) => void): (arg: TripWireTripAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: TripWireTripAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * An event that fires before the watchdog is about to
- * terminate a world because various performance metrics for
- * scripting have exceeded a threshold.
- */
-export class IWatchdogTerminateBeforeEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: WatchdogTerminateBeforeEvent) => void): (arg: WatchdogTerminateBeforeEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: WatchdogTerminateBeforeEvent) => void): void;
-}
-
-/**
- * @beta
- * An event that fires after the weather has changed.
- */
-export class IWeatherChangeAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: WeatherChangeAfterEvent) => void): (arg: WeatherChangeAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: WeatherChangeAfterEvent) => void): void;
-}
-
-/**
- * @beta
- * An event that fires when a world is first initialized or
- * loaded.
- */
-export class IWorldInitializeAfterEventSignal {
- private constructor();
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- */
- subscribe(callback: (arg: WorldInitializeAfterEvent) => void): (arg: WorldInitializeAfterEvent) => void;
- /**
- * @remarks
- * This function can't be called in read-only mode.
- *
- * @throws This function can throw errors.
- */
- unsubscribe(callback: (arg: WorldInitializeAfterEvent) => void): void;
-}
-
-/**
- * Contains information related to changes to a lever
- * activating or deactivating.
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class LeverActionAfterEvent extends BlockEvent {
- private constructor();
- /**
- * @remarks
- * True if the lever is activated (that is, transmitting
- * power).
- *
- */
- readonly isPowered: boolean;
- /**
- * @remarks
- * Optional player that triggered the lever activation.
- *
- */
- readonly player: Player;
-}
-
-/**
- * Manages callbacks that are connected to lever moves
- * (activates or deactivates).
- */
-// @ts-ignore Class inheritance allowed for native defined classes
-export class LeverActionAfterEventSignal extends ILeverActionAfterEventSignal {
- private constructor();
-}
-
-/**
- * @beta
- * A specific currently-internal event used for passing
- * messages from client to server.
- */
-export class MessageReceiveAfterEvent {
- private constructor();
- /**
- * @remarks
- * The message identifier.
- *
- */
- readonly id: string;
- /**
- * @remarks
- * The message.
- *
- */
- readonly message: string;
- /**
- * @remarks
- * The player who sent the message.
- *
- */
- readonly player: Player;
-}
-
-/**
- * @beta
- * Contains definitions of standard Minecraft and Minecraft
- * Education Edition block types.
- */
-export class MinecraftBlockTypes {
- private constructor();
- /**
- * @remarks
- * Represents an acacia button within Minecraft.
- *
- */
- static readonly acaciaButton: BlockType;
- /**
- * @remarks
- * Represents an acacia door within Minecraft.
- *
- */
- static readonly acaciaDoor: BlockType;
- static readonly acaciaFence: BlockType;
- /**
- * @remarks
- * Represents an acacia fence gate within Minecraft.
- *
- */
- static readonly acaciaFenceGate: BlockType;
- static readonly acaciaHangingSign: BlockType;
- static readonly acaciaLog: BlockType;
- /**
- * @remarks
- * Represents an acacia pressure plate within Minecraft.
- *
- */
- static readonly acaciaPressurePlate: BlockType;
- /**
- * @remarks
- * Represents a set of acacia stairs within Minecraft.
- *
- */
- static readonly acaciaStairs: BlockType;
- /**
- * @remarks
- * Represents an acacia standing sign within Minecraft.
- *
- */
- static readonly acaciaStandingSign: BlockType;
- /**
- * @remarks
- * Represents an acacia trapdoor within Minecraft.
- *
- */
- static readonly acaciaTrapdoor: BlockType;
- /**
- * @remarks
- * Represents an acacia wall sign within Minecraft.
- *
- */
- static readonly acaciaWallSign: BlockType;
- /**
- * @remarks
- * Represents an activator rail within Minecraft.
- *
- */
- static readonly activatorRail: BlockType;
- /**
- * @remarks
- * Represents an empty space (air) within Minecraft.
- *
- */
- static readonly air: BlockType;
- /**
- * @remarks
- * Represents an allow block within Minecraft.
- *
- */
- static readonly allow: BlockType;
- /**
- * @remarks
- * Represents an amethyst block within Minecraft.
- *
- */
- static readonly amethystBlock: BlockType;
- /**
- * @remarks
- * Represents a cluster of amethyst within Minecraft.
- *
- */
- static readonly amethystCluster: BlockType;
- /**
- * @remarks
- * Represents ancient debris within Minecraft.
- *
- */
- static readonly ancientDebris: BlockType;
- /**
- * @remarks
- * Represents andesite stairs within Minecraft.
- *
- */
- static readonly andesiteStairs: BlockType;
- /**
- * @remarks
- * Represents an anvil within Minecraft.
- *
- */
- static readonly anvil: BlockType;
- /**
- * @remarks
- * Represents an azalea flowering plant within Minecraft.
- *
- */
- static readonly azalea: BlockType;
- /**
- * @remarks
- * Represents azalea leaves within Minecraft.
- *
- */
- static readonly azaleaLeaves: BlockType;
- /**
- * @remarks
- * Represents flowered azalea leaves within Minecraft.
- *
- */
- static readonly azaleaLeavesFlowered: BlockType;
- /**
- * @remarks
- * Represents a bamboo tree within Minecraft.
- *
- */
- static readonly bamboo: BlockType;
- static readonly bambooBlock: BlockType;
- static readonly bambooButton: BlockType;
- static readonly bambooDoor: BlockType;
- static readonly bambooDoubleSlab: BlockType;
- static readonly bambooFence: BlockType;
- static readonly bambooFenceGate: BlockType;
- static readonly bambooHangingSign: BlockType;
- static readonly bambooMosaic: BlockType;
- static readonly bambooMosaicDoubleSlab: BlockType;
- static readonly bambooMosaicSlab: BlockType;
- static readonly bambooMosaicStairs: BlockType;
- static readonly bambooPlanks: BlockType;
- static readonly bambooPressurePlate: BlockType;
- /**
- * @remarks
- * Represents a bamboo sapling within Minecraft.
- *
- */
- static readonly bambooSapling: BlockType;
- static readonly bambooSlab: BlockType;
- static readonly bambooStairs: BlockType;
- static readonly bambooStandingSign: BlockType;
- static readonly bambooTrapdoor: BlockType;
- static readonly bambooWallSign: BlockType;
- /**
- * @remarks
- * Represents a barrel within Minecraft.
- *
- */
- static readonly barrel: BlockType;
- /**
- * @remarks
- * Represents an invisible but logical barrier within
- * Minecraft.
- *
- */
- static readonly barrier: BlockType;
- /**
- * @remarks
- * Represents a basalt block within Minecraft.
- *
- */
- static readonly basalt: BlockType;
- /**
- * @remarks
- * Represents a beacon within Minecraft.
- *
- */
- static readonly beacon: BlockType;
- /**
- * @remarks
- * Represents a bed within Minecraft.
- *
- */
- static readonly bed: BlockType;
- /**
- * @remarks
- * Represents a bedrock block within Minecraft.
- *
- */
- static readonly bedrock: BlockType;
- /**
- * @remarks
- * Represents a beehive within Minecraft.
- *
- */
- static readonly beehive: BlockType;
- /**
- * @remarks
- * Represents a bee nest within Minecraft.
- *
- */
- static readonly beeNest: BlockType;
- /**
- * @remarks
- * Represents a beetroot vegetable within Minecraft.
- *
- */
- static readonly beetroot: BlockType;
- /**
- * @remarks
- * Represents a bell within Minecraft.
- *
- */
- static readonly bell: BlockType;
- /**
- * @remarks
- * Represents a big dripleaf plant within Minecraft.
- *
- */
- static readonly bigDripleaf: BlockType;
- /**
- * @remarks
- * Represents a birch button within Minecraft.
- *
- */
- static readonly birchButton: BlockType;
- /**
- * @remarks
- * Represents a birch door within Minecraft.
- *
- */
- static readonly birchDoor: BlockType;
- static readonly birchFence: BlockType;
- /**
- * @remarks
- * Represents a birch fence gate within Minecraft.
- *
- */
- static readonly birchFenceGate: BlockType;
- static readonly birchHangingSign: BlockType;
- static readonly birchLog: BlockType;
- /**
- * @remarks
- * Represents a birch pressure plate within Minecraft.
- *
- */
- static readonly birchPressurePlate: BlockType;
- /**
- * @remarks
- * Represents a birch stairs block within Minecraft.
- *
- */
- static readonly birchStairs: BlockType;
- /**
- * @remarks
- * Represents a birch standing sign within Minecraft.
- *
- */
- static readonly birchStandingSign: BlockType;
- /**
- * @remarks
- * Represents a birch trapdoor within Minecraft.
- *
- */
- static readonly birchTrapdoor: BlockType;
- /**
- * @remarks
- * Represents a birch wall sign within Minecraft.
- *
- */
- static readonly birchWallSign: BlockType;
- /**
- * @remarks
- * Represents a black candle within Minecraft.
- *
- */
- static readonly blackCandle: BlockType;
- /**
- * @remarks
- * Represents a black candle cake within Minecraft.
- *
- */
- static readonly blackCandleCake: BlockType;
- static readonly blackCarpet: BlockType;
- static readonly blackConcrete: BlockType;
- /**
- * @remarks
- * Represents a black glazed terracotta block within Minecraft.
- *
- */
- static readonly blackGlazedTerracotta: BlockType;
- static readonly blackShulkerBox: BlockType;
- /**
- * @remarks
- * Represents a blackstone block within Minecraft.
- *
- */
- static readonly blackstone: BlockType;
- /**
- * @remarks
- * Represents a blackstone double slab within Minecraft.
- *
- */
- static readonly blackstoneDoubleSlab: BlockType;
- /**
- * @remarks
- * Represents a blackstone slab within Minecraft.
- *
- */
- static readonly blackstoneSlab: BlockType;
- /**
- * @remarks
- * Represents blackstone stairs within Minecraft.
- *
- */
- static readonly blackstoneStairs: BlockType;
- /**
- * @remarks
- * Represents a blackstone wall within Minecraft.
- *
- */
- static readonly blackstoneWall: BlockType;
- static readonly blackWool: BlockType;
- /**
- * @remarks
- * Represents a blast furnace within Minecraft.
- *
- */
- static readonly blastFurnace: BlockType;
- /**
- * @remarks
- * Represents a blue candle within Minecraft.
- *
- */
- static readonly blueCandle: BlockType;
- /**
- * @remarks
- * Represents a blue candle cake within Minecraft.
- *
- */
- static readonly blueCandleCake: BlockType;
- static readonly blueCarpet: BlockType;
- static readonly blueConcrete: BlockType;
- /**
- * @remarks
- * Represents a blue glazed terracotta block within Minecraft.
- *
- */
- static readonly blueGlazedTerracotta: BlockType;
- /**
- * @remarks
- * Represents a blue ice block within Minecraft.
- *
- */
- static readonly blueIce: BlockType;
- static readonly blueShulkerBox: BlockType;
- static readonly blueWool: BlockType;
- /**
- * @remarks
- * Represents a bone block within Minecraft.
- *
- */
- static readonly boneBlock: BlockType;
- /**
- * @remarks
- * Represents an unbreakable border block within Minecraft.
- *
- */
- static readonly bookshelf: BlockType;
- /**
- * @remarks
- * Represents a border block within Minecraft.
- *
- */
- static readonly borderBlock: BlockType;
- static readonly brainCoral: BlockType;
- /**
- * @remarks
- * Represents a brewing stand within Minecraft.
- *
- */
- static readonly brewingStand: BlockType;
- /**
- * @remarks
- * Represents a block of brick within Minecraft.
- *
- */
- static readonly brickBlock: BlockType;
- /**
- * @remarks
- * Represents brick stairs within Minecraft.
- *
- */
- static readonly brickStairs: BlockType;
- /**
- * @remarks
- * Represents a brown candle within Minecraft.
- *
- */
- static readonly brownCandle: BlockType;
- /**
- * @remarks
- * Represents a brown candle cake within Minecraft.
- *
- */
- static readonly brownCandleCake: BlockType;
- static readonly brownCarpet: BlockType;
- static readonly brownConcrete: BlockType;
- /**
- * @remarks
- * Represents a brown glazed terracotta block within Minecraft.
- *
- */
- static readonly brownGlazedTerracotta: BlockType;
- /**
- * @remarks
- * Represents a brown mushroom within Minecraft.
- *
- */
- static readonly brownMushroom: BlockType;
- /**
- * @remarks
- * Represents a block of brown mushroom within Minecraft.
- *
- */
- static readonly brownMushroomBlock: BlockType;
- static readonly brownShulkerBox: BlockType;
- static readonly brownWool: BlockType;
- /**
- * @remarks
- * Represents a column of bubbles within Minecraft.
- *
- */
- static readonly bubbleColumn: BlockType;
- static readonly bubbleCoral: BlockType;
- /**
- * @remarks
- * Represents a block of budding amethyst within Minecraft.
- *
- */
- static readonly buddingAmethyst: BlockType;
- /**
- * @remarks
- * Represents a cactus within Minecraft.
- *
- */
- static readonly cactus: BlockType;
- /**
- * @remarks
- * Represents a cake within Minecraft.
- *
- */
- static readonly cake: BlockType;
- /**
- * @remarks
- * Represents a calcite block within Minecraft.
- *
- */
- static readonly calcite: BlockType;
- static readonly calibratedSculkSensor: BlockType;
- /**
- * @remarks
- * Represents a camera within Minecraft Education Edition. It
- * is not available in Minecraft Bedrock Edition.
- *
- */
- static readonly camera: BlockType;
- /**
- * @remarks
- * Represents a campfire within Minecraft.
- *
- */
- static readonly campfire: BlockType;
- /**
- * @remarks
- * Represents a candle within Minecraft.
- *
- */
- static readonly candle: BlockType;
- /**
- * @remarks
- * Represents a cake with candles within Minecraft.
- *
- */
- static readonly candleCake: BlockType;
- /**
- * @remarks
- * Represents carrots within Minecraft.
- *
- */
- static readonly carrots: BlockType;
- /**
- * @remarks
- * Represents a cartography table block within Minecraft.
- *
- */
- static readonly cartographyTable: BlockType;
- /**
- * @remarks
- * Represents a carved pumpkin within Minecraft.
- *
- */
- static readonly carvedPumpkin: BlockType;
- /**
- * @remarks
- * Represents a cauldron within Minecraft.
- *
- */
- static readonly cauldron: BlockType;
- /**
- * @remarks
- * Represents a set of cave vines within Minecraft.
- *
- */
- static readonly caveVines: BlockType;
- /**
- * @remarks
- * Represents the body of a set of cave vines with berries
- * within Minecraft.
- *
- */
- static readonly caveVinesBodyWithBerries: BlockType;
- /**
- * @remarks
- * Represents the head of a set of cave vines with berries
- * within Minecraft.
- *
- */
- static readonly caveVinesHeadWithBerries: BlockType;
- /**
- * @remarks
- * Represents a metallic chain within Minecraft.
- *
- */
- static readonly chain: BlockType;
- /**
- * @remarks
- * Represents a block that gives off heat but not light, within
- * Minecraft Education Edition or Bedrock Edition with
- * Education features.
- *
- */
- static readonly chainCommandBlock: BlockType;
- /**
- * @remarks
- * Represents a chemical heat block within Minecraft.
- *
- */
- static readonly chemicalHeat: BlockType;
- /**
- * @remarks
- * Represents a chemistry table within Minecraft Education
- * experiences.
- *
- */
- static readonly chemistryTable: BlockType;
- static readonly cherryButton: BlockType;
- static readonly cherryDoor: BlockType;
- static readonly cherryDoubleSlab: BlockType;
- static readonly cherryFence: BlockType;
- static readonly cherryFenceGate: BlockType;
- static readonly cherryHangingSign: BlockType;
- static readonly cherryLeaves: BlockType;
- static readonly cherryLog: BlockType;
- static readonly cherryPlanks: BlockType;
- static readonly cherryPressurePlate: BlockType;
- static readonly cherrySapling: BlockType;
- static readonly cherrySlab: BlockType;
- static readonly cherryStairs: BlockType;
- static readonly cherryStandingSign: BlockType;
- static readonly cherryTrapdoor: BlockType;
- static readonly cherryWallSign: BlockType;
- static readonly cherryWood: BlockType;
- /**
- * @remarks
- * Represents a chest within Minecraft.
- *
- */
- static readonly chest: BlockType;
- static readonly chiseledBookshelf: BlockType;
- /**
- * @remarks
- * Represents a set of chiseled deepslate within Minecraft.
- *
- */
- static readonly chiseledDeepslate: BlockType;
- /**
- * @remarks
- * Represents a block of chiseled nether bricks within
- * Minecraft.
- *
- */
- static readonly chiseledNetherBricks: BlockType;
- /**
- * @remarks
- * Represents a block of chiseled polished blackstone within
- * Minecraft.
- *
- */
- static readonly chiseledPolishedBlackstone: BlockType;
- /**
- * @remarks
- * Represents a chorus flower within Minecraft.
- *
- */
- static readonly chorusFlower: BlockType;
- /**
- * @remarks
- * Represents a chorus plant within Minecraft.
- *
- */
- static readonly chorusPlant: BlockType;
- /**
- * @remarks
- * Represents a block of clay within Minecraft.
- *
- */
- static readonly clay: BlockType;
- static readonly clientRequestPlaceholderBlock: BlockType;
- /**
- * @remarks
- * Represents a block of solid coal within Minecraft.
- *
- */
- static readonly coalBlock: BlockType;
- /**
- * @remarks
- * Represents a block with embedded coal ore within Minecraft.
- *
- */
- static readonly coalOre: BlockType;
- /**
- * @remarks
- * Represents a block of cobbled deepslate within Minecraft.
- *
- */
- static readonly cobbledDeepslate: BlockType;
- /**
- * @remarks
- * Represents a double slab of cobbled deepslate within
- * Minecraft.
- *
- */
- static readonly cobbledDeepslateDoubleSlab: BlockType;
- /**
- * @remarks
- * Represents a slab of deepslate within Minecraft.
- *
- */
- static readonly cobbledDeepslateSlab: BlockType;
- /**
- * @remarks
- * Represents cobbled deepslate stairs within Minecraft.
- *
- */
- static readonly cobbledDeepslateStairs: BlockType;
- /**
- * @remarks
- * Represents a cobbled deepslate wall within Minecraft.
- *
- */
- static readonly cobbledDeepslateWall: BlockType;
- /**
- * @remarks
- * Represents a block of cobblestone within Minecraft.
- *
- */
- static readonly cobblestone: BlockType;
- /**
- * @remarks
- * Represents a wall of cobblestone within Minecraft.
- *
- */
- static readonly cobblestoneWall: BlockType;
- /**
- * @remarks
- * Represents a set of cocoa beans (typically on a tree) within
- * Minecraft.
- *
- */
- static readonly cocoa: BlockType;
- /**
- * @remarks
- * Represents blue/purple torches within Minecraft.
- *
- */
- static readonly coloredTorchBp: BlockType;
- /**
- * @remarks
- * Represents red/green torches within Minecraft.
- *
- */
- static readonly coloredTorchRg: BlockType;
- /**
- * @remarks
- * Represents a block that can run commands within Minecraft.
- *
- */
- static readonly commandBlock: BlockType;
- /**
- * @remarks
- * Represents a composter block within Minecraft.
- *
- */
- static readonly composter: BlockType;
- /**
- * @remarks
- * Represents a block of concrete powder within Minecraft.
- *
- */
- static readonly concretePowder: BlockType;
- /**
- * @remarks
- * Represents a conduit block within Minecraft.
- *
- */
- static readonly conduit: BlockType;
- /**
- * @remarks
- * Represents a solid block of copper within Minecraft.
- *
- */
- static readonly copperBlock: BlockType;
- /**
- * @remarks
- * Represents a block with embedded copper ore within
- * Minecraft.
- *
- */
- static readonly copperOre: BlockType;
- /**
- * @remarks
- * Represents a solid block of coral within Minecraft.
- *
- */
- static readonly coralBlock: BlockType;
- /**
- * @remarks
- * Represents a fan formation of coral within Minecraft.
- *
- */
- static readonly coralFan: BlockType;
- /**
- * @remarks
- * Represents a fan formation of dead coral within Minecraft.
- *
- */
- static readonly coralFanDead: BlockType;
- /**
- * @remarks
- * Represents a hanging fan formation of coral within
- * Minecraft.
- *
- */
- static readonly coralFanHang: BlockType;
- /**
- * @remarks
- * Represents an alternate hanging fan formation of coral (#2)
- * within Minecraft.
- *
- */
- static readonly coralFanHang2: BlockType;
- /**
- * @remarks
- * Represents an alternate hanging fan formation of coral (#3)
- * within Minecraft.
- *
- */
- static readonly coralFanHang3: BlockType;
- /**
- * @remarks
- * Represents a block of cracked deepslate bricks within
- * Minecraft.
- *
- */
- static readonly crackedDeepslateBricks: BlockType;
- /**
- * @remarks
- * Represents tiles of cracked deepslate within Minecraft.
- *
- */
- static readonly crackedDeepslateTiles: BlockType;
- /**
- * @remarks
- * Represents a block of cracked nether bricks within
- * Minecraft.
- *
- */
- static readonly crackedNetherBricks: BlockType;
- /**
- * @remarks
- * Represents a block of cracked and polished blackstone bricks
- * within Minecraft.
- *
- */
- static readonly crackedPolishedBlackstoneBricks: BlockType;
- /**
- * @remarks
- * Represents a crafting table within Minecraft.
- *
- */
- static readonly craftingTable: BlockType;
- /**
- * @remarks
- * Represents a crimson button within Minecraft.
- *
- */
- static readonly crimsonButton: BlockType;
- /**
- * @remarks
- * Represents a crimson door within Minecraft.
- *
- */
- static readonly crimsonDoor: BlockType;
- /**
- * @remarks
- * Represents a crimson double slab within Minecraft.
- *
- */
- static readonly crimsonDoubleSlab: BlockType;
- /**
- * @remarks
- * Represents a crimson fence within Minecraft.
- *
- */
- static readonly crimsonFence: BlockType;
- /**
- * @remarks
- * Represents a crimson fence gate within Minecraft.
- *
- */
- static readonly crimsonFenceGate: BlockType;
- /**
- * @remarks
- * Represents a crimson fungus within Minecraft.
- *
- */
- static readonly crimsonFungus: BlockType;
- static readonly crimsonHangingSign: BlockType;
- /**
- * @remarks
- * Represents crimson hyphae within Minecraft.
- *
- */
- static readonly crimsonHyphae: BlockType;
- /**
- * @remarks
- * Represents crimson nylium within Minecraft.
- *
- */
- static readonly crimsonNylium: BlockType;
- /**
- * @remarks
- * Represents a set of crimson planks within Minecraft.
- *
- */
- static readonly crimsonPlanks: BlockType;
- /**
- * @remarks
- * Represents a crimson pressure plate within Minecraft.
- *
- */
- static readonly crimsonPressurePlate: BlockType;
- /**
- * @remarks
- * Represents a set of crimson roots within Minecraft.
- *
- */
- static readonly crimsonRoots: BlockType;
- /**
- * @remarks
- * Represents a crimson slab within Minecraft.
- *
- */
- static readonly crimsonSlab: BlockType;
- /**
- * @remarks
- * Represents a set of crimson stairs within Minecraft.
- *
- */
- static readonly crimsonStairs: BlockType;
- /**
- * @remarks
- * Represents a crimson standing sign within Minecraft.
- *
- */
- static readonly crimsonStandingSign: BlockType;
- /**
- * @remarks
- * Represents a crimson stem within Minecraft.
- *
- */
- static readonly crimsonStem: BlockType;
- /**
- * @remarks
- * Represents a crimson trapdoor within Minecraft.
- *
- */
- static readonly crimsonTrapdoor: BlockType;
- /**
- * @remarks
- * Represents a crimson wall sign within Minecraft.
- *
- */
- static readonly crimsonWallSign: BlockType;
- /**
- * @remarks
- * Represents crying obsidian within Minecraft.
- *
- */
- static readonly cryingObsidian: BlockType;
- /**
- * @remarks
- * Represents a cut copper block within Minecraft.
- *
- */
- static readonly cutCopper: BlockType;
- /**
- * @remarks
- * Represents a cut copper slab within Minecraft.
- *
- */
- static readonly cutCopperSlab: BlockType;
- /**
- * @remarks
- * Represents a set of cut copper stairs within Minecraft.
- *
- */
- static readonly cutCopperStairs: BlockType;
- /**
- * @remarks
- * Represents a cyan-colored candle within Minecraft.
- *
- */
- static readonly cyanCandle: BlockType;
- /**
- * @remarks
- * Represents a cake with a cyan-colored candle within
- * Minecraft.
- *
- */
- static readonly cyanCandleCake: BlockType;
- static readonly cyanCarpet: BlockType;
- static readonly cyanConcrete: BlockType;
- /**
- * @remarks
- * Represents a block of cyan-colored glazed terracotta within
- * Minecraft.
- *
- */
- static readonly cyanGlazedTerracotta: BlockType;
- static readonly cyanShulkerBox: BlockType;
- static readonly cyanWool: BlockType;
- /**
- * @remarks
- * Represents a dark oak button within Minecraft.
- *
- */
- static readonly darkOakButton: BlockType;
- /**
- * @remarks
- * Represents a dark oak door within Minecraft.
- *
- */
- static readonly darkOakDoor: BlockType;
- static readonly darkOakFence: BlockType;
- /**
- * @remarks
- * Represents a dark oak fence gate within Minecraft.
- *
- */
- static readonly darkOakFenceGate: BlockType;
- static readonly darkOakHangingSign: BlockType;
- static readonly darkOakLog: BlockType;
- /**
- * @remarks
- * Represents a dark oak pressure plate within Minecraft.
- *
- */
- static readonly darkOakPressurePlate: BlockType;
- /**
- * @remarks
- * Represents a set of dark oak stairs within Minecraft.
- *
- */
- static readonly darkOakStairs: BlockType;
- /**
- * @remarks
- * Represents a dark oak standing sign within Minecraft.
- *
- */
- static readonly darkoakStandingSign: BlockType;
- /**
- * @remarks
- * Represents a dark oak trapdoor within Minecraft.
- *
- */
- static readonly darkOakTrapdoor: BlockType;
- /**
- * @remarks
- * Represents a dark oak wall sign within Minecraft.
- *
- */
- static readonly darkoakWallSign: BlockType;
- /**
- * @remarks
- * Represents a set of dark prismarine stairs within Minecraft.
- *
- */
- static readonly darkPrismarineStairs: BlockType;
- /**
- * @remarks
- * Represents a daylight detector within Minecraft.
- *
- */
- static readonly daylightDetector: BlockType;
- /**
- * @remarks
- * Represents an inverted daylight detector within Minecraft.
- *
- */
- static readonly daylightDetectorInverted: BlockType;
- static readonly deadBrainCoral: BlockType;
- static readonly deadBubbleCoral: BlockType;
- /**
- * @remarks
- * Represents a dead bush within Minecraft.
- *
- */
- static readonly deadbush: BlockType;
- static readonly deadFireCoral: BlockType;
- static readonly deadHornCoral: BlockType;
- static readonly deadTubeCoral: BlockType;
- static readonly decoratedPot: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate within Minecraft.
- *
- */
- static readonly deepslate: BlockType;
- /**
- * @remarks
- * Represents a double slab of deepslate brick within
- * Minecraft.
- *
- */
- static readonly deepslateBrickDoubleSlab: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate bricks within Minecraft.
- *
- */
- static readonly deepslateBricks: BlockType;
- /**
- * @remarks
- * Represents a slab of deepslate brick within Minecraft.
- *
- */
- static readonly deepslateBrickSlab: BlockType;
- /**
- * @remarks
- * Represents a set of deepslate brick stairs within Minecraft.
- *
- */
- static readonly deepslateBrickStairs: BlockType;
- /**
- * @remarks
- * Represents a deepslate brick wall within Minecraft.
- *
- */
- static readonly deepslateBrickWall: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate with embedded coal ore
- * within Minecraft.
- *
- */
- static readonly deepslateCoalOre: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate with embedded copper ore
- * within Minecraft.
- *
- */
- static readonly deepslateCopperOre: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate with embedded diamond ore
- * within Minecraft.
- *
- */
- static readonly deepslateDiamondOre: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate with embedded emerald ore
- * within Minecraft.
- *
- */
- static readonly deepslateEmeraldOre: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate with embedded gold ore
- * within Minecraft.
- *
- */
- static readonly deepslateGoldOre: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate with embedded iron ore
- * within Minecraft.
- *
- */
- static readonly deepslateIronOre: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate with embedded lapis lazuli
- * ore within Minecraft.
- *
- */
- static readonly deepslateLapisOre: BlockType;
- /**
- * @remarks
- * Represents a block of deepslate with embedded redstone ore
- * within Minecraft.
- *
- */
- static readonly deepslateRedstoneOre: BlockType;
- /**
- * @remarks
- * Represents a double slab of tiled deepslate within
- * Minecraft.
- *
- */
- static readonly deepslateTileDoubleSlab: BlockType;
- /**
- * @remarks
- * Represents a set of deepslate tiles within Minecraft.
- *
- */
- static readonly deepslateTiles: BlockType;
- /**
- * @remarks
- * Represents a slab of deepslate tiles within Minecraft.
- *
- */
- static readonly deepslateTileSlab: BlockType;
- /**
- * @remarks
- * Represents a set of deepslate tile stairs within Minecraft.
- *
- */
- static readonly deepslateTileStairs: BlockType;
- /**
- * @remarks
- * Represents a wall of deepslate tile within Minecraft.
- *
- */
- static readonly deepslateTileWall: BlockType;
- /**
- * @remarks
- * Represents a logical but generally invisible Deny logic
- * block within Minecraft.
- *
- */
- static readonly deny: BlockType;
- /**
- * @remarks
- * Represents a detector rail within Minecraft.
- *
- */
- static readonly detectorRail: BlockType;
- /**
- * @remarks
- * Represents a block of diamond within Minecraft.
- *
- */
- static readonly diamondBlock: BlockType;
- /**
- * @remarks
- * Represents a block with embedded diamond ore within
- * Minecraft.
- *
- */
- static readonly diamondOre: BlockType;
- /**
- * @remarks
- * Represents a set of diorite stairs within Minecraft.
- *
- */
- static readonly dioriteStairs: BlockType;
- /**
- * @remarks
- * Represents a block of dirt within Minecraft.
- *
- */
- static readonly dirt: BlockType;
- /**
- * @remarks
- * Represents a block of dirt with roots within Minecraft.
- *
- */
- static readonly dirtWithRoots: BlockType;
- /**
- * @remarks
- * Represents a dispenser within Minecraft.
- *
- */
- static readonly dispenser: BlockType;
- /**
- * @remarks
- * Represents a slab of double cut copper within Minecraft.
- *
- */
- static readonly doubleCutCopperSlab: BlockType;
- /**
- * @remarks
- * Represents a double plant within Minecraft.
- *
- */
- static readonly doublePlant: BlockType;
- static readonly doubleStoneBlockSlab: BlockType;
- static readonly doubleStoneBlockSlab2: BlockType;
- static readonly doubleStoneBlockSlab3: BlockType;
- static readonly doubleStoneBlockSlab4: BlockType;
- /**
- * @remarks
- * Represents a double slab of stone within Minecraft.
- *
- */
- static readonly doubleStoneSlab: BlockType;
- /**
- * @remarks
- * Represents an alternate double slab of stone (#2) within
- * Minecraft.
- *
- */
- static readonly doubleStoneSlab2: BlockType;
- /**
- * @remarks
- * Represents an alternate double slab of stone (#3) within
- * Minecraft.
- *
- */
- static readonly doubleStoneSlab3: BlockType;
- /**
- * @remarks
- * Represents an alternate double slab of stone (#4) within
- * Minecraft.
- *
- */
- static readonly doubleStoneSlab4: BlockType;
- /**
- * @remarks
- * Represents a double slab of wood within Minecraft.
- *
- */
- static readonly doubleWoodenSlab: BlockType;
- /**
- * @remarks
- * Represents a dragon egg within Minecraft.
- *
- */
- static readonly dragonEgg: BlockType;
- /**
- * @remarks
- * Represents a block of dried kelp within Minecraft.
- *
- */
- static readonly driedKelpBlock: BlockType;
- /**
- * @remarks
- * Represents a block of dripstone within Minecraft.
- *
- */
- static readonly dripstoneBlock: BlockType;
- /**
- * @remarks
- * Represents a dropper within Minecraft.
- *
- */
- static readonly dropper: BlockType;
- /**
- * @remarks
- * Represents an element in Minecraft Education experiences.
- *
- */
- static readonly element0: BlockType;
- /**
- * @remarks
- * Represents the hydrogen element in Minecraft Education
- * experiences.
- *
- */
- static readonly element1: BlockType;
- /**
- * @remarks
- * Represents the neon element in Minecraft Education
- * experiences.
- *
- */
- static readonly element10: BlockType;
- /**
- * @remarks
- * Represents the fermium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element100: BlockType;
- /**
- * @remarks
- * Represents the mendelevium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element101: BlockType;
- /**
- * @remarks
- * Represents the nobelium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element102: BlockType;
- /**
- * @remarks
- * Represents the lawrencium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element103: BlockType;
- /**
- * @remarks
- * Represents the rutherfordium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element104: BlockType;
- /**
- * @remarks
- * Represents the dubnium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element105: BlockType;
- /**
- * @remarks
- * Represents the seaborgium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element106: BlockType;
- /**
- * @remarks
- * Represents the bohrium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element107: BlockType;
- /**
- * @remarks
- * Represents the hassium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element108: BlockType;
- /**
- * @remarks
- * Represents the meitnerium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element109: BlockType;
- /**
- * @remarks
- * Represents the sodium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element11: BlockType;
- /**
- * @remarks
- * Represents the darmstadtium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element110: BlockType;
- /**
- * @remarks
- * Represents the roentgenium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element111: BlockType;
- /**
- * @remarks
- * Represents the copernicium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element112: BlockType;
- /**
- * @remarks
- * Represents the nihonium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element113: BlockType;
- /**
- * @remarks
- * Represents the flerovium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element114: BlockType;
- /**
- * @remarks
- * Represents the moscovium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element115: BlockType;
- /**
- * @remarks
- * Represents the livermorium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element116: BlockType;
- /**
- * @remarks
- * Represents the tennessine element in Minecraft Education
- * experiences.
- *
- */
- static readonly element117: BlockType;
- /**
- * @remarks
- * Represents the oganesson element in Minecraft Education
- * experiences.
- *
- */
- static readonly element118: BlockType;
- /**
- * @remarks
- * Represents the magnesium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element12: BlockType;
- /**
- * @remarks
- * Represents the aluminum element in Minecraft Education
- * experiences.
- *
- */
- static readonly element13: BlockType;
- /**
- * @remarks
- * Represents the silicon element in Minecraft Education
- * experiences.
- *
- */
- static readonly element14: BlockType;
- /**
- * @remarks
- * Represents the phosphorus element in Minecraft Education
- * experiences.
- *
- */
- static readonly element15: BlockType;
- /**
- * @remarks
- * Represents the sulfur element in Minecraft Education
- * experiences.
- *
- */
- static readonly element16: BlockType;
- /**
- * @remarks
- * Represents the chlorine element in Minecraft Education
- * experiences.
- *
- */
- static readonly element17: BlockType;
- /**
- * @remarks
- * Represents the argon element in Minecraft Education
- * experiences.
- *
- */
- static readonly element18: BlockType;
- /**
- * @remarks
- * Represents the potassium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element19: BlockType;
- /**
- * @remarks
- * Represents the helium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element2: BlockType;
- /**
- * @remarks
- * Represents the calcium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element20: BlockType;
- /**
- * @remarks
- * Represents the scandium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element21: BlockType;
- /**
- * @remarks
- * Represents the titanium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element22: BlockType;
- /**
- * @remarks
- * Represents the vanadium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element23: BlockType;
- /**
- * @remarks
- * Represents the chromium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element24: BlockType;
- /**
- * @remarks
- * Represents the manganese element in Minecraft Education
- * experiences.
- *
- */
- static readonly element25: BlockType;
- /**
- * @remarks
- * Represents the iron element in Minecraft Education
- * experiences.
- *
- */
- static readonly element26: BlockType;
- /**
- * @remarks
- * Represents the cobalt element in Minecraft Education
- * experiences.
- *
- */
- static readonly element27: BlockType;
- /**
- * @remarks
- * Represents the nickel element in Minecraft Education
- * experiences.
- *
- */
- static readonly element28: BlockType;
- /**
- * @remarks
- * Represents the copper element in Minecraft Education
- * experiences.
- *
- */
- static readonly element29: BlockType;
- /**
- * @remarks
- * Represents a lithium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element3: BlockType;
- /**
- * @remarks
- * Represents the zinc element in Minecraft Education
- * experiences.
- *
- */
- static readonly element30: BlockType;
- /**
- * @remarks
- * Represents the gallium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element31: BlockType;
- /**
- * @remarks
- * Represents a germanium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element32: BlockType;
- /**
- * @remarks
- * Represents the arsenic element in Minecraft Education
- * experiences.
- *
- */
- static readonly element33: BlockType;
- /**
- * @remarks
- * Represents the selenium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element34: BlockType;
- /**
- * @remarks
- * Represents the bromine element in Minecraft Education
- * experiences.
- *
- */
- static readonly element35: BlockType;
- /**
- * @remarks
- * Represents the krypton element in Minecraft Education
- * experiences.
- *
- */
- static readonly element36: BlockType;
- /**
- * @remarks
- * Represents the rubidium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element37: BlockType;
- /**
- * @remarks
- * Represents the strontium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element38: BlockType;
- /**
- * @remarks
- * Represents the yttrium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element39: BlockType;
- /**
- * @remarks
- * Represents a beryllium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element4: BlockType;
- /**
- * @remarks
- * Represents the zirconium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element40: BlockType;
- /**
- * @remarks
- * Represents the niobium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element41: BlockType;
- /**
- * @remarks
- * Represents the molybdenum element in Minecraft Education
- * experiences.
- *
- */
- static readonly element42: BlockType;
- /**
- * @remarks
- * Represents the technetium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element43: BlockType;
- /**
- * @remarks
- * Represents the ruthenium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element44: BlockType;
- /**
- * @remarks
- * Represents the rhodium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element45: BlockType;
- /**
- * @remarks
- * Represents the palladium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element46: BlockType;
- /**
- * @remarks
- * Represents the silver element in Minecraft Education
- * experiences.
- *
- */
- static readonly element47: BlockType;
- /**
- * @remarks
- * Represents the cadmium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element48: BlockType;
- /**
- * @remarks
- * Represents the indium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element49: BlockType;
- /**
- * @remarks
- * Represents the boron element in Minecraft Education
- * experiences.
- *
- */
- static readonly element5: BlockType;
- /**
- * @remarks
- * Represents the tin element in Minecraft Education
- * experiences.
- *
- */
- static readonly element50: BlockType;
- /**
- * @remarks
- * Represents the antimony element in Minecraft Education
- * experiences.
- *
- */
- static readonly element51: BlockType;
- /**
- * @remarks
- * Represents the tellurium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element52: BlockType;
- /**
- * @remarks
- * Represents the iodine element in Minecraft Education
- * experiences.
- *
- */
- static readonly element53: BlockType;
- /**
- * @remarks
- * Represents the xenon element in Minecraft Education
- * experiences.
- *
- */
- static readonly element54: BlockType;
- /**
- * @remarks
- * Represents the cesium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element55: BlockType;
- /**
- * @remarks
- * Represents the barium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element56: BlockType;
- /**
- * @remarks
- * Represents the lanthanum element in Minecraft Education
- * experiences.
- *
- */
- static readonly element57: BlockType;
- /**
- * @remarks
- * Represents the cerium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element58: BlockType;
- /**
- * @remarks
- * Represents the praseodymium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element59: BlockType;
- /**
- * @remarks
- * Represents the carbon element in Minecraft Education
- * experiences.
- *
- */
- static readonly element6: BlockType;
- /**
- * @remarks
- * Represents the neodymium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element60: BlockType;
- /**
- * @remarks
- * Represents the promethium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element61: BlockType;
- /**
- * @remarks
- * Represents the samarium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element62: BlockType;
- /**
- * @remarks
- * Represents the europium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element63: BlockType;
- /**
- * @remarks
- * Represents the gadolinium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element64: BlockType;
- /**
- * @remarks
- * Represents a terbium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element65: BlockType;
- /**
- * @remarks
- * Represents the dysprosium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element66: BlockType;
- /**
- * @remarks
- * Represents the holmium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element67: BlockType;
- /**
- * @remarks
- * Represents the erbium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element68: BlockType;
- /**
- * @remarks
- * Represents the thulium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element69: BlockType;
- /**
- * @remarks
- * Represents the nitrogen element in Minecraft Education
- * experiences.
- *
- */
- static readonly element7: BlockType;
- /**
- * @remarks
- * Represents the ytterbium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element70: BlockType;
- /**
- * @remarks
- * Represents the lutetium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element71: BlockType;
- /**
- * @remarks
- * Represents a hafnium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element72: BlockType;
- /**
- * @remarks
- * Represents the tantalum element in Minecraft Education
- * experiences.
- *
- */
- static readonly element73: BlockType;
- /**
- * @remarks
- * Represents the tungsten element in Minecraft Education
- * experiences.
- *
- */
- static readonly element74: BlockType;
- /**
- * @remarks
- * Represents the rhenium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element75: BlockType;
- /**
- * @remarks
- * Represents the osmium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element76: BlockType;
- /**
- * @remarks
- * Represents the iridium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element77: BlockType;
- /**
- * @remarks
- * Represents the platinum element in Minecraft Education
- * experiences.
- *
- */
- static readonly element78: BlockType;
- /**
- * @remarks
- * Represents the gold element in Minecraft Education
- * experiences.
- *
- */
- static readonly element79: BlockType;
- /**
- * @remarks
- * Represents the oxygen element in Minecraft Education
- * experiences.
- *
- */
- static readonly element8: BlockType;
- /**
- * @remarks
- * Represents the mercury element in Minecraft Education
- * experiences.
- *
- */
- static readonly element80: BlockType;
- /**
- * @remarks
- * Represents the thallium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element81: BlockType;
- /**
- * @remarks
- * Represents the lead element in Minecraft Education
- * experiences.
- *
- */
- static readonly element82: BlockType;
- /**
- * @remarks
- * Represents the bismuth element in Minecraft Education
- * experiences.
- *
- */
- static readonly element83: BlockType;
- /**
- * @remarks
- * Represents the polonium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element84: BlockType;
- /**
- * @remarks
- * Represents the astatine element in Minecraft Education
- * experiences.
- *
- */
- static readonly element85: BlockType;
- /**
- * @remarks
- * Represents the radon element in Minecraft Education
- * experiences.
- *
- */
- static readonly element86: BlockType;
- /**
- * @remarks
- * Represents the francium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element87: BlockType;
- /**
- * @remarks
- * Represents the radium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element88: BlockType;
- /**
- * @remarks
- * Represents the actinium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element89: BlockType;
- /**
- * @remarks
- * Represents the fluorine element in Minecraft Education
- * experiences.
- *
- */
- static readonly element9: BlockType;
- /**
- * @remarks
- * Represents the thorium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element90: BlockType;
- /**
- * @remarks
- * Represents the protactinium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element91: BlockType;
- /**
- * @remarks
- * Represents the uranium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element92: BlockType;
- /**
- * @remarks
- * Represents the neptunium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element93: BlockType;
- /**
- * @remarks
- * Represents the plutonium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element94: BlockType;
- /**
- * @remarks
- * Represents the americium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element95: BlockType;
- /**
- * @remarks
- * Represents the curium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element96: BlockType;
- /**
- * @remarks
- * Represents the berkelium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element97: BlockType;
- /**
- * @remarks
- * Represents the californium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element98: BlockType;
- /**
- * @remarks
- * Represents the einsteinium element in Minecraft Education
- * experiences.
- *
- */
- static readonly element99: BlockType;
- /**
- * @remarks
- * Represents a block of emerald within Minecraft.
- *
- */
- static readonly emeraldBlock: BlockType;
- /**
- * @remarks
- * Represents a block with embedded emerald ore within
- * Minecraft.
- *
- */
- static readonly emeraldOre: BlockType;
- /**
- * @remarks
- * Represents an enchanting table within Minecraft.
- *
- */
- static readonly enchantingTable: BlockType;
- /**
- * @remarks
- * Represents an end bricks block within Minecraft.
- *
- */
- static readonly endBricks: BlockType;
- /**
- * @remarks
- * Represents a set of end brick stairs within Minecraft.
- *
- */
- static readonly endBrickStairs: BlockType;
- /**
- * @remarks
- * Represents an ender chest within Minecraft.
- *
- */
- static readonly enderChest: BlockType;
- /**
- * @remarks
- * Represents an end gateway within Minecraft.
- *
- */
- static readonly endGateway: BlockType;
- /**
- * @remarks
- * Represents an end portal block within Minecraft.
- *
- */
- static readonly endPortal: BlockType;
- /**
- * @remarks
- * Represents an end portal frame within Minecraft.
- *
- */
- static readonly endPortalFrame: BlockType;
- /**
- * @remarks
- * Represents an end rod within Minecraft.
- *
- */
- static readonly endRod: BlockType;
- /**
- * @remarks
- * Represents an end stone block within Minecraft.
- *
- */
- static readonly endStone: BlockType;
- /**
- * @remarks
- * Represents a block of exposed copper within Minecraft.
- *
- */
- static readonly exposedCopper: BlockType;
- /**
- * @remarks
- * Represents a block of exposed cut copper within Minecraft.
- *
- */
- static readonly exposedCutCopper: BlockType;
- /**
- * @remarks
- * Represents a slab of exposed cut copper within Minecraft.
- *
- */
- static readonly exposedCutCopperSlab: BlockType;
- /**
- * @remarks
- * Represents a set of exposed cut copper stairs within
- * Minecraft.
- *
- */
- static readonly exposedCutCopperStairs: BlockType;
- /**
- * @remarks
- * Represents a double slab of exposed cut copper within
- * Minecraft.
- *
- */
- static readonly exposedDoubleCutCopperSlab: BlockType;
- /**
- * @remarks
- * Represents a farmland block within Minecraft.
- *
- */
- static readonly farmland: BlockType;
- /**
- * @remarks
- * Represents a fence gate within Minecraft.
- *
- */
- static readonly fenceGate: BlockType;
- /**
- * @remarks
- * Represents a fire within Minecraft.
- *
- */
- static readonly fire: BlockType;
- static readonly fireCoral: BlockType;
- /**
- * @remarks
- * Represents a fletching table within Minecraft.
- *
- */
- static readonly fletchingTable: BlockType;
- /**
- * @remarks
- * Represents a flowering azalea plant within Minecraft.
- *
- */
- static readonly floweringAzalea: BlockType;
- /**
- * @remarks
- * Represents a flower pot within Minecraft.
- *
- */
- static readonly flowerPot: BlockType;
- /**
- * @remarks
- * Represents flowing lava within Minecraft.
- *
- */
- static readonly flowingLava: BlockType;
- /**
- * @remarks
- * Represents flowing water within Minecraft.
- *
- */
- static readonly flowingWater: BlockType;
- /**
- * @remarks
- * Represents a frame within Minecraft.
- *
- */
- static readonly frame: BlockType;
- static readonly frogSpawn: BlockType;
- /**
- * @remarks
- * Represents a frosted ice block within Minecraft.
- *
- */
- static readonly frostedIce: BlockType;
- /**
- * @remarks
- * Represents a furnace within Minecraft.
- *
- */
- static readonly furnace: BlockType;
- /**
- * @remarks
- * Represents a block of gilded blackstone within Minecraft.
- *
- */
- static readonly gildedBlackstone: BlockType;
- /**
- * @remarks
- * Represents a glass block within Minecraft.
- *
- */
- static readonly glass: BlockType;
- /**
- * @remarks
- * Represents a pane of glass within Minecraft.
- *
- */
- static readonly glassPane: BlockType;
- /**
- * @remarks
- * Represents a glowing frame within Minecraft.
- *
- */
- static readonly glowFrame: BlockType;
- /**
- * @remarks
- * Represents a glowing obsidian block within Minecraft.
- *
- */
- static readonly glowingobsidian: BlockType;
- /**
- * @remarks
- * Represents glow lichen within Minecraft.
- *
- */
- static readonly glowLichen: BlockType;
- /**
- * @remarks
- * Represents a block of glowstone within Minecraft.
- *
- */
- static readonly glowstone: BlockType;
- /**
- * @remarks
- * Represents a gold block within Minecraft.
- *
- */
- static readonly goldBlock: BlockType;
- /**
- * @remarks
- * Represents a golden rail element within Minecraft.
- *
- */
- static readonly goldenRail: BlockType;
- /**
- * @remarks
- * Represents a block with embedded gold ore within Minecraft.
- *
- */
- static readonly goldOre: BlockType;
- /**
- * @remarks
- * Represents a set of granite stairs within Minecraft.
- *
- */
- static readonly graniteStairs: BlockType;
- /**
- * @remarks
- * Represents a block of dirt and grass within Minecraft.
- *
- */
- static readonly grass: BlockType;
- /**
- * @remarks
- * Represents a block of dirt and grass with a path within
- * Minecraft.
- *
- */
- static readonly grassPath: BlockType;
- /**
- * @remarks
- * Represents a block of gravel within Minecraft.
- *
- */
- static readonly gravel: BlockType;
- /**
- * @remarks
- * Represents a gray-colored candle within Minecraft.
- *
- */
- static readonly grayCandle: BlockType;
- /**
- * @remarks
- * Represents a cake with gray-colored candle within Minecraft.
- *
- */
- static readonly grayCandleCake: BlockType;
- static readonly grayCarpet: BlockType;
- static readonly grayConcrete: BlockType;
- /**
- * @remarks
- * Represents a gray-colored block of glazed terracotta within
- * Minecraft.
- *
- */
- static readonly grayGlazedTerracotta: BlockType;
- static readonly grayShulkerBox: BlockType;
- static readonly grayWool: BlockType;
- /**
- * @remarks
- * Represents a green-colored candle within Minecraft.
- *
- */
- static readonly greenCandle: BlockType;
- /**
- * @remarks
- * Represents a green-colored candle cake within Minecraft.
- *
- */
- static readonly greenCandleCake: BlockType;
- static readonly greenCarpet: BlockType;
- static readonly greenConcrete: BlockType;
- /**
- * @remarks
- * Represents a green block of glazed terracotta within
- * Minecraft.
- *
- */
- static readonly greenGlazedTerracotta: BlockType;
- static readonly greenShulkerBox: BlockType;
- static readonly greenWool: BlockType;
- /**
- * @remarks
- * Represents a grindstone within Minecraft.
- *
- */
- static readonly grindstone: BlockType;
- /**
- * @remarks
- * Represents a set of hanging roots within Minecraft.
- *
- */
- static readonly hangingRoots: BlockType;
- /**
- * @remarks
- * Represents a block of hardened clay within Minecraft.
- *
- */
- static readonly hardenedClay: BlockType;
- /**
- * @remarks
- * Represents a block of hard glass within Minecraft.
- *
- */
- static readonly hardGlass: BlockType;
- /**
- * @remarks
- * Represents a pane of hard glass within Minecraft.
- *
- */
- static readonly hardGlassPane: BlockType;
- /**
- * @remarks
- * Represents a stained hard glass block within Minecraft.
- *
- */
- static readonly hardStainedGlass: BlockType;
- /**
- * @remarks
- * Represents a stained pane of hard glass within Minecraft.
- *
- */
- static readonly hardStainedGlassPane: BlockType;
- /**
- * @remarks
- * Represents a block of hay within Minecraft.
- *
- */
- static readonly hayBlock: BlockType;
- /**
- * @remarks
- * Represents a heavy weighted pressure plate within Minecraft.
- *
- */
- static readonly heavyWeightedPressurePlate: BlockType;
- /**
- * @remarks
- * Represents a block of honey within Minecraft.
- *
- */
- static readonly honeyBlock: BlockType;
- /**
- * @remarks
- * Represents a honeycomb block within Minecraft.
- *
- */
- static readonly honeycombBlock: BlockType;
- /**
- * @remarks
- * Represents a hopper within Minecraft.
- *
- */
- static readonly hopper: BlockType;
- static readonly hornCoral: BlockType;
- /**
- * @remarks
- * Represents a block of ice within Minecraft.
- *
- */
- static readonly ice: BlockType;
- /**
- * @remarks
- * Represents an infested block of deepslate within Minecraft.
- *
- */
- static readonly infestedDeepslate: BlockType;
- /**
- * @remarks
- * Represents an information update block within Minecraft.
- *
- */
- static readonly infoUpdate: BlockType;
- /**
- * @remarks
- * Represents an information update block within Minecraft.
- *
- */
- static readonly infoUpdate2: BlockType;
- /**
- * @remarks
- * Represents an invisible boundary bedrock block within
- * Minecraft.
- *
- */
- static readonly invisibleBedrock: BlockType;
- /**
- * @remarks
- * Represents iron bars within Minecraft.
- *
- */
- static readonly ironBars: BlockType;
- /**
- * @remarks
- * Represents a block of iron within Minecraft.
- *
- */
- static readonly ironBlock: BlockType;
- /**
- * @remarks
- * Represents an iron door within Minecraft.
- *
- */
- static readonly ironDoor: BlockType;
- /**
- * @remarks
- * Represents a block with embedded iron ore within Minecraft.
- *
- */
- static readonly ironOre: BlockType;
- /**
- * @remarks
- * Represents an iron trapdoor within Minecraft.
- *
- */
- static readonly ironTrapdoor: BlockType;
- /**
- * @remarks
- * Represents a jigsaw within Minecraft.
- *
- */
- static readonly jigsaw: BlockType;
- /**
- * @remarks
- * Represents a jukebox within Minecraft.
- *
- */
- static readonly jukebox: BlockType;
- /**
- * @remarks
- * Represents jungle wood button within Minecraft.
- *
- */
- static readonly jungleButton: BlockType;
- /**
- * @remarks
- * Represents a jungle wood door within Minecraft.
- *
- */
- static readonly jungleDoor: BlockType;
- static readonly jungleFence: BlockType;
- /**
- * @remarks
- * Represents a jungle wood fence gate within Minecraft.
- *
- */
- static readonly jungleFenceGate: BlockType;
- static readonly jungleHangingSign: BlockType;
- static readonly jungleLog: BlockType;
- /**
- * @remarks
- * Represents a jungle wood pressure plate within Minecraft.
- *
- */
- static readonly junglePressurePlate: BlockType;
- /**
- * @remarks
- * Represents a set of jungle wood stairs within Minecraft.
- *
- */
- static readonly jungleStairs: BlockType;
- /**
- * @remarks
- * Represents a jungle wood standing sign within Minecraft.
- *
- */
- static readonly jungleStandingSign: BlockType;
- /**
- * @remarks
- * Represents a jungle wood trapdoor within Minecraft.
- *
- */
- static readonly jungleTrapdoor: BlockType;
- /**
- * @remarks
- * Represents a jungle wood wall sign within Minecraft.
- *
- */
- static readonly jungleWallSign: BlockType;
- /**
- * @remarks
- * Represents a set of kelp within Minecraft.
- *
- */
- static readonly kelp: BlockType;
- /**
- * @remarks
- * Represents a ladder within Minecraft.
- *
- */
- static readonly ladder: BlockType;
- /**
- * @remarks
- * Represents a lantern within Minecraft.
- *
- */
- static readonly lantern: BlockType;
- /**
- * @remarks
- * Represents a block of lapis lazuli within Minecraft.
- *
- */
- static readonly lapisBlock: BlockType;
- /**
- * @remarks
- * Represents a block with embedded lapis lazuli within
- * Minecraft.
- *
- */
- static readonly lapisOre: BlockType;
- /**
- * @remarks
- * Represents a bud of large amethyst within Minecraft.
- *
- */
- static readonly largeAmethystBud: BlockType;
- /**
- * @remarks
- * Represents lava within Minecraft.
- *
- */
- static readonly lava: BlockType;
- /**
- * @remarks
- * Represents a set of leaves within Minecraft.
- *
- */
- static readonly leaves: BlockType;
- /**
- * @remarks
- * Represents an updated set of leaves within Minecraft.
- *
- */
- static readonly leaves2: BlockType;
- /**
- * @remarks
- * Represents a lectern within Minecraft.
- *
- */
- static readonly lectern: BlockType;
- /**
- * @remarks
- * Represents a lever within Minecraft.
- *
- */
- static readonly lever: BlockType;
- /**
- * @remarks
- * Represents a block of light within Minecraft.
- *
- */
- static readonly lightBlock: BlockType;
- /**
- * @remarks
- * Represents a light blue candle within Minecraft.
- *
- */
- static readonly lightBlueCandle: BlockType;
- /**
- * @remarks
- * Represents a light blue candle cake within Minecraft.
- *
- */
- static readonly lightBlueCandleCake: BlockType;
- static readonly lightBlueCarpet: BlockType;
- static readonly lightBlueConcrete: BlockType;
- /**
- * @remarks
- * Represents a light blue block of glazed terracotta within
- * Minecraft.
- *
- */
- static readonly lightBlueGlazedTerracotta: BlockType;
- static readonly lightBlueShulkerBox: BlockType;
- static readonly lightBlueWool: BlockType;
- /**
- * @remarks
- * Represents a light gray candle within Minecraft.
- *
- */
- static readonly lightGrayCandle: BlockType;
- /**
- * @remarks
- * Represents a light gray candle cake within Minecraft.
- *
- */
- static readonly lightGrayCandleCake: BlockType;
- static readonly lightGrayCarpet: BlockType;
- static readonly lightGrayConcrete: BlockType;
- static readonly lightGrayShulkerBox: BlockType;
- static readonly lightGrayWool: BlockType;
- /**
- * @remarks
- * Represents a lightning rod within Minecraft.
- *
- */
- static readonly lightningRod: BlockType;
- /**
- * @remarks
- * Represents a light weighted pressure plate within Minecraft.
- *
- */
- static readonly lightWeightedPressurePlate: BlockType;
- /**
- * @remarks
- * Represents a lime candle within Minecraft.
- *
- */
- static readonly limeCandle: BlockType;
- /**
- * @remarks
- * Represents a lime-colored candle cake within Minecraft.
- *
- */
- static readonly limeCandleCake: BlockType;
- static readonly limeCarpet: BlockType;
- static readonly limeConcrete: BlockType;
- /**
- * @remarks
- * Represents a lime-colored block of glazed terracotta within
- * Minecraft.
- *
- */
- static readonly limeGlazedTerracotta: BlockType;
- static readonly limeShulkerBox: BlockType;
- static readonly limeWool: BlockType;
- /**
- * @remarks
- * Represents a lit blast furnace within Minecraft.
- *
- */
- static readonly litBlastFurnace: BlockType;
- /**
- * @remarks
- * Represents lit deepslate redstone ore within Minecraft.
- *
- */
- static readonly litDeepslateRedstoneOre: BlockType;
- /**
- * @remarks
- * Represents a lit furnace within Minecraft.
- *
- */
- static readonly litFurnace: BlockType;
- /**
- * @remarks
- * Represents a lit pumpkin within Minecraft.
- *
- */
- static readonly litPumpkin: BlockType;
- /**
- * @remarks
- * Represents a lit redstone lamp within Minecraft.
- *
- */
- static readonly litRedstoneLamp: BlockType;
- /**
- * @remarks
- * Represents lit redstone ore within Minecraft.
- *
- */
- static readonly litRedstoneOre: BlockType;
- /**
- * @remarks
- * Represents a lit smoker within Minecraft.
- *
- */
- static readonly litSmoker: BlockType;
- /**
- * @remarks
- * Represents a lodestone within Minecraft.
- *
- */
- static readonly lodestone: BlockType;
- /**
- * @remarks
- * Represents a loom within Minecraft.
- *
- */
- static readonly loom: BlockType;
- /**
- * @remarks
- * Represents a magenta candle within Minecraft.
- *
- */
- static readonly magentaCandle: BlockType;
- /**
- * @remarks
- * Represents a magenta candle cake within Minecraft.
- *
- */
- static readonly magentaCandleCake: BlockType;
- static readonly magentaCarpet: BlockType;
- static readonly magentaConcrete: BlockType;
- /**
- * @remarks
- * Represents a block of magenta-colored glazed terracotta
- * within Minecraft.
- *
- */
- static readonly magentaGlazedTerracotta: BlockType;
- static readonly magentaShulkerBox: BlockType;
- static readonly magentaWool: BlockType;
- /**
- * @remarks
- * Represents magma within Minecraft.
- *
- */
- static readonly magma: BlockType;
- static readonly mangroveButton: BlockType;
- static readonly mangroveDoor: BlockType;
- static readonly mangroveDoubleSlab: BlockType;
- static readonly mangroveFence: BlockType;
- static readonly mangroveFenceGate: BlockType;
- static readonly mangroveHangingSign: BlockType;
- static readonly mangroveLeaves: BlockType;
- static readonly mangroveLog: BlockType;
- static readonly mangrovePlanks: BlockType;
- static readonly mangrovePressurePlate: BlockType;
- static readonly mangrovePropagule: BlockType;
- static readonly mangroveRoots: BlockType;
- static readonly mangroveSlab: BlockType;
- static readonly mangroveStairs: BlockType;
- static readonly mangroveStandingSign: BlockType;
- static readonly mangroveTrapdoor: BlockType;
- static readonly mangroveWallSign: BlockType;
- static readonly mangroveWood: BlockType;
- /**
- * @remarks
- * Represents a medium-sized bud of amethyst within Minecraft.
- *
- */
- static readonly mediumAmethystBud: BlockType;
- /**
- * @remarks
- * Represents a block of melon within Minecraft.
- *
- */
- static readonly melonBlock: BlockType;
- /**
- * @remarks
- * Represents a stem of melon within Minecraft.
- *
- */
- static readonly melonStem: BlockType;
- /**
- * @remarks
- * Represents a mob spawner within Minecraft.
- *
- */
- static readonly mobSpawner: BlockType;
- /**
- * @remarks
- * Represents a monster egg within Minecraft.
- *
- */
- static readonly monsterEgg: BlockType;
- /**
- * @remarks
- * Represents a block of moss within Minecraft.
- *
- */
- static readonly mossBlock: BlockType;
- /**
- * @remarks
- * Represents a carpet of moss within Minecraft.
- *
- */
- static readonly mossCarpet: BlockType;
- /**
- * @remarks
- * Represents a block of cobblestone with moss within
- * Minecraft.
- *
- */
- static readonly mossyCobblestone: BlockType;
- /**
- * @remarks
- * Represents a set of mossy cobblestone stairs within
- * Minecraft.
- *
- */
- static readonly mossyCobblestoneStairs: BlockType;
- /**
- * @remarks
- * Represents a set of mossy stone brick stairs within
- * Minecraft.
- *
- */
- static readonly mossyStoneBrickStairs: BlockType;
- static readonly movingBlock: BlockType;
- static readonly mud: BlockType;
- static readonly mudBrickDoubleSlab: BlockType;
- static readonly mudBricks: BlockType;
- static readonly mudBrickSlab: BlockType;
- static readonly mudBrickStairs: BlockType;
- static readonly mudBrickWall: BlockType;
- static readonly muddyMangroveRoots: BlockType;
- /**
- * @remarks
- * Represents a mycelium plant within Minecraft.
- *
- */
- static readonly mycelium: BlockType;
- /**
- * @remarks
- * Represents a nether brick block within Minecraft.
- *
- */
- static readonly netherBrick: BlockType;
- /**
- * @remarks
- * Represents a nether brick fence within Minecraft.
- *
- */
- static readonly netherBrickFence: BlockType;
- /**
- * @remarks
- * Represents a set of nether brick stairs within Minecraft.
- *
- */
- static readonly netherBrickStairs: BlockType;
- /**
- * @remarks
- * Represents a block of nether with embedded gold ore within
- * Minecraft.
- *
- */
- static readonly netherGoldOre: BlockType;
- /**
- * @remarks
- * Represents a block of netherite within Minecraft.
- *
- */
- static readonly netheriteBlock: BlockType;
- /**
- * @remarks
- * Represents a block of netherrack within Minecraft.
- *
- */
- static readonly netherrack: BlockType;
- /**
- * @remarks
- * Represents a nether rock within Minecraft.
- *
- */
- static readonly netherreactor: BlockType;
- /**
- * @remarks
- * Represents nether sprouts within Minecraft.
- *
- */
- static readonly netherSprouts: BlockType;
- /**
- * @remarks
- * Represents nether wart within Minecraft.
- *
- */
- static readonly netherWart: BlockType;
- /**
- * @remarks
- * Represents a block of nether wart within Minecraft.
- *
- */
- static readonly netherWartBlock: BlockType;
- /**
- * @remarks
- * Represents a standard set of stone stairs within Minecraft.
- *
- */
- static readonly normalStoneStairs: BlockType;
- /**
- * @remarks
- * Represents a note block within Minecraft.
- *
- */
- static readonly noteblock: BlockType;
- static readonly oakFence: BlockType;
- static readonly oakHangingSign: BlockType;
- static readonly oakLog: BlockType;
- /**
- * @remarks
- * Represents a set of oak stairs within Minecraft.
- *
- */
- static readonly oakStairs: BlockType;
- /**
- * @remarks
- * Represents an observer within Minecraft.
- *
- */
- static readonly observer: BlockType;
- /**
- * @remarks
- * Represents an obsidian block within Minecraft.
- *
- */
- static readonly obsidian: BlockType;
- static readonly ochreFroglight: BlockType;
- /**
- * @remarks
- * Represents an orange candle within Minecraft.
- *
- */
- static readonly orangeCandle: BlockType;
- /**
- * @remarks
- * Represents an orange candle cake within Minecraft.
- *
- */
- static readonly orangeCandleCake: BlockType;
- static readonly orangeCarpet: BlockType;
- static readonly orangeConcrete: BlockType;
- /**
- * @remarks
- * Represents a block of orange-colored glazed terracotta
- * within Minecraft.
- *
- */
- static readonly orangeGlazedTerracotta: BlockType;
- static readonly orangeShulkerBox: BlockType;
- static readonly orangeWool: BlockType;
- /**
- * @remarks
- * Represents a block of oxidized copper within Minecraft.
- *
- */
- static readonly oxidizedCopper: BlockType;
- /**
- * @remarks
- * Represents a block of oxidized cut copper within Minecraft.
- *
- */
- static readonly oxidizedCutCopper: BlockType;
- /**
- * @remarks
- * Represents a slab of oxidized cut copper within Minecraft.
- *
- */
- static readonly oxidizedCutCopperSlab: BlockType;
- /**
- * @remarks
- * Represents a set of oxidized cut copper stairs within
- * Minecraft.
- *
- */
- static readonly oxidizedCutCopperStairs: BlockType;
- /**
- * @remarks
- * Represents a double slab of oxidized cut copper within
- * Minecraft.
- *
- */
- static readonly oxidizedDoubleCutCopperSlab: BlockType;
- /**
- * @remarks
- * Represents a block of packed ice within Minecraft.
- *
- */
- static readonly packedIce: BlockType;
- static readonly packedMud: BlockType;
- static readonly pearlescentFroglight: BlockType;
- /**
- * @remarks
- * Represents a pink candle within Minecraft.
- *
- */
- static readonly pinkCandle: BlockType;
- /**
- * @remarks
- * Represents a pink candle cake within Minecraft.
- *
- */
- static readonly pinkCandleCake: BlockType;
- static readonly pinkCarpet: BlockType;
- static readonly pinkConcrete: BlockType;
- /**
- * @remarks
- * Represents a pink-colored block of glazed terracotta within
- * Minecraft.
- *
- */
- static readonly pinkGlazedTerracotta: BlockType;
- static readonly pinkPetals: BlockType;
- static readonly pinkShulkerBox: BlockType;
- static readonly pinkWool: BlockType;
- /**
- * @remarks
- * Represents a piston within Minecraft.
- *
- */
- static readonly piston: BlockType;
- static readonly pistonArmCollision: BlockType;
- static readonly pitcherCrop: BlockType;
- static readonly pitcherPlant: BlockType;
- /**
- * @remarks
- * Represents a set of planks within Minecraft.
- *
- */
- static readonly planks: BlockType;
- /**
- * @remarks
- * Represents podzol within Minecraft.
- *
- */
- static readonly podzol: BlockType;
- /**
- * @remarks
- * Represents pointed dripstone within Minecraft.
- *
- */
- static readonly pointedDripstone: BlockType;
- /**
- * @remarks
- * Represents a set of polished andesite stairs within
- * Minecraft.
- *
- */
- static readonly polishedAndesiteStairs: BlockType;
- /**
- * @remarks
- * Represents a block of polished basalt within Minecraft.
- *
- */
- static readonly polishedBasalt: BlockType;
- /**
- * @remarks
- * Represents a block of polished blackstone within Minecraft.
- *
- */
- static readonly polishedBlackstone: BlockType;
- /**
- * @remarks
- * Represents a double slab of polished blackstone brick within
- * Minecraft.
- *
- */
- static readonly polishedBlackstoneBrickDoubleSlab: BlockType;
- /**
- * @remarks
- * Represents a block of polished blackstone bricks within
- * Minecraft.
- *
- */
- static readonly polishedBlackstoneBricks: BlockType;
- /**
- * @remarks
- * Represents a slab of polished blackstone within Minecraft.
- *
- */
- static readonly polishedBlackstoneBrickSlab: BlockType;
- /**
- * @remarks
- * Represents a set of polished blackstone brick stairs within
- * Minecraft.
- *
- */
- static readonly polishedBlackstoneBrickStairs: BlockType;
- /**
- * @remarks
- * Represents a polished blackstone brick wall within
- * Minecraft.
- *
- */
- static readonly polishedBlackstoneBrickWall: BlockType;
- /**
- * @remarks
- * Represents a polished blackstone button within Minecraft.
- *
- */
- static readonly polishedBlackstoneButton: BlockType;
- /**
- * @remarks
- * Represents a double slab of polished blackstone within
- * Minecraft.
- *
- */
- static readonly polishedBlackstoneDoubleSlab: BlockType;
- /**
- * @remarks
- * Represents a polished blackstone pressure plate within
- * Minecraft.
- *
- */
- static readonly polishedBlackstonePressurePlate: BlockType;
- /**
- * @remarks
- * Represents a slab of polished blackstone within Minecraft.
- *
- */
- static readonly polishedBlackstoneSlab: BlockType;
- /**
- * @remarks
- * Represents a set of polished blackstone stairs within
- * Minecraft.
- *
- */
- static readonly polishedBlackstoneStairs: BlockType;
- /**
- * @remarks
- * Represents a polished blackstone wall within Minecraft.
- *
- */
- static readonly polishedBlackstoneWall: BlockType;
- /**
- * @remarks
- * Represents a block of polished deepslate within Minecraft.
- *
- */
- static readonly polishedDeepslate: BlockType;
- /**
- * @remarks
- * Represents a double slab of polished deepslate within
- * Minecraft.
- *
- */
- static readonly polishedDeepslateDoubleSlab: BlockType;
- /**
- * @remarks
- * Represents a slab of polished deepslate within Minecraft.
- *
- */
- static readonly polishedDeepslateSlab: BlockType;
- /**
- * @remarks
- * Represents a set of polished deepslate stairs within
- * Minecraft.
- *
- */
- static readonly polishedDeepslateStairs: BlockType;
- /**
- * @remarks
- * Represents a wall of polished deepslate within Minecraft.
- *
- */
- static readonly polishedDeepslateWall: BlockType;
- /**
- * @remarks
- * Represents a block of polished diorite within Minecraft.
- *
- */
- static readonly polishedDioriteStairs: BlockType;
- /**
- * @remarks
- * Represents a set of polished granite stairs within
- * Minecraft.
- *
- */
- static readonly polishedGraniteStairs: BlockType;
- /**
- * @remarks
- * Represents a portal within Minecraft.
- *
- */
- static readonly portal: BlockType;
- /**
- * @remarks
- * Represents a set of potatoes within Minecraft.
- *
- */
- static readonly potatoes: BlockType;
- /**
- * @remarks
- * Represents a block of powder snow within Minecraft.
- *
- */
- static readonly powderSnow: BlockType;
- /**
- * @remarks
- * Represents a powered comparator within Minecraft.
- *
- */
- static readonly poweredComparator: BlockType;
- /**
- * @remarks
- * Represents a powered repeater within Minecraft.
- *
- */
- static readonly poweredRepeater: BlockType;
- /**
- * @remarks
- * Represents a block of prismarine within Minecraft.
- *
- */
- static readonly prismarine: BlockType;
- /**
- * @remarks
- * Represents a set of prismarine brick stairs within
- * Minecraft.
- *
- */
- static readonly prismarineBricksStairs: BlockType;
- /**
- * @remarks
- * Represents a set of prismarine stairs within Minecraft.
- *
- */
- static readonly prismarineStairs: BlockType;
- /**
- * @remarks
- * Represents a pumpkin within Minecraft.
- *
- */
- static readonly pumpkin: BlockType;
- /**
- * @remarks
- * Represents a pumpkin stem within Minecraft.
- *
- */
- static readonly pumpkinStem: BlockType;
- /**
- * @remarks
- * Represents a purple candle within Minecraft.
- *
- */
- static readonly purpleCandle: BlockType;
- /**
- * @remarks
- * Represents a purple colored candle cake within Minecraft.
- *
- */
- static readonly purpleCandleCake: BlockType;
- static readonly purpleCarpet: BlockType;
- static readonly purpleConcrete: BlockType;
- /**
- * @remarks
- * Represents a purple-colored block of glazed terracotta
- * within Minecraft.
- *
- */
- static readonly purpleGlazedTerracotta: BlockType;
- static readonly purpleShulkerBox: BlockType;
- static readonly purpleWool: BlockType;
- /**
- * @remarks
- * Represents a purpur block within Minecraft.
- *
- */
- static readonly purpurBlock: BlockType;
- /**
- * @remarks
- * Represents a set of purpur stairs within Minecraft.
- *
- */
- static readonly purpurStairs: BlockType;
- /**
- * @remarks
- * Represents a block of solid quartz within Minecraft.
- *
- */
- static readonly quartzBlock: BlockType;
- /**
- * @remarks
- * Represents a block of solid quartz bricks within Minecraft.
- *
- */
- static readonly quartzBricks: BlockType;
- /**
- * @remarks
- * Represents a block with embedded quartz ore within
- * Minecraft.
- *
- */
- static readonly quartzOre: BlockType;
- /**
- * @remarks
- * Represents a set of quartz stairs within Minecraft.
- *
- */
- static readonly quartzStairs: BlockType;
- /**
- * @remarks
- * Represents a set of rails within Minecraft.
- *
- */
- static readonly rail: BlockType;
- /**
- * @remarks
- * Represents a block of raw copper within Minecraft.
- *
- */
- static readonly rawCopperBlock: BlockType;
- /**
- * @remarks
- * Represents a block of raw gold within Minecraft.
- *
- */
- static readonly rawGoldBlock: BlockType;
- /**
- * @remarks
- * Represents a block of raw iron within Minecraft.
- *
- */
- static readonly rawIronBlock: BlockType;
- /**
- * @remarks
- * Represents a red candle within Minecraft.
- *
- */
- static readonly redCandle: BlockType;
- /**
- * @remarks
- * Represents a red candle cake within Minecraft.
- *
- */
- static readonly redCandleCake: BlockType;
- static readonly redCarpet: BlockType;
- static readonly redConcrete: BlockType;
- /**
- * @remarks
- * Represents a red flower within Minecraft.
- *
- */
- static readonly redFlower: BlockType;
- /**
- * @remarks
- * Represents a red-colored block of glazed terracotta within
- * Minecraft.
- *
- */
- static readonly redGlazedTerracotta: BlockType;
- /**
- * @remarks
- * Represents a red mushroom within Minecraft.
- *
- */
- static readonly redMushroom: BlockType;
- /**
- * @remarks
- * Represents a block of red mushroom within Minecraft.
- *
- */
- static readonly redMushroomBlock: BlockType;
- /**
- * @remarks
- * Represents a block of red nether brick within Minecraft.
- *
- */
- static readonly redNetherBrick: BlockType;
- /**
- * @remarks
- * Represents a set of red nether brick stairs within
- * Minecraft.
- *
- */
- static readonly redNetherBrickStairs: BlockType;
- /**
- * @remarks
- * Represents a block of red sandstone within Minecraft.
- *
- */
- static readonly redSandstone: BlockType;
- /**
- * @remarks
- * Represents a set of red sandstone stairs within Minecraft.
- *
- */
- static readonly redSandstoneStairs: BlockType;
- static readonly redShulkerBox: BlockType;
- /**
- * @remarks
- * Represents a block of redstone within Minecraft.
- *
- */
- static readonly redstoneBlock: BlockType;
- /**
- * @remarks
- * Represents a redstone lamp within Minecraft.
- *
- */
- static readonly redstoneLamp: BlockType;
- /**
- * @remarks
- * Represents a block with embedded redstone ore within
- * Minecraft.
- *
- */
- static readonly redstoneOre: BlockType;
- /**
- * @remarks
- * Represents a redstone torch within Minecraft.
- *
- */
- static readonly redstoneTorch: BlockType;
- /**
- * @remarks
- * Represents a redstone wire within Minecraft.
- *
- */
- static readonly redstoneWire: BlockType;
- static readonly redWool: BlockType;
- /**
- * @remarks
- * Represents reeds within Minecraft.
- *
- */
- static readonly reeds: BlockType;
- static readonly reinforcedDeepslate: BlockType;
- /**
- * @remarks
- * Represents a repeating command block within Minecraft.
- *
- */
- static readonly repeatingCommandBlock: BlockType;
- /**
- * @remarks
- * Represents a reserved block within Minecraft.
- *
- */
- static readonly reserved6: BlockType;
- /**
- * @remarks
- * Represents a respawn anchor within Minecraft.
- *
- */
- static readonly respawnAnchor: BlockType;
- /**
- * @remarks
- * Represents a block of sand within Minecraft.
- *
- */
- static readonly sand: BlockType;
- /**
- * @remarks
- * Represents a block of sandstone within Minecraft.
- *
- */
- static readonly sandstone: BlockType;
- /**
- * @remarks
- * Represents a set of sandstone stairs within Minecraft.
- *
- */
- static readonly sandstoneStairs: BlockType;
- /**
- * @remarks
- * Represents a sapling within Minecraft.
- *
- */
- static readonly sapling: BlockType;
- /**
- * @remarks
- * Represents a set of scaffolding within Minecraft.
- *
- */
- static readonly scaffolding: BlockType;
- static readonly sculk: BlockType;
- static readonly sculkCatalyst: BlockType;
- /**
- * @remarks
- * Represents a sculk sensor within Minecraft.
- *
- */
- static readonly sculkSensor: BlockType;
- static readonly sculkShrieker: BlockType;
- static readonly sculkVein: BlockType;
- /**
- * @remarks
- * Represents seagrass within Minecraft.
- *
- */
- static readonly seagrass: BlockType;
- /**
- * @remarks
- * Represents a sealantern within Minecraft.
- *
- */
- static readonly seaLantern: BlockType;
- /**
- * @remarks
- * Represents a seapickle within Minecraft.
- *
- */
- static readonly seaPickle: BlockType;
- /**
- * @remarks
- * Represents a shroom light within Minecraft.
- *
- */
- static readonly shroomlight: BlockType;
- /**
- * @remarks
- * Represents a silver-colored block of glazed terracotta
- * within Minecraft.
- *
- */
- static readonly silverGlazedTerracotta: BlockType;
- /**
- * @remarks
- * Represents a skull within Minecraft.
- *
- */
- static readonly skull: BlockType;
- /**
- * @remarks
- * Represents slime within Minecraft.
- *
- */
- static readonly slime: BlockType;
- /**
- * @remarks
- * Represents a small bud of amethyst within Minecraft.
- *
- */
- static readonly smallAmethystBud: BlockType;
- /**
- * @remarks
- * Represents a small dripleaf block within Minecraft.
- *
- */
- static readonly smallDripleafBlock: BlockType;
- /**
- * @remarks
- * Represents a smithing table within Minecraft.
- *
- */
- static readonly smithingTable: BlockType;
- /**
- * @remarks
- * Represents a smoker within Minecraft.
- *
- */
- static readonly smoker: BlockType;
- /**
- * @remarks
- * Represents a block of smooth basalt within Minecraft.
- *
- */
- static readonly smoothBasalt: BlockType;
- /**
- * @remarks
- * Represents a set of smooth quartz stairs within Minecraft.
- *
- */
- static readonly smoothQuartzStairs: BlockType;
- /**
- * @remarks
- * Represents a set of smooth red sandstone stairs within
- * Minecraft.
- *
- */
- static readonly smoothRedSandstoneStairs: BlockType;
- /**
- * @remarks
- * Represents a set of smooth redstone stairs within Minecraft.
- *
- */
- static readonly smoothSandstoneStairs: BlockType;
- /**
- * @remarks
- * Represents a smooth stone block within Minecraft.
- *
- */
- static readonly smoothStone: BlockType;
- static readonly snifferEgg: BlockType;
- /**
- * @remarks
- * Represents snow within Minecraft.
- *
- */
- static readonly snow: BlockType;
- /**
- * @remarks
- * Represents a layer of snow within Minecraft.
- *
- */
- static readonly snowLayer: BlockType;
- /**
- * @remarks
- * Represents a soul campfire within Minecraft.
- *
- */
- static readonly soulCampfire: BlockType;
- /**
- * @remarks
- * Represents soul fire within Minecraft.
- *
- */
- static readonly soulFire: BlockType;
- /**
- * @remarks
- * Represents a soul lantern within Minecraft.
- *
- */
- static readonly soulLantern: BlockType;
- /**
- * @remarks
- * Represents a block of soul sand within Minecraft.
- *
- */
- static readonly soulSand: BlockType;
- /**
- * @remarks
- * Represents soul soil within Minecraft.
- *
- */
- static readonly soulSoil: BlockType;
- /**
- * @remarks
- * Represents a soul torch within Minecraft.
- *
- */
- static readonly soulTorch: BlockType;
- /**
- * @remarks
- * Represents a sponge within Minecraft.
- *
- */
- static readonly sponge: BlockType;
- /**
- * @remarks
- * Represents a spore blossom within Minecraft.
- *
- */
- static readonly sporeBlossom: BlockType;
- /**
- * @remarks
- * Represents a spruce wood button within Minecraft.
- *
- */
- static readonly spruceButton: BlockType;
- /**
- * @remarks
- * Represents a spruce wood door within Minecraft.
- *
- */
- static readonly spruceDoor: BlockType;
- static readonly spruceFence: BlockType;
- /**
- * @remarks
- * Represents a spruce wood fence gate within Minecraft.
- *
- */
- static readonly spruceFenceGate: BlockType;
- static readonly spruceHangingSign: BlockType;
- static readonly spruceLog: BlockType;
- /**
- * @remarks
- * Represents a spruce wood pressure plate within Minecraft.
- *
- */
- static readonly sprucePressurePlate: BlockType;
- /**
- * @remarks
- * Represents a set of spruce wood stairs within Minecraft.
- *
- */
- static readonly spruceStairs: BlockType;
- /**
- * @remarks
- * Represents a spruce wood standing sign within Minecraft.
- *
- */
- static readonly spruceStandingSign: BlockType;
- /**
- * @remarks
- * Represents a spruce wood trapdoor within Minecraft.
- *
- */
- static readonly spruceTrapdoor: BlockType;
- /**
- * @remarks
- * Represents a spruce wood wall sign within Minecraft.
- *
- */
- static readonly spruceWallSign: BlockType;
- /**
- * @remarks
- * Represents stained glass within Minecraft.
- *
- */
- static readonly stainedGlass: BlockType;
- /**
- * @remarks
- * Represents a pane of stained glass within Minecraft.
- *
- */
- static readonly stainedGlassPane: BlockType;
- /**
- * @remarks
- * Represents a block of stained hardened clay within
- * Minecraft.
- *
- */
- static readonly stainedHardenedClay: BlockType;
- /**
- * @remarks
- * Represents a standing banner within Minecraft.
- *
- */
- static readonly standingBanner: BlockType;
- /**
- * @remarks
- * Represents a standing sign within Minecraft.
- *
- */
- static readonly standingSign: BlockType;
- /**
- * @remarks
- * Represents a piston block with a sticky arm within
- * Minecraft.
- *
- */
- static readonly stickyPiston: BlockType;
- static readonly stickyPistonArmCollision: BlockType;
- /**
- * @remarks
- * Represents a block of stone within Minecraft.
- *
- */
- static readonly stone: BlockType;
- static readonly stoneBlockSlab: BlockType;
- static readonly stoneBlockSlab2: BlockType;
- static readonly stoneBlockSlab3: BlockType;
- static readonly stoneBlockSlab4: BlockType;
- /**
- * @remarks
- * Represents a block of stone brick within Minecraft.
- *
- */
- static readonly stonebrick: BlockType;
- /**
- * @remarks
- * Represents a set of stone brick stairs within Minecraft.
- *
- */
- static readonly stoneBrickStairs: BlockType;
- /**
- * @remarks
- * Represents a stone button within Minecraft.
- *
- */
- static readonly stoneButton: BlockType;
- /**
- * @remarks
- * Represents a stonecutter within Minecraft.
- *
- */
- static readonly stonecutter: BlockType;
- /**
- * @remarks
- * Represents a stonecutter block within Minecraft.
- *
- */
- static readonly stonecutterBlock: BlockType;
- /**
- * @remarks
- * Represents a stone pressure plate within Minecraft.
- *
- */
- static readonly stonePressurePlate: BlockType;
- /**
- * @remarks
- * Represents a slab of stone within Minecraft.
- *
- */
- static readonly stoneSlab: BlockType;
- /**
- * @remarks
- * Represents a variant of a slab of stone (#2) within
- * Minecraft.
- *
- */
- static readonly stoneSlab2: BlockType;
- /**
- * @remarks
- * Represents a slab of stone (variant #3) within Minecraft.
- *
- */
- static readonly stoneSlab3: BlockType;
- /**
- * @remarks
- * Represents a slab of stone (variant #4) within Minecraft.
- *
- */
- static readonly stoneSlab4: BlockType;
- /**
- * @remarks
- * Represents a set of stone stairs within Minecraft.
- *
- */
- static readonly stoneStairs: BlockType;
- /**
- * @remarks
- * Represents a stripped acacia log within Minecraft.
- *
- */
- static readonly strippedAcaciaLog: BlockType;
- static readonly strippedBambooBlock: BlockType;
- /**
- * @remarks
- * Represents a stripped birch log within Minecraft.
- *
- */
- static readonly strippedBirchLog: BlockType;
- static readonly strippedCherryLog: BlockType;
- static readonly strippedCherryWood: BlockType;
- /**
- * @remarks
- * Represents stripped crimson hyphae within Minecraft.
- *
- */
- static readonly strippedCrimsonHyphae: BlockType;
- /**
- * @remarks
- * Represents a stripped crimson stem within Minecraft.
- *
- */
- static readonly strippedCrimsonStem: BlockType;
- /**
- * @remarks
- * Represents a stripped dark oak log within Minecraft.
- *
- */
- static readonly strippedDarkOakLog: BlockType;
- /**
- * @remarks
- * Represents a stripped jungle log within Minecraft.
- *
- */
- static readonly strippedJungleLog: BlockType;
- static readonly strippedMangroveLog: BlockType;
- static readonly strippedMangroveWood: BlockType;
- /**
- * @remarks
- * Represents a stripped oak log within Minecraft.
- *
- */
- static readonly strippedOakLog: BlockType;
- /**
- * @remarks
- * Represents a stripped spruce log within Minecraft.
- *
- */
- static readonly strippedSpruceLog: BlockType;
- /**
- * @remarks
- * Represents stripped warped hyphae within Minecraft.
- *
- */
- static readonly strippedWarpedHyphae: BlockType;
- /**
- * @remarks
- * Represents stripped warped stem within Minecraft.
- *
- */
- static readonly strippedWarpedStem: BlockType;
- /**
- * @remarks
- * Represents a structure block, which provides for the saving
- * and loading of block structures, within Minecraft.
+ * This property can't be edited in read-only mode.
*
+ * @throws
+ * Throws if the value is outside the range of 1-255.
*/
- static readonly structureBlock: BlockType;
+ amount: number;
/**
* @remarks
- * Represents a structure void within Minecraft.
+ * Returns whether the item is stackable. An item is considered
+ * stackable if the item's maximum stack size is greater than 1
+ * and the item does not contain any custom data or properties.
*
*/
- static readonly structureVoid: BlockType;
- static readonly suspiciousGravel: BlockType;
- static readonly suspiciousSand: BlockType;
+ readonly isStackable: boolean;
/**
+ * @beta
* @remarks
- * Represents a sweet berry bush within Minecraft.
+ * Gets or sets whether the item is kept on death.
*
- */
- static readonly sweetBerryBush: BlockType;
- /**
- * @remarks
- * Represents tall grass within Minecraft.
+ * This property can't be edited in read-only mode.
*
*/
- static readonly tallgrass: BlockType;
+ keepOnDeath: boolean;
/**
+ * @beta
* @remarks
- * Represents a target within Minecraft.
+ * Gets or sets the item's lock mode. The default value is
+ * `ItemLockMode.none`.
*
- */
- static readonly target: BlockType;
- /**
- * @remarks
- * Represents tinted glass within Minecraft.
+ * This property can't be edited in read-only mode.
*
*/
- static readonly tintedGlass: BlockType;
+ lockMode: ItemLockMode;
/**
* @remarks
- * Represents a block of TnT within Minecraft.
+ * The maximum stack size. This value varies depending on the
+ * type of item. For example, torches have a maximum stack size
+ * of 64, while eggs have a maximum stack size of 16.
*
*/
- static readonly tnt: BlockType;
+ readonly maxAmount: number;
/**
+ * @beta
* @remarks
- * Represents a torch within Minecraft.
+ * Given name of this stack of items. The name tag is displayed
+ * when hovering over the item. Setting the name tag to an
+ * empty string or `undefined` will remove the name tag.
*
- */
- static readonly torch: BlockType;
- static readonly torchflower: BlockType;
- static readonly torchflowerCrop: BlockType;
- /**
- * @remarks
- * Represents a trapdoor within Minecraft.
+ * This property can't be edited in read-only mode.
*
+ * @throws
+ * Throws if the length exceeds 255 characters.
*/
- static readonly trapdoor: BlockType;
+ nameTag?: string;
/**
* @remarks
- * Represents a trapped chest within Minecraft.
+ * The type of the item.
*
*/
- static readonly trappedChest: BlockType;
- static readonly tripWire: BlockType;
+ readonly 'type': ItemType;
/**
* @remarks
- * Represents a tripwire hook within Minecraft.
+ * Identifier of the type of items for the stack. If a
+ * namespace is not specified, 'minecraft:' is assumed.
+ * Examples include 'wheat' or 'apple'.
*
*/
- static readonly tripwireHook: BlockType;
- static readonly tubeCoral: BlockType;
+ readonly typeId: string;
/**
* @remarks
- * Represents a block of tuff within Minecraft.
+ * Creates a new instance of a stack of items for use in the
+ * world.
*
+ * @param itemType
+ * Type of item to create. See the {@link
+ * @minecraft/vanilla-data.MinecraftItemTypes} enumeration for
+ * a list of standard item types in Minecraft experiences.
+ * @param amount
+ * Number of items to place in the stack, between 1-255. The
+ * provided value will be clamped to the item's maximum stack
+ * size. Note that certain items can only have one item in the
+ * stack.
+ * @throws
+ * Throws if `itemType` is invalid, or if `amount` is outside
+ * the range of 1-255.
*/
- static readonly tuff: BlockType;
+ constructor(itemType: ItemType | string, amount?: number);
/**
+ * @beta
* @remarks
- * Represents a turtle egg within Minecraft.
+ * Creates an exact copy of the item stack, including any
+ * custom data or properties.
*
+ * @returns
+ * Returns a copy of this item stack.
*/
- static readonly turtleEgg: BlockType;
+ clone(): ItemStack;
/**
+ * @beta
* @remarks
- * Represents a set of twisting vines within Minecraft.
+ * Get the list of block types this item can break in Adventure
+ * mode.
*
- */
- static readonly twistingVines: BlockType;
- /**
- * @remarks
- * Represents an underwater torch within Minecraft.
+ * This function can't be called in read-only mode.
*
*/
- static readonly underwaterTorch: BlockType;
+ getCanDestroy(): string[];
/**
+ * @beta
* @remarks
- * Represents an undyed shulker box within Minecraft.
+ * Get the list of block types this item can be placed on in
+ * Adventure mode.
*
- */
- static readonly undyedShulkerBox: BlockType;
- /**
- * @remarks
- * Represents an unknown block within Minecraft.
+ * This function can't be called in read-only mode.
*
*/
- static readonly unknown: BlockType;
+ getCanPlaceOn(): string[];
/**
* @remarks
- * Represents an unlit redstone torch within Minecraft.
+ * Gets a component (that represents additional capabilities)
+ * for an item stack.
*
+ * @param componentId
+ * The identifier of the component (e.g., 'minecraft:food') to
+ * retrieve. If no namespace prefix is specified, 'minecraft:'
+ * is assumed. If the component is not present on the item
+ * stack or doesn't exist, undefined is returned.
+ * @example durability.ts
+ * ```typescript
+ * // Get the maximum durability of a custom sword item
+ * const itemStack = new ItemStack("custom:sword");
+ * const durability = itemStack.getComponent("minecraft:durability") as ItemDurabilityComponent;
+ * const maxDurability = durability.maxDurability;
+ * ```
*/
- static readonly unlitRedstoneTorch: BlockType;
+ getComponent(componentId: string): ItemComponent | undefined;
/**
* @remarks
- * Represents an unpowered comparator within Minecraft.
+ * Returns all components that are both present on this item
+ * stack and supported by the API.
*
*/
- static readonly unpoweredComparator: BlockType;
+ getComponents(): ItemComponent[];
/**
* @remarks
- * Represents an unpowered repeater within Minecraft.
+ * Returns the lore value - a secondary display string - for an
+ * ItemStack.
*
+ * @returns
+ * An array of lore lines. If the item does not have lore,
+ * returns an empty array.
*/
- static readonly unpoweredRepeater: BlockType;
- static readonly verdantFroglight: BlockType;
+ getLore(): string[];
/**
+ * @beta
* @remarks
- * Represents a set of vines within Minecraft.
+ * Returns a set of tags associated with this item stack.
*
*/
- static readonly vine: BlockType;
+ getTags(): string[];
/**
* @remarks
- * Represents a wall banner within Minecraft.
+ * Returns true if the specified component is present on this
+ * item stack.
*
+ * @param componentId
+ * The identifier of the component (e.g., 'minecraft:food') to
+ * retrieve. If no namespace prefix is specified, 'minecraft:'
+ * is assumed.
*/
- static readonly wallBanner: BlockType;
+ hasComponent(componentId: string): boolean;
/**
+ * @beta
* @remarks
- * Represents a wall sign within Minecraft.
+ * Checks whether this item stack has a particular tag
+ * associated with it.
*
+ * @param tag
+ * Tag to search for.
+ * @returns
+ * True if the Item Stack has the tag associated with it, else
+ * false.
*/
- static readonly wallSign: BlockType;
+ hasTag(tag: string): boolean;
/**
* @remarks
- * Represents a warped button within Minecraft.
+ * Returns whether this item stack can be stacked with the
+ * given `itemStack`. This is determined by comparing the item
+ * type and any custom data and properties associated with the
+ * item stacks. The amount of each item stack is not taken into
+ * consideration.
*
+ * @param itemStack
+ * ItemStack to check stacking compatability with.
+ * @returns
+ * True if the Item Stack is stackable with the itemStack
+ * passed in.
*/
- static readonly warpedButton: BlockType;
+ isStackableWith(itemStack: ItemStack): boolean;
/**
+ * @beta
* @remarks
- * Represents a warped door within Minecraft.
+ * The list of block types this item can break in Adventure
+ * mode. The block names are displayed in the item's tooltip.
+ * Setting the value to undefined will clear the list.
*
- */
- static readonly warpedDoor: BlockType;
- /**
- * @remarks
- * Represents a double slab of warped within Minecraft.
+ * This function can't be called in read-only mode.
*
+ * @param blockIdentifiers
+ * String list of block types that the item can destroy.
+ * @throws
+ * Throws if any of the provided block identifiers are invalid.
+ * @example example.ts
+ * ```typescript
+ * // Creates a diamond pickaxe that can destroy cobblestone and obsidian
+ * const specialPickaxe = new ItemStack("minecraft:diamond_pickaxe");
+ * specialPickaxe.setCanDestroy(["minecraft:cobblestone", "minecraft:obsidian"]);
+ * ```
*/
- static readonly warpedDoubleSlab: BlockType;
+ setCanDestroy(blockIdentifiers?: string[]): void;
/**
+ * @beta
* @remarks
- * Represents a warped fence within Minecraft.
+ * The list of block types this item can be placed on in
+ * Adventure mode. This is only applicable to block items. The
+ * block names are displayed in the item's tooltip. Setting the
+ * value to undefined will clear the list.
*
- */
- static readonly warpedFence: BlockType;
- /**
- * @remarks
- * Represents a warped fence gate within Minecraft.
+ * This function can't be called in read-only mode.
*
+ * @param blockIdentifiers
+ * String list of block types that the item can be placed on.
+ * @throws
+ * Throws if any of the provided block identifiers are invalid.
+ * @example example.ts
+ * ```typescript
+ * // Creates a gold block that can be placed on grass and dirt
+ * const specialGoldBlock = new ItemStack("minecraft:gold_block");
+ * specialPickaxe.setCanPlaceOn(["minecraft:grass", "minecraft:dirt"]);
+ * ```
*/
- static readonly warpedFenceGate: BlockType;
+ setCanPlaceOn(blockIdentifiers?: string[]): void;
/**
* @remarks
- * Represents warped fungus within Minecraft.
+ * Sets the lore value - a secondary display string - for an
+ * ItemStack. The lore list is cleared if set to an empty
+ * string or undefined.
*
- */
- static readonly warpedFungus: BlockType;
- static readonly warpedHangingSign: BlockType;
- /**
- * @remarks
- * Represents warped hyphae within Minecraft.
+ * This function can't be called in read-only mode.
*
- */
- static readonly warpedHyphae: BlockType;
- /**
- * @remarks
- * Represents warped nylium within Minecraft.
+ * @param loreList
+ * List of lore lines. Each element in the list represents a
+ * new line. The maximum lore line count is 20. The maximum
+ * lore line length is 50 characters.
+ * @throws This function can throw errors.
+ * @example diamondAwesomeSword.ts
+ * ```typescript
+ * const diamondAwesomeSword = new mc.ItemStack(mc.MinecraftItemTypes.diamondSword, 1);
+ * let players = mc.world.getAllPlayers();
*
- */
- static readonly warpedNylium: BlockType;
- /**
- * @remarks
- * Represents warped planks within Minecraft.
+ * diamondAwesomeSword.setLore(["§c§lDiamond Sword of Awesome§r", "+10 coolness", "§p+4 shiny§r"]);
*
- */
- static readonly warpedPlanks: BlockType;
- /**
- * @remarks
- * Represents a warped pressure plate within Minecraft.
+ * // hover over/select the item in your inventory to see the lore.
+ * const inventory = players[0].getComponent("inventory") as mc.EntityInventoryComponent;
+ * inventory.container.setItem(0, diamondAwesomeSword);
*
- */
- static readonly warpedPressurePlate: BlockType;
- /**
- * @remarks
- * Represents a set of warped roots within Minecraft.
+ * let item = inventory.container.getItem(0);
*
+ * if (item) {
+ * let enchants = item.getComponent("minecraft:enchantments") as mc.ItemEnchantsComponent;
+ * let knockbackEnchant = new mc.Enchantment("knockback", 3);
+ * enchants.enchantments.addEnchantment(knockbackEnchant);
+ * }
+ * ```
+ * @example multilineLore.ts
+ * ```typescript
+ * // Set the lore of an item to multiple lines of text
+ * const itemStack = new ItemStack("minecraft:diamond_sword");
+ * itemStack.setLore(["Line 1", "Line 2", "Line 3"]);
+ * ```
*/
- static readonly warpedRoots: BlockType;
+ setLore(loreList?: string[]): void;
/**
+ * @beta
* @remarks
- * Represents a slab of warped material within Minecraft.
+ * Triggers an item type event. For custom items, a number of
+ * events are defined in an items' definition for key item
+ * behaviors.
*
- */
- static readonly warpedSlab: BlockType;
- /**
- * @remarks
- * Represents a set of warped stairs within Minecraft.
+ * This function can't be called in read-only mode.
*
+ * @param eventName
+ * Name of the item type event to trigger. If a namespace is
+ * not specified, minecraft: is assumed.
*/
- static readonly warpedStairs: BlockType;
+ triggerEvent(eventName: string): void;
+}
+
+/**
+ * Contains information related to a chargeable item starting
+ * to be charged.
+ */
+export class ItemStartUseAfterEvent {
+ private constructor();
/**
* @remarks
- * Represents a warped standing sign within Minecraft.
+ * The impacted item stack that is starting to be charged.
*
*/
- static readonly warpedStandingSign: BlockType;
+ readonly itemStack: ItemStack;
/**
* @remarks
- * Represents a warped stem within Minecraft.
+ * Returns the source entity that triggered this item event.
*
*/
- static readonly warpedStem: BlockType;
+ readonly source: Player;
/**
* @remarks
- * Represents a warped trapdoor within Minecraft.
+ * Returns the time, in ticks, for the remaining duration left
+ * before the charge completes its cycle.
*
*/
- static readonly warpedTrapdoor: BlockType;
+ readonly useDuration: number;
+}
+
+/**
+ * Manages callbacks that are connected to the start of
+ * charging for a chargeable item.
+ */
+export class ItemStartUseAfterEventSignal {
+ private constructor();
/**
* @remarks
- * Represents a warped wall sign within Minecraft.
+ * Adds a callback that will be called when a chargeable item
+ * starts charging.
*
- */
- static readonly warpedWallSign: BlockType;
- /**
- * @remarks
- * Represents a warped wart block within Minecraft.
+ * This function can't be called in read-only mode.
*
*/
- static readonly warpedWartBlock: BlockType;
+ subscribe(callback: (arg: ItemStartUseAfterEvent) => void): (arg: ItemStartUseAfterEvent) => void;
/**
* @remarks
- * Represents water within Minecraft.
+ * Removes a callback from being called when a chargeable item
+ * starts charging.
*
- */
- static readonly water: BlockType;
- /**
- * @remarks
- * Represents a water lily within Minecraft.
+ * This function can't be called in read-only mode.
*
+ * @throws This function can throw errors.
*/
- static readonly waterlily: BlockType;
+ unsubscribe(callback: (arg: ItemStartUseAfterEvent) => void): void;
+}
+
+/**
+ * Contains information related to an item being used on a
+ * block. This event fires when a player presses the the Use
+ * Item / Place Block button to successfully use an item or
+ * place a block. Fires for the first block that is interacted
+ * with when performing a build action. Note: This event cannot
+ * be used with Hoe or Axe items.
+ */
+export class ItemStartUseOnAfterEvent {
+ private constructor();
/**
* @remarks
- * Represents a block of waxed copper within Minecraft.
+ * The block that the item is used on.
*
*/
- static readonly waxedCopper: BlockType;
+ readonly block: Block;
/**
* @remarks
- * Represents a block of waxed cut copper within Minecraft.
+ * The face of the block that an item is being used on.
*
*/
- static readonly waxedCutCopper: BlockType;
+ readonly blockFace: Direction;
/**
* @remarks
- * Represents a slab of waxed cut copper within Minecraft.
+ * The impacted item stack that is starting to be used.
*
*/
- static readonly waxedCutCopperSlab: BlockType;
+ readonly itemStack: ItemStack;
/**
* @remarks
- * Represents a set of waxed cut copper stairs within
- * Minecraft.
+ * Returns the source entity that triggered this item event.
*
*/
- static readonly waxedCutCopperStairs: BlockType;
+ readonly source: Player;
+}
+
+/**
+ * Manages callbacks that are connected to an item starting
+ * being used on a block event.
+ */
+export class ItemStartUseOnAfterEventSignal {
+ private constructor();
/**
* @remarks
- * Represents a double slab of waxed cut copper within
- * Minecraft.
+ * Adds a callback that will be called when an item is used on
+ * a block.
+ *
+ * This function can't be called in read-only mode.
*
*/
- static readonly waxedDoubleCutCopperSlab: BlockType;
+ subscribe(callback: (arg: ItemStartUseOnAfterEvent) => void): (arg: ItemStartUseOnAfterEvent) => void;
/**
* @remarks
- * Represents a block of waxed exposed copper within Minecraft.
+ * Removes a callback from being called when an item is used on
+ * a block.
*
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
*/
- static readonly waxedExposedCopper: BlockType;
+ unsubscribe(callback: (arg: ItemStartUseOnAfterEvent) => void): void;
+}
+
+/**
+ * Contains information related to a chargeable item has
+ * finished an items use cycle, or when the player has released
+ * the use action with the item.
+ */
+export class ItemStopUseAfterEvent {
+ private constructor();
/**
* @remarks
- * Represents a block of waxed exposed cut copper within
- * Minecraft.
+ * The impacted item stack that is stopping being charged.
*
*/
- static readonly waxedExposedCutCopper: BlockType;
+ readonly itemStack: ItemStack;
/**
* @remarks
- * Represents a slab of waxed exposed cut copper within
- * Minecraft.
+ * Returns the source entity that triggered this item event.
*
*/
- static readonly waxedExposedCutCopperSlab: BlockType;
+ readonly source: Player;
/**
* @remarks
- * Represents a set of waxed exposed cut copper stairs within
- * Minecraft.
+ * Returns the time, in ticks, for the remaining duration left
+ * before the charge completes its cycle.
*
*/
- static readonly waxedExposedCutCopperStairs: BlockType;
+ readonly useDuration: number;
+}
+
+/**
+ * Manages callbacks that are connected to the stopping of
+ * charging for an item that has a registered
+ * minecraft:chargeable component.
+ */
+export class ItemStopUseAfterEventSignal {
+ private constructor();
/**
* @remarks
- * Represents a double slab of waxed exposed cut copper within
- * Minecraft.
+ * Adds a callback that will be called when a chargeable item
+ * stops charging.
+ *
+ * This function can't be called in read-only mode.
*
*/
- static readonly waxedExposedDoubleCutCopperSlab: BlockType;
+ subscribe(callback: (arg: ItemStopUseAfterEvent) => void): (arg: ItemStopUseAfterEvent) => void;
/**
* @remarks
- * Represents a block of waxed oxidized copper within
- * Minecraft.
+ * Removes a callback from being called when a chargeable item
+ * stops charging.
+ *
+ * This function can't be called in read-only mode.
*
+ * @throws This function can throw errors.
*/
- static readonly waxedOxidizedCopper: BlockType;
+ unsubscribe(callback: (arg: ItemStopUseAfterEvent) => void): void;
+}
+
+/**
+ * Contains information related to an item that has stopped
+ * being used on a block. This event fires when a player
+ * successfully uses an item or places a block by pressing the
+ * Use Item / Place Block button. If multiple blocks are
+ * placed, this event will only occur once at the beginning of
+ * the block placement. Note: This event cannot be used with
+ * Hoe or Axe items.
+ */
+export class ItemStopUseOnAfterEvent {
+ private constructor();
/**
* @remarks
- * Represents a block of waxed oxidized cut copper within
- * Minecraft.
+ * The block that the item is used on.
*
*/
- static readonly waxedOxidizedCutCopper: BlockType;
+ readonly block: Block;
/**
* @remarks
- * Represents a slab of waxed oxidized cut copper within
- * Minecraft.
+ * The impacted item stack that is being used on a block.
*
*/
- static readonly waxedOxidizedCutCopperSlab: BlockType;
+ readonly itemStack?: ItemStack;
/**
* @remarks
- * Represents a set of waxed oxidized cut copper stairs within
- * Minecraft.
+ * Returns the source entity that triggered this item event.
*
*/
- static readonly waxedOxidizedCutCopperStairs: BlockType;
+ readonly source: Player;
+}
+
+/**
+ * Manages callbacks that are connected to an item stops used
+ * on a block event.
+ */
+export class ItemStopUseOnAfterEventSignal {
+ private constructor();
/**
* @remarks
- * Represents a double slab of waxed oxidized cut copper within
- * Minecraft.
+ * Adds a callback that will be called when an item stops being
+ * used on a block.
+ *
+ * This function can't be called in read-only mode.
*
*/
- static readonly waxedOxidizedDoubleCutCopperSlab: BlockType;
+ subscribe(callback: (arg: ItemStopUseOnAfterEvent) => void): (arg: ItemStopUseOnAfterEvent) => void;
/**
* @remarks
- * Represents a block of waxed weathered copper within
- * Minecraft.
+ * Removes a callback from being called when an item is used on
+ * a block.
*
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
*/
- static readonly waxedWeatheredCopper: BlockType;
+ unsubscribe(callback: (arg: ItemStopUseOnAfterEvent) => void): void;
+}
+
+/**
+ * Represents the type of an item - for example, Wool.
+ */
+export class ItemType {
+ private constructor();
/**
* @remarks
- * Represents a block of waxed weathered cut copper within
- * Minecraft.
+ * Returns the identifier of the item type - for example,
+ * 'minecraft:apple'.
*
*/
- static readonly waxedWeatheredCutCopper: BlockType;
+ readonly id: string;
+}
+
+/**
+ * @beta
+ * Returns the set of item types registered within Minecraft.
+ */
+export class ItemTypes {
+ private constructor();
/**
* @remarks
- * Represents a slab of waxed weathered cut copper within
- * Minecraft.
+ * Returns a specific item type, if available within Minecraft.
*
*/
- static readonly waxedWeatheredCutCopperSlab: BlockType;
+ static get(itemId: string): ItemType;
/**
* @remarks
- * Represents a set of waxed weathered cut copper stairs within
+ * Retrieves all available item types registered within
* Minecraft.
*
*/
- static readonly waxedWeatheredCutCopperStairs: BlockType;
+ static getAll(): ItemType[];
+}
+
+/**
+ * Contains information related to an item being used. This
+ * event fires when an item is successfully used by a player.
+ */
+export class ItemUseAfterEvent {
+ private constructor();
/**
* @remarks
- * Represents a double slab of waxed weathered cut copper
- * within Minecraft.
+ * The impacted item stack that is being used.
*
*/
- static readonly waxedWeatheredDoubleCutCopperSlab: BlockType;
+ itemStack: ItemStack;
/**
* @remarks
- * Represents a block of weathered copper within Minecraft.
+ * Returns the source entity that triggered this item event.
*
*/
- static readonly weatheredCopper: BlockType;
+ readonly source: Player;
+}
+
+/**
+ * Manages callbacks that are connected to an item use event.
+ */
+export class ItemUseAfterEventSignal {
+ private constructor();
/**
* @remarks
- * Represents a block of weathered cut copper within Minecraft.
+ * Adds a callback that will be called when an item is used.
*
- */
- static readonly weatheredCutCopper: BlockType;
- /**
- * @remarks
- * Represents a slab of weathered cut copper within Minecraft.
+ * This function can't be called in read-only mode.
*
*/
- static readonly weatheredCutCopperSlab: BlockType;
+ subscribe(callback: (arg: ItemUseAfterEvent) => void): (arg: ItemUseAfterEvent) => void;
/**
* @remarks
- * Represents a set of weathered cut copper stairs within
- * Minecraft.
+ * Removes a callback from being called when an item is used.
*
- */
- static readonly weatheredCutCopperStairs: BlockType;
- /**
- * @remarks
- * Represents a double slab of weathered cut copper within
- * Minecraft.
+ * This function can't be called in read-only mode.
*
+ * @throws This function can throw errors.
*/
- static readonly weatheredDoubleCutCopperSlab: BlockType;
+ unsubscribe(callback: (arg: ItemUseAfterEvent) => void): void;
+}
+
+/**
+ * Contains information related to an item being used.
+ */
+// @ts-ignore Class inheritance allowed for native defined classes
+export class ItemUseBeforeEvent extends ItemUseAfterEvent {
+ private constructor();
/**
* @remarks
- * Represents a web within Minecraft.
+ * If set to true, this will cancel the item use behavior.
*
*/
- static readonly web: BlockType;
+ cancel: boolean;
+}
+
+/**
+ * Manages callbacks that fire before an item is used.
+ */
+export class ItemUseBeforeEventSignal {
+ private constructor();
/**
* @remarks
- * Represents a set of weeping vines within Minecraft.
+ * Adds a callback that will be called before an item is used.
+ *
+ * This function can't be called in read-only mode.
*
*/
- static readonly weepingVines: BlockType;
+ subscribe(callback: (arg: ItemUseBeforeEvent) => void): (arg: ItemUseBeforeEvent) => void;
/**
* @remarks
- * Represents wheat within Minecraft.
+ * Removes a callback from being called before an item is used.
*
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
*/
- static readonly wheat: BlockType;
+ unsubscribe(callback: (arg: ItemUseBeforeEvent) => void): void;
+}
+
+/**
+ * Contains information related to an item being used on a
+ * block. This event fires when an item is successfully used on
+ * a block by a player.
+ */
+export class ItemUseOnAfterEvent {
+ private constructor();
/**
* @remarks
- * Represents a white candle within Minecraft.
+ * The block that the item is used on.
*
*/
- static readonly whiteCandle: BlockType;
+ readonly block: Block;
/**
* @remarks
- * Represents a white candle cake within Minecraft.
+ * The face of the block that an item is being used on.
*
*/
- static readonly whiteCandleCake: BlockType;
- static readonly whiteCarpet: BlockType;
- static readonly whiteConcrete: BlockType;
+ readonly blockFace: Direction;
/**
* @remarks
- * Represents a block of white glazed terracotta within
- * Minecraft.
+ * Location relative to the bottom north-west corner of the
+ * block where the item is placed.
*
*/
- static readonly whiteGlazedTerracotta: BlockType;
- static readonly whiteShulkerBox: BlockType;
- static readonly whiteWool: BlockType;
+ readonly faceLocation: Vector3;
/**
* @remarks
- * Represents a wither rose within Minecraft.
+ * The impacted item stack that is being used on a block.
*
*/
- static readonly witherRose: BlockType;
+ readonly itemStack: ItemStack;
/**
* @remarks
- * Represents a block of wood within Minecraft.
+ * Returns the source entity that triggered this item event.
*
*/
- static readonly wood: BlockType;
+ readonly source: Player;
+}
+
+/**
+ * Manages callbacks that are connected to an item being used
+ * on a block event.
+ */
+export class ItemUseOnAfterEventSignal {
+ private constructor();
/**
* @remarks
- * Represents a wooden button within Minecraft.
+ * Adds a callback that will be called when an item is used on
+ * a block.
+ *
+ * This function can't be called in read-only mode.
*
*/
- static readonly woodenButton: BlockType;
+ subscribe(callback: (arg: ItemUseOnAfterEvent) => void): (arg: ItemUseOnAfterEvent) => void;
/**
* @remarks
- * Represents a wooden door within Minecraft.
+ * Removes a callback from being called when an item is used on
+ * a block.
+ *
+ * This function can't be called in read-only mode.
*
+ * @throws This function can throw errors.
*/
- static readonly woodenDoor: BlockType;
+ unsubscribe(callback: (arg: ItemUseOnAfterEvent) => void): void;
+}
+
+/**
+ * Contains information related to an item being used on a
+ * block.
+ */
+// @ts-ignore Class inheritance allowed for native defined classes
+export class ItemUseOnBeforeEvent extends ItemUseOnAfterEvent {
+ private constructor();
/**
* @remarks
- * Represents a wooden pressure plate within Minecraft.
+ * If set to true, this will cancel the item use behavior.
*
*/
- static readonly woodenPressurePlate: BlockType;
+ cancel: boolean;
+}
+
+/**
+ * Manages callbacks that fire before an item being used on a
+ * block event.
+ */
+export class ItemUseOnBeforeEventSignal {
+ private constructor();
/**
* @remarks
- * Represents a wooden slab within Minecraft.
+ * Adds a callback that will be called before an item is used
+ * on a block.
+ *
+ * This function can't be called in read-only mode.
*
*/
- static readonly woodenSlab: BlockType;
+ subscribe(callback: (arg: ItemUseOnBeforeEvent) => void): (arg: ItemUseOnBeforeEvent) => void;
/**
* @remarks
- * Represents a yellow candle within Minecraft.
+ * Removes a callback from being called before an item is used
+ * on a block.
+ *
+ * This function can't be called in read-only mode.
*
+ * @throws This function can throw errors.
*/
- static readonly yellowCandle: BlockType;
+ unsubscribe(callback: (arg: ItemUseOnBeforeEvent) => void): void;
+}
+
+/**
+ * Contains information related to changes to a lever
+ * activating or deactivating.
+ */
+// @ts-ignore Class inheritance allowed for native defined classes
+export class LeverActionAfterEvent extends BlockEvent {
+ private constructor();
/**
* @remarks
- * Represents a yellow candle cake within Minecraft.
+ * True if the lever is activated (that is, transmitting
+ * power).
*
*/
- static readonly yellowCandleCake: BlockType;
- static readonly yellowCarpet: BlockType;
- static readonly yellowConcrete: BlockType;
+ readonly isPowered: boolean;
/**
* @remarks
- * Represents a yellow flower within Minecraft.
+ * Optional player that triggered the lever activation.
*
*/
- static readonly yellowFlower: BlockType;
+ readonly player: Player;
+}
+
+/**
+ * Manages callbacks that are connected to lever moves
+ * (activates or deactivates).
+ */
+// @ts-ignore Class inheritance allowed for native defined classes
+export class LeverActionAfterEventSignal extends ILeverActionAfterEventSignal {
+ private constructor();
+}
+
+/**
+ * @beta
+ * A specific currently-internal event used for passing
+ * messages from client to server.
+ */
+export class MessageReceiveAfterEvent {
+ private constructor();
/**
* @remarks
- * Represents a yellow block of glazed terracotta within
- * Minecraft.
+ * The message identifier.
*
*/
- static readonly yellowGlazedTerracotta: BlockType;
- static readonly yellowShulkerBox: BlockType;
- static readonly yellowWool: BlockType;
+ readonly id: string;
/**
* @remarks
- * Returns a specific Minecraft block type given a type id.
+ * The message.
*
*/
- static get(typeName: string): BlockType;
+ readonly message: string;
/**
* @remarks
- * Returns an array of all block types within Minecraft.
+ * The player who sent the message.
*
*/
- static getAllBlockTypes(): BlockType[];
+ readonly player: Player;
}
/**
@@ -12756,1175 +8612,6 @@ export class MinecraftDimensionTypes {
}
/**
- * @beta
- * Contains definitions of standard Minecraft and Minecraft
- * Education Edition Entity types.
- */
-export class MinecraftEntityTypes {
- private constructor();
- static readonly agent: EntityType;
- static readonly allay: EntityType;
- static readonly areaEffectCloud: EntityType;
- static readonly armorStand: EntityType;
- static readonly arrow: EntityType;
- static readonly axolotl: EntityType;
- static readonly bat: EntityType;
- static readonly bee: EntityType;
- static readonly blaze: EntityType;
- static readonly boat: EntityType;
- static readonly camel: EntityType;
- static readonly cat: EntityType;
- static readonly caveSpider: EntityType;
- static readonly chestBoat: EntityType;
- static readonly chestMinecart: EntityType;
- static readonly chicken: EntityType;
- static readonly cod: EntityType;
- static readonly commandBlockMinecart: EntityType;
- static readonly cow: EntityType;
- static readonly creeper: EntityType;
- static readonly dolphin: EntityType;
- static readonly donkey: EntityType;
- static readonly dragonFireball: EntityType;
- static readonly drowned: EntityType;
- static readonly egg: EntityType;
- static readonly elderGuardian: EntityType;
- static readonly enderCrystal: EntityType;
- static readonly enderDragon: EntityType;
- static readonly enderman: EntityType;
- static readonly endermite: EntityType;
- static readonly enderPearl: EntityType;
- static readonly evocationIllager: EntityType;
- static readonly eyeOfEnderSignal: EntityType;
- static readonly fireball: EntityType;
- static readonly fireworksRocket: EntityType;
- static readonly fishingHook: EntityType;
- static readonly fox: EntityType;
- static readonly frog: EntityType;
- static readonly ghast: EntityType;
- static readonly glowSquid: EntityType;
- static readonly goat: EntityType;
- static readonly guardian: EntityType;
- static readonly hoglin: EntityType;
- static readonly hopperMinecart: EntityType;
- static readonly horse: EntityType;
- static readonly husk: EntityType;
- static readonly ironGolem: EntityType;
- static readonly lightningBolt: EntityType;
- static readonly lingeringPotion: EntityType;
- static readonly llama: EntityType;
- static readonly llamaSpit: EntityType;
- static readonly magmaCube: EntityType;
- static readonly minecart: EntityType;
- static readonly mooshroom: EntityType;
- static readonly mule: EntityType;
- static readonly npc: EntityType;
- static readonly ocelot: EntityType;
- static readonly panda: EntityType;
- static readonly parrot: EntityType;
- static readonly phantom: EntityType;
- static readonly pig: EntityType;
- static readonly piglin: EntityType;
- static readonly piglinBrute: EntityType;
- static readonly pillager: EntityType;
- static readonly player: EntityType;
- static readonly polarBear: EntityType;
- static readonly pufferfish: EntityType;
- static readonly rabbit: EntityType;
- static readonly ravager: EntityType;
- static readonly salmon: EntityType;
- static readonly sheep: EntityType;
- static readonly shulker: EntityType;
- static readonly shulkerBullet: EntityType;
- static readonly silverfish: EntityType;
- static readonly skeleton: EntityType;
- static readonly skeletonHorse: EntityType;
- static readonly slime: EntityType;
- static readonly smallFireball: EntityType;
- static readonly sniffer: EntityType;
- static readonly snowball: EntityType;
- static readonly snowGolem: EntityType;
- static readonly spider: EntityType;
- static readonly splashPotion: EntityType;
- static readonly squid: EntityType;
- static readonly stray: EntityType;
- static readonly strider: EntityType;
- static readonly tadpole: EntityType;
- static readonly thrownTrident: EntityType;
- static readonly tnt: EntityType;
- static readonly tntMinecart: EntityType;
- static readonly traderLlama: EntityType;
- static readonly tripodCamera: EntityType;
- static readonly tropicalfish: EntityType;
- static readonly turtle: EntityType;
- static readonly vex: EntityType;
- static readonly villager: EntityType;
- static readonly villagerV2: EntityType;
- static readonly vindicator: EntityType;
- static readonly wanderingTrader: EntityType;
- static readonly warden: EntityType;
- static readonly witch: EntityType;
- static readonly wither: EntityType;
- static readonly witherSkeleton: EntityType;
- static readonly witherSkull: EntityType;
- static readonly witherSkullDangerous: EntityType;
- static readonly wolf: EntityType;
- static readonly xpBottle: EntityType;
- static readonly xpOrb: EntityType;
- static readonly zoglin: EntityType;
- static readonly zombie: EntityType;
- static readonly zombieHorse: EntityType;
- static readonly zombiePigman: EntityType;
- static readonly zombieVillager: EntityType;
- static readonly zombieVillagerV2: EntityType;
-}
-
-/**
- * @beta
- */
-export class MinecraftItemTypes {
- private constructor();
- static readonly acaciaBoat: ItemType;
- static readonly acaciaButton: ItemType;
- static readonly acaciaChestBoat: ItemType;
- static readonly acaciaDoor: ItemType;
- static readonly acaciaFence: ItemType;
- static readonly acaciaFenceGate: ItemType;
- static readonly acaciaHangingSign: ItemType;
- static readonly acaciaLog: ItemType;
- static readonly acaciaPressurePlate: ItemType;
- static readonly acaciaSign: ItemType;
- static readonly acaciaStairs: ItemType;
- static readonly acaciaTrapdoor: ItemType;
- static readonly activatorRail: ItemType;
- static readonly allaySpawnEgg: ItemType;
- static readonly allow: ItemType;
- static readonly amethystBlock: ItemType;
- static readonly amethystCluster: ItemType;
- static readonly amethystShard: ItemType;
- static readonly ancientDebris: ItemType;
- static readonly andesiteStairs: ItemType;
- static readonly anglerPotterySherd: ItemType;
- static readonly anvil: ItemType;
- static readonly apple: ItemType;
- static readonly archerPotterySherd: ItemType;
- static readonly armorStand: ItemType;
- static readonly armsUpPotterySherd: ItemType;
- static readonly arrow: ItemType;
- static readonly axolotlBucket: ItemType;
- static readonly axolotlSpawnEgg: ItemType;
- static readonly azalea: ItemType;
- static readonly azaleaLeaves: ItemType;
- static readonly azaleaLeavesFlowered: ItemType;
- static readonly bakedPotato: ItemType;
- static readonly bamboo: ItemType;
- static readonly bambooBlock: ItemType;
- static readonly bambooButton: ItemType;
- static readonly bambooChestRaft: ItemType;
- static readonly bambooDoor: ItemType;
- static readonly bambooFence: ItemType;
- static readonly bambooFenceGate: ItemType;
- static readonly bambooHangingSign: ItemType;
- static readonly bambooMosaic: ItemType;
- static readonly bambooMosaicSlab: ItemType;
- static readonly bambooMosaicStairs: ItemType;
- static readonly bambooPlanks: ItemType;
- static readonly bambooPressurePlate: ItemType;
- static readonly bambooRaft: ItemType;
- static readonly bambooSign: ItemType;
- static readonly bambooSlab: ItemType;
- static readonly bambooStairs: ItemType;
- static readonly bambooTrapdoor: ItemType;
- static readonly banner: ItemType;
- static readonly bannerPattern: ItemType;
- static readonly barrel: ItemType;
- static readonly barrier: ItemType;
- static readonly basalt: ItemType;
- static readonly batSpawnEgg: ItemType;
- static readonly beacon: ItemType;
- static readonly bed: ItemType;
- static readonly bedrock: ItemType;
- static readonly beef: ItemType;
- static readonly beehive: ItemType;
- static readonly beeNest: ItemType;
- static readonly beeSpawnEgg: ItemType;
- static readonly beetroot: ItemType;
- static readonly beetrootSeeds: ItemType;
- static readonly beetrootSoup: ItemType;
- static readonly bell: ItemType;
- static readonly bigDripleaf: ItemType;
- static readonly birchBoat: ItemType;
- static readonly birchButton: ItemType;
- static readonly birchChestBoat: ItemType;
- static readonly birchDoor: ItemType;
- static readonly birchFence: ItemType;
- static readonly birchFenceGate: ItemType;
- static readonly birchHangingSign: ItemType;
- static readonly birchLog: ItemType;
- static readonly birchPressurePlate: ItemType;
- static readonly birchSign: ItemType;
- static readonly birchStairs: ItemType;
- static readonly birchTrapdoor: ItemType;
- static readonly blackCandle: ItemType;
- static readonly blackCarpet: ItemType;
- static readonly blackConcrete: ItemType;
- static readonly blackDye: ItemType;
- static readonly blackGlazedTerracotta: ItemType;
- static readonly blackShulkerBox: ItemType;
- static readonly blackstone: ItemType;
- static readonly blackstoneSlab: ItemType;
- static readonly blackstoneStairs: ItemType;
- static readonly blackstoneWall: ItemType;
- static readonly blackWool: ItemType;
- static readonly bladePotterySherd: ItemType;
- static readonly blastFurnace: ItemType;
- static readonly blazePowder: ItemType;
- static readonly blazeRod: ItemType;
- static readonly blazeSpawnEgg: ItemType;
- static readonly blueCandle: ItemType;
- static readonly blueCarpet: ItemType;
- static readonly blueConcrete: ItemType;
- static readonly blueDye: ItemType;
- static readonly blueGlazedTerracotta: ItemType;
- static readonly blueIce: ItemType;
- static readonly blueShulkerBox: ItemType;
- static readonly blueWool: ItemType;
- static readonly boat: ItemType;
- static readonly bone: ItemType;
- static readonly boneBlock: ItemType;
- static readonly boneMeal: ItemType;
- static readonly book: ItemType;
- static readonly bookshelf: ItemType;
- static readonly borderBlock: ItemType;
- static readonly bordureIndentedBannerPattern: ItemType;
- static readonly bow: ItemType;
- static readonly bowl: ItemType;
- static readonly brainCoral: ItemType;
- static readonly bread: ItemType;
- static readonly brewerPotterySherd: ItemType;
- static readonly brewingStand: ItemType;
- static readonly brick: ItemType;
- static readonly brickBlock: ItemType;
- static readonly brickStairs: ItemType;
- static readonly brownCandle: ItemType;
- static readonly brownCarpet: ItemType;
- static readonly brownConcrete: ItemType;
- static readonly brownDye: ItemType;
- static readonly brownGlazedTerracotta: ItemType;
- static readonly brownMushroom: ItemType;
- static readonly brownMushroomBlock: ItemType;
- static readonly brownShulkerBox: ItemType;
- static readonly brownWool: ItemType;
- static readonly brush: ItemType;
- static readonly bubbleCoral: ItemType;
- static readonly bucket: ItemType;
- static readonly buddingAmethyst: ItemType;
- static readonly burnPotterySherd: ItemType;
- static readonly cactus: ItemType;
- static readonly cake: ItemType;
- static readonly calcite: ItemType;
- static readonly calibratedSculkSensor: ItemType;
- static readonly camelSpawnEgg: ItemType;
- static readonly campfire: ItemType;
- static readonly candle: ItemType;
- static readonly carpet: ItemType;
- static readonly carrot: ItemType;
- static readonly carrotOnAStick: ItemType;
- static readonly cartographyTable: ItemType;
- static readonly carvedPumpkin: ItemType;
- static readonly catSpawnEgg: ItemType;
- static readonly cauldron: ItemType;
- static readonly caveSpiderSpawnEgg: ItemType;
- static readonly chain: ItemType;
- static readonly chainCommandBlock: ItemType;
- static readonly chainmailBoots: ItemType;
- static readonly chainmailChestplate: ItemType;
- static readonly chainmailHelmet: ItemType;
- static readonly chainmailLeggings: ItemType;
- static readonly charcoal: ItemType;
- static readonly cherryBoat: ItemType;
- static readonly cherryButton: ItemType;
- static readonly cherryChestBoat: ItemType;
- static readonly cherryDoor: ItemType;
- static readonly cherryFence: ItemType;
- static readonly cherryFenceGate: ItemType;
- static readonly cherryHangingSign: ItemType;
- static readonly cherryLeaves: ItemType;
- static readonly cherryLog: ItemType;
- static readonly cherryPlanks: ItemType;
- static readonly cherryPressurePlate: ItemType;
- static readonly cherrySapling: ItemType;
- static readonly cherrySign: ItemType;
- static readonly cherrySlab: ItemType;
- static readonly cherryStairs: ItemType;
- static readonly cherryTrapdoor: ItemType;
- static readonly cherryWood: ItemType;
- static readonly chest: ItemType;
- static readonly chestBoat: ItemType;
- static readonly chestMinecart: ItemType;
- static readonly chicken: ItemType;
- static readonly chickenSpawnEgg: ItemType;
- static readonly chiseledBookshelf: ItemType;
- static readonly chiseledDeepslate: ItemType;
- static readonly chiseledNetherBricks: ItemType;
- static readonly chiseledPolishedBlackstone: ItemType;
- static readonly chorusFlower: ItemType;
- static readonly chorusFruit: ItemType;
- static readonly chorusPlant: ItemType;
- static readonly clay: ItemType;
- static readonly clayBall: ItemType;
- static readonly clock: ItemType;
- static readonly coal: ItemType;
- static readonly coalBlock: ItemType;
- static readonly coalOre: ItemType;
- static readonly coastArmorTrimSmithingTemplate: ItemType;
- static readonly cobbledDeepslate: ItemType;
- static readonly cobbledDeepslateSlab: ItemType;
- static readonly cobbledDeepslateStairs: ItemType;
- static readonly cobbledDeepslateWall: ItemType;
- static readonly cobblestone: ItemType;
- static readonly cobblestoneWall: ItemType;
- static readonly cocoaBeans: ItemType;
- static readonly cod: ItemType;
- static readonly codBucket: ItemType;
- static readonly codSpawnEgg: ItemType;
- static readonly commandBlock: ItemType;
- static readonly commandBlockMinecart: ItemType;
- static readonly comparator: ItemType;
- static readonly compass: ItemType;
- static readonly composter: ItemType;
- static readonly concrete: ItemType;
- static readonly concretePowder: ItemType;
- static readonly conduit: ItemType;
- static readonly cookedBeef: ItemType;
- static readonly cookedChicken: ItemType;
- static readonly cookedCod: ItemType;
- static readonly cookedMutton: ItemType;
- static readonly cookedPorkchop: ItemType;
- static readonly cookedRabbit: ItemType;
- static readonly cookedSalmon: ItemType;
- static readonly cookie: ItemType;
- static readonly copperBlock: ItemType;
- static readonly copperIngot: ItemType;
- static readonly copperOre: ItemType;
- static readonly coral: ItemType;
- static readonly coralBlock: ItemType;
- static readonly coralFan: ItemType;
- static readonly coralFanDead: ItemType;
- static readonly cowSpawnEgg: ItemType;
- static readonly crackedDeepslateBricks: ItemType;
- static readonly crackedDeepslateTiles: ItemType;
- static readonly crackedNetherBricks: ItemType;
- static readonly crackedPolishedBlackstoneBricks: ItemType;
- static readonly craftingTable: ItemType;
- static readonly creeperBannerPattern: ItemType;
- static readonly creeperSpawnEgg: ItemType;
- static readonly crimsonButton: ItemType;
- static readonly crimsonDoor: ItemType;
- static readonly crimsonFence: ItemType;
- static readonly crimsonFenceGate: ItemType;
- static readonly crimsonFungus: ItemType;
- static readonly crimsonHangingSign: ItemType;
- static readonly crimsonHyphae: ItemType;
- static readonly crimsonNylium: ItemType;
- static readonly crimsonPlanks: ItemType;
- static readonly crimsonPressurePlate: ItemType;
- static readonly crimsonRoots: ItemType;
- static readonly crimsonSign: ItemType;
- static readonly crimsonSlab: ItemType;
- static readonly crimsonStairs: ItemType;
- static readonly crimsonStem: ItemType;
- static readonly crimsonTrapdoor: ItemType;
- static readonly crossbow: ItemType;
- static readonly cryingObsidian: ItemType;
- static readonly cutCopper: ItemType;
- static readonly cutCopperSlab: ItemType;
- static readonly cutCopperStairs: ItemType;
- static readonly cyanCandle: ItemType;
- static readonly cyanCarpet: ItemType;
- static readonly cyanConcrete: ItemType;
- static readonly cyanDye: ItemType;
- static readonly cyanGlazedTerracotta: ItemType;
- static readonly cyanShulkerBox: ItemType;
- static readonly cyanWool: ItemType;
- static readonly dangerPotterySherd: ItemType;
- static readonly darkOakBoat: ItemType;
- static readonly darkOakButton: ItemType;
- static readonly darkOakChestBoat: ItemType;
- static readonly darkOakDoor: ItemType;
- static readonly darkOakFence: ItemType;
- static readonly darkOakFenceGate: ItemType;
- static readonly darkOakHangingSign: ItemType;
- static readonly darkOakLog: ItemType;
- static readonly darkOakPressurePlate: ItemType;
- static readonly darkOakSign: ItemType;
- static readonly darkOakStairs: ItemType;
- static readonly darkOakTrapdoor: ItemType;
- static readonly darkPrismarineStairs: ItemType;
- static readonly daylightDetector: ItemType;
- static readonly deadBrainCoral: ItemType;
- static readonly deadBubbleCoral: ItemType;
- static readonly deadbush: ItemType;
- static readonly deadFireCoral: ItemType;
- static readonly deadHornCoral: ItemType;
- static readonly deadTubeCoral: ItemType;
- static readonly decoratedPot: ItemType;
- static readonly deepslate: ItemType;
- static readonly deepslateBricks: ItemType;
- static readonly deepslateBrickSlab: ItemType;
- static readonly deepslateBrickStairs: ItemType;
- static readonly deepslateBrickWall: ItemType;
- static readonly deepslateCoalOre: ItemType;
- static readonly deepslateCopperOre: ItemType;
- static readonly deepslateDiamondOre: ItemType;
- static readonly deepslateEmeraldOre: ItemType;
- static readonly deepslateGoldOre: ItemType;
- static readonly deepslateIronOre: ItemType;
- static readonly deepslateLapisOre: ItemType;
- static readonly deepslateRedstoneOre: ItemType;
- static readonly deepslateTiles: ItemType;
- static readonly deepslateTileSlab: ItemType;
- static readonly deepslateTileStairs: ItemType;
- static readonly deepslateTileWall: ItemType;
- static readonly deny: ItemType;
- static readonly detectorRail: ItemType;
- static readonly diamond: ItemType;
- static readonly diamondAxe: ItemType;
- static readonly diamondBlock: ItemType;
- static readonly diamondBoots: ItemType;
- static readonly diamondChestplate: ItemType;
- static readonly diamondHelmet: ItemType;
- static readonly diamondHoe: ItemType;
- static readonly diamondHorseArmor: ItemType;
- static readonly diamondLeggings: ItemType;
- static readonly diamondOre: ItemType;
- static readonly diamondPickaxe: ItemType;
- static readonly diamondShovel: ItemType;
- static readonly diamondSword: ItemType;
- static readonly dioriteStairs: ItemType;
- static readonly dirt: ItemType;
- static readonly dirtWithRoots: ItemType;
- static readonly discFragment5: ItemType;
- static readonly dispenser: ItemType;
- static readonly dolphinSpawnEgg: ItemType;
- static readonly donkeySpawnEgg: ItemType;
- static readonly doublePlant: ItemType;
- static readonly dragonBreath: ItemType;
- static readonly dragonEgg: ItemType;
- static readonly driedKelp: ItemType;
- static readonly driedKelpBlock: ItemType;
- static readonly dripstoneBlock: ItemType;
- static readonly dropper: ItemType;
- static readonly drownedSpawnEgg: ItemType;
- static readonly duneArmorTrimSmithingTemplate: ItemType;
- static readonly dye: ItemType;
- static readonly echoShard: ItemType;
- static readonly egg: ItemType;
- static readonly elderGuardianSpawnEgg: ItemType;
- static readonly elytra: ItemType;
- static readonly emerald: ItemType;
- static readonly emeraldBlock: ItemType;
- static readonly emeraldOre: ItemType;
- static readonly emptyMap: ItemType;
- static readonly enchantedBook: ItemType;
- static readonly enchantedGoldenApple: ItemType;
- static readonly enchantingTable: ItemType;
- static readonly endBricks: ItemType;
- static readonly endBrickStairs: ItemType;
- static readonly endCrystal: ItemType;
- static readonly enderChest: ItemType;
- static readonly enderDragonSpawnEgg: ItemType;
- static readonly enderEye: ItemType;
- static readonly endermanSpawnEgg: ItemType;
- static readonly endermiteSpawnEgg: ItemType;
- static readonly enderPearl: ItemType;
- static readonly endPortalFrame: ItemType;
- static readonly endRod: ItemType;
- static readonly endStone: ItemType;
- static readonly evokerSpawnEgg: ItemType;
- static readonly experienceBottle: ItemType;
- static readonly explorerPotterySherd: ItemType;
- static readonly exposedCopper: ItemType;
- static readonly exposedCutCopper: ItemType;
- static readonly exposedCutCopperSlab: ItemType;
- static readonly exposedCutCopperStairs: ItemType;
- static readonly eyeArmorTrimSmithingTemplate: ItemType;
- static readonly farmland: ItemType;
- static readonly feather: ItemType;
- static readonly fence: ItemType;
- static readonly fenceGate: ItemType;
- static readonly fermentedSpiderEye: ItemType;
- static readonly fieldMasonedBannerPattern: ItemType;
- static readonly filledMap: ItemType;
- static readonly fireCharge: ItemType;
- static readonly fireCoral: ItemType;
- static readonly fireworkRocket: ItemType;
- static readonly fireworkStar: ItemType;
- static readonly fishingRod: ItemType;
- static readonly fletchingTable: ItemType;
- static readonly flint: ItemType;
- static readonly flintAndSteel: ItemType;
- static readonly flowerBannerPattern: ItemType;
- static readonly floweringAzalea: ItemType;
- static readonly flowerPot: ItemType;
- static readonly foxSpawnEgg: ItemType;
- static readonly frame: ItemType;
- static readonly friendPotterySherd: ItemType;
- static readonly frogSpawn: ItemType;
- static readonly frogSpawnEgg: ItemType;
- static readonly frostedIce: ItemType;
- static readonly furnace: ItemType;
- static readonly ghastSpawnEgg: ItemType;
- static readonly ghastTear: ItemType;
- static readonly gildedBlackstone: ItemType;
- static readonly glass: ItemType;
- static readonly glassBottle: ItemType;
- static readonly glassPane: ItemType;
- static readonly glisteringMelonSlice: ItemType;
- static readonly globeBannerPattern: ItemType;
- static readonly glowBerries: ItemType;
- static readonly glowFrame: ItemType;
- static readonly glowInkSac: ItemType;
- static readonly glowLichen: ItemType;
- static readonly glowSquidSpawnEgg: ItemType;
- static readonly glowstone: ItemType;
- static readonly glowstoneDust: ItemType;
- static readonly goatHorn: ItemType;
- static readonly goatSpawnEgg: ItemType;
- static readonly goldBlock: ItemType;
- static readonly goldenApple: ItemType;
- static readonly goldenAxe: ItemType;
- static readonly goldenBoots: ItemType;
- static readonly goldenCarrot: ItemType;
- static readonly goldenChestplate: ItemType;
- static readonly goldenHelmet: ItemType;
- static readonly goldenHoe: ItemType;
- static readonly goldenHorseArmor: ItemType;
- static readonly goldenLeggings: ItemType;
- static readonly goldenPickaxe: ItemType;
- static readonly goldenRail: ItemType;
- static readonly goldenShovel: ItemType;
- static readonly goldenSword: ItemType;
- static readonly goldIngot: ItemType;
- static readonly goldNugget: ItemType;
- static readonly goldOre: ItemType;
- static readonly graniteStairs: ItemType;
- static readonly grass: ItemType;
- static readonly grassPath: ItemType;
- static readonly gravel: ItemType;
- static readonly grayCandle: ItemType;
- static readonly grayCarpet: ItemType;
- static readonly grayConcrete: ItemType;
- static readonly grayDye: ItemType;
- static readonly grayGlazedTerracotta: ItemType;
- static readonly grayShulkerBox: ItemType;
- static readonly grayWool: ItemType;
- static readonly greenCandle: ItemType;
- static readonly greenCarpet: ItemType;
- static readonly greenConcrete: ItemType;
- static readonly greenDye: ItemType;
- static readonly greenGlazedTerracotta: ItemType;
- static readonly greenShulkerBox: ItemType;
- static readonly greenWool: ItemType;
- static readonly grindstone: ItemType;
- static readonly guardianSpawnEgg: ItemType;
- static readonly gunpowder: ItemType;
- static readonly hangingRoots: ItemType;
- static readonly hardenedClay: ItemType;
- static readonly hayBlock: ItemType;
- static readonly heartbreakPotterySherd: ItemType;
- static readonly heartOfTheSea: ItemType;
- static readonly heartPotterySherd: ItemType;
- static readonly heavyWeightedPressurePlate: ItemType;
- static readonly hoglinSpawnEgg: ItemType;
- static readonly honeyBlock: ItemType;
- static readonly honeyBottle: ItemType;
- static readonly honeycomb: ItemType;
- static readonly honeycombBlock: ItemType;
- static readonly hopper: ItemType;
- static readonly hopperMinecart: ItemType;
- static readonly hornCoral: ItemType;
- static readonly horseSpawnEgg: ItemType;
- static readonly hostArmorTrimSmithingTemplate: ItemType;
- static readonly howlPotterySherd: ItemType;
- static readonly huskSpawnEgg: ItemType;
- static readonly ice: ItemType;
- static readonly infestedDeepslate: ItemType;
- static readonly inkSac: ItemType;
- static readonly ironAxe: ItemType;
- static readonly ironBars: ItemType;
- static readonly ironBlock: ItemType;
- static readonly ironBoots: ItemType;
- static readonly ironChestplate: ItemType;
- static readonly ironDoor: ItemType;
- static readonly ironGolemSpawnEgg: ItemType;
- static readonly ironHelmet: ItemType;
- static readonly ironHoe: ItemType;
- static readonly ironHorseArmor: ItemType;
- static readonly ironIngot: ItemType;
- static readonly ironLeggings: ItemType;
- static readonly ironNugget: ItemType;
- static readonly ironOre: ItemType;
- static readonly ironPickaxe: ItemType;
- static readonly ironShovel: ItemType;
- static readonly ironSword: ItemType;
- static readonly ironTrapdoor: ItemType;
- static readonly jigsaw: ItemType;
- static readonly jukebox: ItemType;
- static readonly jungleBoat: ItemType;
- static readonly jungleButton: ItemType;
- static readonly jungleChestBoat: ItemType;
- static readonly jungleDoor: ItemType;
- static readonly jungleFence: ItemType;
- static readonly jungleFenceGate: ItemType;
- static readonly jungleHangingSign: ItemType;
- static readonly jungleLog: ItemType;
- static readonly junglePressurePlate: ItemType;
- static readonly jungleSign: ItemType;
- static readonly jungleStairs: ItemType;
- static readonly jungleTrapdoor: ItemType;
- static readonly kelp: ItemType;
- static readonly ladder: ItemType;
- static readonly lantern: ItemType;
- static readonly lapisBlock: ItemType;
- static readonly lapisLazuli: ItemType;
- static readonly lapisOre: ItemType;
- static readonly largeAmethystBud: ItemType;
- static readonly lavaBucket: ItemType;
- static readonly lead: ItemType;
- static readonly leather: ItemType;
- static readonly leatherBoots: ItemType;
- static readonly leatherChestplate: ItemType;
- static readonly leatherHelmet: ItemType;
- static readonly leatherHorseArmor: ItemType;
- static readonly leatherLeggings: ItemType;
- static readonly leaves: ItemType;
- static readonly leaves2: ItemType;
- static readonly lectern: ItemType;
- static readonly lever: ItemType;
- static readonly lightBlock: ItemType;
- static readonly lightBlueCandle: ItemType;
- static readonly lightBlueCarpet: ItemType;
- static readonly lightBlueConcrete: ItemType;
- static readonly lightBlueDye: ItemType;
- static readonly lightBlueGlazedTerracotta: ItemType;
- static readonly lightBlueShulkerBox: ItemType;
- static readonly lightBlueWool: ItemType;
- static readonly lightGrayCandle: ItemType;
- static readonly lightGrayCarpet: ItemType;
- static readonly lightGrayConcrete: ItemType;
- static readonly lightGrayDye: ItemType;
- static readonly lightGrayShulkerBox: ItemType;
- static readonly lightGrayWool: ItemType;
- static readonly lightningRod: ItemType;
- static readonly lightWeightedPressurePlate: ItemType;
- static readonly limeCandle: ItemType;
- static readonly limeCarpet: ItemType;
- static readonly limeConcrete: ItemType;
- static readonly limeDye: ItemType;
- static readonly limeGlazedTerracotta: ItemType;
- static readonly limeShulkerBox: ItemType;
- static readonly limeWool: ItemType;
- static readonly lingeringPotion: ItemType;
- static readonly litPumpkin: ItemType;
- static readonly llamaSpawnEgg: ItemType;
- static readonly lodestone: ItemType;
- static readonly lodestoneCompass: ItemType;
- static readonly log: ItemType;
- static readonly log2: ItemType;
- static readonly loom: ItemType;
- static readonly magentaCandle: ItemType;
- static readonly magentaCarpet: ItemType;
- static readonly magentaConcrete: ItemType;
- static readonly magentaDye: ItemType;
- static readonly magentaGlazedTerracotta: ItemType;
- static readonly magentaShulkerBox: ItemType;
- static readonly magentaWool: ItemType;
- static readonly magma: ItemType;
- static readonly magmaCream: ItemType;
- static readonly magmaCubeSpawnEgg: ItemType;
- static readonly mangroveBoat: ItemType;
- static readonly mangroveButton: ItemType;
- static readonly mangroveChestBoat: ItemType;
- static readonly mangroveDoor: ItemType;
- static readonly mangroveFence: ItemType;
- static readonly mangroveFenceGate: ItemType;
- static readonly mangroveHangingSign: ItemType;
- static readonly mangroveLeaves: ItemType;
- static readonly mangroveLog: ItemType;
- static readonly mangrovePlanks: ItemType;
- static readonly mangrovePressurePlate: ItemType;
- static readonly mangrovePropagule: ItemType;
- static readonly mangroveRoots: ItemType;
- static readonly mangroveSign: ItemType;
- static readonly mangroveSlab: ItemType;
- static readonly mangroveStairs: ItemType;
- static readonly mangroveTrapdoor: ItemType;
- static readonly mangroveWood: ItemType;
- static readonly mediumAmethystBud: ItemType;
- static readonly melonBlock: ItemType;
- static readonly melonSeeds: ItemType;
- static readonly melonSlice: ItemType;
- static readonly milkBucket: ItemType;
- static readonly minecart: ItemType;
- static readonly minerPotterySherd: ItemType;
- static readonly mobSpawner: ItemType;
- static readonly mojangBannerPattern: ItemType;
- static readonly monsterEgg: ItemType;
- static readonly mooshroomSpawnEgg: ItemType;
- static readonly mossBlock: ItemType;
- static readonly mossCarpet: ItemType;
- static readonly mossyCobblestone: ItemType;
- static readonly mossyCobblestoneStairs: ItemType;
- static readonly mossyStoneBrickStairs: ItemType;
- static readonly mournerPotterySherd: ItemType;
- static readonly mud: ItemType;
- static readonly mudBricks: ItemType;
- static readonly mudBrickSlab: ItemType;
- static readonly mudBrickStairs: ItemType;
- static readonly mudBrickWall: ItemType;
- static readonly muddyMangroveRoots: ItemType;
- static readonly muleSpawnEgg: ItemType;
- static readonly mushroomStew: ItemType;
- static readonly musicDisc11: ItemType;
- static readonly musicDisc13: ItemType;
- static readonly musicDisc5: ItemType;
- static readonly musicDiscBlocks: ItemType;
- static readonly musicDiscCat: ItemType;
- static readonly musicDiscChirp: ItemType;
- static readonly musicDiscFar: ItemType;
- static readonly musicDiscMall: ItemType;
- static readonly musicDiscMellohi: ItemType;
- static readonly musicDiscOtherside: ItemType;
- static readonly musicDiscPigstep: ItemType;
- static readonly musicDiscRelic: ItemType;
- static readonly musicDiscStal: ItemType;
- static readonly musicDiscStrad: ItemType;
- static readonly musicDiscWait: ItemType;
- static readonly musicDiscWard: ItemType;
- static readonly mutton: ItemType;
- static readonly mycelium: ItemType;
- static readonly nameTag: ItemType;
- static readonly nautilusShell: ItemType;
- static readonly netherbrick: ItemType;
- static readonly netherBrick: ItemType;
- static readonly netherBrickFence: ItemType;
- static readonly netherBrickStairs: ItemType;
- static readonly netherGoldOre: ItemType;
- static readonly netheriteAxe: ItemType;
- static readonly netheriteBlock: ItemType;
- static readonly netheriteBoots: ItemType;
- static readonly netheriteChestplate: ItemType;
- static readonly netheriteHelmet: ItemType;
- static readonly netheriteHoe: ItemType;
- static readonly netheriteIngot: ItemType;
- static readonly netheriteLeggings: ItemType;
- static readonly netheritePickaxe: ItemType;
- static readonly netheriteScrap: ItemType;
- static readonly netheriteShovel: ItemType;
- static readonly netheriteSword: ItemType;
- static readonly netheriteUpgradeSmithingTemplate: ItemType;
- static readonly netherrack: ItemType;
- static readonly netherSprouts: ItemType;
- static readonly netherStar: ItemType;
- static readonly netherWart: ItemType;
- static readonly netherWartBlock: ItemType;
- static readonly normalStoneStairs: ItemType;
- static readonly noteblock: ItemType;
- static readonly oakBoat: ItemType;
- static readonly oakChestBoat: ItemType;
- static readonly oakFence: ItemType;
- static readonly oakHangingSign: ItemType;
- static readonly oakLog: ItemType;
- static readonly oakSign: ItemType;
- static readonly oakStairs: ItemType;
- static readonly observer: ItemType;
- static readonly obsidian: ItemType;
- static readonly ocelotSpawnEgg: ItemType;
- static readonly ochreFroglight: ItemType;
- static readonly orangeCandle: ItemType;
- static readonly orangeCarpet: ItemType;
- static readonly orangeConcrete: ItemType;
- static readonly orangeDye: ItemType;
- static readonly orangeGlazedTerracotta: ItemType;
- static readonly orangeShulkerBox: ItemType;
- static readonly orangeWool: ItemType;
- static readonly oxidizedCopper: ItemType;
- static readonly oxidizedCutCopper: ItemType;
- static readonly oxidizedCutCopperSlab: ItemType;
- static readonly oxidizedCutCopperStairs: ItemType;
- static readonly packedIce: ItemType;
- static readonly packedMud: ItemType;
- static readonly painting: ItemType;
- static readonly pandaSpawnEgg: ItemType;
- static readonly paper: ItemType;
- static readonly parrotSpawnEgg: ItemType;
- static readonly pearlescentFroglight: ItemType;
- static readonly phantomMembrane: ItemType;
- static readonly phantomSpawnEgg: ItemType;
- static readonly piglinBannerPattern: ItemType;
- static readonly piglinBruteSpawnEgg: ItemType;
- static readonly piglinSpawnEgg: ItemType;
- static readonly pigSpawnEgg: ItemType;
- static readonly pillagerSpawnEgg: ItemType;
- static readonly pinkCandle: ItemType;
- static readonly pinkCarpet: ItemType;
- static readonly pinkConcrete: ItemType;
- static readonly pinkDye: ItemType;
- static readonly pinkGlazedTerracotta: ItemType;
- static readonly pinkPetals: ItemType;
- static readonly pinkShulkerBox: ItemType;
- static readonly pinkWool: ItemType;
- static readonly piston: ItemType;
- static readonly pitcherPlant: ItemType;
- static readonly pitcherPod: ItemType;
- static readonly planks: ItemType;
- static readonly plentyPotterySherd: ItemType;
- static readonly podzol: ItemType;
- static readonly pointedDripstone: ItemType;
- static readonly poisonousPotato: ItemType;
- static readonly polarBearSpawnEgg: ItemType;
- static readonly polishedAndesiteStairs: ItemType;
- static readonly polishedBasalt: ItemType;
- static readonly polishedBlackstone: ItemType;
- static readonly polishedBlackstoneBricks: ItemType;
- static readonly polishedBlackstoneBrickSlab: ItemType;
- static readonly polishedBlackstoneBrickStairs: ItemType;
- static readonly polishedBlackstoneBrickWall: ItemType;
- static readonly polishedBlackstoneButton: ItemType;
- static readonly polishedBlackstonePressurePlate: ItemType;
- static readonly polishedBlackstoneSlab: ItemType;
- static readonly polishedBlackstoneStairs: ItemType;
- static readonly polishedBlackstoneWall: ItemType;
- static readonly polishedDeepslate: ItemType;
- static readonly polishedDeepslateSlab: ItemType;
- static readonly polishedDeepslateStairs: ItemType;
- static readonly polishedDeepslateWall: ItemType;
- static readonly polishedDioriteStairs: ItemType;
- static readonly polishedGraniteStairs: ItemType;
- static readonly poppedChorusFruit: ItemType;
- static readonly porkchop: ItemType;
- static readonly potato: ItemType;
- static readonly potion: ItemType;
- static readonly powderSnowBucket: ItemType;
- static readonly prismarine: ItemType;
- static readonly prismarineBricksStairs: ItemType;
- static readonly prismarineCrystals: ItemType;
- static readonly prismarineShard: ItemType;
- static readonly prismarineStairs: ItemType;
- static readonly prizePotterySherd: ItemType;
- static readonly pufferfish: ItemType;
- static readonly pufferfishBucket: ItemType;
- static readonly pufferfishSpawnEgg: ItemType;
- static readonly pumpkin: ItemType;
- static readonly pumpkinPie: ItemType;
- static readonly pumpkinSeeds: ItemType;
- static readonly purpleCandle: ItemType;
- static readonly purpleCarpet: ItemType;
- static readonly purpleConcrete: ItemType;
- static readonly purpleDye: ItemType;
- static readonly purpleGlazedTerracotta: ItemType;
- static readonly purpleShulkerBox: ItemType;
- static readonly purpleWool: ItemType;
- static readonly purpurBlock: ItemType;
- static readonly purpurStairs: ItemType;
- static readonly quartz: ItemType;
- static readonly quartzBlock: ItemType;
- static readonly quartzBricks: ItemType;
- static readonly quartzOre: ItemType;
- static readonly quartzStairs: ItemType;
- static readonly rabbit: ItemType;
- static readonly rabbitFoot: ItemType;
- static readonly rabbitHide: ItemType;
- static readonly rabbitSpawnEgg: ItemType;
- static readonly rabbitStew: ItemType;
- static readonly rail: ItemType;
- static readonly raiserArmorTrimSmithingTemplate: ItemType;
- static readonly ravagerSpawnEgg: ItemType;
- static readonly rawCopper: ItemType;
- static readonly rawCopperBlock: ItemType;
- static readonly rawGold: ItemType;
- static readonly rawGoldBlock: ItemType;
- static readonly rawIron: ItemType;
- static readonly rawIronBlock: ItemType;
- static readonly recoveryCompass: ItemType;
- static readonly redCandle: ItemType;
- static readonly redCarpet: ItemType;
- static readonly redConcrete: ItemType;
- static readonly redDye: ItemType;
- static readonly redFlower: ItemType;
- static readonly redGlazedTerracotta: ItemType;
- static readonly redMushroom: ItemType;
- static readonly redMushroomBlock: ItemType;
- static readonly redNetherBrick: ItemType;
- static readonly redNetherBrickStairs: ItemType;
- static readonly redSandstone: ItemType;
- static readonly redSandstoneStairs: ItemType;
- static readonly redShulkerBox: ItemType;
- static readonly redstone: ItemType;
- static readonly redstoneBlock: ItemType;
- static readonly redstoneLamp: ItemType;
- static readonly redstoneOre: ItemType;
- static readonly redstoneTorch: ItemType;
- static readonly redWool: ItemType;
- static readonly reinforcedDeepslate: ItemType;
- static readonly repeater: ItemType;
- static readonly repeatingCommandBlock: ItemType;
- static readonly respawnAnchor: ItemType;
- static readonly ribArmorTrimSmithingTemplate: ItemType;
- static readonly rottenFlesh: ItemType;
- static readonly saddle: ItemType;
- static readonly salmon: ItemType;
- static readonly salmonBucket: ItemType;
- static readonly salmonSpawnEgg: ItemType;
- static readonly sand: ItemType;
- static readonly sandstone: ItemType;
- static readonly sandstoneStairs: ItemType;
- static readonly sapling: ItemType;
- static readonly scaffolding: ItemType;
- static readonly sculk: ItemType;
- static readonly sculkCatalyst: ItemType;
- static readonly sculkSensor: ItemType;
- static readonly sculkShrieker: ItemType;
- static readonly sculkVein: ItemType;
- static readonly scute: ItemType;
- static readonly seagrass: ItemType;
- static readonly seaLantern: ItemType;
- static readonly seaPickle: ItemType;
- static readonly sentryArmorTrimSmithingTemplate: ItemType;
- static readonly shaperArmorTrimSmithingTemplate: ItemType;
- static readonly sheafPotterySherd: ItemType;
- static readonly shears: ItemType;
- static readonly sheepSpawnEgg: ItemType;
- static readonly shelterPotterySherd: ItemType;
- static readonly shield: ItemType;
- static readonly shroomlight: ItemType;
- static readonly shulkerBox: ItemType;
- static readonly shulkerShell: ItemType;
- static readonly shulkerSpawnEgg: ItemType;
- static readonly silenceArmorTrimSmithingTemplate: ItemType;
- static readonly silverfishSpawnEgg: ItemType;
- static readonly silverGlazedTerracotta: ItemType;
- static readonly skeletonHorseSpawnEgg: ItemType;
- static readonly skeletonSpawnEgg: ItemType;
- static readonly skull: ItemType;
- static readonly skullBannerPattern: ItemType;
- static readonly skullPotterySherd: ItemType;
- static readonly slime: ItemType;
- static readonly slimeBall: ItemType;
- static readonly slimeSpawnEgg: ItemType;
- static readonly smallAmethystBud: ItemType;
- static readonly smallDripleafBlock: ItemType;
- static readonly smithingTable: ItemType;
- static readonly smoker: ItemType;
- static readonly smoothBasalt: ItemType;
- static readonly smoothQuartzStairs: ItemType;
- static readonly smoothRedSandstoneStairs: ItemType;
- static readonly smoothSandstoneStairs: ItemType;
- static readonly smoothStone: ItemType;
- static readonly snifferEgg: ItemType;
- static readonly snifferSpawnEgg: ItemType;
- static readonly snortPotterySherd: ItemType;
- static readonly snoutArmorTrimSmithingTemplate: ItemType;
- static readonly snow: ItemType;
- static readonly snowball: ItemType;
- static readonly snowGolemSpawnEgg: ItemType;
- static readonly snowLayer: ItemType;
- static readonly soulCampfire: ItemType;
- static readonly soulLantern: ItemType;
- static readonly soulSand: ItemType;
- static readonly soulSoil: ItemType;
- static readonly soulTorch: ItemType;
- static readonly spawnEgg: ItemType;
- static readonly spiderEye: ItemType;
- static readonly spiderSpawnEgg: ItemType;
- static readonly spireArmorTrimSmithingTemplate: ItemType;
- static readonly splashPotion: ItemType;
- static readonly sponge: ItemType;
- static readonly sporeBlossom: ItemType;
- static readonly spruceBoat: ItemType;
- static readonly spruceButton: ItemType;
- static readonly spruceChestBoat: ItemType;
- static readonly spruceDoor: ItemType;
- static readonly spruceFence: ItemType;
- static readonly spruceFenceGate: ItemType;
- static readonly spruceHangingSign: ItemType;
- static readonly spruceLog: ItemType;
- static readonly sprucePressurePlate: ItemType;
- static readonly spruceSign: ItemType;
- static readonly spruceStairs: ItemType;
- static readonly spruceTrapdoor: ItemType;
- static readonly spyglass: ItemType;
- static readonly squidSpawnEgg: ItemType;
- static readonly stainedGlass: ItemType;
- static readonly stainedGlassPane: ItemType;
- static readonly stainedHardenedClay: ItemType;
- static readonly stick: ItemType;
- static readonly stickyPiston: ItemType;
- static readonly stone: ItemType;
- static readonly stoneAxe: ItemType;
- static readonly stoneBlockSlab: ItemType;
- static readonly stoneBlockSlab2: ItemType;
- static readonly stoneBlockSlab3: ItemType;
- static readonly stoneBlockSlab4: ItemType;
- static readonly stonebrick: ItemType;
- static readonly stoneBrickStairs: ItemType;
- static readonly stoneButton: ItemType;
- static readonly stonecutterBlock: ItemType;
- static readonly stoneHoe: ItemType;
- static readonly stonePickaxe: ItemType;
- static readonly stonePressurePlate: ItemType;
- static readonly stoneShovel: ItemType;
- static readonly stoneStairs: ItemType;
- static readonly stoneSword: ItemType;
- static readonly straySpawnEgg: ItemType;
- static readonly striderSpawnEgg: ItemType;
- static readonly 'string': ItemType;
- static readonly strippedAcaciaLog: ItemType;
- static readonly strippedBambooBlock: ItemType;
- static readonly strippedBirchLog: ItemType;
- static readonly strippedCherryLog: ItemType;
- static readonly strippedCherryWood: ItemType;
- static readonly strippedCrimsonHyphae: ItemType;
- static readonly strippedCrimsonStem: ItemType;
- static readonly strippedDarkOakLog: ItemType;
- static readonly strippedJungleLog: ItemType;
- static readonly strippedMangroveLog: ItemType;
- static readonly strippedMangroveWood: ItemType;
- static readonly strippedOakLog: ItemType;
- static readonly strippedSpruceLog: ItemType;
- static readonly strippedWarpedHyphae: ItemType;
- static readonly strippedWarpedStem: ItemType;
- static readonly structureBlock: ItemType;
- static readonly structureVoid: ItemType;
- static readonly sugar: ItemType;
- static readonly sugarCane: ItemType;
- static readonly suspiciousGravel: ItemType;
- static readonly suspiciousSand: ItemType;
- static readonly suspiciousStew: ItemType;
- static readonly sweetBerries: ItemType;
- static readonly tadpoleBucket: ItemType;
- static readonly tadpoleSpawnEgg: ItemType;
- static readonly tallgrass: ItemType;
- static readonly target: ItemType;
- static readonly tideArmorTrimSmithingTemplate: ItemType;
- static readonly tintedGlass: ItemType;
- static readonly tnt: ItemType;
- static readonly tntMinecart: ItemType;
- static readonly torch: ItemType;
- static readonly torchflower: ItemType;
- static readonly torchflowerSeeds: ItemType;
- static readonly totemOfUndying: ItemType;
- static readonly traderLlamaSpawnEgg: ItemType;
- static readonly trapdoor: ItemType;
- static readonly trappedChest: ItemType;
- static readonly trident: ItemType;
- static readonly tripwireHook: ItemType;
- static readonly tropicalFish: ItemType;
- static readonly tropicalFishBucket: ItemType;
- static readonly tropicalFishSpawnEgg: ItemType;
- static readonly tubeCoral: ItemType;
- static readonly tuff: ItemType;
- static readonly turtleEgg: ItemType;
- static readonly turtleHelmet: ItemType;
- static readonly turtleSpawnEgg: ItemType;
- static readonly twistingVines: ItemType;
- static readonly undyedShulkerBox: ItemType;
- static readonly verdantFroglight: ItemType;
- static readonly vexArmorTrimSmithingTemplate: ItemType;
- static readonly vexSpawnEgg: ItemType;
- static readonly villagerSpawnEgg: ItemType;
- static readonly vindicatorSpawnEgg: ItemType;
- static readonly vine: ItemType;
- static readonly wanderingTraderSpawnEgg: ItemType;
- static readonly wardArmorTrimSmithingTemplate: ItemType;
- static readonly wardenSpawnEgg: ItemType;
- static readonly warpedButton: ItemType;
- static readonly warpedDoor: ItemType;
- static readonly warpedFence: ItemType;
- static readonly warpedFenceGate: ItemType;
- static readonly warpedFungus: ItemType;
- static readonly warpedFungusOnAStick: ItemType;
- static readonly warpedHangingSign: ItemType;
- static readonly warpedHyphae: ItemType;
- static readonly warpedNylium: ItemType;
- static readonly warpedPlanks: ItemType;
- static readonly warpedPressurePlate: ItemType;
- static readonly warpedRoots: ItemType;
- static readonly warpedSign: ItemType;
- static readonly warpedSlab: ItemType;
- static readonly warpedStairs: ItemType;
- static readonly warpedStem: ItemType;
- static readonly warpedTrapdoor: ItemType;
- static readonly warpedWartBlock: ItemType;
- static readonly waterBucket: ItemType;
- static readonly waterlily: ItemType;
- static readonly waxedCopper: ItemType;
- static readonly waxedCutCopper: ItemType;
- static readonly waxedCutCopperSlab: ItemType;
- static readonly waxedCutCopperStairs: ItemType;
- static readonly waxedExposedCopper: ItemType;
- static readonly waxedExposedCutCopper: ItemType;
- static readonly waxedExposedCutCopperSlab: ItemType;
- static readonly waxedExposedCutCopperStairs: ItemType;
- static readonly waxedOxidizedCopper: ItemType;
- static readonly waxedOxidizedCutCopper: ItemType;
- static readonly waxedOxidizedCutCopperSlab: ItemType;
- static readonly waxedOxidizedCutCopperStairs: ItemType;
- static readonly waxedWeatheredCopper: ItemType;
- static readonly waxedWeatheredCutCopper: ItemType;
- static readonly waxedWeatheredCutCopperSlab: ItemType;
- static readonly waxedWeatheredCutCopperStairs: ItemType;
- static readonly wayfinderArmorTrimSmithingTemplate: ItemType;
- static readonly weatheredCopper: ItemType;
- static readonly weatheredCutCopper: ItemType;
- static readonly weatheredCutCopperSlab: ItemType;
- static readonly weatheredCutCopperStairs: ItemType;
- static readonly web: ItemType;
- static readonly weepingVines: ItemType;
- static readonly wheat: ItemType;
- static readonly wheatSeeds: ItemType;
- static readonly whiteCandle: ItemType;
- static readonly whiteCarpet: ItemType;
- static readonly whiteConcrete: ItemType;
- static readonly whiteDye: ItemType;
- static readonly whiteGlazedTerracotta: ItemType;
- static readonly whiteShulkerBox: ItemType;
- static readonly whiteWool: ItemType;
- static readonly wildArmorTrimSmithingTemplate: ItemType;
- static readonly witchSpawnEgg: ItemType;
- static readonly witherRose: ItemType;
- static readonly witherSkeletonSpawnEgg: ItemType;
- static readonly witherSpawnEgg: ItemType;
- static readonly wolfSpawnEgg: ItemType;
- static readonly wood: ItemType;
- static readonly woodenAxe: ItemType;
- static readonly woodenButton: ItemType;
- static readonly woodenDoor: ItemType;
- static readonly woodenHoe: ItemType;
- static readonly woodenPickaxe: ItemType;
- static readonly woodenPressurePlate: ItemType;
- static readonly woodenShovel: ItemType;
- static readonly woodenSlab: ItemType;
- static readonly woodenSword: ItemType;
- static readonly wool: ItemType;
- static readonly writableBook: ItemType;
- static readonly yellowCandle: ItemType;
- static readonly yellowCarpet: ItemType;
- static readonly yellowConcrete: ItemType;
- static readonly yellowDye: ItemType;
- static readonly yellowFlower: ItemType;
- static readonly yellowGlazedTerracotta: ItemType;
- static readonly yellowShulkerBox: ItemType;
- static readonly yellowWool: ItemType;
- static readonly zoglinSpawnEgg: ItemType;
- static readonly zombieHorseSpawnEgg: ItemType;
- static readonly zombiePigmanSpawnEgg: ItemType;
- static readonly zombieSpawnEgg: ItemType;
- static readonly zombieVillagerSpawnEgg: ItemType;
-}
-
-/**
- * @beta
* Contains a set of additional variable values for further
* defining how rendering and animations function.
*/
@@ -13936,8 +8623,9 @@ export class MolangVariableMap {
* - `.g` - Green color value [0-1]
* - `.b` - Blue color value [0-1]
*
+ * @throws This function can throw errors.
*/
- setColorRGB(variableName: string, color: Color): MolangVariableMap;
+ setColorRGB(variableName: string, color: RGB): void;
/**
* @remarks
* Adds the following variables to Molang:
@@ -13947,8 +8635,21 @@ export class MolangVariableMap {
* - `.a` - Alpha (transparency) color value
* [0-1]
*
+ * @throws This function can throw errors.
+ */
+ setColorRGBA(variableName: string, color: RGBA): void;
+ /**
+ * @remarks
+ * Sets a numeric (decimal) value within the Molang variable
+ * map.
+ *
+ * @param variableName
+ * Name of the float-based number to set.
+ * @param number
+ * Value for the Molang-based variable to set.
+ * @throws This function can throw errors.
*/
- setColorRGBA(variableName: string, color: Color): MolangVariableMap;
+ setFloat(variableName: string, number: number): void;
/**
* @remarks
* Adds the following variables to Molang:
@@ -13960,8 +8661,9 @@ export class MolangVariableMap {
* - `.direction_z` - Z value from the {@link
* Vector3} provided
*
+ * @throws This function can throw errors.
*/
- setSpeedAndDirection(variableName: string, speed: number, direction: Vector3): MolangVariableMap;
+ setSpeedAndDirection(variableName: string, speed: number, direction: Vector3): void;
/**
* @remarks
* Adds the following variables to Molang:
@@ -13972,8 +8674,9 @@ export class MolangVariableMap {
* - `.z` - Z value from the {@link Vector3}
* provided
*
+ * @throws This function can throw errors.
*/
- setVector3(variableName: string, vector: Vector3): MolangVariableMap;
+ setVector3(variableName: string, vector: Vector3): void;
}
/**
@@ -14025,9 +8728,76 @@ export class PistonActivateAfterEvent extends BlockEvent {
* @beta
* Manages callbacks that are connected to piston activations.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class PistonActivateAfterEventSignal extends IPistonActivateAfterEventSignal {
+export class PistonActivateAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a piston expands or
+ * retracts.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @example pistonAfterEvent.ts
+ * ```typescript
+ * // set up a couple of piston blocks
+ * let piston = overworld.getBlock(targetLocation);
+ * let button = overworld.getBlock({ x: targetLocation.x, y: targetLocation.y + 1, z: targetLocation.z });
+ *
+ * if (piston === undefined || button === undefined) {
+ * log("Could not find block at location.");
+ * return -1;
+ * }
+ *
+ * piston.setPermutation(mc.BlockPermutation.resolve('piston').withState('facing_direction', 3));
+ * button.setPermutation(mc.BlockPermutation.resolve('acacia_button').withState('facing_direction', 1));
+ *
+ * mc.world.afterEvents.pistonActivate.subscribe((pistonEvent: mc.PistonActivateAfterEvent) => {
+ * let eventLoc = pistonEvent.piston.block.location;
+ *
+ * if (eventLoc.x === targetLocation.x && eventLoc.y === targetLocation.y && eventLoc.z === targetLocation.z) {
+ * log(
+ * "Piston event at " +
+ * mc.system.currentTick +
+ * (pistonEvent.piston.isMoving ? " Moving" : "") +
+ * (pistonEvent.piston.isExpanding ? " Expanding" : "") +
+ * (pistonEvent.piston.isExpanded ? " Expanded" : "") +
+ * (pistonEvent.piston.isRetracting ? " Retracting" : "") +
+ * (pistonEvent.piston.isRetracted ? " Retracted" : "")
+ * );
+ * }
+ * });
+ * ```
+ * @example pistonEvent.ts
+ * ```typescript
+ * let canceled = false;
+ *
+ * const pistonLoc: mc.Vector3 = {
+ * x: Math.floor(targetLocation.x) + 1,
+ * y: Math.floor(targetLocation.y) + 2,
+ * z: Math.floor(targetLocation.z) + 1,
+ * };
+ *
+ * const pistonCallback = mc.world.beforeEvents.pistonActivate.subscribe((pistonEvent: mc.PistonActivateBeforeEvent) => {
+ * if (pistonEvent.piston.location.equals(pistonLoc)) {
+ * log("Cancelling piston event");
+ * pistonEvent.cancel = true;
+ * canceled = true;
+ * }
+ * });
+ *
+ * ```
+ */
+ subscribe(callback: (arg: PistonActivateAfterEvent) => void): (arg: PistonActivateAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when a piston expands
+ * or retracts.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: PistonActivateAfterEvent) => void): void;
}
/**
@@ -14064,9 +8834,71 @@ export class PistonActivateBeforeEvent extends BlockEvent {
* Manages callbacks that are connected to an event that fires
* before a piston is activated.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class PistonActivateBeforeEventSignal extends IPistonActivateBeforeEventSignal {
+export class PistonActivateBeforeEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called before a piston expands
+ * or retracts.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @example pistonBeforeEvent.ts
+ * ```typescript
+ * // set up a couple of piston blocks
+ * let piston = overworld.getBlock(targetLocation);
+ * let button = overworld.getBlock({ x: targetLocation.x, y: targetLocation.y + 1, z: targetLocation.z });
+ *
+ * if (piston === undefined || button === undefined) {
+ * log("Could not find block at location.");
+ * return -1;
+ * }
+ *
+ * piston.setPermutation(mc.BlockPermutation.resolve('piston').withState('facing_direction', 3));
+ * button.setPermutation(mc.BlockPermutation.resolve('acacia_button').withState('facing_direction', 1));
+ *
+ * const uncanceledPistonLoc = {
+ * x: Math.floor(targetLocation.x) + 2,
+ * y: Math.floor(targetLocation.y),
+ * z: Math.floor(targetLocation.z) + 2,
+ * };
+ *
+ * // this is our control.
+ * let uncanceledPiston = overworld.getBlock(uncanceledPistonLoc);
+ * let uncanceledButton = overworld.getBlock({
+ * x: uncanceledPistonLoc.x,
+ * y: uncanceledPistonLoc.y + 1,
+ * z: uncanceledPistonLoc.z,
+ * });
+ *
+ * if (uncanceledPiston === undefined || uncanceledButton === undefined) {
+ * log("Could not find block at location.");
+ * return -1;
+ * }
+ *
+ * uncanceledPiston.setPermutation(mc.BlockPermutation.resolve('piston').withState('facing_direction', 3));
+ * uncanceledButton.setPermutation(mc.BlockPermutation.resolve('acacia_button').withState('facing_direction', 1));
+ *
+ * mc.world.beforeEvents.pistonActivate.subscribe((pistonEvent: mc.PistonActivateBeforeEvent) => {
+ * let eventLoc = pistonEvent.piston.block.location;
+ * if (eventLoc.x === targetLocation.x && eventLoc.y === targetLocation.y && eventLoc.z === targetLocation.z) {
+ * log("Cancelling piston event");
+ * pistonEvent.cancel = true;
+ * }
+ * });
+ * ```
+ */
+ subscribe(callback: (arg: PistonActivateBeforeEvent) => void): (arg: PistonActivateBeforeEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called before a piston expands
+ * or retracts.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: PistonActivateBeforeEvent) => void): void;
}
/**
@@ -14075,6 +8907,22 @@ export class PistonActivateBeforeEventSignal extends IPistonActivateBeforeEventS
// @ts-ignore Class inheritance allowed for native defined classes
export class Player extends Entity {
private constructor();
+ /**
+ * @beta
+ * @remarks
+ * The player's Camera.
+ *
+ * @throws This property can throw when used.
+ */
+ readonly camera: Camera;
+ /**
+ * @beta
+ * @remarks
+ * If true, the player is currently emoting.
+ *
+ * @throws This property can throw when used.
+ */
+ readonly isEmoting: boolean;
/**
* @beta
* @remarks
@@ -14118,7 +8966,6 @@ export class Player extends Entity {
*/
readonly name: string;
/**
- * @beta
* @remarks
* Contains methods for manipulating the on-screen display of a
* Player.
@@ -14162,6 +9009,7 @@ export class Player extends Entity {
*
* @param amount
* Amount of experience to add. Note that this can be negative.
+ * Min/max bounds at -2^24 ~ 2^24
* @returns
* Returns the current experience of the Player.
* @throws This function can throw errors.
@@ -14176,7 +9024,7 @@ export class Player extends Entity {
* This function can't be called in read-only mode.
*
* @param amount
- * Amount to add to the player.
+ * Amount to add to the player. Min/max bounds at -2^24 ~ 2^24
* @returns
* Returns the current level of the Player.
* @throws This function can throw errors.
@@ -14195,7 +9043,6 @@ export class Player extends Entity {
*/
getItemCooldown(itemCategory: string): number;
/**
- * @beta
* @remarks
* Gets the current spawn point of the player.
*
@@ -14275,95 +9122,226 @@ export class Player extends Entity {
*
* @throws This function can throw errors.
*/
- resetLevel(): void;
+ resetLevel(): void;
+ /**
+ * @remarks
+ * Sends a message to the player.
+ *
+ * @param message
+ * The message to be displayed.
+ * @throws
+ * This method can throw if the provided {@link RawMessage} is
+ * in an invalid format. For example, if an empty `name` string
+ * is provided to `score`.
+ * @example nestedTranslation.ts
+ * ```typescript
+ * // Displays "Apple or Coal"
+ * let rawMessage = {
+ * translate: "accessibility.list.or.two",
+ * with: { rawtext: [{ translate: "item.apple.name" }, { translate: "item.coal.name" }] },
+ * };
+ * player.sendMessage(rawMessage);
+ * ```
+ * @example scoreWildcard.ts
+ * ```typescript
+ * // Displays the player's score for objective "obj". Each player will see their own score.
+ * const rawMessage = { score: { name: "*", objective: "obj" } };
+ * world.sendMessage(rawMessage);
+ * ```
+ * @example sendBasicMessage.ts
+ * ```typescript
+ * let players = mc.world.getPlayers();
+ *
+ * players[0].sendMessage("Hello World!");
+ * ```
+ * @example sendTranslatedMessage.ts
+ * ```typescript
+ * let players = mc.world.getPlayers();
+ *
+ * players[0].sendMessage({ translate: "authentication.welcome", with: ["Amazing Player 1"] });
+ * ```
+ * @example simpleString.ts
+ * ```typescript
+ * // Displays "Hello, world!"
+ * world.sendMessage("Hello, world!");
+ * ```
+ * @example translation.ts
+ * ```typescript
+ * // Displays "First or Second"
+ * const rawMessage = { translate: "accessibility.list.or.two", with: ["First", "Second"] };
+ * player.sendMessage(rawMessage);
+ * ```
+ */
+ sendMessage(message: (RawMessage | string)[] | RawMessage | string): void;
+ /**
+ * @beta
+ * @remarks
+ * Will change the specified players permissions, and whether
+ * they are operator or not.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ setOp(isOp: boolean): void;
+ /**
+ * @remarks
+ * Sets the current starting spawn point for this particular
+ * player.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ *
+ * {@link Error}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
+ */
+ setSpawnPoint(spawnPoint?: DimensionLocation): void;
+ /**
+ * @beta
+ * @remarks
+ * Sets the item cooldown time for a particular cooldown
+ * category.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param itemCategory
+ * Specifies the cooldown category to retrieve the current
+ * cooldown for.
+ * @param tickDuration
+ * Duration in ticks of the item cooldown.
+ * @throws This function can throw errors.
+ */
+ startItemCooldown(itemCategory: string, tickDuration: number): void;
+}
+
+/**
+ * @beta
+ * Contains information regarding an event after a player
+ * breaks a block.
+ */
+// @ts-ignore Class inheritance allowed for native defined classes
+export class PlayerBreakBlockAfterEvent extends BlockEvent {
+ private constructor();
+ /**
+ * @remarks
+ * Returns permutation information about this block before it
+ * was broken.
+ *
+ */
+ readonly brokenBlockPermutation: BlockPermutation;
+ /**
+ * @remarks
+ * The item stack that was used to break the block after the
+ * block was broken, or undefined if empty hand.
+ *
+ */
+ readonly itemStackAfterBreak?: ItemStack;
+ /**
+ * @remarks
+ * The item stack that was used to break the block before the
+ * block was broken, or undefined if empty hand.
+ *
+ */
+ readonly itemStackBeforeBreak?: ItemStack;
+ /**
+ * @remarks
+ * Player that broke the block for this event.
+ *
+ */
+ readonly player: Player;
+}
+
+/**
+ * @beta
+ * Manages callbacks that are connected to when a player breaks
+ * a block.
+ */
+export class PlayerBreakBlockAfterEventSignal {
+ private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a block is broken
+ * by a player.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(
+ callback: (arg: PlayerBreakBlockAfterEvent) => void,
+ options?: BlockEventOptions,
+ ): (arg: PlayerBreakBlockAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when a player breaks a
+ * block.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: PlayerBreakBlockAfterEvent) => void): void;
+}
+
+/**
+ * @beta
+ * Contains information regarding an event before a player
+ * breaks a block.
+ */
+// @ts-ignore Class inheritance allowed for native defined classes
+export class PlayerBreakBlockBeforeEvent extends BlockEvent {
+ private constructor();
/**
* @remarks
- * Sends a message to the player.
- *
- * @param message
- * The message to be displayed.
- * @throws
- * This method can throw if the provided {@link RawMessage} is
- * in an invalid format. For example, if an empty `name` string
- * is provided to `score`.
- * @example nestedTranslation.ts
- * ```typescript
- * // Displays "Apple or Coal"
- * let rawMessage = {
- * translate: "accessibility.list.or.two",
- * with: { rawtext: [{ translate: "item.apple.name" }, { translate: "item.coal.name" }] },
- * };
- * player.sendMessage(rawMessage);
- * ```
- * @example scoreWildcard.ts
- * ```typescript
- * // Displays the player's score for objective "obj". Each player will see their own score.
- * const rawMessage = { score: { name: "*", objective: "obj" } };
- * world.sendMessage(rawMessage);
- * ```
- * @example sendBasicMessage.ts
- * ```typescript
- * let players = mc.world.getPlayers();
- *
- * players[0].sendMessage("Hello World!");
- * ```
- * @example sendTranslatedMessage.ts
- * ```typescript
- * let players = mc.world.getPlayers();
+ * If set to true, cancels the block break event.
*
- * players[0].sendMessage({ translate: "authentication.welcome", with: ["Amazing Player 1"] });
- * ```
- * @example simpleString.ts
- * ```typescript
- * // Displays "Hello, world!"
- * world.sendMessage("Hello, world!");
- * ```
- * @example translation.ts
- * ```typescript
- * // Displays "First or Second"
- * const rawMessage = { translate: "accessibility.list.or.two", with: ["First", "Second"] };
- * player.sendMessage(rawMessage);
- * ```
*/
- sendMessage(message: (RawMessage | string)[] | RawMessage | string): void;
+ cancel: boolean;
/**
- * @beta
* @remarks
- * Will change the specified players permissions, and whether
- * they are operator or not.
+ * The item stack that is being used to break the block, or
+ * undefined if empty hand.
*
- * This function can't be called in read-only mode.
+ */
+ itemStack?: ItemStack;
+ /**
+ * @remarks
+ * Player breaking the block for this event.
*
- * @throws This function can throw errors.
*/
- setOp(isOp: boolean): void;
+ readonly player: Player;
+}
+
+/**
+ * @beta
+ * Manages callbacks that are connected to before a player
+ * breaks a block.
+ */
+export class PlayerBreakBlockBeforeEventSignal {
+ private constructor();
/**
- * @beta
* @remarks
- * Sets the current starting spawn point for this particular
- * player.
+ * Adds a callback that will be called before a block is broken
+ * by a player.
*
* This function can't be called in read-only mode.
*
- * @throws This function can throw errors.
*/
- setSpawnPoint(spawnPoint?: DimensionLocation): void;
+ subscribe(
+ callback: (arg: PlayerBreakBlockBeforeEvent) => void,
+ options?: BlockEventOptions,
+ ): (arg: PlayerBreakBlockBeforeEvent) => void;
/**
- * @beta
* @remarks
- * Sets the item cooldown time for a particular cooldown
- * category.
+ * Removes a callback from being called before a player breaks
+ * a block.
*
* This function can't be called in read-only mode.
*
- * @param itemCategory
- * Specifies the cooldown category to retrieve the current
- * cooldown for.
- * @param tickDuration
- * Duration in ticks of the item cooldown.
* @throws This function can throw errors.
*/
- startItemCooldown(itemCategory: string, tickDuration: number): void;
+ unsubscribe(callback: (arg: PlayerBreakBlockBeforeEvent) => void): void;
}
/**
@@ -14453,6 +9431,125 @@ export class PlayerLeaveAfterEventSignal extends IPlayerLeaveAfterEventSignal {
private constructor();
}
+/**
+ * @beta
+ * Contains information regarding an event where a player
+ * places a block.
+ */
+// @ts-ignore Class inheritance allowed for native defined classes
+export class PlayerPlaceBlockAfterEvent extends BlockEvent {
+ private constructor();
+ /**
+ * @remarks
+ * Player that placed the block for this event.
+ *
+ */
+ readonly player: Player;
+}
+
+/**
+ * @beta
+ * Manages callbacks that are connected to when a block is
+ * placed by a player.
+ */
+export class PlayerPlaceBlockAfterEventSignal {
+ private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a block is placed
+ * by a player.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(
+ callback: (arg: PlayerPlaceBlockAfterEvent) => void,
+ options?: BlockEventOptions,
+ ): (arg: PlayerPlaceBlockAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when an block is placed
+ * by a player.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: PlayerPlaceBlockAfterEvent) => void): void;
+}
+
+/**
+ * @beta
+ * Contains information regarding an event before a player
+ * places a block.
+ */
+// @ts-ignore Class inheritance allowed for native defined classes
+export class PlayerPlaceBlockBeforeEvent extends BlockEvent {
+ private constructor();
+ /**
+ * @remarks
+ * If set to true, cancels the block place event.
+ *
+ */
+ cancel: boolean;
+ /**
+ * @remarks
+ * The face of the block that the new block is being placed on.
+ *
+ */
+ readonly face: Direction;
+ /**
+ * @remarks
+ * Location relative to the bottom north-west corner of the
+ * block where the new block is being placed onto.
+ *
+ */
+ readonly faceLocation: Vector3;
+ /**
+ * @remarks
+ * The item being used to place the block.
+ *
+ */
+ itemStack: ItemStack;
+ /**
+ * @remarks
+ * Player that is placing the block for this event.
+ *
+ */
+ readonly player: Player;
+}
+
+/**
+ * @beta
+ * Manages callbacks that are connected to before a block is
+ * placed by a player.
+ */
+export class PlayerPlaceBlockBeforeEventSignal {
+ private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called before a block is placed
+ * by a player.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(
+ callback: (arg: PlayerPlaceBlockBeforeEvent) => void,
+ options?: BlockEventOptions,
+ ): (arg: PlayerPlaceBlockBeforeEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called before an block is
+ * placed by a player.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: PlayerPlaceBlockBeforeEvent) => void): void;
+}
+
/**
* An event that contains more information about a player
* spawning.
@@ -14488,7 +9585,6 @@ export class PlayerSpawnAfterEventSignal extends IPlayerSpawnAfterEventSignal {
}
/**
- * @beta
* Contains information related to changes to a pressure plate
* pop.
*/
@@ -14512,17 +9608,33 @@ export class PressurePlatePopAfterEvent extends BlockEvent {
}
/**
- * @beta
* Manages callbacks that are connected to when a pressure
* plate is popped.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class PressurePlatePopAfterEventSignal extends IPressurePlatePopAfterEventSignal {
+export class PressurePlatePopAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a pressure plate is
+ * popped.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: PressurePlatePopAfterEvent) => void): (arg: PressurePlatePopAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when a pressure plate
+ * is popped.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: PressurePlatePopAfterEvent) => void): void;
}
/**
- * @beta
* Contains information related to changes to a pressure plate
* push.
*/
@@ -14531,66 +9643,199 @@ export class PressurePlatePushAfterEvent extends BlockEvent {
private constructor();
/**
* @remarks
- * The redstone power of the pressure plate before it was
- * pushed.
+ * The redstone power of the pressure plate before it was
+ * pushed.
+ *
+ */
+ readonly previousRedstonePower: number;
+ /**
+ * @remarks
+ * The redstone power of the pressure plate at the time of the
+ * push.
+ *
+ */
+ readonly redstonePower: number;
+ /**
+ * @remarks
+ * Source that triggered the pressure plate push.
+ *
+ */
+ readonly source: Entity;
+}
+
+/**
+ * Manages callbacks that are connected to when a pressure
+ * plate is pushed.
+ */
+export class PressurePlatePushAfterEventSignal {
+ private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a pressure plate is
+ * pushed.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: PressurePlatePushAfterEvent) => void): (arg: PressurePlatePushAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when a pressure plate
+ * is pushed.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: PressurePlatePushAfterEvent) => void): void;
+}
+
+/**
+ * Contains information related to a projectile hitting a
+ * block.
+ */
+export class ProjectileHitBlockAfterEvent {
+ private constructor();
+ /**
+ * @remarks
+ * Dimension where this projectile hit took place.
+ *
+ */
+ readonly dimension: Dimension;
+ /**
+ * @remarks
+ * Direction vector of the projectile as it hit a block.
+ *
+ */
+ readonly hitVector: Vector3;
+ /**
+ * @remarks
+ * Location where the projectile hit occurred.
*
*/
- readonly previousRedstonePower: number;
+ readonly location: Vector3;
/**
* @remarks
- * The redstone power of the pressure plate at the time of the
- * push.
+ * Entity for the projectile that hit a block.
*
*/
- readonly redstonePower: number;
+ readonly projectile: Entity;
/**
* @remarks
- * Source that triggered the pressure plate push.
+ * Optional source entity that fired the projectile.
*
*/
- readonly source: Entity;
+ readonly source?: Entity;
+ /**
+ * @remarks
+ * Contains additional information about the block that was hit
+ * by the projectile.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ getBlockHit(): BlockHitInformation;
}
/**
- * @beta
- * Manages callbacks that are connected to when a pressure
- * plate is pushed.
+ * Manages callbacks that are connected to when a projectile
+ * hits a block.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class PressurePlatePushAfterEventSignal extends IPressurePlatePushAfterEventSignal {
+export class ProjectileHitBlockAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a projectile hits a
+ * block.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: ProjectileHitBlockAfterEvent) => void): (arg: ProjectileHitBlockAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when a projectile hits
+ * a block.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: ProjectileHitBlockAfterEvent) => void): void;
}
/**
- * @beta
+ * Contains information related to a projectile hitting an
+ * entity.
*/
-export class ProjectileHitAfterEvent {
+export class ProjectileHitEntityAfterEvent {
private constructor();
+ /**
+ * @remarks
+ * Dimension where this projectile hit took place.
+ *
+ */
readonly dimension: Dimension;
+ /**
+ * @remarks
+ * Direction vector of the projectile as it hit an entity.
+ *
+ */
readonly hitVector: Vector3;
+ /**
+ * @remarks
+ * Location where the projectile hit occurred.
+ *
+ */
readonly location: Vector3;
+ /**
+ * @remarks
+ * Entity for the projectile that hit an entity.
+ *
+ */
readonly projectile: Entity;
- readonly source: Entity;
/**
* @remarks
- * This function can't be called in read-only mode.
+ * Optional source entity that fired the projectile.
*
*/
- getBlockHit(): BlockHitInformation | undefined;
+ readonly source?: Entity;
/**
* @remarks
+ * Contains additional information about an entity that was
+ * hit.
+ *
* This function can't be called in read-only mode.
*
*/
- getEntityHit(): EntityHitInformation | undefined;
+ getEntityHit(): EntityHitInformation;
}
/**
- * @beta
+ * Manages callbacks that are connected to when a projectile
+ * hits an entity.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ProjectileHitAfterEventSignal extends IProjectileHitAfterEventSignal {
+export class ProjectileHitEntityAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a projectile hits
+ * an entity.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: ProjectileHitEntityAfterEvent) => void): (arg: ProjectileHitEntityAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when a projectile hits
+ * an entity.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: ProjectileHitEntityAfterEvent) => void): void;
}
/**
@@ -14612,7 +9857,7 @@ export class PropertyRegistry {
*/
registerEntityTypeDynamicProperties(
propertiesDefinition: DynamicPropertiesDefinition,
- entityType: EntityType,
+ entityTypeOrId: EntityType | string,
): void;
/**
* @remarks
@@ -14626,7 +9871,6 @@ export class PropertyRegistry {
}
/**
- * @beta
* Contains objectives and participants for the scoreboard.
*/
export class Scoreboard {
@@ -14646,38 +9890,33 @@ export class Scoreboard {
*
* This function can't be called in read-only mode.
*
- * @throws This function can throw errors.
*/
- clearObjectiveAtDisplaySlot(displaySlotId: DisplaySlotId): ScoreboardObjective;
+ clearObjectiveAtDisplaySlot(displaySlotId: DisplaySlotId): ScoreboardObjective | undefined;
/**
* @remarks
* Returns a specific objective (by id).
*
* @param objectiveId
* Identifier of the objective.
- * @throws This function can throw errors.
*/
- getObjective(objectiveId: string): ScoreboardObjective;
+ getObjective(objectiveId: string): ScoreboardObjective | undefined;
/**
* @remarks
* Returns an objective that occupies the specified display
* slot.
*
- * @throws This function can throw errors.
*/
- getObjectiveAtDisplaySlot(displaySlotId: DisplaySlotId): ScoreboardObjectiveDisplayOptions;
+ getObjectiveAtDisplaySlot(displaySlotId: DisplaySlotId): ScoreboardObjectiveDisplayOptions | undefined;
/**
* @remarks
* Returns all defined objectives.
*
- * @throws This function can throw errors.
*/
getObjectives(): ScoreboardObjective[];
/**
* @remarks
* Returns all defined scoreboard identities.
*
- * @throws This function can throw errors.
*/
getParticipants(): ScoreboardIdentity[];
/**
@@ -14696,16 +9935,19 @@ export class Scoreboard {
*
* This function can't be called in read-only mode.
*
+ * @returns
+ * Returns the previous `ScoreboardObjective` set at the
+ * display slot, if no objective was previously set it returns
+ * `undefined`.
* @throws This function can throw errors.
*/
setObjectiveAtDisplaySlot(
displaySlotId: DisplaySlotId,
objectiveDisplaySetting: ScoreboardObjectiveDisplayOptions,
- ): ScoreboardObjective;
+ ): ScoreboardObjective | undefined;
}
/**
- * @beta
* Contains an identity of the scoreboard item.
*/
export class ScoreboardIdentity {
@@ -14735,12 +9977,17 @@ export class ScoreboardIdentity {
*
* @throws This function can throw errors.
*/
- getEntity(): Entity;
+ getEntity(): Entity | undefined;
+ /**
+ * @remarks
+ * Returns true if the ScoreboardIdentity reference is still
+ * valid.
+ *
+ */
isValid(): boolean;
}
/**
- * @beta
* Contains objectives and participants for the scoreboard.
*/
export class ScoreboardObjective {
@@ -14760,6 +10007,17 @@ export class ScoreboardObjective {
* @throws This property can throw when used.
*/
readonly id: string;
+ /**
+ * @remarks
+ * Adds a score to the given participant and objective.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @param participant
+ * Participant to apply the scoreboard value addition to.
+ * @throws This function can throw errors.
+ */
+ addScore(participant: Entity | ScoreboardIdentity | string, scoreToAdd: number): number;
/**
* @remarks
* Returns all objective participant identities.
@@ -14792,6 +10050,12 @@ export class ScoreboardObjective {
* @throws This function can throw errors.
*/
hasParticipant(participant: Entity | ScoreboardIdentity | string): boolean;
+ /**
+ * @remarks
+ * Returns true if the ScoreboardObjective reference is still
+ * valid.
+ *
+ */
isValid(): boolean;
/**
* @remarks
@@ -14821,7 +10085,6 @@ export class ScoreboardObjective {
}
/**
- * @beta
* Contains a pair of a scoreboard participant and its
* respective score.
*/
@@ -14842,7 +10105,6 @@ export class ScoreboardScoreInfo {
}
/**
- * @beta
* Contains information about user interface elements that are
* showing up on the screen.
*/
@@ -14931,7 +10193,6 @@ export class ScreenDisplay {
}
/**
- * @beta
* Returns additional data about a /scriptevent command
* invocation.
*/
@@ -14949,7 +10210,7 @@ export class ScriptEventCommandMessageAfterEvent {
* that initiated the NPC dialogue.
*
*/
- readonly initiator: Entity;
+ readonly initiator?: Entity;
/**
* @remarks
* Optional additional data passed in with the script event
@@ -14963,14 +10224,14 @@ export class ScriptEventCommandMessageAfterEvent {
* (e.g., a commandblock.)
*
*/
- readonly sourceBlock: Block;
+ readonly sourceBlock?: Block;
/**
* @remarks
* Source entity if this command was triggered by an entity
* (e.g., a NPC).
*
*/
- readonly sourceEntity: Entity;
+ readonly sourceEntity?: Entity;
/**
* @remarks
* Returns the type of source that fired this command.
@@ -14980,13 +10241,31 @@ export class ScriptEventCommandMessageAfterEvent {
}
/**
- * @beta
* Allows for registering an event handler that responds to
* inbound /scriptevent commands.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ScriptEventCommandMessageAfterEventSignal extends IScriptEventCommandMessageAfterEventSignal {
+export class ScriptEventCommandMessageAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Registers a new ScriptEvent handler.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(
+ callback: (arg: ScriptEventCommandMessageAfterEvent) => void,
+ options?: ScriptEventMessageFilterOptions,
+ ): (arg: ScriptEventCommandMessageAfterEvent) => void;
+ /**
+ * @remarks
+ * Unsubscribes a particular handler for a ScriptEvent event.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: ScriptEventCommandMessageAfterEvent) => void): void;
}
/**
@@ -15031,9 +10310,27 @@ export class Seat {
* event is not currently fully implemented, and should not be
* used.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class ServerMessageAfterEventSignal extends IServerMessageAfterEventSignal {
+export class ServerMessageAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when an internal message
+ * is passed.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: MessageReceiveAfterEvent) => void): (arg: MessageReceiveAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when an internal
+ * message is passed.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: MessageReceiveAfterEvent) => void): void;
}
/**
@@ -15042,7 +10339,6 @@ export class ServerMessageAfterEventSignal extends IServerMessageAfterEventSigna
export class System {
private constructor();
/**
- * @beta
* @remarks
* Returns a collection of after-events for system-level
* operations.
@@ -15138,7 +10434,6 @@ export class System {
}
/**
- * @beta
* Provides a set of events that fire within the broader
* scripting system within Minecraft.
*/
@@ -15177,7 +10472,6 @@ export class SystemBeforeEvents {
}
/**
- * @beta
* Contains information related to changes to a target block
* hit.
*/
@@ -15211,13 +10505,30 @@ export class TargetBlockHitAfterEvent extends BlockEvent {
}
/**
- * @beta
* Manages callbacks that are connected to when a target block
* is hit.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class TargetBlockHitAfterEventSignal extends ITargetBlockHitAfterEventSignal {
+export class TargetBlockHitAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a target block is
+ * hit.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: TargetBlockHitAfterEvent) => void): (arg: TargetBlockHitAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when a target block is
+ * hit.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: TargetBlockHitAfterEvent) => void): void;
}
/**
@@ -15240,7 +10551,6 @@ export class Trigger {
}
/**
- * @beta
* Contains information related to changes to a trip wire trip.
*/
// @ts-ignore Class inheritance allowed for native defined classes
@@ -15261,13 +10571,30 @@ export class TripWireTripAfterEvent extends BlockEvent {
}
/**
- * @beta
* Manages callbacks that are connected to when a trip wire is
* tripped.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class TripWireTripAfterEventSignal extends ITripWireTripAfterEventSignal {
+export class TripWireTripAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a trip wire is
+ * tripped.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: TripWireTripAfterEvent) => void): (arg: TripWireTripAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when a trip wire is
+ * tripped.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: TripWireTripAfterEvent) => void): void;
}
/**
@@ -15479,9 +10806,29 @@ export class WatchdogTerminateBeforeEvent {
* be called when a script runtime is being terminated due to a
* violation of the performance watchdog system.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class WatchdogTerminateBeforeEventSignal extends IWatchdogTerminateBeforeEventSignal {
+export class WatchdogTerminateBeforeEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when a script runtime is
+ * being terminated due to a violation of the performance
+ * watchdog system.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: WatchdogTerminateBeforeEvent) => void): (arg: WatchdogTerminateBeforeEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when a script runtime
+ * is being terminated due to a violation of the performance
+ * watchdog system.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: WatchdogTerminateBeforeEvent) => void): void;
}
/**
@@ -15515,9 +10862,25 @@ export class WeatherChangeAfterEvent {
* @beta
* Manages callbacks that are connected to weather changing.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class WeatherChangeAfterEventSignal extends IWeatherChangeAfterEventSignal {
+export class WeatherChangeAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when weather changes.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: WeatherChangeAfterEvent) => void): (arg: WeatherChangeAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called when weather changes.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: WeatherChangeAfterEvent) => void): void;
}
/**
@@ -15527,7 +10890,6 @@ export class WeatherChangeAfterEventSignal extends IWeatherChangeAfterEventSigna
export class World {
private constructor();
/**
- * @beta
* @remarks
* Contains a set of events that are applicable to the entirety
* of the world. Event callbacks are called in a deferred
@@ -15536,7 +10898,6 @@ export class World {
*/
readonly afterEvents: WorldAfterEvents;
/**
- * @beta
* @remarks
* Contains a set of events that are applicable to the entirety
* of the world. Event callbacks are called immediately. Event
@@ -15545,7 +10906,6 @@ export class World {
*/
readonly beforeEvents: WorldBeforeEvents;
/**
- * @beta
* @remarks
* Returns the general global scoreboard that applies to the
* world.
@@ -15567,7 +10927,6 @@ export class World {
*/
broadcastClientMessage(id: string, value: string): void;
/**
- * @beta
* @remarks
* Returns the absolute time since the start of the world.
*
@@ -15581,7 +10940,6 @@ export class World {
*/
getAllPlayers(): Player[];
/**
- * @beta
* @remarks
* Returns the current day.
*
@@ -15591,7 +10949,6 @@ export class World {
*/
getDay(): number;
/**
- * @beta
* @remarks
* Returns the default Overworld spawn location.
*
@@ -15680,7 +11037,7 @@ export class World {
* mc.world.setDynamicProperty("samplelibrary:longerjson", paintStr);
* ```
*/
- getDynamicProperty(identifier: string): boolean | number | string | undefined;
+ getDynamicProperty(identifier: string): boolean | number | string | Vector3 | undefined;
/**
* @beta
* @remarks
@@ -15694,6 +11051,13 @@ export class World {
* Throws if the given entity id is invalid.
*/
getEntity(id: string): Entity | undefined;
+ /**
+ * @beta
+ * @remarks
+ * Returns the MoonPhase for the current time.
+ *
+ */
+ getMoonPhase(): MoonPhase;
/**
* @remarks
* Returns a set of players based on a set of conditions
@@ -15709,7 +11073,6 @@ export class World {
*/
getPlayers(options?: EntityQueryOptions): Player[];
/**
- * @beta
* @remarks
* Returns the time of day.
*
@@ -15794,6 +11157,8 @@ export class World {
*
* This function can't be called in read-only mode.
*
+ * @param musicOptions
+ * Additional options for the music track.
* @throws
* An error will be thrown if volume is less than 0.0.
* An error will be thrown if fade is less than 0.0.
@@ -15849,7 +11214,6 @@ export class World {
*/
sendMessage(message: (RawMessage | string)[] | RawMessage | string): void;
/**
- * @beta
* @remarks
* Sets the world time.
*
@@ -15860,7 +11224,6 @@ export class World {
*/
setAbsoluteTime(absoluteTime: number): void;
/**
- * @beta
* @remarks
* Sets a default spawn location for all players.
*
@@ -15871,6 +11234,10 @@ export class World {
* within the overworld dimension.
* @throws
* Throws if the provided spawn location is out of bounds.
+ *
+ * {@link Error}
+ *
+ * {@link LocationOutOfWorldBoundariesError}
*/
setDefaultSpawnLocation(spawnLocation: Vector3): void;
/**
@@ -15940,9 +11307,8 @@ export class World {
* mc.world.setDynamicProperty("samplelibrary:longerjson", paintStr);
* ```
*/
- setDynamicProperty(identifier: string, value: boolean | number | string): void;
+ setDynamicProperty(identifier: string, value: boolean | number | string | Vector3): void;
/**
- * @beta
* @remarks
* Sets the time of day.
*
@@ -15971,13 +11337,6 @@ export class World {
*/
export class WorldAfterEvents {
private constructor();
- /**
- * @beta
- * @remarks
- * This event fires for a block that is broken by a player.
- *
- */
- readonly blockBreak: BlockBreakAfterEventSignal;
/**
* @beta
* @remarks
@@ -15987,13 +11346,6 @@ export class WorldAfterEvents {
*
*/
readonly blockExplode: BlockExplodeAfterEventSignal;
- /**
- * @beta
- * @remarks
- * This event fires for a block that is placed by a player.
- *
- */
- readonly blockPlace: BlockPlaceAfterEventSignal;
/**
* @remarks
* This event fires when a button is pushed.
@@ -16026,26 +11378,32 @@ export class WorldAfterEvents {
*/
readonly effectAdd: EffectAddAfterEventSignal;
/**
- * @beta
* @remarks
* This event fires when an entity dies.
*
*/
readonly entityDie: EntityDieAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * This event fires when entity health changes in any degree.
+ *
*/
readonly entityHealthChanged: EntityHealthChangedAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * This event fires when an entity hits (that is, melee
+ * attacks) a block.
+ *
*/
readonly entityHitBlock: EntityHitBlockAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * This event fires when an entity hits (that is, melee
+ * attacks) another entity.
+ *
*/
readonly entityHitEntity: EntityHitEntityAfterEventSignal;
/**
- * @beta
* @remarks
* This event fires when an entity is hurt (takes damage).
*
@@ -16053,8 +11411,19 @@ export class WorldAfterEvents {
readonly entityHurt: EntityHurtAfterEventSignal;
/**
* @beta
+ * @remarks
+ * Fires when an entity is loaded.
+ *
+ */
+ readonly entityLoad: EntityLoadAfterEventSignal;
+ /**
+ * @beta
+ * @remarks
+ * Fires when an entity is removed (for example, potentially
+ * unloaded, or removed after being killed).
+ *
*/
- readonly entityRemoved: EntityRemovedAfterEventSignal;
+ readonly entityRemove: EntityRemoveAfterEventSignal;
/**
* @beta
* @remarks
@@ -16070,7 +11439,9 @@ export class WorldAfterEvents {
*/
readonly explosion: ExplosionAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * This event fires when a chargeable item completes charging.
+ *
*/
readonly itemCompleteUse: ItemCompleteUseAfterEventSignal;
/**
@@ -16084,15 +11455,19 @@ export class WorldAfterEvents {
*/
readonly itemDefinitionEvent: ItemDefinitionAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * This event fires when a chargeable item is released from
+ * charging.
+ *
*/
readonly itemReleaseUse: ItemReleaseUseAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * This event fires when a chargeable item starts charging.
+ *
*/
readonly itemStartUse: ItemStartUseAfterEventSignal;
/**
- * @beta
* @remarks
* This event fires when a player successfully uses an item or
* places a block by pressing the Use Item / Place Block
@@ -16103,11 +11478,12 @@ export class WorldAfterEvents {
*/
readonly itemStartUseOn: ItemStartUseOnAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * This event fires when a chargeable item stops charging.
+ *
*/
readonly itemStopUse: ItemStopUseAfterEventSignal;
/**
- * @beta
* @remarks
* This event fires when a player releases the Use Item / Place
* Block button after successfully using an item. Note: This
@@ -16116,7 +11492,6 @@ export class WorldAfterEvents {
*/
readonly itemStopUseOn: ItemStopUseOnAfterEventSignal;
/**
- * @beta
* @remarks
* This event fires when an item is successfully used by a
* player.
@@ -16124,13 +11499,17 @@ export class WorldAfterEvents {
*/
readonly itemUse: ItemUseAfterEventSignal;
/**
- * @beta
* @remarks
* This event fires when an item is used on a block by a
* player.
*
*/
readonly itemUseOn: ItemUseOnAfterEventSignal;
+ /**
+ * @remarks
+ * A lever has been pulled.
+ *
+ */
readonly leverAction: LeverActionAfterEventSignal;
/**
* @beta
@@ -16147,6 +11526,13 @@ export class WorldAfterEvents {
*
*/
readonly pistonActivate: PistonActivateAfterEventSignal;
+ /**
+ * @beta
+ * @remarks
+ * This event fires for a block that is broken by a player.
+ *
+ */
+ readonly playerBreakBlock: PlayerBreakBlockAfterEventSignal;
/**
* @remarks
* This event fires when a player joins a world. See also
@@ -16161,6 +11547,13 @@ export class WorldAfterEvents {
*
*/
readonly playerLeave: PlayerLeaveAfterEventSignal;
+ /**
+ * @beta
+ * @remarks
+ * This event fires for a block that is placed by a player.
+ *
+ */
+ readonly playerPlaceBlock: PlayerPlaceBlockAfterEventSignal;
/**
* @remarks
* This event fires when a player spawns or respawns. Note that
@@ -16170,23 +11563,41 @@ export class WorldAfterEvents {
*/
readonly playerSpawn: PlayerSpawnAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * A pressure plate has popped back up (i.e., there are no
+ * entities on the pressure plate.)
+ *
*/
readonly pressurePlatePop: PressurePlatePopAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * A pressure plate has pushed (at least one entity has moved
+ * onto a pressure plate.)
+ *
*/
readonly pressurePlatePush: PressurePlatePushAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * This event fires when a projectile hits a block.
+ *
*/
- readonly projectileHit: ProjectileHitAfterEventSignal;
+ readonly projectileHitBlock: ProjectileHitBlockAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * This event fires when a projectile hits an entity.
+ *
+ */
+ readonly projectileHitEntity: ProjectileHitEntityAfterEventSignal;
+ /**
+ * @remarks
+ * A target block was hit.
+ *
*/
readonly targetBlockHit: TargetBlockHitAfterEventSignal;
/**
- * @beta
+ * @remarks
+ * A trip wire was tripped.
+ *
*/
readonly tripWireTrip: TripWireTripAfterEventSignal;
/**
@@ -16209,7 +11620,6 @@ export class WorldAfterEvents {
}
/**
- * @beta
* A set of events that fire before an actual action occurs. In
* most cases, you can potentially cancel or modify the
* impending event. Note that in before events any APIs that
@@ -16219,6 +11629,7 @@ export class WorldAfterEvents {
export class WorldBeforeEvents {
private constructor();
/**
+ * @beta
* @remarks
* This event is triggered after a chat message has been
* broadcast or sent to players.
@@ -16226,6 +11637,7 @@ export class WorldBeforeEvents {
*/
readonly chatSend: ChatSendBeforeEventSignal;
/**
+ * @beta
* @remarks
* This event is fired when an entity event has been triggered
* that will update the component definition state of an
@@ -16234,12 +11646,22 @@ export class WorldBeforeEvents {
*/
readonly dataDrivenEntityTriggerEvent: DataDrivenEntityTriggerBeforeEventSignal;
/**
+ * @beta
+ * @remarks
+ * Fires before an entity is removed from the world (for
+ * example, unloaded or removed after being killed.)
+ *
+ */
+ readonly entityRemove: EntityRemoveBeforeEventSignal;
+ /**
+ * @beta
* @remarks
* This event is fired after an explosion occurs.
*
*/
readonly explosion: ExplosionBeforeEventSignal;
/**
+ * @beta
* @remarks
* For custom items, this event is triggered when the
* fundamental set of defined components for the item change.
@@ -16263,11 +11685,26 @@ export class WorldBeforeEvents {
*/
readonly itemUseOn: ItemUseOnBeforeEventSignal;
/**
+ * @beta
* @remarks
* This event fires when a piston expands or retracts.
*
*/
readonly pistonActivate: PistonActivateBeforeEventSignal;
+ /**
+ * @beta
+ * @remarks
+ * This event fires before a block is broken by a player.
+ *
+ */
+ readonly playerBreakBlock: PlayerBreakBlockBeforeEventSignal;
+ /**
+ * @beta
+ * @remarks
+ * This event fires before a block is placed by a player.
+ *
+ */
+ readonly playerPlaceBlock: PlayerPlaceBlockBeforeEventSignal;
}
/**
@@ -16311,9 +11748,48 @@ export class WorldInitializeAfterEvent {
* may run multiple times within a session in the case that the
* /reload command is used.
*/
-// @ts-ignore Class inheritance allowed for native defined classes
-export class WorldInitializeAfterEventSignal extends IWorldInitializeAfterEventSignal {
+export class WorldInitializeAfterEventSignal {
private constructor();
+ /**
+ * @remarks
+ * Adds a callback that will be called when the scripting
+ * environment is initialized for a World.
+ *
+ * This function can't be called in read-only mode.
+ *
+ */
+ subscribe(callback: (arg: WorldInitializeAfterEvent) => void): (arg: WorldInitializeAfterEvent) => void;
+ /**
+ * @remarks
+ * Removes a callback from being called the scripting
+ * environment is initialized for a World.
+ *
+ * This function can't be called in read-only mode.
+ *
+ * @throws This function can throw errors.
+ */
+ unsubscribe(callback: (arg: WorldInitializeAfterEvent) => void): void;
+}
+
+/**
+ * @beta
+ * Contains optional parameters for registering a block event.
+ */
+export interface BlockEventOptions {
+ /**
+ * @remarks
+ * If this value is set, this event will only fire if the
+ * impacted block's type matches this parameter.
+ *
+ */
+ blockTypes?: string[];
+ /**
+ * @remarks
+ * If this value is set, this event will only fire if the
+ * impacted block's permutation matches this parameter.
+ *
+ */
+ permutations?: BlockPermutation[];
}
/**
@@ -16331,7 +11807,6 @@ export interface BlockFillOptions {
}
/**
- * @beta
* Contains more information for events where a block is hit.
*/
export interface BlockHitInformation {
@@ -16357,7 +11832,6 @@ export interface BlockHitInformation {
}
/**
- * @beta
* Contains information for block raycast hit results.
*/
export interface BlockRaycastHit {
@@ -16383,7 +11857,6 @@ export interface BlockRaycastHit {
}
/**
- * @beta
* Contains additional options for configuring a block raycast
* query.
*/
@@ -16494,12 +11967,65 @@ export interface BoundingBox {
/**
* @beta
+ * Contains options associated with a camera ease operation.
*/
-export interface Color {
- alpha: number;
- blue: number;
- green: number;
- red: number;
+export interface CameraEaseOptions {
+ /**
+ * @remarks
+ * Time for the ease operation.
+ *
+ */
+ easeTime?: number;
+ /**
+ * @remarks
+ * Type of ease operation to use.
+ *
+ */
+ easeType?: EasingType;
+}
+
+/**
+ * @beta
+ * Used to initiate a full-screen color fade.
+ */
+export interface CameraFadeOptions {
+ /**
+ * @remarks
+ * Fade color to use.
+ *
+ */
+ fadeColor?: RGB;
+ /**
+ * @remarks
+ * Time in seconds for the fade-in, hold, and fade-out seconds.
+ *
+ */
+ fadeTime?: CameraFadeTimeOptions;
+}
+
+/**
+ * @beta
+ * Contains timings for a fade transition.
+ */
+export interface CameraFadeTimeOptions {
+ /**
+ * @remarks
+ * Time, in seconds, for a fade-in.
+ *
+ */
+ fadeInTime: number;
+ /**
+ * @remarks
+ * Time, in seconds, for a fade-out.
+ *
+ */
+ fadeOutTime: number;
+ /**
+ * @remarks
+ * Time, in seconds, to hold the full screen color.
+ *
+ */
+ holdTime: number;
}
/**
@@ -16519,7 +12045,15 @@ export interface CompoundBlockVolumeItem {
* negative space in the overall compound block volume.
*
*/
- action: CompoundBlockVolumeAction;
+ action?: CompoundBlockVolumeAction;
+ /**
+ * @remarks
+ * The relativity enumeration determines whether the
+ * BlockVolume specified is positioned relative to the parent
+ * compound block volume origin, or in absolute world space.
+ *
+ */
+ locationRelativity?: CompoundBlockVolumePositionRelativity;
/**
* @remarks
* The volume of space
@@ -16529,32 +12063,31 @@ export interface CompoundBlockVolumeItem {
}
/**
- * @beta
* An exact coordinate within the world, including its
* dimension and location.
*/
export interface DimensionLocation {
/**
* @remarks
- * The dimension.
+ * Dimension that this coordinate is associated with.
*
*/
dimension: Dimension;
/**
* @remarks
- * The x coordinate.
+ * X component of this dimension-location.
*
*/
x: number;
/**
* @remarks
- * The y coordinate.
+ * Y component of this dimension-location.
*
*/
y: number;
/**
* @remarks
- * The z coordinate.
+ * Z component of this dimension-location.
*
*/
z: number;
@@ -16598,7 +12131,6 @@ export interface EntityApplyDamageOptions {
}
/**
- * @beta
* Provides information about how damage has been applied to an
* entity.
*/
@@ -16672,7 +12204,6 @@ export interface EntityEffectOptions {
}
/**
- * @beta
* Contains optional parameters for registering an entity
* event.
*/
@@ -16694,7 +12225,6 @@ export interface EntityEventOptions {
}
/**
- * @beta
* Contains additional information about an entity that was
* hit.
*/
@@ -16912,7 +12442,6 @@ export interface EntityQueryScoreOptions {
}
/**
- * @beta
* Contains information for entity raycast hit results.
*/
export interface EntityRaycastHit {
@@ -16931,7 +12460,6 @@ export interface EntityRaycastHit {
}
/**
- * @beta
* Contains additional options for an entity raycast operation.
*/
export interface EntityRaycastOptions {
@@ -17081,9 +12609,14 @@ export interface PlayerSoundOptions {
}
/**
- * Defines a JSON structure that is used for more flexible
+ * Defines a JSON structure that is used for more flexible.
*/
export interface RawMessage {
+ /**
+ * @remarks
+ * Provides a raw-text equivalent of the current message.
+ *
+ */
rawtext?: RawMessage[];
/**
* @remarks
@@ -17106,6 +12639,13 @@ export interface RawMessage {
*
*/
translate?: string;
+ /**
+ * @remarks
+ * Arguments for the translation token. Can be either an array
+ * of strings or RawMessage containing an array of raw text
+ * objects.
+ *
+ */
with?: string[] | RawMessage;
}
@@ -17137,11 +12677,76 @@ export interface RawMessageScore {
* `BlockSignComponent.getRawText` for examples.
*/
export interface RawText {
+ /**
+ * @remarks
+ * A serialization of the current value of an associated sign.
+ *
+ */
rawtext?: RawMessage[];
}
/**
- * @beta
+ * Represents a fully customizable color within Minecraft.
+ */
+export interface RGB {
+ /**
+ * @remarks
+ * Determines a color's blue component. Valid values are
+ * between 0 and 1.0.
+ *
+ */
+ blue: number;
+ /**
+ * @remarks
+ * Determines a color's green component. Valid values are
+ * between 0 and 1.0.
+ *
+ */
+ green: number;
+ /**
+ * @remarks
+ * Determines a color's red component. Valid values are between
+ * 0 and 1.0.
+ *
+ */
+ red: number;
+}
+
+/**
+ * Represents a fully customizable color within Minecraft.
+ */
+export interface RGBA {
+ /**
+ * @remarks
+ * Determines a color's alpha (opacity) component. Valid values
+ * are between 0 (transparent) and 1.0 (opaque).
+ *
+ */
+ alpha: number;
+ /**
+ * @remarks
+ * Determines a color's blue component. Valid values are
+ * between 0 and 1.0.
+ *
+ */
+ blue: number;
+ /**
+ * @remarks
+ * Determines a color's green component. Valid values are
+ * between 0 and 1.0.
+ *
+ */
+ green: number;
+ /**
+ * @remarks
+ * Determines a color's red component. Valid values are between
+ * 0 and 1.0.
+ *
+ */
+ red: number;
+}
+
+/**
* Contains additional options for how a scoreboard should be
* displayed within its display slot.
*/
@@ -17162,6 +12767,47 @@ export interface ScoreboardObjectiveDisplayOptions {
/**
* @beta
+ */
+export interface ScriptCameraDefaultOptions {
+ easeOptions: CameraEaseOptions;
+}
+
+/**
+ * @beta
+ */
+export interface ScriptCameraSetFacingOptions {
+ easeOptions?: CameraEaseOptions;
+ facingEntity: Entity;
+ location?: Vector3;
+}
+
+/**
+ * @beta
+ */
+export interface ScriptCameraSetLocationOptions {
+ easeOptions?: CameraEaseOptions;
+ location: Vector3;
+}
+
+/**
+ * @beta
+ */
+export interface ScriptCameraSetPosOptions {
+ easeOptions?: CameraEaseOptions;
+ facingLocation: Vector3;
+ location?: Vector3;
+}
+
+/**
+ * @beta
+ */
+export interface ScriptCameraSetRotOptions {
+ easeOptions?: CameraEaseOptions;
+ location?: Vector3;
+ rotation: Vector2;
+}
+
+/**
* Contains additional options for registering a script event
* event callback.
*/
@@ -17215,7 +12861,6 @@ export interface TeleportOptions {
}
/**
- * @beta
* Contains additional options for displaying a title and
* optional subtitle.
*/
@@ -17314,30 +12959,28 @@ export interface WorldSoundOptions {
volume?: number;
}
-/**
- * @beta
- */
// @ts-ignore Class inheritance allowed for native defined classes
export class CommandError extends Error {
private constructor();
}
-/**
- * @beta
- */
// @ts-ignore Class inheritance allowed for native defined classes
-export class PositionInUnloadedChunkError extends Error {
+export class LocationInUnloadedChunkError extends Error {
private constructor();
}
-/**
- * @beta
- */
// @ts-ignore Class inheritance allowed for native defined classes
-export class PositionOutOfWorldBoundariesError extends Error {
+export class LocationOutOfWorldBoundariesError extends Error {
private constructor();
}
+/**
+ * @beta
+ * @remarks
+ * Holds the number of MoonPhases
+ *
+ */
+export const MoonPhaseCount = 8;
/**
* @beta
*/
diff --git a/node_modules/@minecraft/server/package.json b/node_modules/@minecraft/server/package.json
index 7c56f10..df38cd4 100644
--- a/node_modules/@minecraft/server/package.json
+++ b/node_modules/@minecraft/server/package.json
@@ -1,6 +1,6 @@
{
"name": "@minecraft/server",
- "version": "1.4.0-beta.1.20.10-stable",
+ "version": "1.6.0-beta.1.20.30-stable",
"description": "",
"contributors": [
{
diff --git a/node_modules/prettier/LICENSE b/node_modules/prettier/LICENSE
index 2567663..229e375 100644
--- a/node_modules/prettier/LICENSE
+++ b/node_modules/prettier/LICENSE
@@ -13,11 +13,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
## Licenses of bundled dependencies
The published Prettier artifact additionally contains code with the following licenses:
-MIT, ISC, BSD-2-Clause, BSD-3-Clause, 0BSD, Apache-2.0
+MIT, ISC, BSD-2-Clause, BSD-3-Clause, Apache-2.0
## Bundled dependencies
-### @angular/compiler@v16.1.3
+### @angular/compiler@v16.2.2
> Angular - the compiler library
@@ -27,7 +27,7 @@ Author: angular
----------------------------------------
-### @babel/code-frame@v7.22.5
+### @babel/code-frame@v7.22.10
> Generate errors that contain a code frame that point to source locations.
@@ -94,7 +94,7 @@ Author: The Babel Team (https://babel.dev/team)
----------------------------------------
-### @babel/highlight@v7.22.5
+### @babel/highlight@v7.22.10
> Syntax highlight JavaScript strings for output in terminals.
@@ -128,7 +128,7 @@ Author: The Babel Team (https://babel.dev/team)
----------------------------------------
-### @babel/parser@v7.22.5
+### @babel/parser@v7.22.11
> A JavaScript parser
@@ -366,7 +366,7 @@ License: MIT
----------------------------------------
-### @prettier/is-es5-identifier-name@v0.1.0
+### @prettier/is-es5-identifier-name@v0.2.0
> Check if provided string is an `IdentifierName` as specified in ECMA262 edition 5.1 section 7.6.
@@ -397,7 +397,7 @@ Author: fisker Cheung
----------------------------------------
-### @prettier/parse-srcset@v3.0.0
+### @prettier/parse-srcset@v3.1.0
> A spec-conformant JavaScript parser for the HTML5 srcset attribute
@@ -408,6 +408,7 @@ Author: Alex Bell
> The MIT License (MIT)
>
> Copyright (c) 2014 Alex Bell
+> Copyright (c) fisker Cheung
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
@@ -429,7 +430,7 @@ Author: Alex Bell
----------------------------------------
-### @typescript-eslint/types@v5.60.1
+### @typescript-eslint/types@v6.5.0
> Types for the TypeScript-ESTree AST spec
@@ -460,7 +461,7 @@ Repository:
----------------------------------------
-### @typescript-eslint/typescript-estree@v5.60.1
+### @typescript-eslint/typescript-estree@v6.5.0
> A parser that converts TypeScript source code into an ESTree compatible form
@@ -496,7 +497,7 @@ Repository:
----------------------------------------
-### acorn@v8.9.0
+### acorn@v8.10.0
> ECMAScript parser
@@ -798,7 +799,7 @@ Contributors:
----------------------------------------
-### camelcase@v7.0.1
+### camelcase@v8.0.0
> Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`
@@ -869,7 +870,7 @@ License: MIT
----------------------------------------
-### chalk@v5.2.0
+### chalk@v5.3.0
> Terminal string styling done right
@@ -1519,7 +1520,7 @@ Author: Sindre Sorhus (https://sindresorhus.com)
----------------------------------------
-### espree@v9.6.0
+### espree@v9.6.1
> An Esprima-compatible JavaScript parser built on Acorn
@@ -1590,7 +1591,7 @@ Contributors:
----------------------------------------
-### fast-glob@v3.2.12
+### fast-glob@v3.3.1
> It's a very fast and efficient glob library for Node.js
@@ -1679,16 +1680,16 @@ Author: Matteo Collina
----------------------------------------
-### file-entry-cache@v6.0.1
+### file-entry-cache@v7.0.0
> Super simple cache for file metadata, useful for process that work o a given series of files and that only need to repeat the job on the changed ones since the previous run of the process
License: MIT
-Author: Roy Riojas (http://royriojas.com)
+Author: Jared Wray (https://jaredwray.com)
> The MIT License (MIT)
>
-> Copyright (c) 2015 Roy Riojas
+> Copyright (c) Roy Riojas & Jared Wray
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
@@ -1822,16 +1823,16 @@ Author: Sindre Sorhus (https://sindresorhus.com)
----------------------------------------
-### flat-cache@v3.0.4
+### flat-cache@v3.1.0
> A stupidly simple key/value storage using files to persist some data
License: MIT
-Author: Roy Riojas (http://royriojas.com)
+Author: Jared Wray (https://jaredwray.com)
> The MIT License (MIT)
>
-> Copyright (c) 2015 Roy Riojas
+> Copyright (c) Roy Riojas and Jared Wray
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
@@ -1915,7 +1916,7 @@ Contributors:
----------------------------------------
-### flow-parser@v0.211.0
+### flow-parser@v0.215.1
> JavaScript parser written in OCaml. Produces ESTree AST
@@ -2059,7 +2060,7 @@ Contributors:
----------------------------------------
-### graphql@v16.7.1
+### graphql@v16.8.0
> A Query Language and Runtime which can target any service.
@@ -2723,10 +2724,10 @@ Contributors:
----------------------------------------
-### jest-docblock@v29.4.3
+### jest-docblock@v29.6.3
License: MIT
-Repository:
+Repository:
> MIT License
>
@@ -2818,6 +2819,40 @@ Contributors:
----------------------------------------
+### json-buffer@v3.0.1
+
+> JSON parse & stringify that supports binary via bops & base64
+
+License: MIT
+Homepage:
+Repository:
+Author: Dominic Tarr (http://dominictarr.com)
+
+> Copyright (c) 2013 Dominic Tarr
+>
+> Permission is hereby granted, free of charge,
+> to any person obtaining a copy of this software and
+> associated documentation files (the "Software"), to
+> deal in the Software without restriction, including
+> without limitation the rights to use, copy, modify,
+> merge, publish, distribute, sublicense, and/or sell
+> copies of the Software, and to permit persons to whom
+> the Software is furnished to do so,
+> subject to the following conditions:
+>
+> The above copyright notice and this permission notice
+> shall be included in all copies or substantial portions of the Software.
+>
+> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+----------------------------------------
+
### json-parse-even-better-errors@v2.3.1
> JSON.parse with context information on error
@@ -2892,34 +2927,14 @@ Contributors:
----------------------------------------
-### leven@v2.1.0
+### keyv@v4.5.3
-> Measure the difference between two strings using the fastest JS implementation of the Levenshtein distance algorithm
+> Simple key-value storage with support for multiple backends
License: MIT
-Author: Sindre Sorhus (sindresorhus.com)
-
-> The MIT License (MIT)
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
+Homepage:
+Repository:
+Author: Jared Wray (http://jaredwray.com)
----------------------------------------
@@ -3687,7 +3702,7 @@ Author: typicode
----------------------------------------
-### postcss@v8.4.24
+### postcss@v8.4.28
> Tool for transforming styles with JS plugins
@@ -3764,7 +3779,7 @@ Author: dryoma
----------------------------------------
-### postcss-scss@v4.0.6
+### postcss-scss@v4.0.7
> SCSS parser for PostCSS
@@ -4144,7 +4159,7 @@ Author: Sindre Sorhus (https://sindresorhus.com)
----------------------------------------
-### semver@v7.5.3
+### semver@v7.5.4
> The semantic version parser used by npm.
@@ -4461,63 +4476,38 @@ Contributors:
----------------------------------------
-### tslib@v1.14.1
+### ts-api-utils@v1.0.1
-> Runtime library for TypeScript helper functions
-
-License: 0BSD
-Homepage:
-Repository:
-Author: Microsoft Corp.
-
-> Copyright (c) Microsoft Corporation.
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-> AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-> OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-> PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### tsutils@v3.21.0
-
-> utilities for working with typescript's AST
+> Utility functions for working with TypeScript's API. Successor to the wonderful tsutils.
License: MIT
-Repository:
-Author: Klaus Meinhardt
+Repository:
+Author: Josh Goldberg
-> The MIT License (MIT)
->
-> Copyright (c) 2017 Klaus Meinhardt
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
+> # MIT License
+>
+> Permission is hereby granted, free of charge, to any person obtaining
+> a copy of this software and associated documentation files (the
+> 'Software'), to deal in the Software without restriction, including
+> without limitation the rights to use, copy, modify, merge, publish,
+> distribute, sublicense, and/or sell copies of the Software, and to
+> permit persons to whom the Software is furnished to do so, subject to
+> the following conditions:
+>
+> The above copyright notice and this permission notice shall be
+> included in all copies or substantial portions of the Software.
+>
+> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
----------------------------------------
-### typescript@v5.1.5
+### typescript@v5.2.2
> TypeScript is a language for application scale JavaScript development
@@ -4969,7 +4959,7 @@ Contributors:
----------------------------------------
-### vnopts@v1.0.2
+### vnopts@v2.0.0
> validate and normalize options
diff --git a/node_modules/prettier/README.md b/node_modules/prettier/README.md
index 4076b3a..6643fff 100644
--- a/node_modules/prettier/README.md
+++ b/node_modules/prettier/README.md
@@ -1,4 +1,4 @@
-![Prettier Banner](https://unpkg.com/prettier-logo@1.0.3/images/prettier-banner-light.svg)
+[![Prettier Banner](https://unpkg.com/prettier-logo@1.0.3/images/prettier-banner-light.svg)](https://prettier.io)
Opinionated Code Formatter
@@ -76,7 +76,7 @@ foo(
reallyLongArg(),
omgSoManyParameters(),
IShouldRefactorThis(),
- isThereSeriouslyAnotherOne()
+ isThereSeriouslyAnotherOne(),
);
```
diff --git a/node_modules/prettier/doc.d.ts b/node_modules/prettier/doc.d.ts
index 84aff54..c926511 100644
--- a/node_modules/prettier/doc.d.ts
+++ b/node_modules/prettier/doc.d.ts
@@ -38,6 +38,7 @@ export namespace builders {
interface Group {
type: "group";
+ id?: symbol;
contents: Doc;
break: boolean;
expandedStates: Doc[];
@@ -64,6 +65,8 @@ export namespace builders {
interface Label {
type: "label";
+ label: any;
+ contents: Doc;
}
interface Line {
@@ -137,7 +140,7 @@ export namespace builders {
function ifBreak(
ifBreak: Doc,
noBreak?: Doc,
- options?: { groupId?: symbol | undefined }
+ options?: { groupId?: symbol | undefined },
): IfBreak;
/** @see [indent](https://github.com/prettier/prettier/blob/main/commands.md#indent) */
@@ -146,7 +149,7 @@ export namespace builders {
/** @see [indentIfBreak](https://github.com/prettier/prettier/blob/main/commands.md#indentifbreak) */
function indentIfBreak(
doc: Doc,
- opts: { groupId: symbol; negate?: boolean | undefined }
+ opts: { groupId: symbol; negate?: boolean | undefined },
): IndentIfBreak;
/** @see [join](https://github.com/prettier/prettier/blob/main/commands.md#join) */
@@ -186,7 +189,7 @@ export namespace builders {
export namespace printer {
function printDocToString(
doc: builders.Doc,
- options: Options
+ options: Options,
): {
formatted: string;
cursorNodeStart?: number | undefined;
@@ -219,22 +222,22 @@ export namespace utils {
doc: builders.Doc,
onEnter?: (doc: builders.Doc) => void | boolean,
onExit?: (doc: builders.Doc) => void,
- shouldTraverseConditionalGroups?: boolean
+ shouldTraverseConditionalGroups?: boolean,
): void;
function findInDoc(
doc: builders.Doc,
callback: (doc: builders.Doc) => T,
- defaultValue: T
+ defaultValue: T,
): T;
function mapDoc(
doc: builders.Doc,
- callback: (doc: builders.Doc) => T
+ callback: (doc: builders.Doc) => T,
): T;
function removeLines(doc: builders.Doc): builders.Doc;
function stripTrailingHardline(doc: builders.Doc): builders.Doc;
function replaceEndOfLine(
doc: builders.Doc,
- replacement?: builders.Doc
+ replacement?: builders.Doc,
): builders.Doc;
function canBreak(doc: builders.Doc): boolean;
}
diff --git a/node_modules/prettier/index.cjs b/node_modules/prettier/index.cjs
index 053904e..b9c5388 100644
--- a/node_modules/prettier/index.cjs
+++ b/node_modules/prettier/index.cjs
@@ -592,7 +592,7 @@ var init_public = __esm({
// src/main/version.evaluate.cjs
var require_version_evaluate = __commonJS({
"src/main/version.evaluate.cjs"(exports2, module2) {
- module2.exports = "3.0.0";
+ module2.exports = "3.0.3";
}
});
diff --git a/node_modules/prettier/index.d.ts b/node_modules/prettier/index.d.ts
index f2f5e91..35ddb95 100644
--- a/node_modules/prettier/index.d.ts
+++ b/node_modules/prettier/index.d.ts
@@ -33,7 +33,7 @@ type ArrayElement = T extends Array ? E : never;
// A union of the properties of the given object that are arrays.
type ArrayProperties = {
- [K in keyof T]: NonNullable extends any[] ? K : never;
+ [K in keyof T]: NonNullable extends readonly any[] ? K : never;
}[keyof T];
// A union of the properties of the given array T that can be used to index it.
@@ -72,12 +72,12 @@ type CallCallback = (path: AstPath, index: number, value: any) => U;
type EachCallback = (
path: AstPath>,
index: number,
- value: any
+ value: any,
) => void;
type MapCallback = (
path: AstPath>,
index: number,
- value: any
+ value: any,
) => U;
// https://github.com/prettier/prettier/blob/next/src/common/ast-path.js
@@ -136,18 +136,18 @@ export class AstPath {
call(callback: CallCallback): U;
call>(
callback: CallCallback, U>,
- prop1: P1
+ prop1: P1,
): U;
call>(
callback: CallCallback, P2>, U>,
prop1: P1,
- prop2: P2
+ prop2: P2,
): U;
call<
U,
P1 extends keyof T,
P2 extends CallProperties,
- P3 extends CallProperties>
+ P3 extends CallProperties>,
>(
callback: CallCallback<
IndexValue, P2>, P3>,
@@ -155,14 +155,14 @@ export class AstPath {
>,
prop1: P1,
prop2: P2,
- prop3: P3
+ prop3: P3,
): U;
call<
U,
P1 extends keyof T,
P2 extends CallProperties,
P3 extends CallProperties>,
- P4 extends CallProperties, P3>>
+ P4 extends CallProperties, P3>>,
>(
callback: CallCallback<
IndexValue, P2>, P3>, P4>,
@@ -171,7 +171,7 @@ export class AstPath {
prop1: P1,
prop2: P2,
prop3: P3,
- prop4: P4
+ prop4: P4,
): U;
call(
callback: CallCallback,
@@ -185,28 +185,28 @@ export class AstPath {
each(callback: EachCallback): void;
each>(
callback: EachCallback>,
- prop1: P1
+ prop1: P1,
): void;
each>(
callback: EachCallback, P2>>,
prop1: P1,
- prop2: P2
+ prop2: P2,
): void;
each<
P1 extends keyof T,
P2 extends IterProperties,
- P3 extends IterProperties>
+ P3 extends IterProperties>,
>(
callback: EachCallback, P2>, P3>>,
prop1: P1,
prop2: P2,
- prop3: P3
+ prop3: P3,
): void;
each<
P1 extends keyof T,
P2 extends IterProperties,
P3 extends IterProperties>,
- P4 extends IterProperties, P3>>
+ P4 extends IterProperties, P3>>,
>(
callback: EachCallback<
IndexValue, P2>, P3>, P4>
@@ -214,7 +214,7 @@ export class AstPath {
prop1: P1,
prop2: P2,
prop3: P3,
- prop4: P4
+ prop4: P4,
): void;
each(
callback: EachCallback,
@@ -228,30 +228,30 @@ export class AstPath {
map(callback: MapCallback): U[];
map>(
callback: MapCallback, U>,
- prop1: P1
+ prop1: P1,
): U[];
map>(
callback: MapCallback, P2>, U>,
prop1: P1,
- prop2: P2
+ prop2: P2,
): U[];
map<
U,
P1 extends keyof T,
P2 extends IterProperties,
- P3 extends IterProperties>
+ P3 extends IterProperties>,
>(
callback: MapCallback, P2>, P3>, U>,
prop1: P1,
prop2: P2,
- prop3: P3
+ prop3: P3,
): U[];
map<
U,
P1 extends keyof T,
P2 extends IterProperties,
P3 extends IterProperties>,
- P4 extends IterProperties, P3>>
+ P4 extends IterProperties, P3>>,
>(
callback: MapCallback<
IndexValue, P2>, P3>, P4>,
@@ -260,7 +260,7 @@ export class AstPath {
prop1: P1,
prop2: P2,
prop3: P3,
- prop4: P4
+ prop4: P4,
): U[];
map(
callback: MapCallback,
@@ -304,7 +304,7 @@ export type BuiltInParsers = Record;
export type CustomParser = (
text: string,
- options: Options
+ options: Options,
) => AST | Promise;
/**
@@ -467,24 +467,27 @@ export interface Printer {
path: AstPath,
options: ParserOptions,
print: (path: AstPath) => Doc,
- args?: unknown
+ args?: unknown,
): Doc;
embed?:
| ((
path: AstPath,
- options: Options
+ options: Options,
) =>
| ((
textToDoc: (text: string, options: Options) => Promise,
print: (
- selector?: string | number | Array | AstPath
+ selector?: string | number | Array | AstPath,
) => Doc,
path: AstPath,
- options: Options
+ options: Options,
) => Promise | Doc | undefined)
| Doc
| null)
| undefined;
+ preprocess?:
+ | ((ast: T, options: ParserOptions) => T | Promise)
+ | undefined;
insertPragma?: (text: string) => string;
/**
* @returns `null` if you want to remove this node
@@ -517,7 +520,7 @@ export interface Printer {
text: string,
options: ParserOptions,
ast: T,
- isLastComment: boolean
+ isLastComment: boolean,
) => boolean)
| undefined;
endOfLine?:
@@ -526,7 +529,7 @@ export interface Printer {
text: string,
options: ParserOptions,
ast: T,
- isLastComment: boolean
+ isLastComment: boolean,
) => boolean)
| undefined;
remaining?:
@@ -535,11 +538,14 @@ export interface Printer {
text: string,
options: ParserOptions,
ast: T,
- isLastComment: boolean
+ isLastComment: boolean,
) => boolean)
| undefined;
}
| undefined;
+ getVisitorKeys?:
+ | ((node: T, nonTraversableKeys: Set) => string[])
+ | undefined;
}
export interface CursorOptions extends Options {
@@ -575,7 +581,7 @@ export function check(source: string, options?: Options): Promise;
*/
export function formatWithCursor(
source: string,
- options: CursorOptions
+ options: CursorOptions,
): Promise;
export function formatAST(ast: any, options?: Options): Promise;
@@ -616,7 +622,7 @@ export interface ResolveConfigOptions {
*/
export function resolveConfig(
filePath: string,
- options?: ResolveConfigOptions
+ options?: ResolveConfigOptions,
): Promise;
/**
@@ -792,7 +798,7 @@ export interface FileInfoResult {
export function getFileInfo(
filePath: string,
- options?: FileInfoOptions
+ options?: FileInfoOptions,
): Promise;
/**
@@ -820,7 +826,7 @@ export namespace util {
function getAlignmentSize(
text: string,
tabWidth: number,
- startIndex?: number | undefined
+ startIndex?: number | undefined,
): number;
function getIndentSize(value: string, tabWidth: number): number;
@@ -828,83 +834,92 @@ export namespace util {
function skipNewline(
text: string,
startIndex: number | false,
- options?: SkipOptions | undefined
+ options?: SkipOptions | undefined,
): number | false;
function skipInlineComment(
text: string,
- startIndex: number | false
+ startIndex: number | false,
): number | false;
function skipTrailingComment(
text: string,
- startIndex: number | false
+ startIndex: number | false,
): number | false;
function skipTrailingComment(
text: string,
- startIndex: number | false
+ startIndex: number | false,
): number | false;
function hasNewline(
text: string,
startIndex: number,
- options?: SkipOptions | undefined
+ options?: SkipOptions | undefined,
): boolean;
function hasNewlineInRange(
text: string,
startIndex: number,
- endIndex: number
+ endIndex: number,
): boolean;
function hasSpaces(
text: string,
startIndex: number,
- options?: SkipOptions | undefined
+ options?: SkipOptions | undefined,
): boolean;
+ function getNextNonSpaceNonCommentCharacterIndex(
+ text: string,
+ startIndex: number,
+ ): number | false;
+
function getNextNonSpaceNonCommentCharacter(
text: string,
- startIndex: number
+ startIndex: number,
): string;
+ function isNextLineEmpty(text: string, startIndex: number): boolean;
+
+ function isPreviousLineEmpty(text: string, startIndex: number): boolean;
+
function makeString(
rawText: string,
enclosingQuote: Quote,
- unescapeUnnecessaryEscapes?: boolean | undefined
+ unescapeUnnecessaryEscapes?: boolean | undefined,
): string;
function skip(
- characters: string | RegExp
+ characters: string | RegExp,
): (
text: string,
startIndex: number | false,
- options?: SkipOptions
+ options?: SkipOptions,
) => number | false;
const skipWhitespace: (
text: string,
startIndex: number | false,
- options?: SkipOptions
+ options?: SkipOptions,
) => number | false;
const skipSpaces: (
text: string,
startIndex: number | false,
- options?: SkipOptions
+ options?: SkipOptions,
) => number | false;
const skipToLineEnd: (
text: string,
startIndex: number | false,
- options?: SkipOptions
+ options?: SkipOptions,
) => number | false;
const skipEverythingButNewLine: (
text: string,
startIndex: number | false,
- options?: SkipOptions
+ options?: SkipOptions,
) => number | false;
function addLeadingComment(node: any, comment: any): void;
diff --git a/node_modules/prettier/index.mjs b/node_modules/prettier/index.mjs
index cf96231..ff50295 100644
--- a/node_modules/prettier/index.mjs
+++ b/node_modules/prettier/index.mjs
@@ -18,9 +18,6 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
return require.apply(this, arguments);
throw Error('Dynamic require of "' + x + '" is not supported');
});
-var __esm = (fn, res) => function __init() {
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
-};
var __commonJS = (cb, mod) => function __require2() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
@@ -44,7 +41,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __accessCheck = (obj, member, msg) => {
if (!member.has(obj))
throw TypeError("Cannot " + msg);
@@ -59,4851 +55,2185 @@ var __privateMethod = (obj, member, method) => {
return method;
};
-// node_modules/vnopts/node_modules/tslib/tslib.es6.js
-var tslib_es6_exports = {};
-__export(tslib_es6_exports, {
- __assign: () => __assign,
- __asyncDelegator: () => __asyncDelegator,
- __asyncGenerator: () => __asyncGenerator,
- __asyncValues: () => __asyncValues,
- __await: () => __await,
- __awaiter: () => __awaiter,
- __classPrivateFieldGet: () => __classPrivateFieldGet,
- __classPrivateFieldSet: () => __classPrivateFieldSet,
- __createBinding: () => __createBinding,
- __decorate: () => __decorate,
- __exportStar: () => __exportStar,
- __extends: () => __extends,
- __generator: () => __generator,
- __importDefault: () => __importDefault,
- __importStar: () => __importStar,
- __makeTemplateObject: () => __makeTemplateObject,
- __metadata: () => __metadata,
- __param: () => __param,
- __read: () => __read,
- __rest: () => __rest,
- __spread: () => __spread,
- __spreadArrays: () => __spreadArrays,
- __values: () => __values
-});
-function __extends(d, b) {
- extendStatics(d, b);
- function __() {
- this.constructor = d;
- }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
-}
-function __rest(s, e) {
- var t = {};
- for (var p in s)
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
- t[p] = s[p];
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
- t[p[i]] = s[p[i]];
- }
- return t;
-}
-function __decorate(decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
- r = Reflect.decorate(decorators, target, key, desc);
- else
- for (var i = decorators.length - 1; i >= 0; i--)
- if (d = decorators[i])
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
-}
-function __param(paramIndex, decorator) {
- return function(target, key) {
- decorator(target, key, paramIndex);
- };
-}
-function __metadata(metadataKey, metadataValue) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
- return Reflect.metadata(metadataKey, metadataValue);
-}
-function __awaiter(thisArg, _arguments, P, generator) {
- function adopt(value) {
- return value instanceof P ? value : new P(function(resolve2) {
- resolve2(value);
- });
- }
- return new (P || (P = Promise))(function(resolve2, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator["throw"](value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+// node_modules/fast-glob/out/utils/array.js
+var require_array = __commonJS({
+ "node_modules/fast-glob/out/utils/array.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.splitWhen = exports.flatten = void 0;
+ function flatten(items) {
+ return items.reduce((collection, item) => [].concat(collection, item), []);
}
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-}
-function __generator(thisArg, body) {
- var _ = { label: 0, sent: function() {
- if (t[0] & 1)
- throw t[1];
- return t[1];
- }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
- return this;
- }), g;
- function verb(n) {
- return function(v) {
- return step([n, v]);
- };
- }
- function step(op) {
- if (f)
- throw new TypeError("Generator is already executing.");
- while (_)
- try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
- return t;
- if (y = 0, t)
- op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0:
- case 1:
- t = op;
- break;
- case 4:
- _.label++;
- return { value: op[1], done: false };
- case 5:
- _.label++;
- y = op[1];
- op = [0];
- continue;
- case 7:
- op = _.ops.pop();
- _.trys.pop();
- continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
- _ = 0;
- continue;
- }
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
- _.label = op[1];
- break;
- }
- if (op[0] === 6 && _.label < t[1]) {
- _.label = t[1];
- t = op;
- break;
- }
- if (t && _.label < t[2]) {
- _.label = t[2];
- _.ops.push(op);
- break;
- }
- if (t[2])
- _.ops.pop();
- _.trys.pop();
- continue;
+ exports.flatten = flatten;
+ function splitWhen(items, predicate) {
+ const result = [[]];
+ let groupIndex = 0;
+ for (const item of items) {
+ if (predicate(item)) {
+ groupIndex++;
+ result[groupIndex] = [];
+ } else {
+ result[groupIndex].push(item);
}
- op = body.call(thisArg, _);
- } catch (e) {
- op = [6, e];
- y = 0;
- } finally {
- f = t = 0;
- }
- if (op[0] & 5)
- throw op[1];
- return { value: op[0] ? op[1] : void 0, done: true };
- }
-}
-function __createBinding(o, m, k, k2) {
- if (k2 === void 0)
- k2 = k;
- o[k2] = m[k];
-}
-function __exportStar(m, exports) {
- for (var p in m)
- if (p !== "default" && !exports.hasOwnProperty(p))
- exports[p] = m[p];
-}
-function __values(o) {
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
- if (m)
- return m.call(o);
- if (o && typeof o.length === "number")
- return {
- next: function() {
- if (o && i >= o.length)
- o = void 0;
- return { value: o && o[i++], done: !o };
}
- };
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
-}
-function __read(o, n) {
- var m = typeof Symbol === "function" && o[Symbol.iterator];
- if (!m)
- return o;
- var i = m.call(o), r, ar = [], e;
- try {
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
- ar.push(r.value);
- } catch (error) {
- e = { error };
- } finally {
- try {
- if (r && !r.done && (m = i["return"]))
- m.call(i);
- } finally {
- if (e)
- throw e.error;
+ return result;
}
+ exports.splitWhen = splitWhen;
}
- return ar;
-}
-function __spread() {
- for (var ar = [], i = 0; i < arguments.length; i++)
- ar = ar.concat(__read(arguments[i]));
- return ar;
-}
-function __spreadArrays() {
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
- s += arguments[i].length;
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
- r[k] = a[j];
- return r;
-}
-function __await(v) {
- return this instanceof __await ? (this.v = v, this) : new __await(v);
-}
-function __asyncGenerator(thisArg, _arguments, generator) {
- if (!Symbol.asyncIterator)
- throw new TypeError("Symbol.asyncIterator is not defined.");
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
- return this;
- }, i;
- function verb(n) {
- if (g[n])
- i[n] = function(v) {
- return new Promise(function(a, b) {
- q.push([n, v, a, b]) > 1 || resume(n, v);
- });
- };
- }
- function resume(n, v) {
- try {
- step(g[n](v));
- } catch (e) {
- settle(q[0][3], e);
+});
+
+// node_modules/fast-glob/out/utils/errno.js
+var require_errno = __commonJS({
+ "node_modules/fast-glob/out/utils/errno.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isEnoentCodeError = void 0;
+ function isEnoentCodeError(error) {
+ return error.code === "ENOENT";
}
- }
- function step(r) {
- r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
- }
- function fulfill(value) {
- resume("next", value);
- }
- function reject(value) {
- resume("throw", value);
- }
- function settle(f, v) {
- if (f(v), q.shift(), q.length)
- resume(q[0][0], q[0][1]);
- }
-}
-function __asyncDelegator(o) {
- var i, p;
- return i = {}, verb("next"), verb("throw", function(e) {
- throw e;
- }), verb("return"), i[Symbol.iterator] = function() {
- return this;
- }, i;
- function verb(n, f) {
- i[n] = o[n] ? function(v) {
- return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v;
- } : f;
- }
-}
-function __asyncValues(o) {
- if (!Symbol.asyncIterator)
- throw new TypeError("Symbol.asyncIterator is not defined.");
- var m = o[Symbol.asyncIterator], i;
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
- return this;
- }, i);
- function verb(n) {
- i[n] = o[n] && function(v) {
- return new Promise(function(resolve2, reject) {
- v = o[n](v), settle(resolve2, reject, v.done, v.value);
- });
- };
- }
- function settle(resolve2, reject, d, v) {
- Promise.resolve(v).then(function(v2) {
- resolve2({ value: v2, done: d });
- }, reject);
- }
-}
-function __makeTemplateObject(cooked, raw) {
- if (Object.defineProperty) {
- Object.defineProperty(cooked, "raw", { value: raw });
- } else {
- cooked.raw = raw;
- }
- return cooked;
-}
-function __importStar(mod) {
- if (mod && mod.__esModule)
- return mod;
- var result = {};
- if (mod != null) {
- for (var k in mod)
- if (Object.hasOwnProperty.call(mod, k))
- result[k] = mod[k];
- }
- result.default = mod;
- return result;
-}
-function __importDefault(mod) {
- return mod && mod.__esModule ? mod : { default: mod };
-}
-function __classPrivateFieldGet(receiver, privateMap) {
- if (!privateMap.has(receiver)) {
- throw new TypeError("attempted to get private field on non-instance");
- }
- return privateMap.get(receiver);
-}
-function __classPrivateFieldSet(receiver, privateMap, value) {
- if (!privateMap.has(receiver)) {
- throw new TypeError("attempted to set private field on non-instance");
- }
- privateMap.set(receiver, value);
- return value;
-}
-var extendStatics, __assign;
-var init_tslib_es6 = __esm({
- "node_modules/vnopts/node_modules/tslib/tslib.es6.js"() {
- extendStatics = function(d, b) {
- extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
- d2.__proto__ = b2;
- } || function(d2, b2) {
- for (var p in b2)
- if (b2.hasOwnProperty(p))
- d2[p] = b2[p];
- };
- return extendStatics(d, b);
- };
- __assign = function() {
- __assign = Object.assign || function __assign2(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s)
- if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
- };
- return __assign.apply(this, arguments);
- };
+ exports.isEnoentCodeError = isEnoentCodeError;
}
});
-// node_modules/vnopts/lib/descriptors/api.js
-var require_api = __commonJS({
- "node_modules/vnopts/lib/descriptors/api.js"(exports) {
+// node_modules/fast-glob/out/utils/fs.js
+var require_fs = __commonJS({
+ "node_modules/fast-glob/out/utils/fs.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.apiDescriptor = {
- key: (key) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(key) ? key : JSON.stringify(key),
- value(value) {
- if (value === null || typeof value !== "object") {
- return JSON.stringify(value);
- }
- if (Array.isArray(value)) {
- return `[${value.map((subValue) => exports.apiDescriptor.value(subValue)).join(", ")}]`;
- }
- const keys = Object.keys(value);
- return keys.length === 0 ? "{}" : `{ ${keys.map((key) => `${exports.apiDescriptor.key(key)}: ${exports.apiDescriptor.value(value[key])}`).join(", ")} }`;
- },
- pair: ({ key, value }) => exports.apiDescriptor.value({ [key]: value })
+ exports.createDirentFromStats = void 0;
+ var DirentFromStats = class {
+ constructor(name, stats) {
+ this.name = name;
+ this.isBlockDevice = stats.isBlockDevice.bind(stats);
+ this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
+ this.isDirectory = stats.isDirectory.bind(stats);
+ this.isFIFO = stats.isFIFO.bind(stats);
+ this.isFile = stats.isFile.bind(stats);
+ this.isSocket = stats.isSocket.bind(stats);
+ this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
+ }
};
+ function createDirentFromStats(name, stats) {
+ return new DirentFromStats(name, stats);
+ }
+ exports.createDirentFromStats = createDirentFromStats;
}
});
-// node_modules/vnopts/lib/descriptors/index.js
-var require_descriptors = __commonJS({
- "node_modules/vnopts/lib/descriptors/index.js"(exports) {
+// node_modules/fast-glob/out/utils/path.js
+var require_path = __commonJS({
+ "node_modules/fast-glob/out/utils/path.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
- tslib_1.__exportStar(require_api(), exports);
+ exports.convertPosixPathToPattern = exports.convertWindowsPathToPattern = exports.convertPathToPattern = exports.escapePosixPath = exports.escapeWindowsPath = exports.escape = exports.removeLeadingDotSegment = exports.makeAbsolute = exports.unixify = void 0;
+ var os2 = __require("os");
+ var path9 = __require("path");
+ var IS_WINDOWS_PLATFORM = os2.platform() === "win32";
+ var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2;
+ var POSIX_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g;
+ var WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([(){}]|^!|[!+@](?=\())/g;
+ var DOS_DEVICE_PATH_RE = /^\\\\([.?])/;
+ var WINDOWS_BACKSLASHES_RE = /\\(?![!()+@{}])/g;
+ function unixify(filepath) {
+ return filepath.replace(/\\/g, "/");
+ }
+ exports.unixify = unixify;
+ function makeAbsolute(cwd, filepath) {
+ return path9.resolve(cwd, filepath);
+ }
+ exports.makeAbsolute = makeAbsolute;
+ function removeLeadingDotSegment(entry) {
+ if (entry.charAt(0) === ".") {
+ const secondCharactery = entry.charAt(1);
+ if (secondCharactery === "/" || secondCharactery === "\\") {
+ return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT);
+ }
+ }
+ return entry;
+ }
+ exports.removeLeadingDotSegment = removeLeadingDotSegment;
+ exports.escape = IS_WINDOWS_PLATFORM ? escapeWindowsPath : escapePosixPath;
+ function escapeWindowsPath(pattern) {
+ return pattern.replace(WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
+ }
+ exports.escapeWindowsPath = escapeWindowsPath;
+ function escapePosixPath(pattern) {
+ return pattern.replace(POSIX_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
+ }
+ exports.escapePosixPath = escapePosixPath;
+ exports.convertPathToPattern = IS_WINDOWS_PLATFORM ? convertWindowsPathToPattern : convertPosixPathToPattern;
+ function convertWindowsPathToPattern(filepath) {
+ return escapeWindowsPath(filepath).replace(DOS_DEVICE_PATH_RE, "//$1").replace(WINDOWS_BACKSLASHES_RE, "/");
+ }
+ exports.convertWindowsPathToPattern = convertWindowsPathToPattern;
+ function convertPosixPathToPattern(filepath) {
+ return escapePosixPath(filepath);
+ }
+ exports.convertPosixPathToPattern = convertPosixPathToPattern;
}
});
-// node_modules/vnopts/node_modules/escape-string-regexp/index.js
-var require_escape_string_regexp = __commonJS({
- "node_modules/vnopts/node_modules/escape-string-regexp/index.js"(exports, module) {
- "use strict";
- var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
- module.exports = function(str) {
- if (typeof str !== "string") {
- throw new TypeError("Expected a string");
+// node_modules/is-extglob/index.js
+var require_is_extglob = __commonJS({
+ "node_modules/is-extglob/index.js"(exports, module) {
+ module.exports = function isExtglob(str) {
+ if (typeof str !== "string" || str === "") {
+ return false;
}
- return str.replace(matchOperatorsRe, "\\$&");
+ var match;
+ while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) {
+ if (match[2])
+ return true;
+ str = str.slice(match.index + match[0].length);
+ }
+ return false;
};
}
});
-// node_modules/color-name/index.js
-var require_color_name = __commonJS({
- "node_modules/color-name/index.js"(exports, module) {
- "use strict";
- module.exports = {
- "aliceblue": [240, 248, 255],
- "antiquewhite": [250, 235, 215],
- "aqua": [0, 255, 255],
- "aquamarine": [127, 255, 212],
- "azure": [240, 255, 255],
- "beige": [245, 245, 220],
- "bisque": [255, 228, 196],
- "black": [0, 0, 0],
- "blanchedalmond": [255, 235, 205],
- "blue": [0, 0, 255],
- "blueviolet": [138, 43, 226],
- "brown": [165, 42, 42],
- "burlywood": [222, 184, 135],
- "cadetblue": [95, 158, 160],
- "chartreuse": [127, 255, 0],
- "chocolate": [210, 105, 30],
- "coral": [255, 127, 80],
- "cornflowerblue": [100, 149, 237],
- "cornsilk": [255, 248, 220],
- "crimson": [220, 20, 60],
- "cyan": [0, 255, 255],
- "darkblue": [0, 0, 139],
- "darkcyan": [0, 139, 139],
- "darkgoldenrod": [184, 134, 11],
- "darkgray": [169, 169, 169],
- "darkgreen": [0, 100, 0],
- "darkgrey": [169, 169, 169],
- "darkkhaki": [189, 183, 107],
- "darkmagenta": [139, 0, 139],
- "darkolivegreen": [85, 107, 47],
- "darkorange": [255, 140, 0],
- "darkorchid": [153, 50, 204],
- "darkred": [139, 0, 0],
- "darksalmon": [233, 150, 122],
- "darkseagreen": [143, 188, 143],
- "darkslateblue": [72, 61, 139],
- "darkslategray": [47, 79, 79],
- "darkslategrey": [47, 79, 79],
- "darkturquoise": [0, 206, 209],
- "darkviolet": [148, 0, 211],
- "deeppink": [255, 20, 147],
- "deepskyblue": [0, 191, 255],
- "dimgray": [105, 105, 105],
- "dimgrey": [105, 105, 105],
- "dodgerblue": [30, 144, 255],
- "firebrick": [178, 34, 34],
- "floralwhite": [255, 250, 240],
- "forestgreen": [34, 139, 34],
- "fuchsia": [255, 0, 255],
- "gainsboro": [220, 220, 220],
- "ghostwhite": [248, 248, 255],
- "gold": [255, 215, 0],
- "goldenrod": [218, 165, 32],
- "gray": [128, 128, 128],
- "green": [0, 128, 0],
- "greenyellow": [173, 255, 47],
- "grey": [128, 128, 128],
- "honeydew": [240, 255, 240],
- "hotpink": [255, 105, 180],
- "indianred": [205, 92, 92],
- "indigo": [75, 0, 130],
- "ivory": [255, 255, 240],
- "khaki": [240, 230, 140],
- "lavender": [230, 230, 250],
- "lavenderblush": [255, 240, 245],
- "lawngreen": [124, 252, 0],
- "lemonchiffon": [255, 250, 205],
- "lightblue": [173, 216, 230],
- "lightcoral": [240, 128, 128],
- "lightcyan": [224, 255, 255],
- "lightgoldenrodyellow": [250, 250, 210],
- "lightgray": [211, 211, 211],
- "lightgreen": [144, 238, 144],
- "lightgrey": [211, 211, 211],
- "lightpink": [255, 182, 193],
- "lightsalmon": [255, 160, 122],
- "lightseagreen": [32, 178, 170],
- "lightskyblue": [135, 206, 250],
- "lightslategray": [119, 136, 153],
- "lightslategrey": [119, 136, 153],
- "lightsteelblue": [176, 196, 222],
- "lightyellow": [255, 255, 224],
- "lime": [0, 255, 0],
- "limegreen": [50, 205, 50],
- "linen": [250, 240, 230],
- "magenta": [255, 0, 255],
- "maroon": [128, 0, 0],
- "mediumaquamarine": [102, 205, 170],
- "mediumblue": [0, 0, 205],
- "mediumorchid": [186, 85, 211],
- "mediumpurple": [147, 112, 219],
- "mediumseagreen": [60, 179, 113],
- "mediumslateblue": [123, 104, 238],
- "mediumspringgreen": [0, 250, 154],
- "mediumturquoise": [72, 209, 204],
- "mediumvioletred": [199, 21, 133],
- "midnightblue": [25, 25, 112],
- "mintcream": [245, 255, 250],
- "mistyrose": [255, 228, 225],
- "moccasin": [255, 228, 181],
- "navajowhite": [255, 222, 173],
- "navy": [0, 0, 128],
- "oldlace": [253, 245, 230],
- "olive": [128, 128, 0],
- "olivedrab": [107, 142, 35],
- "orange": [255, 165, 0],
- "orangered": [255, 69, 0],
- "orchid": [218, 112, 214],
- "palegoldenrod": [238, 232, 170],
- "palegreen": [152, 251, 152],
- "paleturquoise": [175, 238, 238],
- "palevioletred": [219, 112, 147],
- "papayawhip": [255, 239, 213],
- "peachpuff": [255, 218, 185],
- "peru": [205, 133, 63],
- "pink": [255, 192, 203],
- "plum": [221, 160, 221],
- "powderblue": [176, 224, 230],
- "purple": [128, 0, 128],
- "rebeccapurple": [102, 51, 153],
- "red": [255, 0, 0],
- "rosybrown": [188, 143, 143],
- "royalblue": [65, 105, 225],
- "saddlebrown": [139, 69, 19],
- "salmon": [250, 128, 114],
- "sandybrown": [244, 164, 96],
- "seagreen": [46, 139, 87],
- "seashell": [255, 245, 238],
- "sienna": [160, 82, 45],
- "silver": [192, 192, 192],
- "skyblue": [135, 206, 235],
- "slateblue": [106, 90, 205],
- "slategray": [112, 128, 144],
- "slategrey": [112, 128, 144],
- "snow": [255, 250, 250],
- "springgreen": [0, 255, 127],
- "steelblue": [70, 130, 180],
- "tan": [210, 180, 140],
- "teal": [0, 128, 128],
- "thistle": [216, 191, 216],
- "tomato": [255, 99, 71],
- "turquoise": [64, 224, 208],
- "violet": [238, 130, 238],
- "wheat": [245, 222, 179],
- "white": [255, 255, 255],
- "whitesmoke": [245, 245, 245],
- "yellow": [255, 255, 0],
- "yellowgreen": [154, 205, 50]
- };
- }
-});
-
-// node_modules/color-convert/conversions.js
-var require_conversions = __commonJS({
- "node_modules/color-convert/conversions.js"(exports, module) {
- var cssKeywords = require_color_name();
- var reverseKeywords = {};
- for (key in cssKeywords) {
- if (cssKeywords.hasOwnProperty(key)) {
- reverseKeywords[cssKeywords[key]] = key;
+// node_modules/is-glob/index.js
+var require_is_glob = __commonJS({
+ "node_modules/is-glob/index.js"(exports, module) {
+ var isExtglob = require_is_extglob();
+ var chars = { "{": "}", "(": ")", "[": "]" };
+ var strictCheck = function(str) {
+ if (str[0] === "!") {
+ return true;
}
- }
- var key;
- var convert = module.exports = {
- rgb: { channels: 3, labels: "rgb" },
- hsl: { channels: 3, labels: "hsl" },
- hsv: { channels: 3, labels: "hsv" },
- hwb: { channels: 3, labels: "hwb" },
- cmyk: { channels: 4, labels: "cmyk" },
- xyz: { channels: 3, labels: "xyz" },
- lab: { channels: 3, labels: "lab" },
- lch: { channels: 3, labels: "lch" },
- hex: { channels: 1, labels: ["hex"] },
- keyword: { channels: 1, labels: ["keyword"] },
- ansi16: { channels: 1, labels: ["ansi16"] },
- ansi256: { channels: 1, labels: ["ansi256"] },
- hcg: { channels: 3, labels: ["h", "c", "g"] },
- apple: { channels: 3, labels: ["r16", "g16", "b16"] },
- gray: { channels: 1, labels: ["gray"] }
- };
- for (model in convert) {
- if (convert.hasOwnProperty(model)) {
- if (!("channels" in convert[model])) {
- throw new Error("missing channels property: " + model);
+ var index = 0;
+ var pipeIndex = -2;
+ var closeSquareIndex = -2;
+ var closeCurlyIndex = -2;
+ var closeParenIndex = -2;
+ var backSlashIndex = -2;
+ while (index < str.length) {
+ if (str[index] === "*") {
+ return true;
}
- if (!("labels" in convert[model])) {
- throw new Error("missing channel labels property: " + model);
+ if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) {
+ return true;
}
- if (convert[model].labels.length !== convert[model].channels) {
- throw new Error("channel and label counts mismatch: " + model);
+ if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") {
+ if (closeSquareIndex < index) {
+ closeSquareIndex = str.indexOf("]", index);
+ }
+ if (closeSquareIndex > index) {
+ if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
+ return true;
+ }
+ backSlashIndex = str.indexOf("\\", index);
+ if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
+ return true;
+ }
+ }
}
- channels = convert[model].channels;
- labels = convert[model].labels;
- delete convert[model].channels;
- delete convert[model].labels;
- Object.defineProperty(convert[model], "channels", { value: channels });
- Object.defineProperty(convert[model], "labels", { value: labels });
- }
- }
- var channels;
- var labels;
- var model;
- convert.rgb.hsl = function(rgb) {
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255;
- var min = Math.min(r, g, b);
- var max = Math.max(r, g, b);
- var delta = max - min;
- var h;
- var s;
- var l;
- if (max === min) {
- h = 0;
- } else if (r === max) {
- h = (g - b) / delta;
- } else if (g === max) {
- h = 2 + (b - r) / delta;
- } else if (b === max) {
- h = 4 + (r - g) / delta;
- }
- h = Math.min(h * 60, 360);
- if (h < 0) {
- h += 360;
- }
- l = (min + max) / 2;
- if (max === min) {
- s = 0;
- } else if (l <= 0.5) {
- s = delta / (max + min);
- } else {
- s = delta / (2 - max - min);
- }
- return [h, s * 100, l * 100];
- };
- convert.rgb.hsv = function(rgb) {
- var rdif;
- var gdif;
- var bdif;
- var h;
- var s;
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255;
- var v = Math.max(r, g, b);
- var diff = v - Math.min(r, g, b);
- var diffc = function(c) {
- return (v - c) / 6 / diff + 1 / 2;
- };
- if (diff === 0) {
- h = s = 0;
- } else {
- s = diff / v;
- rdif = diffc(r);
- gdif = diffc(g);
- bdif = diffc(b);
- if (r === v) {
- h = bdif - gdif;
- } else if (g === v) {
- h = 1 / 3 + rdif - bdif;
- } else if (b === v) {
- h = 2 / 3 + gdif - rdif;
+ if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") {
+ closeCurlyIndex = str.indexOf("}", index);
+ if (closeCurlyIndex > index) {
+ backSlashIndex = str.indexOf("\\", index);
+ if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
+ return true;
+ }
+ }
}
- if (h < 0) {
- h += 1;
- } else if (h > 1) {
- h -= 1;
+ if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") {
+ closeParenIndex = str.indexOf(")", index);
+ if (closeParenIndex > index) {
+ backSlashIndex = str.indexOf("\\", index);
+ if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
+ return true;
+ }
+ }
}
- }
- return [
- h * 360,
- s * 100,
- v * 100
- ];
- };
- convert.rgb.hwb = function(rgb) {
- var r = rgb[0];
- var g = rgb[1];
- var b = rgb[2];
- var h = convert.rgb.hsl(rgb)[0];
- var w = 1 / 255 * Math.min(r, Math.min(g, b));
- b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
- return [h, w * 100, b * 100];
- };
- convert.rgb.cmyk = function(rgb) {
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255;
- var c;
- var m;
- var y;
- var k;
- k = Math.min(1 - r, 1 - g, 1 - b);
- c = (1 - r - k) / (1 - k) || 0;
- m = (1 - g - k) / (1 - k) || 0;
- y = (1 - b - k) / (1 - k) || 0;
- return [c * 100, m * 100, y * 100, k * 100];
+ if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") {
+ if (pipeIndex < index) {
+ pipeIndex = str.indexOf("|", index);
+ }
+ if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") {
+ closeParenIndex = str.indexOf(")", pipeIndex);
+ if (closeParenIndex > pipeIndex) {
+ backSlashIndex = str.indexOf("\\", pipeIndex);
+ if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
+ return true;
+ }
+ }
+ }
+ }
+ if (str[index] === "\\") {
+ var open = str[index + 1];
+ index += 2;
+ var close = chars[open];
+ if (close) {
+ var n = str.indexOf(close, index);
+ if (n !== -1) {
+ index = n + 1;
+ }
+ }
+ if (str[index] === "!") {
+ return true;
+ }
+ } else {
+ index++;
+ }
+ }
+ return false;
};
- function comparativeDistance(x, y) {
- return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
- }
- convert.rgb.keyword = function(rgb) {
- var reversed = reverseKeywords[rgb];
- if (reversed) {
- return reversed;
+ var relaxedCheck = function(str) {
+ if (str[0] === "!") {
+ return true;
}
- var currentClosestDistance = Infinity;
- var currentClosestKeyword;
- for (var keyword in cssKeywords) {
- if (cssKeywords.hasOwnProperty(keyword)) {
- var value = cssKeywords[keyword];
- var distance = comparativeDistance(rgb, value);
- if (distance < currentClosestDistance) {
- currentClosestDistance = distance;
- currentClosestKeyword = keyword;
+ var index = 0;
+ while (index < str.length) {
+ if (/[*?{}()[\]]/.test(str[index])) {
+ return true;
+ }
+ if (str[index] === "\\") {
+ var open = str[index + 1];
+ index += 2;
+ var close = chars[open];
+ if (close) {
+ var n = str.indexOf(close, index);
+ if (n !== -1) {
+ index = n + 1;
+ }
+ }
+ if (str[index] === "!") {
+ return true;
}
+ } else {
+ index++;
}
}
- return currentClosestKeyword;
- };
- convert.keyword.rgb = function(keyword) {
- return cssKeywords[keyword];
+ return false;
};
- convert.rgb.xyz = function(rgb) {
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255;
- r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
- g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
- b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
- var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
- var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
- var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
- return [x * 100, y * 100, z * 100];
+ module.exports = function isGlob(str, options8) {
+ if (typeof str !== "string" || str === "") {
+ return false;
+ }
+ if (isExtglob(str)) {
+ return true;
+ }
+ var check2 = strictCheck;
+ if (options8 && options8.strict === false) {
+ check2 = relaxedCheck;
+ }
+ return check2(str);
};
- convert.rgb.lab = function(rgb) {
- var xyz = convert.rgb.xyz(rgb);
- var x = xyz[0];
- var y = xyz[1];
- var z = xyz[2];
- var l;
- var a;
- var b;
- x /= 95.047;
- y /= 100;
- z /= 108.883;
- x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
- y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
- z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
- l = 116 * y - 16;
- a = 500 * (x - y);
- b = 200 * (y - z);
- return [l, a, b];
+ }
+});
+
+// node_modules/glob-parent/index.js
+var require_glob_parent = __commonJS({
+ "node_modules/glob-parent/index.js"(exports, module) {
+ "use strict";
+ var isGlob = require_is_glob();
+ var pathPosixDirname = __require("path").posix.dirname;
+ var isWin32 = __require("os").platform() === "win32";
+ var slash2 = "/";
+ var backslash = /\\/g;
+ var enclosure = /[\{\[].*[\}\]]$/;
+ var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
+ var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
+ module.exports = function globParent(str, opts) {
+ var options8 = Object.assign({ flipBackslashes: true }, opts);
+ if (options8.flipBackslashes && isWin32 && str.indexOf(slash2) < 0) {
+ str = str.replace(backslash, slash2);
+ }
+ if (enclosure.test(str)) {
+ str += slash2;
+ }
+ str += "a";
+ do {
+ str = pathPosixDirname(str);
+ } while (isGlob(str) || globby.test(str));
+ return str.replace(escaped, "$1");
};
- convert.hsl.rgb = function(hsl) {
- var h = hsl[0] / 360;
- var s = hsl[1] / 100;
- var l = hsl[2] / 100;
- var t1;
- var t2;
- var t3;
- var rgb;
- var val;
- if (s === 0) {
- val = l * 255;
- return [val, val, val];
+ }
+});
+
+// node_modules/braces/lib/utils.js
+var require_utils = __commonJS({
+ "node_modules/braces/lib/utils.js"(exports) {
+ "use strict";
+ exports.isInteger = (num) => {
+ if (typeof num === "number") {
+ return Number.isInteger(num);
}
- if (l < 0.5) {
- t2 = l * (1 + s);
- } else {
- t2 = l + s - l * s;
+ if (typeof num === "string" && num.trim() !== "") {
+ return Number.isInteger(Number(num));
}
- t1 = 2 * l - t2;
- rgb = [0, 0, 0];
- for (var i = 0; i < 3; i++) {
- t3 = h + 1 / 3 * -(i - 1);
- if (t3 < 0) {
- t3++;
- }
- if (t3 > 1) {
- t3--;
- }
- if (6 * t3 < 1) {
- val = t1 + (t2 - t1) * 6 * t3;
- } else if (2 * t3 < 1) {
- val = t2;
- } else if (3 * t3 < 2) {
- val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
- } else {
- val = t1;
+ return false;
+ };
+ exports.find = (node, type) => node.nodes.find((node2) => node2.type === type);
+ exports.exceedsLimit = (min, max, step = 1, limit) => {
+ if (limit === false)
+ return false;
+ if (!exports.isInteger(min) || !exports.isInteger(max))
+ return false;
+ return (Number(max) - Number(min)) / Number(step) >= limit;
+ };
+ exports.escapeNode = (block, n = 0, type) => {
+ let node = block.nodes[n];
+ if (!node)
+ return;
+ if (type && node.type === type || node.type === "open" || node.type === "close") {
+ if (node.escaped !== true) {
+ node.value = "\\" + node.value;
+ node.escaped = true;
}
- rgb[i] = val * 255;
}
- return rgb;
};
- convert.hsl.hsv = function(hsl) {
- var h = hsl[0];
- var s = hsl[1] / 100;
- var l = hsl[2] / 100;
- var smin = s;
- var lmin = Math.max(l, 0.01);
- var sv;
- var v;
- l *= 2;
- s *= l <= 1 ? l : 2 - l;
- smin *= lmin <= 1 ? lmin : 2 - lmin;
- v = (l + s) / 2;
- sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
- return [h, sv * 100, v * 100];
+ exports.encloseBrace = (node) => {
+ if (node.type !== "brace")
+ return false;
+ if (node.commas >> 0 + node.ranges >> 0 === 0) {
+ node.invalid = true;
+ return true;
+ }
+ return false;
};
- convert.hsv.rgb = function(hsv) {
- var h = hsv[0] / 60;
- var s = hsv[1] / 100;
- var v = hsv[2] / 100;
- var hi = Math.floor(h) % 6;
- var f = h - Math.floor(h);
- var p = 255 * v * (1 - s);
- var q = 255 * v * (1 - s * f);
- var t = 255 * v * (1 - s * (1 - f));
- v *= 255;
- switch (hi) {
- case 0:
- return [v, t, p];
- case 1:
- return [q, v, p];
- case 2:
- return [p, v, t];
- case 3:
- return [p, q, v];
- case 4:
- return [t, p, v];
- case 5:
- return [v, p, q];
- }
- };
- convert.hsv.hsl = function(hsv) {
- var h = hsv[0];
- var s = hsv[1] / 100;
- var v = hsv[2] / 100;
- var vmin = Math.max(v, 0.01);
- var lmin;
- var sl;
- var l;
- l = (2 - s) * v;
- lmin = (2 - s) * vmin;
- sl = s * vmin;
- sl /= lmin <= 1 ? lmin : 2 - lmin;
- sl = sl || 0;
- l /= 2;
- return [h, sl * 100, l * 100];
- };
- convert.hwb.rgb = function(hwb) {
- var h = hwb[0] / 360;
- var wh = hwb[1] / 100;
- var bl = hwb[2] / 100;
- var ratio = wh + bl;
- var i;
- var v;
- var f;
- var n;
- if (ratio > 1) {
- wh /= ratio;
- bl /= ratio;
- }
- i = Math.floor(6 * h);
- v = 1 - bl;
- f = 6 * h - i;
- if ((i & 1) !== 0) {
- f = 1 - f;
+ exports.isInvalidBrace = (block) => {
+ if (block.type !== "brace")
+ return false;
+ if (block.invalid === true || block.dollar)
+ return true;
+ if (block.commas >> 0 + block.ranges >> 0 === 0) {
+ block.invalid = true;
+ return true;
}
- n = wh + f * (v - wh);
- var r;
- var g;
- var b;
- switch (i) {
- default:
- case 6:
- case 0:
- r = v;
- g = n;
- b = wh;
- break;
- case 1:
- r = n;
- g = v;
- b = wh;
- break;
- case 2:
- r = wh;
- g = v;
- b = n;
- break;
- case 3:
- r = wh;
- g = n;
- b = v;
- break;
- case 4:
- r = n;
- g = wh;
- b = v;
- break;
- case 5:
- r = v;
- g = wh;
- b = n;
- break;
+ if (block.open !== true || block.close !== true) {
+ block.invalid = true;
+ return true;
}
- return [r * 255, g * 255, b * 255];
- };
- convert.cmyk.rgb = function(cmyk) {
- var c = cmyk[0] / 100;
- var m = cmyk[1] / 100;
- var y = cmyk[2] / 100;
- var k = cmyk[3] / 100;
- var r;
- var g;
- var b;
- r = 1 - Math.min(1, c * (1 - k) + k);
- g = 1 - Math.min(1, m * (1 - k) + k);
- b = 1 - Math.min(1, y * (1 - k) + k);
- return [r * 255, g * 255, b * 255];
+ return false;
};
- convert.xyz.rgb = function(xyz) {
- var x = xyz[0] / 100;
- var y = xyz[1] / 100;
- var z = xyz[2] / 100;
- var r;
- var g;
- var b;
- r = x * 3.2406 + y * -1.5372 + z * -0.4986;
- g = x * -0.9689 + y * 1.8758 + z * 0.0415;
- b = x * 0.0557 + y * -0.204 + z * 1.057;
- r = r > 31308e-7 ? 1.055 * Math.pow(r, 1 / 2.4) - 0.055 : r * 12.92;
- g = g > 31308e-7 ? 1.055 * Math.pow(g, 1 / 2.4) - 0.055 : g * 12.92;
- b = b > 31308e-7 ? 1.055 * Math.pow(b, 1 / 2.4) - 0.055 : b * 12.92;
- r = Math.min(Math.max(0, r), 1);
- g = Math.min(Math.max(0, g), 1);
- b = Math.min(Math.max(0, b), 1);
- return [r * 255, g * 255, b * 255];
+ exports.isOpenOrClose = (node) => {
+ if (node.type === "open" || node.type === "close") {
+ return true;
+ }
+ return node.open === true || node.close === true;
};
- convert.xyz.lab = function(xyz) {
- var x = xyz[0];
- var y = xyz[1];
- var z = xyz[2];
- var l;
- var a;
- var b;
- x /= 95.047;
- y /= 100;
- z /= 108.883;
- x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
- y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
- z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
- l = 116 * y - 16;
- a = 500 * (x - y);
- b = 200 * (y - z);
- return [l, a, b];
+ exports.reduce = (nodes) => nodes.reduce((acc, node) => {
+ if (node.type === "text")
+ acc.push(node.value);
+ if (node.type === "range")
+ node.type = "text";
+ return acc;
+ }, []);
+ exports.flatten = (...args) => {
+ const result = [];
+ const flat = (arr) => {
+ for (let i = 0; i < arr.length; i++) {
+ let ele = arr[i];
+ Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele);
+ }
+ return result;
+ };
+ flat(args);
+ return result;
};
- convert.lab.xyz = function(lab) {
- var l = lab[0];
- var a = lab[1];
- var b = lab[2];
- var x;
- var y;
- var z;
- y = (l + 16) / 116;
- x = a / 500 + y;
- z = y - b / 200;
- var y2 = Math.pow(y, 3);
- var x2 = Math.pow(x, 3);
- var z2 = Math.pow(z, 3);
- y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787;
- x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787;
- z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787;
- x *= 95.047;
- y *= 100;
- z *= 108.883;
- return [x, y, z];
+ }
+});
+
+// node_modules/braces/lib/stringify.js
+var require_stringify = __commonJS({
+ "node_modules/braces/lib/stringify.js"(exports, module) {
+ "use strict";
+ var utils = require_utils();
+ module.exports = (ast, options8 = {}) => {
+ let stringify = (node, parent = {}) => {
+ let invalidBlock = options8.escapeInvalid && utils.isInvalidBrace(parent);
+ let invalidNode = node.invalid === true && options8.escapeInvalid === true;
+ let output = "";
+ if (node.value) {
+ if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
+ return "\\" + node.value;
+ }
+ return node.value;
+ }
+ if (node.value) {
+ return node.value;
+ }
+ if (node.nodes) {
+ for (let child of node.nodes) {
+ output += stringify(child);
+ }
+ }
+ return output;
+ };
+ return stringify(ast);
};
- convert.lab.lch = function(lab) {
- var l = lab[0];
- var a = lab[1];
- var b = lab[2];
- var hr;
- var h;
- var c;
- hr = Math.atan2(b, a);
- h = hr * 360 / 2 / Math.PI;
- if (h < 0) {
- h += 360;
+ }
+});
+
+// node_modules/is-number/index.js
+var require_is_number = __commonJS({
+ "node_modules/is-number/index.js"(exports, module) {
+ "use strict";
+ module.exports = function(num) {
+ if (typeof num === "number") {
+ return num - num === 0;
}
- c = Math.sqrt(a * a + b * b);
- return [l, c, h];
+ if (typeof num === "string" && num.trim() !== "") {
+ return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
+ }
+ return false;
};
- convert.lch.lab = function(lch) {
- var l = lch[0];
- var c = lch[1];
- var h = lch[2];
- var a;
- var b;
- var hr;
- hr = h / 360 * 2 * Math.PI;
- a = c * Math.cos(hr);
- b = c * Math.sin(hr);
- return [l, a, b];
- };
- convert.rgb.ansi16 = function(args) {
- var r = args[0];
- var g = args[1];
- var b = args[2];
- var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2];
- value = Math.round(value / 50);
- if (value === 0) {
- return 30;
+ }
+});
+
+// node_modules/to-regex-range/index.js
+var require_to_regex_range = __commonJS({
+ "node_modules/to-regex-range/index.js"(exports, module) {
+ "use strict";
+ var isNumber = require_is_number();
+ var toRegexRange = (min, max, options8) => {
+ if (isNumber(min) === false) {
+ throw new TypeError("toRegexRange: expected the first argument to be a number");
}
- var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
- if (value === 2) {
- ansi += 60;
+ if (max === void 0 || min === max) {
+ return String(min);
}
- return ansi;
- };
- convert.hsv.ansi16 = function(args) {
- return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
- };
- convert.rgb.ansi256 = function(args) {
- var r = args[0];
- var g = args[1];
- var b = args[2];
- if (r === g && g === b) {
- if (r < 8) {
- return 16;
+ if (isNumber(max) === false) {
+ throw new TypeError("toRegexRange: expected the second argument to be a number.");
+ }
+ let opts = { relaxZeros: true, ...options8 };
+ if (typeof opts.strictZeros === "boolean") {
+ opts.relaxZeros = opts.strictZeros === false;
+ }
+ let relax = String(opts.relaxZeros);
+ let shorthand = String(opts.shorthand);
+ let capture = String(opts.capture);
+ let wrap = String(opts.wrap);
+ let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap;
+ if (toRegexRange.cache.hasOwnProperty(cacheKey)) {
+ return toRegexRange.cache[cacheKey].result;
+ }
+ let a = Math.min(min, max);
+ let b = Math.max(min, max);
+ if (Math.abs(a - b) === 1) {
+ let result = min + "|" + max;
+ if (opts.capture) {
+ return `(${result})`;
}
- if (r > 248) {
- return 231;
+ if (opts.wrap === false) {
+ return result;
}
- return Math.round((r - 8) / 247 * 24) + 232;
+ return `(?:${result})`;
}
- var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
- return ansi;
- };
- convert.ansi16.rgb = function(args) {
- var color = args % 10;
- if (color === 0 || color === 7) {
- if (args > 50) {
- color += 3.5;
- }
- color = color / 10.5 * 255;
- return [color, color, color];
+ let isPadded = hasPadding(min) || hasPadding(max);
+ let state = { min, max, a, b };
+ let positives = [];
+ let negatives = [];
+ if (isPadded) {
+ state.isPadded = isPadded;
+ state.maxLen = String(state.max).length;
}
- var mult = (~~(args > 50) + 1) * 0.5;
- var r = (color & 1) * mult * 255;
- var g = (color >> 1 & 1) * mult * 255;
- var b = (color >> 2 & 1) * mult * 255;
- return [r, g, b];
- };
- convert.ansi256.rgb = function(args) {
- if (args >= 232) {
- var c = (args - 232) * 10 + 8;
- return [c, c, c];
+ if (a < 0) {
+ let newMin = b < 0 ? Math.abs(b) : 1;
+ negatives = splitToPatterns(newMin, Math.abs(a), state, opts);
+ a = state.a = 0;
}
- args -= 16;
- var rem;
- var r = Math.floor(args / 36) / 5 * 255;
- var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
- var b = rem % 6 / 5 * 255;
- return [r, g, b];
- };
- convert.rgb.hex = function(args) {
- var integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
- var string = integer.toString(16).toUpperCase();
- return "000000".substring(string.length) + string;
- };
- convert.hex.rgb = function(args) {
- var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
- if (!match) {
- return [0, 0, 0];
+ if (b >= 0) {
+ positives = splitToPatterns(a, b, state, opts);
}
- var colorString = match[0];
- if (match[0].length === 3) {
- colorString = colorString.split("").map(function(char) {
- return char + char;
- }).join("");
+ state.negatives = negatives;
+ state.positives = positives;
+ state.result = collatePatterns(negatives, positives, opts);
+ if (opts.capture === true) {
+ state.result = `(${state.result})`;
+ } else if (opts.wrap !== false && positives.length + negatives.length > 1) {
+ state.result = `(?:${state.result})`;
}
- var integer = parseInt(colorString, 16);
- var r = integer >> 16 & 255;
- var g = integer >> 8 & 255;
- var b = integer & 255;
- return [r, g, b];
+ toRegexRange.cache[cacheKey] = state;
+ return state.result;
};
- convert.rgb.hcg = function(rgb) {
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255;
- var max = Math.max(Math.max(r, g), b);
- var min = Math.min(Math.min(r, g), b);
- var chroma = max - min;
- var grayscale;
- var hue;
- if (chroma < 1) {
- grayscale = min / (1 - chroma);
- } else {
- grayscale = 0;
- }
- if (chroma <= 0) {
- hue = 0;
- } else if (max === r) {
- hue = (g - b) / chroma % 6;
- } else if (max === g) {
- hue = 2 + (b - r) / chroma;
- } else {
- hue = 4 + (r - g) / chroma + 4;
+ function collatePatterns(neg, pos, options8) {
+ let onlyNegative = filterPatterns(neg, pos, "-", false, options8) || [];
+ let onlyPositive = filterPatterns(pos, neg, "", false, options8) || [];
+ let intersected = filterPatterns(neg, pos, "-?", true, options8) || [];
+ let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);
+ return subpatterns.join("|");
+ }
+ function splitToRanges(min, max) {
+ let nines = 1;
+ let zeros = 1;
+ let stop = countNines(min, nines);
+ let stops = /* @__PURE__ */ new Set([max]);
+ while (min <= stop && stop <= max) {
+ stops.add(stop);
+ nines += 1;
+ stop = countNines(min, nines);
}
- hue /= 6;
- hue %= 1;
- return [hue * 360, chroma * 100, grayscale * 100];
- };
- convert.hsl.hcg = function(hsl) {
- var s = hsl[1] / 100;
- var l = hsl[2] / 100;
- var c = 1;
- var f = 0;
- if (l < 0.5) {
- c = 2 * s * l;
- } else {
- c = 2 * s * (1 - l);
+ stop = countZeros(max + 1, zeros) - 1;
+ while (min < stop && stop <= max) {
+ stops.add(stop);
+ zeros += 1;
+ stop = countZeros(max + 1, zeros) - 1;
}
- if (c < 1) {
- f = (l - 0.5 * c) / (1 - c);
+ stops = [...stops];
+ stops.sort(compare);
+ return stops;
+ }
+ function rangeToPattern(start, stop, options8) {
+ if (start === stop) {
+ return { pattern: start, count: [], digits: 0 };
}
- return [hsl[0], c * 100, f * 100];
- };
- convert.hsv.hcg = function(hsv) {
- var s = hsv[1] / 100;
- var v = hsv[2] / 100;
- var c = s * v;
- var f = 0;
- if (c < 1) {
- f = (v - c) / (1 - c);
+ let zipped = zip(start, stop);
+ let digits = zipped.length;
+ let pattern = "";
+ let count = 0;
+ for (let i = 0; i < digits; i++) {
+ let [startDigit, stopDigit] = zipped[i];
+ if (startDigit === stopDigit) {
+ pattern += startDigit;
+ } else if (startDigit !== "0" || stopDigit !== "9") {
+ pattern += toCharacterClass(startDigit, stopDigit, options8);
+ } else {
+ count++;
+ }
}
- return [hsv[0], c * 100, f * 100];
- };
- convert.hcg.rgb = function(hcg) {
- var h = hcg[0] / 360;
- var c = hcg[1] / 100;
- var g = hcg[2] / 100;
- if (c === 0) {
- return [g * 255, g * 255, g * 255];
+ if (count) {
+ pattern += options8.shorthand === true ? "\\d" : "[0-9]";
}
- var pure = [0, 0, 0];
- var hi = h % 1 * 6;
- var v = hi % 1;
- var w = 1 - v;
- var mg = 0;
- switch (Math.floor(hi)) {
- case 0:
- pure[0] = 1;
- pure[1] = v;
- pure[2] = 0;
- break;
- case 1:
- pure[0] = w;
- pure[1] = 1;
- pure[2] = 0;
- break;
- case 2:
- pure[0] = 0;
- pure[1] = 1;
- pure[2] = v;
- break;
- case 3:
- pure[0] = 0;
- pure[1] = w;
- pure[2] = 1;
- break;
- case 4:
- pure[0] = v;
- pure[1] = 0;
- pure[2] = 1;
- break;
- default:
- pure[0] = 1;
- pure[1] = 0;
- pure[2] = w;
+ return { pattern, count: [count], digits };
+ }
+ function splitToPatterns(min, max, tok, options8) {
+ let ranges = splitToRanges(min, max);
+ let tokens = [];
+ let start = min;
+ let prev;
+ for (let i = 0; i < ranges.length; i++) {
+ let max2 = ranges[i];
+ let obj = rangeToPattern(String(start), String(max2), options8);
+ let zeros = "";
+ if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
+ if (prev.count.length > 1) {
+ prev.count.pop();
+ }
+ prev.count.push(obj.count[0]);
+ prev.string = prev.pattern + toQuantifier(prev.count);
+ start = max2 + 1;
+ continue;
+ }
+ if (tok.isPadded) {
+ zeros = padZeros(max2, tok, options8);
+ }
+ obj.string = zeros + obj.pattern + toQuantifier(obj.count);
+ tokens.push(obj);
+ start = max2 + 1;
+ prev = obj;
}
- mg = (1 - c) * g;
- return [
- (c * pure[0] + mg) * 255,
- (c * pure[1] + mg) * 255,
- (c * pure[2] + mg) * 255
- ];
- };
- convert.hcg.hsv = function(hcg) {
- var c = hcg[1] / 100;
- var g = hcg[2] / 100;
- var v = c + g * (1 - c);
- var f = 0;
- if (v > 0) {
- f = c / v;
+ return tokens;
+ }
+ function filterPatterns(arr, comparison, prefix, intersection, options8) {
+ let result = [];
+ for (let ele of arr) {
+ let { string } = ele;
+ if (!intersection && !contains(comparison, "string", string)) {
+ result.push(prefix + string);
+ }
+ if (intersection && contains(comparison, "string", string)) {
+ result.push(prefix + string);
+ }
}
- return [hcg[0], f * 100, v * 100];
- };
- convert.hcg.hsl = function(hcg) {
- var c = hcg[1] / 100;
- var g = hcg[2] / 100;
- var l = g * (1 - c) + 0.5 * c;
- var s = 0;
- if (l > 0 && l < 0.5) {
- s = c / (2 * l);
- } else if (l >= 0.5 && l < 1) {
- s = c / (2 * (1 - l));
+ return result;
+ }
+ function zip(a, b) {
+ let arr = [];
+ for (let i = 0; i < a.length; i++)
+ arr.push([a[i], b[i]]);
+ return arr;
+ }
+ function compare(a, b) {
+ return a > b ? 1 : b > a ? -1 : 0;
+ }
+ function contains(arr, key, val) {
+ return arr.some((ele) => ele[key] === val);
+ }
+ function countNines(min, len) {
+ return Number(String(min).slice(0, -len) + "9".repeat(len));
+ }
+ function countZeros(integer, zeros) {
+ return integer - integer % Math.pow(10, zeros);
+ }
+ function toQuantifier(digits) {
+ let [start = 0, stop = ""] = digits;
+ if (stop || start > 1) {
+ return `{${start + (stop ? "," + stop : "")}}`;
}
- return [hcg[0], s * 100, l * 100];
+ return "";
+ }
+ function toCharacterClass(a, b, options8) {
+ return `[${a}${b - a === 1 ? "" : "-"}${b}]`;
+ }
+ function hasPadding(str) {
+ return /^-?(0+)\d/.test(str);
+ }
+ function padZeros(value, tok, options8) {
+ if (!tok.isPadded) {
+ return value;
+ }
+ let diff = Math.abs(tok.maxLen - String(value).length);
+ let relax = options8.relaxZeros !== false;
+ switch (diff) {
+ case 0:
+ return "";
+ case 1:
+ return relax ? "0?" : "0";
+ case 2:
+ return relax ? "0{0,2}" : "00";
+ default: {
+ return relax ? `0{0,${diff}}` : `0{${diff}}`;
+ }
+ }
+ }
+ toRegexRange.cache = {};
+ toRegexRange.clearCache = () => toRegexRange.cache = {};
+ module.exports = toRegexRange;
+ }
+});
+
+// node_modules/fill-range/index.js
+var require_fill_range = __commonJS({
+ "node_modules/fill-range/index.js"(exports, module) {
+ "use strict";
+ var util = __require("util");
+ var toRegexRange = require_to_regex_range();
+ var isObject2 = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
+ var transform2 = (toNumber) => {
+ return (value) => toNumber === true ? Number(value) : String(value);
};
- convert.hcg.hwb = function(hcg) {
- var c = hcg[1] / 100;
- var g = hcg[2] / 100;
- var v = c + g * (1 - c);
- return [hcg[0], (v - c) * 100, (1 - v) * 100];
+ var isValidValue = (value) => {
+ return typeof value === "number" || typeof value === "string" && value !== "";
};
- convert.hwb.hcg = function(hwb) {
- var w = hwb[1] / 100;
- var b = hwb[2] / 100;
- var v = 1 - b;
- var c = v - w;
- var g = 0;
- if (c < 1) {
- g = (v - c) / (1 - c);
+ var isNumber = (num) => Number.isInteger(+num);
+ var zeros = (input) => {
+ let value = `${input}`;
+ let index = -1;
+ if (value[0] === "-")
+ value = value.slice(1);
+ if (value === "0")
+ return false;
+ while (value[++index] === "0")
+ ;
+ return index > 0;
+ };
+ var stringify = (start, end, options8) => {
+ if (typeof start === "string" || typeof end === "string") {
+ return true;
}
- return [hwb[0], c * 100, g * 100];
+ return options8.stringify === true;
};
- convert.apple.rgb = function(apple) {
- return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
+ var pad = (input, maxLength, toNumber) => {
+ if (maxLength > 0) {
+ let dash = input[0] === "-" ? "-" : "";
+ if (dash)
+ input = input.slice(1);
+ input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0");
+ }
+ if (toNumber === false) {
+ return String(input);
+ }
+ return input;
};
- convert.rgb.apple = function(rgb) {
- return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
+ var toMaxLen = (input, maxLength) => {
+ let negative = input[0] === "-" ? "-" : "";
+ if (negative) {
+ input = input.slice(1);
+ maxLength--;
+ }
+ while (input.length < maxLength)
+ input = "0" + input;
+ return negative ? "-" + input : input;
};
- convert.gray.rgb = function(args) {
- return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
+ var toSequence = (parts, options8) => {
+ parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
+ parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
+ let prefix = options8.capture ? "" : "?:";
+ let positives = "";
+ let negatives = "";
+ let result;
+ if (parts.positives.length) {
+ positives = parts.positives.join("|");
+ }
+ if (parts.negatives.length) {
+ negatives = `-(${prefix}${parts.negatives.join("|")})`;
+ }
+ if (positives && negatives) {
+ result = `${positives}|${negatives}`;
+ } else {
+ result = positives || negatives;
+ }
+ if (options8.wrap) {
+ return `(${prefix}${result})`;
+ }
+ return result;
};
- convert.gray.hsl = convert.gray.hsv = function(args) {
- return [0, 0, args[0]];
+ var toRange = (a, b, isNumbers, options8) => {
+ if (isNumbers) {
+ return toRegexRange(a, b, { wrap: false, ...options8 });
+ }
+ let start = String.fromCharCode(a);
+ if (a === b)
+ return start;
+ let stop = String.fromCharCode(b);
+ return `[${start}-${stop}]`;
};
- convert.gray.hwb = function(gray) {
- return [0, 100, gray[0]];
+ var toRegex = (start, end, options8) => {
+ if (Array.isArray(start)) {
+ let wrap = options8.wrap === true;
+ let prefix = options8.capture ? "" : "?:";
+ return wrap ? `(${prefix}${start.join("|")})` : start.join("|");
+ }
+ return toRegexRange(start, end, options8);
};
- convert.gray.cmyk = function(gray) {
- return [0, 0, 0, gray[0]];
+ var rangeError = (...args) => {
+ return new RangeError("Invalid range arguments: " + util.inspect(...args));
};
- convert.gray.lab = function(gray) {
- return [gray[0], 0, 0];
+ var invalidRange = (start, end, options8) => {
+ if (options8.strictRanges === true)
+ throw rangeError([start, end]);
+ return [];
};
- convert.gray.hex = function(gray) {
- var val = Math.round(gray[0] / 100 * 255) & 255;
- var integer = (val << 16) + (val << 8) + val;
- var string = integer.toString(16).toUpperCase();
- return "000000".substring(string.length) + string;
- };
- convert.rgb.gray = function(rgb) {
- var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
- return [val / 255 * 100];
+ var invalidStep = (step, options8) => {
+ if (options8.strictRanges === true) {
+ throw new TypeError(`Expected step "${step}" to be a number`);
+ }
+ return [];
};
- }
-});
-
-// node_modules/color-convert/route.js
-var require_route = __commonJS({
- "node_modules/color-convert/route.js"(exports, module) {
- var conversions = require_conversions();
- function buildGraph() {
- var graph = {};
- var models = Object.keys(conversions);
- for (var len = models.length, i = 0; i < len; i++) {
- graph[models[i]] = {
- // http://jsperf.com/1-vs-infinity
- // micro-opt, but this is simple.
- distance: -1,
- parent: null
- };
+ var fillNumbers = (start, end, step = 1, options8 = {}) => {
+ let a = Number(start);
+ let b = Number(end);
+ if (!Number.isInteger(a) || !Number.isInteger(b)) {
+ if (options8.strictRanges === true)
+ throw rangeError([start, end]);
+ return [];
}
- return graph;
- }
- function deriveBFS(fromModel) {
- var graph = buildGraph();
- var queue = [fromModel];
- graph[fromModel].distance = 0;
- while (queue.length) {
- var current = queue.pop();
- var adjacents = Object.keys(conversions[current]);
- for (var len = adjacents.length, i = 0; i < len; i++) {
- var adjacent = adjacents[i];
- var node = graph[adjacent];
- if (node.distance === -1) {
- node.distance = graph[current].distance + 1;
- node.parent = current;
- queue.unshift(adjacent);
- }
+ if (a === 0)
+ a = 0;
+ if (b === 0)
+ b = 0;
+ let descending = a > b;
+ let startString = String(start);
+ let endString = String(end);
+ let stepString = String(step);
+ step = Math.max(Math.abs(step), 1);
+ let padded = zeros(startString) || zeros(endString) || zeros(stepString);
+ let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
+ let toNumber = padded === false && stringify(start, end, options8) === false;
+ let format3 = options8.transform || transform2(toNumber);
+ if (options8.toRegex && step === 1) {
+ return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options8);
+ }
+ let parts = { negatives: [], positives: [] };
+ let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num));
+ let range = [];
+ let index = 0;
+ while (descending ? a >= b : a <= b) {
+ if (options8.toRegex === true && step > 1) {
+ push(a);
+ } else {
+ range.push(pad(format3(a, index), maxLen, toNumber));
}
+ a = descending ? a - step : a + step;
+ index++;
}
- return graph;
- }
- function link(from, to) {
- return function(args) {
- return to(from(args));
- };
- }
- function wrapConversion(toModel, graph) {
- var path9 = [graph[toModel].parent, toModel];
- var fn = conversions[graph[toModel].parent][toModel];
- var cur = graph[toModel].parent;
- while (graph[cur].parent) {
- path9.unshift(graph[cur].parent);
- fn = link(conversions[graph[cur].parent][cur], fn);
- cur = graph[cur].parent;
+ if (options8.toRegex === true) {
+ return step > 1 ? toSequence(parts, options8) : toRegex(range, null, { wrap: false, ...options8 });
}
- fn.conversion = path9;
- return fn;
- }
- module.exports = function(fromModel) {
- var graph = deriveBFS(fromModel);
- var conversion = {};
- var models = Object.keys(graph);
- for (var len = models.length, i = 0; i < len; i++) {
- var toModel = models[i];
- var node = graph[toModel];
- if (node.parent === null) {
- continue;
- }
- conversion[toModel] = wrapConversion(toModel, graph);
+ return range;
+ };
+ var fillLetters = (start, end, step = 1, options8 = {}) => {
+ if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) {
+ return invalidRange(start, end, options8);
}
- return conversion;
+ let format3 = options8.transform || ((val) => String.fromCharCode(val));
+ let a = `${start}`.charCodeAt(0);
+ let b = `${end}`.charCodeAt(0);
+ let descending = a > b;
+ let min = Math.min(a, b);
+ let max = Math.max(a, b);
+ if (options8.toRegex && step === 1) {
+ return toRange(min, max, false, options8);
+ }
+ let range = [];
+ let index = 0;
+ while (descending ? a >= b : a <= b) {
+ range.push(format3(a, index));
+ a = descending ? a - step : a + step;
+ index++;
+ }
+ if (options8.toRegex === true) {
+ return toRegex(range, null, { wrap: false, options: options8 });
+ }
+ return range;
+ };
+ var fill2 = (start, end, step, options8 = {}) => {
+ if (end == null && isValidValue(start)) {
+ return [start];
+ }
+ if (!isValidValue(start) || !isValidValue(end)) {
+ return invalidRange(start, end, options8);
+ }
+ if (typeof step === "function") {
+ return fill2(start, end, 1, { transform: step });
+ }
+ if (isObject2(step)) {
+ return fill2(start, end, 0, step);
+ }
+ let opts = { ...options8 };
+ if (opts.capture === true)
+ opts.wrap = true;
+ step = step || opts.step || 1;
+ if (!isNumber(step)) {
+ if (step != null && !isObject2(step))
+ return invalidStep(step, opts);
+ return fill2(start, end, 1, step);
+ }
+ if (isNumber(start) && isNumber(end)) {
+ return fillNumbers(start, end, step, opts);
+ }
+ return fillLetters(start, end, Math.max(Math.abs(step), 1), opts);
};
+ module.exports = fill2;
}
});
-// node_modules/color-convert/index.js
-var require_color_convert = __commonJS({
- "node_modules/color-convert/index.js"(exports, module) {
- var conversions = require_conversions();
- var route = require_route();
- var convert = {};
- var models = Object.keys(conversions);
- function wrapRaw(fn) {
- var wrappedFn = function(args) {
- if (args === void 0 || args === null) {
- return args;
+// node_modules/braces/lib/compile.js
+var require_compile = __commonJS({
+ "node_modules/braces/lib/compile.js"(exports, module) {
+ "use strict";
+ var fill2 = require_fill_range();
+ var utils = require_utils();
+ var compile = (ast, options8 = {}) => {
+ let walk = (node, parent = {}) => {
+ let invalidBlock = utils.isInvalidBrace(parent);
+ let invalidNode = node.invalid === true && options8.escapeInvalid === true;
+ let invalid = invalidBlock === true || invalidNode === true;
+ let prefix = options8.escapeInvalid === true ? "\\" : "";
+ let output = "";
+ if (node.isOpen === true) {
+ return prefix + node.value;
}
- if (arguments.length > 1) {
- args = Array.prototype.slice.call(arguments);
+ if (node.isClose === true) {
+ return prefix + node.value;
}
- return fn(args);
- };
- if ("conversion" in fn) {
- wrappedFn.conversion = fn.conversion;
- }
- return wrappedFn;
- }
- function wrapRounded(fn) {
- var wrappedFn = function(args) {
- if (args === void 0 || args === null) {
- return args;
+ if (node.type === "open") {
+ return invalid ? prefix + node.value : "(";
}
- if (arguments.length > 1) {
- args = Array.prototype.slice.call(arguments);
+ if (node.type === "close") {
+ return invalid ? prefix + node.value : ")";
}
- var result = fn(args);
- if (typeof result === "object") {
- for (var len = result.length, i = 0; i < len; i++) {
- result[i] = Math.round(result[i]);
+ if (node.type === "comma") {
+ return node.prev.type === "comma" ? "" : invalid ? node.value : "|";
+ }
+ if (node.value) {
+ return node.value;
+ }
+ if (node.nodes && node.ranges > 0) {
+ let args = utils.reduce(node.nodes);
+ let range = fill2(...args, { ...options8, wrap: false, toRegex: true });
+ if (range.length !== 0) {
+ return args.length > 1 && range.length > 1 ? `(${range})` : range;
}
}
- return result;
+ if (node.nodes) {
+ for (let child of node.nodes) {
+ output += walk(child, node);
+ }
+ }
+ return output;
};
- if ("conversion" in fn) {
- wrappedFn.conversion = fn.conversion;
- }
- return wrappedFn;
- }
- models.forEach(function(fromModel) {
- convert[fromModel] = {};
- Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels });
- Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels });
- var routes = route(fromModel);
- var routeModels = Object.keys(routes);
- routeModels.forEach(function(toModel) {
- var fn = routes[toModel];
- convert[fromModel][toModel] = wrapRounded(fn);
- convert[fromModel][toModel].raw = wrapRaw(fn);
- });
- });
- module.exports = convert;
+ return walk(ast);
+ };
+ module.exports = compile;
}
});
-// node_modules/ansi-styles/index.js
-var require_ansi_styles = __commonJS({
- "node_modules/ansi-styles/index.js"(exports, module) {
- "use strict";
- var colorConvert = require_color_convert();
- var wrapAnsi16 = (fn, offset) => function() {
- const code = fn.apply(colorConvert, arguments);
- return `\x1B[${code + offset}m`;
- };
- var wrapAnsi256 = (fn, offset) => function() {
- const code = fn.apply(colorConvert, arguments);
- return `\x1B[${38 + offset};5;${code}m`;
- };
- var wrapAnsi16m = (fn, offset) => function() {
- const rgb = fn.apply(colorConvert, arguments);
- return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
- };
- function assembleStyles() {
- const codes2 = /* @__PURE__ */ new Map();
- const styles = {
- modifier: {
- reset: [0, 0],
- // 21 isn't widely supported and 22 does the same thing
- bold: [1, 22],
- dim: [2, 22],
- italic: [3, 23],
- underline: [4, 24],
- inverse: [7, 27],
- hidden: [8, 28],
- strikethrough: [9, 29]
- },
- color: {
- black: [30, 39],
- red: [31, 39],
- green: [32, 39],
- yellow: [33, 39],
- blue: [34, 39],
- magenta: [35, 39],
- cyan: [36, 39],
- white: [37, 39],
- gray: [90, 39],
- // Bright color
- redBright: [91, 39],
- greenBright: [92, 39],
- yellowBright: [93, 39],
- blueBright: [94, 39],
- magentaBright: [95, 39],
- cyanBright: [96, 39],
- whiteBright: [97, 39]
- },
- bgColor: {
- bgBlack: [40, 49],
- bgRed: [41, 49],
- bgGreen: [42, 49],
- bgYellow: [43, 49],
- bgBlue: [44, 49],
- bgMagenta: [45, 49],
- bgCyan: [46, 49],
- bgWhite: [47, 49],
- // Bright color
- bgBlackBright: [100, 49],
- bgRedBright: [101, 49],
- bgGreenBright: [102, 49],
- bgYellowBright: [103, 49],
- bgBlueBright: [104, 49],
- bgMagentaBright: [105, 49],
- bgCyanBright: [106, 49],
- bgWhiteBright: [107, 49]
- }
- };
- styles.color.grey = styles.color.gray;
- for (const groupName of Object.keys(styles)) {
- const group = styles[groupName];
- for (const styleName of Object.keys(group)) {
- const style = group[styleName];
- styles[styleName] = {
- open: `\x1B[${style[0]}m`,
- close: `\x1B[${style[1]}m`
- };
- group[styleName] = styles[styleName];
- codes2.set(style[0], style[1]);
+// node_modules/braces/lib/expand.js
+var require_expand = __commonJS({
+ "node_modules/braces/lib/expand.js"(exports, module) {
+ "use strict";
+ var fill2 = require_fill_range();
+ var stringify = require_stringify();
+ var utils = require_utils();
+ var append = (queue = "", stash = "", enclose = false) => {
+ let result = [];
+ queue = [].concat(queue);
+ stash = [].concat(stash);
+ if (!stash.length)
+ return queue;
+ if (!queue.length) {
+ return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash;
+ }
+ for (let item of queue) {
+ if (Array.isArray(item)) {
+ for (let value of item) {
+ result.push(append(value, stash, enclose));
+ }
+ } else {
+ for (let ele of stash) {
+ if (enclose === true && typeof ele === "string")
+ ele = `{${ele}}`;
+ result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele);
+ }
}
- Object.defineProperty(styles, groupName, {
- value: group,
- enumerable: false
- });
- Object.defineProperty(styles, "codes", {
- value: codes2,
- enumerable: false
- });
}
- const ansi2ansi = (n) => n;
- const rgb2rgb = (r, g, b) => [r, g, b];
- styles.color.close = "\x1B[39m";
- styles.bgColor.close = "\x1B[49m";
- styles.color.ansi = {
- ansi: wrapAnsi16(ansi2ansi, 0)
- };
- styles.color.ansi256 = {
- ansi256: wrapAnsi256(ansi2ansi, 0)
- };
- styles.color.ansi16m = {
- rgb: wrapAnsi16m(rgb2rgb, 0)
- };
- styles.bgColor.ansi = {
- ansi: wrapAnsi16(ansi2ansi, 10)
- };
- styles.bgColor.ansi256 = {
- ansi256: wrapAnsi256(ansi2ansi, 10)
- };
- styles.bgColor.ansi16m = {
- rgb: wrapAnsi16m(rgb2rgb, 10)
- };
- for (let key of Object.keys(colorConvert)) {
- if (typeof colorConvert[key] !== "object") {
- continue;
+ return utils.flatten(result);
+ };
+ var expand = (ast, options8 = {}) => {
+ let rangeLimit = options8.rangeLimit === void 0 ? 1e3 : options8.rangeLimit;
+ let walk = (node, parent = {}) => {
+ node.queue = [];
+ let p = parent;
+ let q = parent.queue;
+ while (p.type !== "brace" && p.type !== "root" && p.parent) {
+ p = p.parent;
+ q = p.queue;
}
- const suite = colorConvert[key];
- if (key === "ansi16") {
- key = "ansi";
+ if (node.invalid || node.dollar) {
+ q.push(append(q.pop(), stringify(node, options8)));
+ return;
}
- if ("ansi16" in suite) {
- styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);
- styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);
+ if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) {
+ q.push(append(q.pop(), ["{}"]));
+ return;
}
- if ("ansi256" in suite) {
- styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);
- styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);
+ if (node.nodes && node.ranges > 0) {
+ let args = utils.reduce(node.nodes);
+ if (utils.exceedsLimit(...args, options8.step, rangeLimit)) {
+ throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");
+ }
+ let range = fill2(...args, options8);
+ if (range.length === 0) {
+ range = stringify(node, options8);
+ }
+ q.push(append(q.pop(), range));
+ node.nodes = [];
+ return;
}
- if ("rgb" in suite) {
- styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);
- styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);
+ let enclose = utils.encloseBrace(node);
+ let queue = node.queue;
+ let block = node;
+ while (block.type !== "brace" && block.type !== "root" && block.parent) {
+ block = block.parent;
+ queue = block.queue;
}
- }
- return styles;
- }
- Object.defineProperty(module, "exports", {
- enumerable: true,
- get: assembleStyles
- });
- }
-});
-
-// node_modules/vnopts/node_modules/has-flag/index.js
-var require_has_flag = __commonJS({
- "node_modules/vnopts/node_modules/has-flag/index.js"(exports, module) {
- "use strict";
- module.exports = (flag, argv) => {
- argv = argv || process.argv;
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
- const pos = argv.indexOf(prefix + flag);
- const terminatorPos = argv.indexOf("--");
- return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
+ for (let i = 0; i < node.nodes.length; i++) {
+ let child = node.nodes[i];
+ if (child.type === "comma" && node.type === "brace") {
+ if (i === 1)
+ queue.push("");
+ queue.push("");
+ continue;
+ }
+ if (child.type === "close") {
+ q.push(append(q.pop(), queue, enclose));
+ continue;
+ }
+ if (child.value && child.type !== "open") {
+ queue.push(append(queue.pop(), child.value));
+ continue;
+ }
+ if (child.nodes) {
+ walk(child, node);
+ }
+ }
+ return queue;
+ };
+ return utils.flatten(walk(ast));
};
+ module.exports = expand;
}
});
-// node_modules/vnopts/node_modules/supports-color/index.js
-var require_supports_color = __commonJS({
- "node_modules/vnopts/node_modules/supports-color/index.js"(exports, module) {
+// node_modules/braces/lib/constants.js
+var require_constants = __commonJS({
+ "node_modules/braces/lib/constants.js"(exports, module) {
"use strict";
- var os = __require("os");
- var hasFlag = require_has_flag();
- var env = process.env;
- var forceColor;
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) {
- forceColor = false;
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
- forceColor = true;
- }
- if ("FORCE_COLOR" in env) {
- forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
- }
- function translateLevel(level) {
- if (level === 0) {
- return false;
- }
- return {
- level,
- hasBasic: true,
- has256: level >= 2,
- has16m: level >= 3
- };
- }
- function supportsColor(stream) {
- if (forceColor === false) {
- return 0;
- }
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
- return 3;
- }
- if (hasFlag("color=256")) {
- return 2;
- }
- if (stream && !stream.isTTY && forceColor !== true) {
- return 0;
- }
- const min = forceColor ? 1 : 0;
- if (process.platform === "win32") {
- const osRelease = os.release().split(".");
- if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
- }
- return 1;
- }
- if ("CI" in env) {
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
- return 1;
- }
- return min;
- }
- if ("TEAMCITY_VERSION" in env) {
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
- }
- if (env.COLORTERM === "truecolor") {
- return 3;
- }
- if ("TERM_PROGRAM" in env) {
- const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
- switch (env.TERM_PROGRAM) {
- case "iTerm.app":
- return version >= 3 ? 3 : 2;
- case "Apple_Terminal":
- return 2;
- }
- }
- if (/-256(color)?$/i.test(env.TERM)) {
- return 2;
- }
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
- return 1;
- }
- if ("COLORTERM" in env) {
- return 1;
- }
- if (env.TERM === "dumb") {
- return min;
- }
- return min;
- }
- function getSupportLevel(stream) {
- const level = supportsColor(stream);
- return translateLevel(level);
- }
module.exports = {
- supportsColor: getSupportLevel,
- stdout: getSupportLevel(process.stdout),
- stderr: getSupportLevel(process.stderr)
- };
+ MAX_LENGTH: 1024 * 64,
+ // Digits
+ CHAR_0: "0",
+ /* 0 */
+ CHAR_9: "9",
+ /* 9 */
+ // Alphabet chars.
+ CHAR_UPPERCASE_A: "A",
+ /* A */
+ CHAR_LOWERCASE_A: "a",
+ /* a */
+ CHAR_UPPERCASE_Z: "Z",
+ /* Z */
+ CHAR_LOWERCASE_Z: "z",
+ /* z */
+ CHAR_LEFT_PARENTHESES: "(",
+ /* ( */
+ CHAR_RIGHT_PARENTHESES: ")",
+ /* ) */
+ CHAR_ASTERISK: "*",
+ /* * */
+ // Non-alphabetic chars.
+ CHAR_AMPERSAND: "&",
+ /* & */
+ CHAR_AT: "@",
+ /* @ */
+ CHAR_BACKSLASH: "\\",
+ /* \ */
+ CHAR_BACKTICK: "`",
+ /* ` */
+ CHAR_CARRIAGE_RETURN: "\r",
+ /* \r */
+ CHAR_CIRCUMFLEX_ACCENT: "^",
+ /* ^ */
+ CHAR_COLON: ":",
+ /* : */
+ CHAR_COMMA: ",",
+ /* , */
+ CHAR_DOLLAR: "$",
+ /* . */
+ CHAR_DOT: ".",
+ /* . */
+ CHAR_DOUBLE_QUOTE: '"',
+ /* " */
+ CHAR_EQUAL: "=",
+ /* = */
+ CHAR_EXCLAMATION_MARK: "!",
+ /* ! */
+ CHAR_FORM_FEED: "\f",
+ /* \f */
+ CHAR_FORWARD_SLASH: "/",
+ /* / */
+ CHAR_HASH: "#",
+ /* # */
+ CHAR_HYPHEN_MINUS: "-",
+ /* - */
+ CHAR_LEFT_ANGLE_BRACKET: "<",
+ /* < */
+ CHAR_LEFT_CURLY_BRACE: "{",
+ /* { */
+ CHAR_LEFT_SQUARE_BRACKET: "[",
+ /* [ */
+ CHAR_LINE_FEED: "\n",
+ /* \n */
+ CHAR_NO_BREAK_SPACE: "\xA0",
+ /* \u00A0 */
+ CHAR_PERCENT: "%",
+ /* % */
+ CHAR_PLUS: "+",
+ /* + */
+ CHAR_QUESTION_MARK: "?",
+ /* ? */
+ CHAR_RIGHT_ANGLE_BRACKET: ">",
+ /* > */
+ CHAR_RIGHT_CURLY_BRACE: "}",
+ /* } */
+ CHAR_RIGHT_SQUARE_BRACKET: "]",
+ /* ] */
+ CHAR_SEMICOLON: ";",
+ /* ; */
+ CHAR_SINGLE_QUOTE: "'",
+ /* ' */
+ CHAR_SPACE: " ",
+ /* */
+ CHAR_TAB: " ",
+ /* \t */
+ CHAR_UNDERSCORE: "_",
+ /* _ */
+ CHAR_VERTICAL_LINE: "|",
+ /* | */
+ CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF"
+ /* \uFEFF */
+ };
}
});
-// node_modules/vnopts/node_modules/chalk/templates.js
-var require_templates = __commonJS({
- "node_modules/vnopts/node_modules/chalk/templates.js"(exports, module) {
+// node_modules/braces/lib/parse.js
+var require_parse = __commonJS({
+ "node_modules/braces/lib/parse.js"(exports, module) {
"use strict";
- var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
- var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
- var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
- var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;
- var ESCAPES = /* @__PURE__ */ new Map([
- ["n", "\n"],
- ["r", "\r"],
- ["t", " "],
- ["b", "\b"],
- ["f", "\f"],
- ["v", "\v"],
- ["0", "\0"],
- ["\\", "\\"],
- ["e", "\x1B"],
- ["a", "\x07"]
- ]);
- function unescape(c) {
- if (c[0] === "u" && c.length === 5 || c[0] === "x" && c.length === 3) {
- return String.fromCharCode(parseInt(c.slice(1), 16));
+ var stringify = require_stringify();
+ var {
+ MAX_LENGTH,
+ CHAR_BACKSLASH,
+ /* \ */
+ CHAR_BACKTICK,
+ /* ` */
+ CHAR_COMMA,
+ /* , */
+ CHAR_DOT,
+ /* . */
+ CHAR_LEFT_PARENTHESES,
+ /* ( */
+ CHAR_RIGHT_PARENTHESES,
+ /* ) */
+ CHAR_LEFT_CURLY_BRACE,
+ /* { */
+ CHAR_RIGHT_CURLY_BRACE,
+ /* } */
+ CHAR_LEFT_SQUARE_BRACKET,
+ /* [ */
+ CHAR_RIGHT_SQUARE_BRACKET,
+ /* ] */
+ CHAR_DOUBLE_QUOTE,
+ /* " */
+ CHAR_SINGLE_QUOTE,
+ /* ' */
+ CHAR_NO_BREAK_SPACE,
+ CHAR_ZERO_WIDTH_NOBREAK_SPACE
+ } = require_constants();
+ var parse3 = (input, options8 = {}) => {
+ if (typeof input !== "string") {
+ throw new TypeError("Expected a string");
}
- return ESCAPES.get(c) || c;
- }
- function parseArguments(name, args) {
- const results = [];
- const chunks = args.trim().split(/\s*,\s*/g);
- let matches;
- for (const chunk of chunks) {
- if (!isNaN(chunk)) {
- results.push(Number(chunk));
- } else if (matches = chunk.match(STRING_REGEX)) {
- results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));
- } else {
- throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
- }
+ let opts = options8 || {};
+ let max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
+ if (input.length > max) {
+ throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);
}
- return results;
- }
- function parseStyle(style) {
- STYLE_REGEX.lastIndex = 0;
- const results = [];
- let matches;
- while ((matches = STYLE_REGEX.exec(style)) !== null) {
- const name = matches[1];
- if (matches[2]) {
- const args = parseArguments(name, matches[2]);
- results.push([name].concat(args));
- } else {
- results.push([name]);
+ let ast = { type: "root", input, nodes: [] };
+ let stack = [ast];
+ let block = ast;
+ let prev = ast;
+ let brackets = 0;
+ let length = input.length;
+ let index = 0;
+ let depth = 0;
+ let value;
+ let memo = {};
+ const advance = () => input[index++];
+ const push = (node) => {
+ if (node.type === "text" && prev.type === "dot") {
+ prev.type = "text";
}
- }
- return results;
- }
- function buildStyle(chalk, styles) {
- const enabled = {};
- for (const layer of styles) {
- for (const style of layer.styles) {
- enabled[style[0]] = layer.inverse ? null : style.slice(1);
+ if (prev && prev.type === "text" && node.type === "text") {
+ prev.value += node.value;
+ return;
}
- }
- let current = chalk;
- for (const styleName of Object.keys(enabled)) {
- if (Array.isArray(enabled[styleName])) {
- if (!(styleName in current)) {
- throw new Error(`Unknown Chalk style: ${styleName}`);
- }
- if (enabled[styleName].length > 0) {
- current = current[styleName].apply(current, enabled[styleName]);
- } else {
- current = current[styleName];
- }
+ block.nodes.push(node);
+ node.parent = block;
+ node.prev = prev;
+ prev = node;
+ return node;
+ };
+ push({ type: "bos" });
+ while (index < length) {
+ block = stack[stack.length - 1];
+ value = advance();
+ if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {
+ continue;
}
- }
- return current;
- }
- module.exports = (chalk, tmp) => {
- const styles = [];
- const chunks = [];
- let chunk = [];
- tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {
- if (escapeChar) {
- chunk.push(unescape(escapeChar));
- } else if (style) {
- const str = chunk.join("");
- chunk = [];
- chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));
- styles.push({ inverse, styles: parseStyle(style) });
- } else if (close) {
- if (styles.length === 0) {
- throw new Error("Found extraneous } in Chalk template literal");
- }
- chunks.push(buildStyle(chalk, styles)(chunk.join("")));
- chunk = [];
- styles.pop();
- } else {
- chunk.push(chr);
+ if (value === CHAR_BACKSLASH) {
+ push({ type: "text", value: (options8.keepEscaping ? value : "") + advance() });
+ continue;
}
- });
- chunks.push(chunk.join(""));
- if (styles.length > 0) {
- const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`;
- throw new Error(errMsg);
- }
- return chunks.join("");
- };
- }
-});
-
-// node_modules/vnopts/node_modules/chalk/index.js
-var require_chalk = __commonJS({
- "node_modules/vnopts/node_modules/chalk/index.js"(exports, module) {
- "use strict";
- var escapeStringRegexp2 = require_escape_string_regexp();
- var ansiStyles = require_ansi_styles();
- var stdoutColor = require_supports_color().stdout;
- var template = require_templates();
- var isSimpleWindowsTerm = process.platform === "win32" && !(process.env.TERM || "").toLowerCase().startsWith("xterm");
- var levelMapping = ["ansi", "ansi", "ansi256", "ansi16m"];
- var skipModels = /* @__PURE__ */ new Set(["gray"]);
- var styles = /* @__PURE__ */ Object.create(null);
- function applyOptions(obj, options8) {
- options8 = options8 || {};
- const scLevel = stdoutColor ? stdoutColor.level : 0;
- obj.level = options8.level === void 0 ? scLevel : options8.level;
- obj.enabled = "enabled" in options8 ? options8.enabled : obj.level > 0;
- }
- function Chalk(options8) {
- if (!this || !(this instanceof Chalk) || this.template) {
- const chalk = {};
- applyOptions(chalk, options8);
- chalk.template = function() {
- const args = [].slice.call(arguments);
- return chalkTag.apply(null, [chalk.template].concat(args));
- };
- Object.setPrototypeOf(chalk, Chalk.prototype);
- Object.setPrototypeOf(chalk.template, chalk);
- chalk.template.constructor = Chalk;
- return chalk.template;
- }
- applyOptions(this, options8);
- }
- if (isSimpleWindowsTerm) {
- ansiStyles.blue.open = "\x1B[94m";
- }
- for (const key of Object.keys(ansiStyles)) {
- ansiStyles[key].closeRe = new RegExp(escapeStringRegexp2(ansiStyles[key].close), "g");
- styles[key] = {
- get() {
- const codes2 = ansiStyles[key];
- return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, key);
+ if (value === CHAR_RIGHT_SQUARE_BRACKET) {
+ push({ type: "text", value: "\\" + value });
+ continue;
}
- };
- }
- styles.visible = {
- get() {
- return build.call(this, this._styles || [], true, "visible");
- }
- };
- ansiStyles.color.closeRe = new RegExp(escapeStringRegexp2(ansiStyles.color.close), "g");
- for (const model of Object.keys(ansiStyles.color.ansi)) {
- if (skipModels.has(model)) {
- continue;
- }
- styles[model] = {
- get() {
- const level = this.level;
- return function() {
- const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);
- const codes2 = {
- open,
- close: ansiStyles.color.close,
- closeRe: ansiStyles.color.closeRe
- };
- return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, model);
- };
+ if (value === CHAR_LEFT_SQUARE_BRACKET) {
+ brackets++;
+ let closed = true;
+ let next;
+ while (index < length && (next = advance())) {
+ value += next;
+ if (next === CHAR_LEFT_SQUARE_BRACKET) {
+ brackets++;
+ continue;
+ }
+ if (next === CHAR_BACKSLASH) {
+ value += advance();
+ continue;
+ }
+ if (next === CHAR_RIGHT_SQUARE_BRACKET) {
+ brackets--;
+ if (brackets === 0) {
+ break;
+ }
+ }
+ }
+ push({ type: "text", value });
+ continue;
}
- };
- }
- ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp2(ansiStyles.bgColor.close), "g");
- for (const model of Object.keys(ansiStyles.bgColor.ansi)) {
- if (skipModels.has(model)) {
- continue;
- }
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
- styles[bgModel] = {
- get() {
- const level = this.level;
- return function() {
- const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);
- const codes2 = {
- open,
- close: ansiStyles.bgColor.close,
- closeRe: ansiStyles.bgColor.closeRe
- };
- return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, model);
+ if (value === CHAR_LEFT_PARENTHESES) {
+ block = push({ type: "paren", nodes: [] });
+ stack.push(block);
+ push({ type: "text", value });
+ continue;
+ }
+ if (value === CHAR_RIGHT_PARENTHESES) {
+ if (block.type !== "paren") {
+ push({ type: "text", value });
+ continue;
+ }
+ block = stack.pop();
+ push({ type: "text", value });
+ block = stack[stack.length - 1];
+ continue;
+ }
+ if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {
+ let open = value;
+ let next;
+ if (options8.keepQuotes !== true) {
+ value = "";
+ }
+ while (index < length && (next = advance())) {
+ if (next === CHAR_BACKSLASH) {
+ value += next + advance();
+ continue;
+ }
+ if (next === open) {
+ if (options8.keepQuotes === true)
+ value += next;
+ break;
+ }
+ value += next;
+ }
+ push({ type: "text", value });
+ continue;
+ }
+ if (value === CHAR_LEFT_CURLY_BRACE) {
+ depth++;
+ let dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true;
+ let brace = {
+ type: "brace",
+ open: true,
+ close: false,
+ dollar,
+ depth,
+ commas: 0,
+ ranges: 0,
+ nodes: []
};
+ block = push(brace);
+ stack.push(block);
+ push({ type: "open", value });
+ continue;
}
- };
- }
- var proto = Object.defineProperties(() => {
- }, styles);
- function build(_styles, _empty, key) {
- const builder = function() {
- return applyStyle.apply(builder, arguments);
- };
- builder._styles = _styles;
- builder._empty = _empty;
- const self = this;
- Object.defineProperty(builder, "level", {
- enumerable: true,
- get() {
- return self.level;
- },
- set(level) {
- self.level = level;
+ if (value === CHAR_RIGHT_CURLY_BRACE) {
+ if (block.type !== "brace") {
+ push({ type: "text", value });
+ continue;
+ }
+ let type = "close";
+ block = stack.pop();
+ block.close = true;
+ push({ type, value });
+ depth--;
+ block = stack[stack.length - 1];
+ continue;
}
- });
- Object.defineProperty(builder, "enabled", {
- enumerable: true,
- get() {
- return self.enabled;
- },
- set(enabled) {
- self.enabled = enabled;
+ if (value === CHAR_COMMA && depth > 0) {
+ if (block.ranges > 0) {
+ block.ranges = 0;
+ let open = block.nodes.shift();
+ block.nodes = [open, { type: "text", value: stringify(block) }];
+ }
+ push({ type: "comma", value });
+ block.commas++;
+ continue;
}
- });
- builder.hasGrey = this.hasGrey || key === "gray" || key === "grey";
- builder.__proto__ = proto;
- return builder;
- }
- function applyStyle() {
- const args = arguments;
- const argsLen = args.length;
- let str = String(arguments[0]);
- if (argsLen === 0) {
- return "";
- }
- if (argsLen > 1) {
- for (let a = 1; a < argsLen; a++) {
- str += " " + args[a];
+ if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
+ let siblings = block.nodes;
+ if (depth === 0 || siblings.length === 0) {
+ push({ type: "text", value });
+ continue;
+ }
+ if (prev.type === "dot") {
+ block.range = [];
+ prev.value += value;
+ prev.type = "range";
+ if (block.nodes.length !== 3 && block.nodes.length !== 5) {
+ block.invalid = true;
+ block.ranges = 0;
+ prev.type = "text";
+ continue;
+ }
+ block.ranges++;
+ block.args = [];
+ continue;
+ }
+ if (prev.type === "range") {
+ siblings.pop();
+ let before = siblings[siblings.length - 1];
+ before.value += prev.value + value;
+ prev = before;
+ block.ranges--;
+ continue;
+ }
+ push({ type: "dot", value });
+ continue;
}
+ push({ type: "text", value });
}
- if (!this.enabled || this.level <= 0 || !str) {
- return this._empty ? "" : str;
- }
- const originalDim = ansiStyles.dim.open;
- if (isSimpleWindowsTerm && this.hasGrey) {
- ansiStyles.dim.open = "";
- }
- for (const code of this._styles.slice().reverse()) {
- str = code.open + str.replace(code.closeRe, code.open) + code.close;
- str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`);
- }
- ansiStyles.dim.open = originalDim;
- return str;
- }
- function chalkTag(chalk, strings) {
- if (!Array.isArray(strings)) {
- return [].slice.call(arguments, 1).join(" ");
- }
- const args = [].slice.call(arguments, 2);
- const parts = [strings.raw[0]];
- for (let i = 1; i < strings.length; i++) {
- parts.push(String(args[i - 1]).replace(/[{}\\]/g, "\\$&"));
- parts.push(String(strings.raw[i]));
- }
- return template(chalk, parts.join(""));
- }
- Object.defineProperties(Chalk.prototype, styles);
- module.exports = Chalk();
- module.exports.supportsColor = stdoutColor;
- module.exports.default = module.exports;
- }
-});
-
-// node_modules/vnopts/lib/handlers/deprecated/common.js
-var require_common = __commonJS({
- "node_modules/vnopts/lib/handlers/deprecated/common.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var chalk_1 = require_chalk();
- exports.commonDeprecatedHandler = (keyOrPair, redirectTo, { descriptor }) => {
- const messages2 = [
- `${chalk_1.default.yellow(typeof keyOrPair === "string" ? descriptor.key(keyOrPair) : descriptor.pair(keyOrPair))} is deprecated`
- ];
- if (redirectTo) {
- messages2.push(`we now treat it as ${chalk_1.default.blue(typeof redirectTo === "string" ? descriptor.key(redirectTo) : descriptor.pair(redirectTo))}`);
- }
- return messages2.join("; ") + ".";
- };
- }
-});
-
-// node_modules/vnopts/lib/handlers/deprecated/index.js
-var require_deprecated = __commonJS({
- "node_modules/vnopts/lib/handlers/deprecated/index.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
- tslib_1.__exportStar(require_common(), exports);
- }
-});
-
-// node_modules/vnopts/lib/handlers/invalid/common.js
-var require_common2 = __commonJS({
- "node_modules/vnopts/lib/handlers/invalid/common.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var chalk_1 = require_chalk();
- exports.commonInvalidHandler = (key, value, utils) => [
- `Invalid ${chalk_1.default.red(utils.descriptor.key(key))} value.`,
- `Expected ${chalk_1.default.blue(utils.schemas[key].expected(utils))},`,
- `but received ${chalk_1.default.red(utils.descriptor.value(value))}.`
- ].join(" ");
- }
-});
-
-// node_modules/vnopts/lib/handlers/invalid/index.js
-var require_invalid = __commonJS({
- "node_modules/vnopts/lib/handlers/invalid/index.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
- tslib_1.__exportStar(require_common2(), exports);
- }
-});
-
-// node_modules/vnopts/node_modules/leven/index.js
-var require_leven = __commonJS({
- "node_modules/vnopts/node_modules/leven/index.js"(exports, module) {
- "use strict";
- var arr = [];
- var charCodeCache = [];
- module.exports = function(a, b) {
- if (a === b) {
- return 0;
- }
- var swap = a;
- if (a.length > b.length) {
- a = b;
- b = swap;
- }
- var aLen = a.length;
- var bLen = b.length;
- if (aLen === 0) {
- return bLen;
- }
- if (bLen === 0) {
- return aLen;
- }
- while (aLen > 0 && a.charCodeAt(~-aLen) === b.charCodeAt(~-bLen)) {
- aLen--;
- bLen--;
- }
- if (aLen === 0) {
- return bLen;
- }
- var start = 0;
- while (start < aLen && a.charCodeAt(start) === b.charCodeAt(start)) {
- start++;
- }
- aLen -= start;
- bLen -= start;
- if (aLen === 0) {
- return bLen;
- }
- var bCharCode;
- var ret;
- var tmp;
- var tmp2;
- var i = 0;
- var j = 0;
- while (i < aLen) {
- charCodeCache[start + i] = a.charCodeAt(start + i);
- arr[i] = ++i;
- }
- while (j < bLen) {
- bCharCode = b.charCodeAt(start + j);
- tmp = j++;
- ret = j;
- for (i = 0; i < aLen; i++) {
- tmp2 = bCharCode === charCodeCache[start + i] ? tmp : tmp + 1;
- tmp = arr[i];
- ret = arr[i] = tmp > ret ? tmp2 > ret ? ret + 1 : tmp2 : tmp2 > tmp ? tmp + 1 : tmp2;
- }
- }
- return ret;
- };
- }
-});
-
-// node_modules/vnopts/lib/handlers/unknown/leven.js
-var require_leven2 = __commonJS({
- "node_modules/vnopts/lib/handlers/unknown/leven.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var chalk_1 = require_chalk();
- var leven = require_leven();
- exports.levenUnknownHandler = (key, value, { descriptor, logger, schemas }) => {
- const messages2 = [
- `Ignored unknown option ${chalk_1.default.yellow(descriptor.pair({ key, value }))}.`
- ];
- const suggestion = Object.keys(schemas).sort().find((knownKey) => leven(key, knownKey) < 3);
- if (suggestion) {
- messages2.push(`Did you mean ${chalk_1.default.blue(descriptor.key(suggestion))}?`);
- }
- logger.warn(messages2.join(" "));
- };
- }
-});
-
-// node_modules/vnopts/lib/handlers/unknown/index.js
-var require_unknown = __commonJS({
- "node_modules/vnopts/lib/handlers/unknown/index.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
- tslib_1.__exportStar(require_leven2(), exports);
- }
-});
-
-// node_modules/vnopts/lib/handlers/index.js
-var require_handlers = __commonJS({
- "node_modules/vnopts/lib/handlers/index.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
- tslib_1.__exportStar(require_deprecated(), exports);
- tslib_1.__exportStar(require_invalid(), exports);
- tslib_1.__exportStar(require_unknown(), exports);
- }
-});
-
-// node_modules/vnopts/lib/schema.js
-var require_schema = __commonJS({
- "node_modules/vnopts/lib/schema.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var HANDLER_KEYS = [
- "default",
- "expected",
- "validate",
- "deprecated",
- "forward",
- "redirect",
- "overlap",
- "preprocess",
- "postprocess"
- ];
- function createSchema(SchemaConstructor, parameters) {
- const schema = new SchemaConstructor(parameters);
- const subSchema = Object.create(schema);
- for (const handlerKey of HANDLER_KEYS) {
- if (handlerKey in parameters) {
- subSchema[handlerKey] = normalizeHandler(parameters[handlerKey], schema, Schema.prototype[handlerKey].length);
+ do {
+ block = stack.pop();
+ if (block.type !== "root") {
+ block.nodes.forEach((node) => {
+ if (!node.nodes) {
+ if (node.type === "open")
+ node.isOpen = true;
+ if (node.type === "close")
+ node.isClose = true;
+ if (!node.nodes)
+ node.type = "text";
+ node.invalid = true;
+ }
+ });
+ let parent = stack[stack.length - 1];
+ let index2 = parent.nodes.indexOf(block);
+ parent.nodes.splice(index2, 1, ...block.nodes);
}
- }
- return subSchema;
- }
- exports.createSchema = createSchema;
- var Schema = class {
- constructor(parameters) {
- this.name = parameters.name;
- }
- static create(parameters) {
- return createSchema(this, parameters);
- }
- default(_utils) {
- return void 0;
- }
- // istanbul ignore next: this is actually an abstract method but we need a placeholder to get `function.length`
- expected(_utils) {
- return "nothing";
- }
- // istanbul ignore next: this is actually an abstract method but we need a placeholder to get `function.length`
- validate(_value, _utils) {
- return false;
- }
- deprecated(_value, _utils) {
- return false;
- }
- forward(_value, _utils) {
- return void 0;
- }
- redirect(_value, _utils) {
- return void 0;
- }
- overlap(currentValue, _newValue, _utils) {
- return currentValue;
- }
- preprocess(value, _utils) {
- return value;
- }
- postprocess(value, _utils) {
- return value;
- }
- };
- exports.Schema = Schema;
- function normalizeHandler(handler, superSchema, handlerArgumentsLength) {
- return typeof handler === "function" ? (...args) => handler(...args.slice(0, handlerArgumentsLength - 1), superSchema, ...args.slice(handlerArgumentsLength - 1)) : () => handler;
- }
- }
-});
-
-// node_modules/vnopts/lib/schemas/alias.js
-var require_alias = __commonJS({
- "node_modules/vnopts/lib/schemas/alias.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var schema_1 = require_schema();
- var AliasSchema = class extends schema_1.Schema {
- constructor(parameters) {
- super(parameters);
- this._sourceName = parameters.sourceName;
- }
- expected(utils) {
- return utils.schemas[this._sourceName].expected(utils);
- }
- validate(value, utils) {
- return utils.schemas[this._sourceName].validate(value, utils);
- }
- redirect(_value, _utils) {
- return this._sourceName;
- }
- };
- exports.AliasSchema = AliasSchema;
- }
-});
-
-// node_modules/vnopts/lib/schemas/any.js
-var require_any = __commonJS({
- "node_modules/vnopts/lib/schemas/any.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var schema_1 = require_schema();
- var AnySchema = class extends schema_1.Schema {
- expected() {
- return "anything";
- }
- validate() {
- return true;
- }
+ } while (stack.length > 0);
+ push({ type: "eos" });
+ return ast;
};
- exports.AnySchema = AnySchema;
+ module.exports = parse3;
}
});
-// node_modules/vnopts/lib/schemas/array.js
-var require_array = __commonJS({
- "node_modules/vnopts/lib/schemas/array.js"(exports) {
+// node_modules/braces/index.js
+var require_braces = __commonJS({
+ "node_modules/braces/index.js"(exports, module) {
"use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
- var schema_1 = require_schema();
- var ArraySchema = class extends schema_1.Schema {
- constructor(_a) {
- var { valueSchema, name = valueSchema.name } = _a, handlers = tslib_1.__rest(_a, ["valueSchema", "name"]);
- super(Object.assign({}, handlers, { name }));
- this._valueSchema = valueSchema;
- }
- expected(utils) {
- return `an array of ${this._valueSchema.expected(utils)}`;
- }
- validate(value, utils) {
- if (!Array.isArray(value)) {
- return false;
- }
- const invalidValues = [];
- for (const subValue of value) {
- const subValidateResult = utils.normalizeValidateResult(this._valueSchema.validate(subValue, utils), subValue);
- if (subValidateResult !== true) {
- invalidValues.push(subValidateResult.value);
- }
- }
- return invalidValues.length === 0 ? true : { value: invalidValues };
- }
- deprecated(value, utils) {
- const deprecatedResult = [];
- for (const subValue of value) {
- const subDeprecatedResult = utils.normalizeDeprecatedResult(this._valueSchema.deprecated(subValue, utils), subValue);
- if (subDeprecatedResult !== false) {
- deprecatedResult.push(...subDeprecatedResult.map(({ value: deprecatedValue }) => ({
- value: [deprecatedValue]
- })));
- }
- }
- return deprecatedResult;
- }
- forward(value, utils) {
- const forwardResult = [];
- for (const subValue of value) {
- const subForwardResult = utils.normalizeForwardResult(this._valueSchema.forward(subValue, utils), subValue);
- forwardResult.push(...subForwardResult.map(wrapTransferResult));
- }
- return forwardResult;
- }
- redirect(value, utils) {
- const remain = [];
- const redirect = [];
- for (const subValue of value) {
- const subRedirectResult = utils.normalizeRedirectResult(this._valueSchema.redirect(subValue, utils), subValue);
- if ("remain" in subRedirectResult) {
- remain.push(subRedirectResult.remain);
+ var stringify = require_stringify();
+ var compile = require_compile();
+ var expand = require_expand();
+ var parse3 = require_parse();
+ var braces = (input, options8 = {}) => {
+ let output = [];
+ if (Array.isArray(input)) {
+ for (let pattern of input) {
+ let result = braces.create(pattern, options8);
+ if (Array.isArray(result)) {
+ output.push(...result);
+ } else {
+ output.push(result);
}
- redirect.push(...subRedirectResult.redirect.map(wrapTransferResult));
}
- return remain.length === 0 ? { redirect } : { redirect, remain };
+ } else {
+ output = [].concat(braces.create(input, options8));
}
- overlap(currentValue, newValue) {
- return currentValue.concat(newValue);
+ if (options8 && options8.expand === true && options8.nodupes === true) {
+ output = [...new Set(output)];
}
+ return output;
};
- exports.ArraySchema = ArraySchema;
- function wrapTransferResult({ from, to }) {
- return { from: [from], to };
- }
- }
-});
-
-// node_modules/vnopts/lib/schemas/boolean.js
-var require_boolean = __commonJS({
- "node_modules/vnopts/lib/schemas/boolean.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var schema_1 = require_schema();
- var BooleanSchema = class extends schema_1.Schema {
- expected() {
- return "true or false";
- }
- validate(value) {
- return typeof value === "boolean";
+ braces.parse = (input, options8 = {}) => parse3(input, options8);
+ braces.stringify = (input, options8 = {}) => {
+ if (typeof input === "string") {
+ return stringify(braces.parse(input, options8), options8);
}
+ return stringify(input, options8);
};
- exports.BooleanSchema = BooleanSchema;
- }
-});
-
-// node_modules/vnopts/lib/utils.js
-var require_utils = __commonJS({
- "node_modules/vnopts/lib/utils.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- function recordFromArray(array, mainKey) {
- const record = /* @__PURE__ */ Object.create(null);
- for (const value of array) {
- const key = value[mainKey];
- if (record[key]) {
- throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`);
- }
- record[key] = value;
- }
- return record;
- }
- exports.recordFromArray = recordFromArray;
- function mapFromArray(array, mainKey) {
- const map = /* @__PURE__ */ new Map();
- for (const value of array) {
- const key = value[mainKey];
- if (map.has(key)) {
- throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`);
- }
- map.set(key, value);
- }
- return map;
- }
- exports.mapFromArray = mapFromArray;
- function createAutoChecklist() {
- const map = /* @__PURE__ */ Object.create(null);
- return (id) => {
- const idString = JSON.stringify(id);
- if (map[idString]) {
- return true;
- }
- map[idString] = true;
- return false;
- };
- }
- exports.createAutoChecklist = createAutoChecklist;
- function partition2(array, predicate) {
- const trueArray = [];
- const falseArray = [];
- for (const value of array) {
- if (predicate(value)) {
- trueArray.push(value);
- } else {
- falseArray.push(value);
- }
- }
- return [trueArray, falseArray];
- }
- exports.partition = partition2;
- function isInt(value) {
- return value === Math.floor(value);
- }
- exports.isInt = isInt;
- function comparePrimitive(a, b) {
- if (a === b) {
- return 0;
- }
- const typeofA = typeof a;
- const typeofB = typeof b;
- const orders = [
- "undefined",
- "object",
- "boolean",
- "number",
- "string"
- ];
- if (typeofA !== typeofB) {
- return orders.indexOf(typeofA) - orders.indexOf(typeofB);
- }
- if (typeofA !== "string") {
- return Number(a) - Number(b);
- }
- return a.localeCompare(b);
- }
- exports.comparePrimitive = comparePrimitive;
- function normalizeDefaultResult(result) {
- return result === void 0 ? {} : result;
- }
- exports.normalizeDefaultResult = normalizeDefaultResult;
- function normalizeValidateResult(result, value) {
- return result === true ? true : result === false ? { value } : result;
- }
- exports.normalizeValidateResult = normalizeValidateResult;
- function normalizeDeprecatedResult(result, value, doNotNormalizeTrue = false) {
- return result === false ? false : result === true ? doNotNormalizeTrue ? true : [{ value }] : "value" in result ? [result] : result.length === 0 ? false : result;
- }
- exports.normalizeDeprecatedResult = normalizeDeprecatedResult;
- function normalizeTransferResult(result, value) {
- return typeof result === "string" || "key" in result ? { from: value, to: result } : "from" in result ? { from: result.from, to: result.to } : { from: value, to: result.to };
- }
- exports.normalizeTransferResult = normalizeTransferResult;
- function normalizeForwardResult(result, value) {
- return result === void 0 ? [] : Array.isArray(result) ? result.map((transferResult) => normalizeTransferResult(transferResult, value)) : [normalizeTransferResult(result, value)];
- }
- exports.normalizeForwardResult = normalizeForwardResult;
- function normalizeRedirectResult(result, value) {
- const redirect = normalizeForwardResult(typeof result === "object" && "redirect" in result ? result.redirect : result, value);
- return redirect.length === 0 ? { remain: value, redirect } : typeof result === "object" && "remain" in result ? { remain: result.remain, redirect } : { redirect };
- }
- exports.normalizeRedirectResult = normalizeRedirectResult;
- }
-});
-
-// node_modules/vnopts/lib/schemas/choice.js
-var require_choice = __commonJS({
- "node_modules/vnopts/lib/schemas/choice.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var schema_1 = require_schema();
- var utils_1 = require_utils();
- var ChoiceSchema = class extends schema_1.Schema {
- constructor(parameters) {
- super(parameters);
- this._choices = utils_1.mapFromArray(parameters.choices.map((choice) => choice && typeof choice === "object" ? choice : { value: choice }), "value");
- }
- expected({ descriptor }) {
- const choiceValues = Array.from(this._choices.keys()).map((value) => this._choices.get(value)).filter((choiceInfo) => !choiceInfo.deprecated).map((choiceInfo) => choiceInfo.value).sort(utils_1.comparePrimitive).map(descriptor.value);
- const head = choiceValues.slice(0, -2);
- const tail = choiceValues.slice(-2);
- return head.concat(tail.join(" or ")).join(", ");
- }
- validate(value) {
- return this._choices.has(value);
- }
- deprecated(value) {
- const choiceInfo = this._choices.get(value);
- return choiceInfo && choiceInfo.deprecated ? { value } : false;
- }
- forward(value) {
- const choiceInfo = this._choices.get(value);
- return choiceInfo ? choiceInfo.forward : void 0;
- }
- redirect(value) {
- const choiceInfo = this._choices.get(value);
- return choiceInfo ? choiceInfo.redirect : void 0;
+ braces.compile = (input, options8 = {}) => {
+ if (typeof input === "string") {
+ input = braces.parse(input, options8);
}
+ return compile(input, options8);
};
- exports.ChoiceSchema = ChoiceSchema;
- }
-});
-
-// node_modules/vnopts/lib/schemas/number.js
-var require_number = __commonJS({
- "node_modules/vnopts/lib/schemas/number.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var schema_1 = require_schema();
- var NumberSchema = class extends schema_1.Schema {
- expected() {
- return "a number";
- }
- validate(value, _utils) {
- return typeof value === "number";
+ braces.expand = (input, options8 = {}) => {
+ if (typeof input === "string") {
+ input = braces.parse(input, options8);
}
- };
- exports.NumberSchema = NumberSchema;
- }
-});
-
-// node_modules/vnopts/lib/schemas/integer.js
-var require_integer = __commonJS({
- "node_modules/vnopts/lib/schemas/integer.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var utils_1 = require_utils();
- var number_1 = require_number();
- var IntegerSchema = class extends number_1.NumberSchema {
- expected() {
- return "an integer";
+ let result = expand(input, options8);
+ if (options8.noempty === true) {
+ result = result.filter(Boolean);
}
- validate(value, utils) {
- return utils.normalizeValidateResult(super.validate(value, utils), value) === true && utils_1.isInt(value);
+ if (options8.nodupes === true) {
+ result = [...new Set(result)];
}
+ return result;
};
- exports.IntegerSchema = IntegerSchema;
- }
-});
-
-// node_modules/vnopts/lib/schemas/string.js
-var require_string = __commonJS({
- "node_modules/vnopts/lib/schemas/string.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var schema_1 = require_schema();
- var StringSchema = class extends schema_1.Schema {
- expected() {
- return "a string";
- }
- validate(value) {
- return typeof value === "string";
+ braces.create = (input, options8 = {}) => {
+ if (input === "" || input.length < 3) {
+ return [input];
}
+ return options8.expand !== true ? braces.compile(input, options8) : braces.expand(input, options8);
};
- exports.StringSchema = StringSchema;
- }
-});
-
-// node_modules/vnopts/lib/schemas/index.js
-var require_schemas = __commonJS({
- "node_modules/vnopts/lib/schemas/index.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
- tslib_1.__exportStar(require_alias(), exports);
- tslib_1.__exportStar(require_any(), exports);
- tslib_1.__exportStar(require_array(), exports);
- tslib_1.__exportStar(require_boolean(), exports);
- tslib_1.__exportStar(require_choice(), exports);
- tslib_1.__exportStar(require_integer(), exports);
- tslib_1.__exportStar(require_number(), exports);
- tslib_1.__exportStar(require_string(), exports);
- }
-});
-
-// node_modules/vnopts/lib/defaults.js
-var require_defaults = __commonJS({
- "node_modules/vnopts/lib/defaults.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var api_1 = require_api();
- var common_1 = require_common();
- var invalid_1 = require_invalid();
- var leven_1 = require_leven2();
- exports.defaultDescriptor = api_1.apiDescriptor;
- exports.defaultUnknownHandler = leven_1.levenUnknownHandler;
- exports.defaultInvalidHandler = invalid_1.commonInvalidHandler;
- exports.defaultDeprecatedHandler = common_1.commonDeprecatedHandler;
+ module.exports = braces;
}
});
-// node_modules/vnopts/lib/normalize.js
-var require_normalize = __commonJS({
- "node_modules/vnopts/lib/normalize.js"(exports) {
+// node_modules/picomatch/lib/constants.js
+var require_constants2 = __commonJS({
+ "node_modules/picomatch/lib/constants.js"(exports, module) {
"use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var defaults_1 = require_defaults();
- var utils_1 = require_utils();
- exports.normalize = (options8, schemas, opts) => new Normalizer(schemas, opts).normalize(options8);
- var Normalizer = class {
- constructor(schemas, opts) {
- const { logger = console, descriptor = defaults_1.defaultDescriptor, unknown = defaults_1.defaultUnknownHandler, invalid = defaults_1.defaultInvalidHandler, deprecated = defaults_1.defaultDeprecatedHandler } = opts || {};
- this._utils = {
- descriptor,
- logger: (
- /* istanbul ignore next */
- logger || { warn: () => {
- } }
- ),
- schemas: utils_1.recordFromArray(schemas, "name"),
- normalizeDefaultResult: utils_1.normalizeDefaultResult,
- normalizeDeprecatedResult: utils_1.normalizeDeprecatedResult,
- normalizeForwardResult: utils_1.normalizeForwardResult,
- normalizeRedirectResult: utils_1.normalizeRedirectResult,
- normalizeValidateResult: utils_1.normalizeValidateResult
- };
- this._unknownHandler = unknown;
- this._invalidHandler = invalid;
- this._deprecatedHandler = deprecated;
- this.cleanHistory();
- }
- cleanHistory() {
- this._hasDeprecationWarned = utils_1.createAutoChecklist();
- }
- normalize(options8) {
- const normalized = {};
- const restOptionsArray = [options8];
- const applyNormalization = () => {
- while (restOptionsArray.length !== 0) {
- const currentOptions = restOptionsArray.shift();
- const transferredOptionsArray = this._applyNormalization(currentOptions, normalized);
- restOptionsArray.push(...transferredOptionsArray);
- }
+ var path9 = __require("path");
+ var WIN_SLASH = "\\\\/";
+ var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
+ var DOT_LITERAL = "\\.";
+ var PLUS_LITERAL = "\\+";
+ var QMARK_LITERAL = "\\?";
+ var SLASH_LITERAL = "\\/";
+ var ONE_CHAR = "(?=.)";
+ var QMARK = "[^/]";
+ var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
+ var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
+ var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
+ var NO_DOT = `(?!${DOT_LITERAL})`;
+ var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
+ var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
+ var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
+ var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
+ var STAR = `${QMARK}*?`;
+ var POSIX_CHARS = {
+ DOT_LITERAL,
+ PLUS_LITERAL,
+ QMARK_LITERAL,
+ SLASH_LITERAL,
+ ONE_CHAR,
+ QMARK,
+ END_ANCHOR,
+ DOTS_SLASH,
+ NO_DOT,
+ NO_DOTS,
+ NO_DOT_SLASH,
+ NO_DOTS_SLASH,
+ QMARK_NO_DOT,
+ STAR,
+ START_ANCHOR
+ };
+ var WINDOWS_CHARS = {
+ ...POSIX_CHARS,
+ SLASH_LITERAL: `[${WIN_SLASH}]`,
+ QMARK: WIN_NO_SLASH,
+ STAR: `${WIN_NO_SLASH}*?`,
+ DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
+ NO_DOT: `(?!${DOT_LITERAL})`,
+ NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
+ NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
+ NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
+ QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
+ START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
+ END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
+ };
+ var POSIX_REGEX_SOURCE = {
+ alnum: "a-zA-Z0-9",
+ alpha: "a-zA-Z",
+ ascii: "\\x00-\\x7F",
+ blank: " \\t",
+ cntrl: "\\x00-\\x1F\\x7F",
+ digit: "0-9",
+ graph: "\\x21-\\x7E",
+ lower: "a-z",
+ print: "\\x20-\\x7E ",
+ punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
+ space: " \\t\\r\\n\\v\\f",
+ upper: "A-Z",
+ word: "A-Za-z0-9_",
+ xdigit: "A-Fa-f0-9"
+ };
+ module.exports = {
+ MAX_LENGTH: 1024 * 64,
+ POSIX_REGEX_SOURCE,
+ // regular expressions
+ REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
+ REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
+ REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
+ REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
+ REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
+ REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
+ // Replace globs with equivalent patterns to reduce parsing time.
+ REPLACEMENTS: {
+ "***": "*",
+ "**/**": "**",
+ "**/**/**": "**"
+ },
+ // Digits
+ CHAR_0: 48,
+ /* 0 */
+ CHAR_9: 57,
+ /* 9 */
+ // Alphabet chars.
+ CHAR_UPPERCASE_A: 65,
+ /* A */
+ CHAR_LOWERCASE_A: 97,
+ /* a */
+ CHAR_UPPERCASE_Z: 90,
+ /* Z */
+ CHAR_LOWERCASE_Z: 122,
+ /* z */
+ CHAR_LEFT_PARENTHESES: 40,
+ /* ( */
+ CHAR_RIGHT_PARENTHESES: 41,
+ /* ) */
+ CHAR_ASTERISK: 42,
+ /* * */
+ // Non-alphabetic chars.
+ CHAR_AMPERSAND: 38,
+ /* & */
+ CHAR_AT: 64,
+ /* @ */
+ CHAR_BACKWARD_SLASH: 92,
+ /* \ */
+ CHAR_CARRIAGE_RETURN: 13,
+ /* \r */
+ CHAR_CIRCUMFLEX_ACCENT: 94,
+ /* ^ */
+ CHAR_COLON: 58,
+ /* : */
+ CHAR_COMMA: 44,
+ /* , */
+ CHAR_DOT: 46,
+ /* . */
+ CHAR_DOUBLE_QUOTE: 34,
+ /* " */
+ CHAR_EQUAL: 61,
+ /* = */
+ CHAR_EXCLAMATION_MARK: 33,
+ /* ! */
+ CHAR_FORM_FEED: 12,
+ /* \f */
+ CHAR_FORWARD_SLASH: 47,
+ /* / */
+ CHAR_GRAVE_ACCENT: 96,
+ /* ` */
+ CHAR_HASH: 35,
+ /* # */
+ CHAR_HYPHEN_MINUS: 45,
+ /* - */
+ CHAR_LEFT_ANGLE_BRACKET: 60,
+ /* < */
+ CHAR_LEFT_CURLY_BRACE: 123,
+ /* { */
+ CHAR_LEFT_SQUARE_BRACKET: 91,
+ /* [ */
+ CHAR_LINE_FEED: 10,
+ /* \n */
+ CHAR_NO_BREAK_SPACE: 160,
+ /* \u00A0 */
+ CHAR_PERCENT: 37,
+ /* % */
+ CHAR_PLUS: 43,
+ /* + */
+ CHAR_QUESTION_MARK: 63,
+ /* ? */
+ CHAR_RIGHT_ANGLE_BRACKET: 62,
+ /* > */
+ CHAR_RIGHT_CURLY_BRACE: 125,
+ /* } */
+ CHAR_RIGHT_SQUARE_BRACKET: 93,
+ /* ] */
+ CHAR_SEMICOLON: 59,
+ /* ; */
+ CHAR_SINGLE_QUOTE: 39,
+ /* ' */
+ CHAR_SPACE: 32,
+ /* */
+ CHAR_TAB: 9,
+ /* \t */
+ CHAR_UNDERSCORE: 95,
+ /* _ */
+ CHAR_VERTICAL_LINE: 124,
+ /* | */
+ CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
+ /* \uFEFF */
+ SEP: path9.sep,
+ /**
+ * Create EXTGLOB_CHARS
+ */
+ extglobChars(chars) {
+ return {
+ "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
+ "?": { type: "qmark", open: "(?:", close: ")?" },
+ "+": { type: "plus", open: "(?:", close: ")+" },
+ "*": { type: "star", open: "(?:", close: ")*" },
+ "@": { type: "at", open: "(?:", close: ")" }
};
- applyNormalization();
- for (const key of Object.keys(this._utils.schemas)) {
- const schema = this._utils.schemas[key];
- if (!(key in normalized)) {
- const defaultResult = utils_1.normalizeDefaultResult(schema.default(this._utils));
- if ("value" in defaultResult) {
- restOptionsArray.push({ [key]: defaultResult.value });
- }
- }
- }
- applyNormalization();
- for (const key of Object.keys(this._utils.schemas)) {
- const schema = this._utils.schemas[key];
- if (key in normalized) {
- normalized[key] = schema.postprocess(normalized[key], this._utils);
- }
- }
- return normalized;
- }
- _applyNormalization(options8, normalized) {
- const transferredOptionsArray = [];
- const [knownOptionNames, unknownOptionNames] = utils_1.partition(Object.keys(options8), (key) => key in this._utils.schemas);
- for (const key of knownOptionNames) {
- const schema = this._utils.schemas[key];
- const value = schema.preprocess(options8[key], this._utils);
- const validateResult = utils_1.normalizeValidateResult(schema.validate(value, this._utils), value);
- if (validateResult !== true) {
- const { value: invalidValue } = validateResult;
- const errorMessageOrError = this._invalidHandler(key, invalidValue, this._utils);
- throw typeof errorMessageOrError === "string" ? new Error(errorMessageOrError) : (
- /* istanbul ignore next*/
- errorMessageOrError
- );
- }
- const appendTransferredOptions = ({ from, to }) => {
- transferredOptionsArray.push(typeof to === "string" ? { [to]: from } : { [to.key]: to.value });
- };
- const warnDeprecated = ({ value: currentValue, redirectTo }) => {
- const deprecatedResult = utils_1.normalizeDeprecatedResult(
- schema.deprecated(currentValue, this._utils),
- value,
- /* doNotNormalizeTrue */
- true
- );
- if (deprecatedResult === false) {
- return;
- }
- if (deprecatedResult === true) {
- if (!this._hasDeprecationWarned(key)) {
- this._utils.logger.warn(this._deprecatedHandler(key, redirectTo, this._utils));
- }
- } else {
- for (const { value: deprecatedValue } of deprecatedResult) {
- const pair = { key, value: deprecatedValue };
- if (!this._hasDeprecationWarned(pair)) {
- const redirectToPair = typeof redirectTo === "string" ? { key: redirectTo, value: deprecatedValue } : redirectTo;
- this._utils.logger.warn(this._deprecatedHandler(pair, redirectToPair, this._utils));
- }
- }
- }
- };
- const forwardResult = utils_1.normalizeForwardResult(schema.forward(value, this._utils), value);
- forwardResult.forEach(appendTransferredOptions);
- const redirectResult = utils_1.normalizeRedirectResult(schema.redirect(value, this._utils), value);
- redirectResult.redirect.forEach(appendTransferredOptions);
- if ("remain" in redirectResult) {
- const remainingValue = redirectResult.remain;
- normalized[key] = key in normalized ? schema.overlap(normalized[key], remainingValue, this._utils) : remainingValue;
- warnDeprecated({ value: remainingValue });
- }
- for (const { from, to } of redirectResult.redirect) {
- warnDeprecated({ value: from, redirectTo: to });
- }
- }
- for (const key of unknownOptionNames) {
- const value = options8[key];
- const unknownResult = this._unknownHandler(key, value, this._utils);
- if (unknownResult) {
- for (const unknownKey of Object.keys(unknownResult)) {
- const unknownOption = { [unknownKey]: unknownResult[unknownKey] };
- if (unknownKey in this._utils.schemas) {
- transferredOptionsArray.push(unknownOption);
- } else {
- Object.assign(normalized, unknownOption);
- }
- }
- }
- }
- return transferredOptionsArray;
+ },
+ /**
+ * Create GLOB_CHARS
+ */
+ globChars(win32) {
+ return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
}
};
- exports.Normalizer = Normalizer;
- }
-});
-
-// node_modules/vnopts/lib/index.js
-var require_lib = __commonJS({
- "node_modules/vnopts/lib/index.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
- tslib_1.__exportStar(require_descriptors(), exports);
- tslib_1.__exportStar(require_handlers(), exports);
- tslib_1.__exportStar(require_schemas(), exports);
- tslib_1.__exportStar(require_normalize(), exports);
- tslib_1.__exportStar(require_schema(), exports);
- }
-});
-
-// node_modules/fast-glob/out/utils/array.js
-var require_array2 = __commonJS({
- "node_modules/fast-glob/out/utils/array.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.splitWhen = exports.flatten = void 0;
- function flatten(items) {
- return items.reduce((collection, item) => [].concat(collection, item), []);
- }
- exports.flatten = flatten;
- function splitWhen(items, predicate) {
- const result = [[]];
- let groupIndex = 0;
- for (const item of items) {
- if (predicate(item)) {
- groupIndex++;
- result[groupIndex] = [];
- } else {
- result[groupIndex].push(item);
- }
- }
- return result;
- }
- exports.splitWhen = splitWhen;
}
});
-// node_modules/fast-glob/out/utils/errno.js
-var require_errno = __commonJS({
- "node_modules/fast-glob/out/utils/errno.js"(exports) {
+// node_modules/picomatch/lib/utils.js
+var require_utils2 = __commonJS({
+ "node_modules/picomatch/lib/utils.js"(exports) {
"use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.isEnoentCodeError = void 0;
- function isEnoentCodeError(error) {
- return error.code === "ENOENT";
- }
- exports.isEnoentCodeError = isEnoentCodeError;
- }
-});
-
-// node_modules/fast-glob/out/utils/fs.js
-var require_fs = __commonJS({
- "node_modules/fast-glob/out/utils/fs.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.createDirentFromStats = void 0;
- var DirentFromStats = class {
- constructor(name, stats) {
- this.name = name;
- this.isBlockDevice = stats.isBlockDevice.bind(stats);
- this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
- this.isDirectory = stats.isDirectory.bind(stats);
- this.isFIFO = stats.isFIFO.bind(stats);
- this.isFile = stats.isFile.bind(stats);
- this.isSocket = stats.isSocket.bind(stats);
- this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
- }
- };
- function createDirentFromStats(name, stats) {
- return new DirentFromStats(name, stats);
- }
- exports.createDirentFromStats = createDirentFromStats;
- }
-});
-
-// node_modules/fast-glob/out/utils/path.js
-var require_path = __commonJS({
- "node_modules/fast-glob/out/utils/path.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.removeLeadingDotSegment = exports.escape = exports.makeAbsolute = exports.unixify = void 0;
var path9 = __require("path");
- var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2;
- var UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;
- function unixify(filepath) {
- return filepath.replace(/\\/g, "/");
- }
- exports.unixify = unixify;
- function makeAbsolute(cwd, filepath) {
- return path9.resolve(cwd, filepath);
- }
- exports.makeAbsolute = makeAbsolute;
- function escape(pattern) {
- return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
- }
- exports.escape = escape;
- function removeLeadingDotSegment(entry) {
- if (entry.charAt(0) === ".") {
- const secondCharactery = entry.charAt(1);
- if (secondCharactery === "/" || secondCharactery === "\\") {
- return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT);
- }
- }
- return entry;
- }
- exports.removeLeadingDotSegment = removeLeadingDotSegment;
- }
-});
-
-// node_modules/is-extglob/index.js
-var require_is_extglob = __commonJS({
- "node_modules/is-extglob/index.js"(exports, module) {
- module.exports = function isExtglob(str) {
- if (typeof str !== "string" || str === "") {
- return false;
- }
- var match;
- while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) {
- if (match[2])
- return true;
- str = str.slice(match.index + match[0].length);
- }
- return false;
+ var win32 = process.platform === "win32";
+ var {
+ REGEX_BACKSLASH,
+ REGEX_REMOVE_BACKSLASH,
+ REGEX_SPECIAL_CHARS,
+ REGEX_SPECIAL_CHARS_GLOBAL
+ } = require_constants2();
+ exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
+ exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
+ exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str);
+ exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
+ exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
+ exports.removeBackslashes = (str) => {
+ return str.replace(REGEX_REMOVE_BACKSLASH, (match) => {
+ return match === "\\" ? "" : match;
+ });
};
- }
-});
-
-// node_modules/is-glob/index.js
-var require_is_glob = __commonJS({
- "node_modules/is-glob/index.js"(exports, module) {
- var isExtglob = require_is_extglob();
- var chars = { "{": "}", "(": ")", "[": "]" };
- var strictCheck = function(str) {
- if (str[0] === "!") {
+ exports.supportsLookbehinds = () => {
+ const segs = process.version.slice(1).split(".").map(Number);
+ if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) {
return true;
}
- var index = 0;
- var pipeIndex = -2;
- var closeSquareIndex = -2;
- var closeCurlyIndex = -2;
- var closeParenIndex = -2;
- var backSlashIndex = -2;
- while (index < str.length) {
- if (str[index] === "*") {
- return true;
- }
- if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) {
- return true;
- }
- if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") {
- if (closeSquareIndex < index) {
- closeSquareIndex = str.indexOf("]", index);
- }
- if (closeSquareIndex > index) {
- if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
- return true;
- }
- backSlashIndex = str.indexOf("\\", index);
- if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
- return true;
- }
- }
- }
- if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") {
- closeCurlyIndex = str.indexOf("}", index);
- if (closeCurlyIndex > index) {
- backSlashIndex = str.indexOf("\\", index);
- if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
- return true;
- }
- }
- }
- if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") {
- closeParenIndex = str.indexOf(")", index);
- if (closeParenIndex > index) {
- backSlashIndex = str.indexOf("\\", index);
- if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
- return true;
- }
- }
- }
- if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") {
- if (pipeIndex < index) {
- pipeIndex = str.indexOf("|", index);
- }
- if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") {
- closeParenIndex = str.indexOf(")", pipeIndex);
- if (closeParenIndex > pipeIndex) {
- backSlashIndex = str.indexOf("\\", pipeIndex);
- if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
- return true;
- }
- }
- }
- }
- if (str[index] === "\\") {
- var open = str[index + 1];
- index += 2;
- var close = chars[open];
- if (close) {
- var n = str.indexOf(close, index);
- if (n !== -1) {
- index = n + 1;
- }
- }
- if (str[index] === "!") {
- return true;
- }
- } else {
- index++;
- }
- }
return false;
};
- var relaxedCheck = function(str) {
- if (str[0] === "!") {
- return true;
- }
- var index = 0;
- while (index < str.length) {
- if (/[*?{}()[\]]/.test(str[index])) {
- return true;
- }
- if (str[index] === "\\") {
- var open = str[index + 1];
- index += 2;
- var close = chars[open];
- if (close) {
- var n = str.indexOf(close, index);
- if (n !== -1) {
- index = n + 1;
- }
- }
- if (str[index] === "!") {
- return true;
- }
- } else {
- index++;
- }
+ exports.isWindows = (options8) => {
+ if (options8 && typeof options8.windows === "boolean") {
+ return options8.windows;
}
- return false;
+ return win32 === true || path9.sep === "\\";
};
- module.exports = function isGlob(str, options8) {
- if (typeof str !== "string" || str === "") {
- return false;
- }
- if (isExtglob(str)) {
- return true;
+ exports.escapeLast = (input, char, lastIdx) => {
+ const idx = input.lastIndexOf(char, lastIdx);
+ if (idx === -1)
+ return input;
+ if (input[idx - 1] === "\\")
+ return exports.escapeLast(input, char, idx - 1);
+ return `${input.slice(0, idx)}\\${input.slice(idx)}`;
+ };
+ exports.removePrefix = (input, state = {}) => {
+ let output = input;
+ if (output.startsWith("./")) {
+ output = output.slice(2);
+ state.prefix = "./";
}
- var check2 = strictCheck;
- if (options8 && options8.strict === false) {
- check2 = relaxedCheck;
+ return output;
+ };
+ exports.wrapOutput = (input, state = {}, options8 = {}) => {
+ const prepend = options8.contains ? "" : "^";
+ const append = options8.contains ? "" : "$";
+ let output = `${prepend}(?:${input})${append}`;
+ if (state.negated === true) {
+ output = `(?:^(?!${output}).*$)`;
}
- return check2(str);
+ return output;
};
}
});
-// node_modules/glob-parent/index.js
-var require_glob_parent = __commonJS({
- "node_modules/glob-parent/index.js"(exports, module) {
+// node_modules/picomatch/lib/scan.js
+var require_scan = __commonJS({
+ "node_modules/picomatch/lib/scan.js"(exports, module) {
"use strict";
- var isGlob = require_is_glob();
- var pathPosixDirname = __require("path").posix.dirname;
- var isWin32 = __require("os").platform() === "win32";
- var slash2 = "/";
- var backslash = /\\/g;
- var enclosure = /[\{\[].*[\}\]]$/;
- var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
- var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
- module.exports = function globParent(str, opts) {
- var options8 = Object.assign({ flipBackslashes: true }, opts);
- if (options8.flipBackslashes && isWin32 && str.indexOf(slash2) < 0) {
- str = str.replace(backslash, slash2);
- }
- if (enclosure.test(str)) {
- str += slash2;
- }
- str += "a";
- do {
- str = pathPosixDirname(str);
- } while (isGlob(str) || globby.test(str));
- return str.replace(escaped, "$1");
- };
- }
-});
-
-// node_modules/braces/lib/utils.js
-var require_utils2 = __commonJS({
- "node_modules/braces/lib/utils.js"(exports) {
- "use strict";
- exports.isInteger = (num) => {
- if (typeof num === "number") {
- return Number.isInteger(num);
- }
- if (typeof num === "string" && num.trim() !== "") {
- return Number.isInteger(Number(num));
- }
- return false;
- };
- exports.find = (node, type) => node.nodes.find((node2) => node2.type === type);
- exports.exceedsLimit = (min, max, step = 1, limit) => {
- if (limit === false)
- return false;
- if (!exports.isInteger(min) || !exports.isInteger(max))
- return false;
- return (Number(max) - Number(min)) / Number(step) >= limit;
- };
- exports.escapeNode = (block, n = 0, type) => {
- let node = block.nodes[n];
- if (!node)
- return;
- if (type && node.type === type || node.type === "open" || node.type === "close") {
- if (node.escaped !== true) {
- node.value = "\\" + node.value;
- node.escaped = true;
- }
- }
- };
- exports.encloseBrace = (node) => {
- if (node.type !== "brace")
- return false;
- if (node.commas >> 0 + node.ranges >> 0 === 0) {
- node.invalid = true;
- return true;
- }
- return false;
- };
- exports.isInvalidBrace = (block) => {
- if (block.type !== "brace")
- return false;
- if (block.invalid === true || block.dollar)
- return true;
- if (block.commas >> 0 + block.ranges >> 0 === 0) {
- block.invalid = true;
- return true;
- }
- if (block.open !== true || block.close !== true) {
- block.invalid = true;
- return true;
- }
- return false;
+ var utils = require_utils2();
+ var {
+ CHAR_ASTERISK,
+ /* * */
+ CHAR_AT,
+ /* @ */
+ CHAR_BACKWARD_SLASH,
+ /* \ */
+ CHAR_COMMA,
+ /* , */
+ CHAR_DOT,
+ /* . */
+ CHAR_EXCLAMATION_MARK,
+ /* ! */
+ CHAR_FORWARD_SLASH,
+ /* / */
+ CHAR_LEFT_CURLY_BRACE,
+ /* { */
+ CHAR_LEFT_PARENTHESES,
+ /* ( */
+ CHAR_LEFT_SQUARE_BRACKET,
+ /* [ */
+ CHAR_PLUS,
+ /* + */
+ CHAR_QUESTION_MARK,
+ /* ? */
+ CHAR_RIGHT_CURLY_BRACE,
+ /* } */
+ CHAR_RIGHT_PARENTHESES,
+ /* ) */
+ CHAR_RIGHT_SQUARE_BRACKET
+ /* ] */
+ } = require_constants2();
+ var isPathSeparator = (code) => {
+ return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
};
- exports.isOpenOrClose = (node) => {
- if (node.type === "open" || node.type === "close") {
- return true;
+ var depth = (token) => {
+ if (token.isPrefix !== true) {
+ token.depth = token.isGlobstar ? Infinity : 1;
}
- return node.open === true || node.close === true;
};
- exports.reduce = (nodes) => nodes.reduce((acc, node) => {
- if (node.type === "text")
- acc.push(node.value);
- if (node.type === "range")
- node.type = "text";
- return acc;
- }, []);
- exports.flatten = (...args) => {
- const result = [];
- const flat = (arr) => {
- for (let i = 0; i < arr.length; i++) {
- let ele = arr[i];
- Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele);
- }
- return result;
+ var scan = (input, options8) => {
+ const opts = options8 || {};
+ const length = input.length - 1;
+ const scanToEnd = opts.parts === true || opts.scanToEnd === true;
+ const slashes = [];
+ const tokens = [];
+ const parts = [];
+ let str = input;
+ let index = -1;
+ let start = 0;
+ let lastIndex = 0;
+ let isBrace = false;
+ let isBracket = false;
+ let isGlob = false;
+ let isExtglob = false;
+ let isGlobstar = false;
+ let braceEscaped = false;
+ let backslashes = false;
+ let negated = false;
+ let negatedExtglob = false;
+ let finished = false;
+ let braces = 0;
+ let prev;
+ let code;
+ let token = { value: "", depth: 0, isGlob: false };
+ const eos = () => index >= length;
+ const peek = () => str.charCodeAt(index + 1);
+ const advance = () => {
+ prev = code;
+ return str.charCodeAt(++index);
};
- flat(args);
- return result;
- };
- }
-});
-
-// node_modules/braces/lib/stringify.js
-var require_stringify = __commonJS({
- "node_modules/braces/lib/stringify.js"(exports, module) {
- "use strict";
- var utils = require_utils2();
- module.exports = (ast, options8 = {}) => {
- let stringify = (node, parent = {}) => {
- let invalidBlock = options8.escapeInvalid && utils.isInvalidBrace(parent);
- let invalidNode = node.invalid === true && options8.escapeInvalid === true;
- let output = "";
- if (node.value) {
- if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
- return "\\" + node.value;
+ while (index < length) {
+ code = advance();
+ let next;
+ if (code === CHAR_BACKWARD_SLASH) {
+ backslashes = token.backslashes = true;
+ code = advance();
+ if (code === CHAR_LEFT_CURLY_BRACE) {
+ braceEscaped = true;
}
- return node.value;
+ continue;
}
- if (node.value) {
- return node.value;
+ if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
+ braces++;
+ while (eos() !== true && (code = advance())) {
+ if (code === CHAR_BACKWARD_SLASH) {
+ backslashes = token.backslashes = true;
+ advance();
+ continue;
+ }
+ if (code === CHAR_LEFT_CURLY_BRACE) {
+ braces++;
+ continue;
+ }
+ if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
+ isBrace = token.isBrace = true;
+ isGlob = token.isGlob = true;
+ finished = true;
+ if (scanToEnd === true) {
+ continue;
+ }
+ break;
+ }
+ if (braceEscaped !== true && code === CHAR_COMMA) {
+ isBrace = token.isBrace = true;
+ isGlob = token.isGlob = true;
+ finished = true;
+ if (scanToEnd === true) {
+ continue;
+ }
+ break;
+ }
+ if (code === CHAR_RIGHT_CURLY_BRACE) {
+ braces--;
+ if (braces === 0) {
+ braceEscaped = false;
+ isBrace = token.isBrace = true;
+ finished = true;
+ break;
+ }
+ }
+ }
+ if (scanToEnd === true) {
+ continue;
+ }
+ break;
}
- if (node.nodes) {
- for (let child of node.nodes) {
- output += stringify(child);
+ if (code === CHAR_FORWARD_SLASH) {
+ slashes.push(index);
+ tokens.push(token);
+ token = { value: "", depth: 0, isGlob: false };
+ if (finished === true)
+ continue;
+ if (prev === CHAR_DOT && index === start + 1) {
+ start += 2;
+ continue;
}
+ lastIndex = index + 1;
+ continue;
+ }
+ if (opts.noext !== true) {
+ const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
+ if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
+ isGlob = token.isGlob = true;
+ isExtglob = token.isExtglob = true;
+ finished = true;
+ if (code === CHAR_EXCLAMATION_MARK && index === start) {
+ negatedExtglob = true;
+ }
+ if (scanToEnd === true) {
+ while (eos() !== true && (code = advance())) {
+ if (code === CHAR_BACKWARD_SLASH) {
+ backslashes = token.backslashes = true;
+ code = advance();
+ continue;
+ }
+ if (code === CHAR_RIGHT_PARENTHESES) {
+ isGlob = token.isGlob = true;
+ finished = true;
+ break;
+ }
+ }
+ continue;
+ }
+ break;
+ }
+ }
+ if (code === CHAR_ASTERISK) {
+ if (prev === CHAR_ASTERISK)
+ isGlobstar = token.isGlobstar = true;
+ isGlob = token.isGlob = true;
+ finished = true;
+ if (scanToEnd === true) {
+ continue;
+ }
+ break;
+ }
+ if (code === CHAR_QUESTION_MARK) {
+ isGlob = token.isGlob = true;
+ finished = true;
+ if (scanToEnd === true) {
+ continue;
+ }
+ break;
+ }
+ if (code === CHAR_LEFT_SQUARE_BRACKET) {
+ while (eos() !== true && (next = advance())) {
+ if (next === CHAR_BACKWARD_SLASH) {
+ backslashes = token.backslashes = true;
+ advance();
+ continue;
+ }
+ if (next === CHAR_RIGHT_SQUARE_BRACKET) {
+ isBracket = token.isBracket = true;
+ isGlob = token.isGlob = true;
+ finished = true;
+ break;
+ }
+ }
+ if (scanToEnd === true) {
+ continue;
+ }
+ break;
+ }
+ if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
+ negated = token.negated = true;
+ start++;
+ continue;
+ }
+ if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
+ isGlob = token.isGlob = true;
+ if (scanToEnd === true) {
+ while (eos() !== true && (code = advance())) {
+ if (code === CHAR_LEFT_PARENTHESES) {
+ backslashes = token.backslashes = true;
+ code = advance();
+ continue;
+ }
+ if (code === CHAR_RIGHT_PARENTHESES) {
+ finished = true;
+ break;
+ }
+ }
+ continue;
+ }
+ break;
+ }
+ if (isGlob === true) {
+ finished = true;
+ if (scanToEnd === true) {
+ continue;
+ }
+ break;
}
- return output;
- };
- return stringify(ast);
- };
- }
-});
-
-// node_modules/is-number/index.js
-var require_is_number = __commonJS({
- "node_modules/is-number/index.js"(exports, module) {
- "use strict";
- module.exports = function(num) {
- if (typeof num === "number") {
- return num - num === 0;
}
- if (typeof num === "string" && num.trim() !== "") {
- return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
+ if (opts.noext === true) {
+ isExtglob = false;
+ isGlob = false;
}
- return false;
- };
- }
-});
-
-// node_modules/to-regex-range/index.js
-var require_to_regex_range = __commonJS({
- "node_modules/to-regex-range/index.js"(exports, module) {
- "use strict";
- var isNumber = require_is_number();
- var toRegexRange = (min, max, options8) => {
- if (isNumber(min) === false) {
- throw new TypeError("toRegexRange: expected the first argument to be a number");
+ let base = str;
+ let prefix = "";
+ let glob = "";
+ if (start > 0) {
+ prefix = str.slice(0, start);
+ str = str.slice(start);
+ lastIndex -= start;
}
- if (max === void 0 || min === max) {
- return String(min);
+ if (base && isGlob === true && lastIndex > 0) {
+ base = str.slice(0, lastIndex);
+ glob = str.slice(lastIndex);
+ } else if (isGlob === true) {
+ base = "";
+ glob = str;
+ } else {
+ base = str;
}
- if (isNumber(max) === false) {
- throw new TypeError("toRegexRange: expected the second argument to be a number.");
+ if (base && base !== "" && base !== "/" && base !== str) {
+ if (isPathSeparator(base.charCodeAt(base.length - 1))) {
+ base = base.slice(0, -1);
+ }
}
- let opts = { relaxZeros: true, ...options8 };
- if (typeof opts.strictZeros === "boolean") {
- opts.relaxZeros = opts.strictZeros === false;
+ if (opts.unescape === true) {
+ if (glob)
+ glob = utils.removeBackslashes(glob);
+ if (base && backslashes === true) {
+ base = utils.removeBackslashes(base);
+ }
}
- let relax = String(opts.relaxZeros);
- let shorthand = String(opts.shorthand);
- let capture = String(opts.capture);
- let wrap = String(opts.wrap);
- let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap;
- if (toRegexRange.cache.hasOwnProperty(cacheKey)) {
- return toRegexRange.cache[cacheKey].result;
+ const state = {
+ prefix,
+ input,
+ start,
+ base,
+ glob,
+ isBrace,
+ isBracket,
+ isGlob,
+ isExtglob,
+ isGlobstar,
+ negated,
+ negatedExtglob
+ };
+ if (opts.tokens === true) {
+ state.maxDepth = 0;
+ if (!isPathSeparator(code)) {
+ tokens.push(token);
+ }
+ state.tokens = tokens;
}
- let a = Math.min(min, max);
- let b = Math.max(min, max);
- if (Math.abs(a - b) === 1) {
- let result = min + "|" + max;
- if (opts.capture) {
- return `(${result})`;
+ if (opts.parts === true || opts.tokens === true) {
+ let prevIndex;
+ for (let idx = 0; idx < slashes.length; idx++) {
+ const n = prevIndex ? prevIndex + 1 : start;
+ const i = slashes[idx];
+ const value = input.slice(n, i);
+ if (opts.tokens) {
+ if (idx === 0 && start !== 0) {
+ tokens[idx].isPrefix = true;
+ tokens[idx].value = prefix;
+ } else {
+ tokens[idx].value = value;
+ }
+ depth(tokens[idx]);
+ state.maxDepth += tokens[idx].depth;
+ }
+ if (idx !== 0 || value !== "") {
+ parts.push(value);
+ }
+ prevIndex = i;
}
- if (opts.wrap === false) {
- return result;
+ if (prevIndex && prevIndex + 1 < input.length) {
+ const value = input.slice(prevIndex + 1);
+ parts.push(value);
+ if (opts.tokens) {
+ tokens[tokens.length - 1].value = value;
+ depth(tokens[tokens.length - 1]);
+ state.maxDepth += tokens[tokens.length - 1].depth;
+ }
}
- return `(?:${result})`;
- }
- let isPadded = hasPadding(min) || hasPadding(max);
- let state = { min, max, a, b };
- let positives = [];
- let negatives = [];
- if (isPadded) {
- state.isPadded = isPadded;
- state.maxLen = String(state.max).length;
+ state.slashes = slashes;
+ state.parts = parts;
}
- if (a < 0) {
- let newMin = b < 0 ? Math.abs(b) : 1;
- negatives = splitToPatterns(newMin, Math.abs(a), state, opts);
- a = state.a = 0;
+ return state;
+ };
+ module.exports = scan;
+ }
+});
+
+// node_modules/picomatch/lib/parse.js
+var require_parse2 = __commonJS({
+ "node_modules/picomatch/lib/parse.js"(exports, module) {
+ "use strict";
+ var constants = require_constants2();
+ var utils = require_utils2();
+ var {
+ MAX_LENGTH,
+ POSIX_REGEX_SOURCE,
+ REGEX_NON_SPECIAL_CHARS,
+ REGEX_SPECIAL_CHARS_BACKREF,
+ REPLACEMENTS
+ } = constants;
+ var expandRange = (args, options8) => {
+ if (typeof options8.expandRange === "function") {
+ return options8.expandRange(...args, options8);
}
- if (b >= 0) {
- positives = splitToPatterns(a, b, state, opts);
+ args.sort();
+ const value = `[${args.join("-")}]`;
+ try {
+ new RegExp(value);
+ } catch (ex) {
+ return args.map((v) => utils.escapeRegex(v)).join("..");
}
- state.negatives = negatives;
- state.positives = positives;
- state.result = collatePatterns(negatives, positives, opts);
- if (opts.capture === true) {
- state.result = `(${state.result})`;
- } else if (opts.wrap !== false && positives.length + negatives.length > 1) {
- state.result = `(?:${state.result})`;
- }
- toRegexRange.cache[cacheKey] = state;
- return state.result;
+ return value;
};
- function collatePatterns(neg, pos, options8) {
- let onlyNegative = filterPatterns(neg, pos, "-", false, options8) || [];
- let onlyPositive = filterPatterns(pos, neg, "", false, options8) || [];
- let intersected = filterPatterns(neg, pos, "-?", true, options8) || [];
- let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);
- return subpatterns.join("|");
- }
- function splitToRanges(min, max) {
- let nines = 1;
- let zeros = 1;
- let stop = countNines(min, nines);
- let stops = /* @__PURE__ */ new Set([max]);
- while (min <= stop && stop <= max) {
- stops.add(stop);
- nines += 1;
- stop = countNines(min, nines);
+ var syntaxError = (type, char) => {
+ return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
+ };
+ var parse3 = (input, options8) => {
+ if (typeof input !== "string") {
+ throw new TypeError("Expected a string");
}
- stop = countZeros(max + 1, zeros) - 1;
- while (min < stop && stop <= max) {
- stops.add(stop);
- zeros += 1;
- stop = countZeros(max + 1, zeros) - 1;
+ input = REPLACEMENTS[input] || input;
+ const opts = { ...options8 };
+ const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
+ let len = input.length;
+ if (len > max) {
+ throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
}
- stops = [...stops];
- stops.sort(compare);
- return stops;
- }
- function rangeToPattern(start, stop, options8) {
- if (start === stop) {
- return { pattern: start, count: [], digits: 0 };
+ const bos = { type: "bos", value: "", output: opts.prepend || "" };
+ const tokens = [bos];
+ const capture = opts.capture ? "" : "?:";
+ const win32 = utils.isWindows(options8);
+ const PLATFORM_CHARS = constants.globChars(win32);
+ const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
+ const {
+ DOT_LITERAL,
+ PLUS_LITERAL,
+ SLASH_LITERAL,
+ ONE_CHAR,
+ DOTS_SLASH,
+ NO_DOT,
+ NO_DOT_SLASH,
+ NO_DOTS_SLASH,
+ QMARK,
+ QMARK_NO_DOT,
+ STAR,
+ START_ANCHOR
+ } = PLATFORM_CHARS;
+ const globstar = (opts2) => {
+ return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
+ };
+ const nodot = opts.dot ? "" : NO_DOT;
+ const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
+ let star = opts.bash === true ? globstar(opts) : STAR;
+ if (opts.capture) {
+ star = `(${star})`;
}
- let zipped = zip(start, stop);
- let digits = zipped.length;
- let pattern = "";
- let count = 0;
- for (let i = 0; i < digits; i++) {
- let [startDigit, stopDigit] = zipped[i];
- if (startDigit === stopDigit) {
- pattern += startDigit;
- } else if (startDigit !== "0" || stopDigit !== "9") {
- pattern += toCharacterClass(startDigit, stopDigit, options8);
- } else {
+ if (typeof opts.noext === "boolean") {
+ opts.noextglob = opts.noext;
+ }
+ const state = {
+ input,
+ index: -1,
+ start: 0,
+ dot: opts.dot === true,
+ consumed: "",
+ output: "",
+ prefix: "",
+ backtrack: false,
+ negated: false,
+ brackets: 0,
+ braces: 0,
+ parens: 0,
+ quotes: 0,
+ globstar: false,
+ tokens
+ };
+ input = utils.removePrefix(input, state);
+ len = input.length;
+ const extglobs = [];
+ const braces = [];
+ const stack = [];
+ let prev = bos;
+ let value;
+ const eos = () => state.index === len - 1;
+ const peek = state.peek = (n = 1) => input[state.index + n];
+ const advance = state.advance = () => input[++state.index] || "";
+ const remaining = () => input.slice(state.index + 1);
+ const consume = (value2 = "", num = 0) => {
+ state.consumed += value2;
+ state.index += num;
+ };
+ const append = (token) => {
+ state.output += token.output != null ? token.output : token.value;
+ consume(token.value);
+ };
+ const negate = () => {
+ let count = 1;
+ while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
+ advance();
+ state.start++;
count++;
}
- }
- if (count) {
- pattern += options8.shorthand === true ? "\\d" : "[0-9]";
- }
- return { pattern, count: [count], digits };
- }
- function splitToPatterns(min, max, tok, options8) {
- let ranges = splitToRanges(min, max);
- let tokens = [];
- let start = min;
- let prev;
- for (let i = 0; i < ranges.length; i++) {
- let max2 = ranges[i];
- let obj = rangeToPattern(String(start), String(max2), options8);
- let zeros = "";
- if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
- if (prev.count.length > 1) {
- prev.count.pop();
+ if (count % 2 === 0) {
+ return false;
+ }
+ state.negated = true;
+ state.start++;
+ return true;
+ };
+ const increment = (type) => {
+ state[type]++;
+ stack.push(type);
+ };
+ const decrement = (type) => {
+ state[type]--;
+ stack.pop();
+ };
+ const push = (tok) => {
+ if (prev.type === "globstar") {
+ const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
+ const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
+ if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
+ state.output = state.output.slice(0, -prev.output.length);
+ prev.type = "star";
+ prev.value = "*";
+ prev.output = star;
+ state.output += prev.output;
}
- prev.count.push(obj.count[0]);
- prev.string = prev.pattern + toQuantifier(prev.count);
- start = max2 + 1;
- continue;
}
- if (tok.isPadded) {
- zeros = padZeros(max2, tok, options8);
+ if (extglobs.length && tok.type !== "paren") {
+ extglobs[extglobs.length - 1].inner += tok.value;
}
- obj.string = zeros + obj.pattern + toQuantifier(obj.count);
- tokens.push(obj);
- start = max2 + 1;
- prev = obj;
- }
- return tokens;
- }
- function filterPatterns(arr, comparison, prefix, intersection, options8) {
- let result = [];
- for (let ele of arr) {
- let { string } = ele;
- if (!intersection && !contains(comparison, "string", string)) {
- result.push(prefix + string);
+ if (tok.value || tok.output)
+ append(tok);
+ if (prev && prev.type === "text" && tok.type === "text") {
+ prev.value += tok.value;
+ prev.output = (prev.output || "") + tok.value;
+ return;
}
- if (intersection && contains(comparison, "string", string)) {
- result.push(prefix + string);
- }
- }
- return result;
- }
- function zip(a, b) {
- let arr = [];
- for (let i = 0; i < a.length; i++)
- arr.push([a[i], b[i]]);
- return arr;
- }
- function compare(a, b) {
- return a > b ? 1 : b > a ? -1 : 0;
- }
- function contains(arr, key, val) {
- return arr.some((ele) => ele[key] === val);
- }
- function countNines(min, len) {
- return Number(String(min).slice(0, -len) + "9".repeat(len));
- }
- function countZeros(integer, zeros) {
- return integer - integer % Math.pow(10, zeros);
- }
- function toQuantifier(digits) {
- let [start = 0, stop = ""] = digits;
- if (stop || start > 1) {
- return `{${start + (stop ? "," + stop : "")}}`;
- }
- return "";
- }
- function toCharacterClass(a, b, options8) {
- return `[${a}${b - a === 1 ? "" : "-"}${b}]`;
- }
- function hasPadding(str) {
- return /^-?(0+)\d/.test(str);
- }
- function padZeros(value, tok, options8) {
- if (!tok.isPadded) {
- return value;
- }
- let diff = Math.abs(tok.maxLen - String(value).length);
- let relax = options8.relaxZeros !== false;
- switch (diff) {
- case 0:
- return "";
- case 1:
- return relax ? "0?" : "0";
- case 2:
- return relax ? "0{0,2}" : "00";
- default: {
- return relax ? `0{0,${diff}}` : `0{${diff}}`;
- }
- }
- }
- toRegexRange.cache = {};
- toRegexRange.clearCache = () => toRegexRange.cache = {};
- module.exports = toRegexRange;
- }
-});
-
-// node_modules/fill-range/index.js
-var require_fill_range = __commonJS({
- "node_modules/fill-range/index.js"(exports, module) {
- "use strict";
- var util = __require("util");
- var toRegexRange = require_to_regex_range();
- var isObject2 = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
- var transform2 = (toNumber) => {
- return (value) => toNumber === true ? Number(value) : String(value);
- };
- var isValidValue = (value) => {
- return typeof value === "number" || typeof value === "string" && value !== "";
- };
- var isNumber = (num) => Number.isInteger(+num);
- var zeros = (input) => {
- let value = `${input}`;
- let index = -1;
- if (value[0] === "-")
- value = value.slice(1);
- if (value === "0")
- return false;
- while (value[++index] === "0")
- ;
- return index > 0;
- };
- var stringify = (start, end, options8) => {
- if (typeof start === "string" || typeof end === "string") {
- return true;
- }
- return options8.stringify === true;
- };
- var pad = (input, maxLength, toNumber) => {
- if (maxLength > 0) {
- let dash = input[0] === "-" ? "-" : "";
- if (dash)
- input = input.slice(1);
- input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0");
- }
- if (toNumber === false) {
- return String(input);
- }
- return input;
- };
- var toMaxLen = (input, maxLength) => {
- let negative = input[0] === "-" ? "-" : "";
- if (negative) {
- input = input.slice(1);
- maxLength--;
- }
- while (input.length < maxLength)
- input = "0" + input;
- return negative ? "-" + input : input;
- };
- var toSequence = (parts, options8) => {
- parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
- parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
- let prefix = options8.capture ? "" : "?:";
- let positives = "";
- let negatives = "";
- let result;
- if (parts.positives.length) {
- positives = parts.positives.join("|");
- }
- if (parts.negatives.length) {
- negatives = `-(${prefix}${parts.negatives.join("|")})`;
- }
- if (positives && negatives) {
- result = `${positives}|${negatives}`;
- } else {
- result = positives || negatives;
- }
- if (options8.wrap) {
- return `(${prefix}${result})`;
- }
- return result;
- };
- var toRange = (a, b, isNumbers, options8) => {
- if (isNumbers) {
- return toRegexRange(a, b, { wrap: false, ...options8 });
- }
- let start = String.fromCharCode(a);
- if (a === b)
- return start;
- let stop = String.fromCharCode(b);
- return `[${start}-${stop}]`;
- };
- var toRegex = (start, end, options8) => {
- if (Array.isArray(start)) {
- let wrap = options8.wrap === true;
- let prefix = options8.capture ? "" : "?:";
- return wrap ? `(${prefix}${start.join("|")})` : start.join("|");
- }
- return toRegexRange(start, end, options8);
- };
- var rangeError = (...args) => {
- return new RangeError("Invalid range arguments: " + util.inspect(...args));
- };
- var invalidRange = (start, end, options8) => {
- if (options8.strictRanges === true)
- throw rangeError([start, end]);
- return [];
- };
- var invalidStep = (step, options8) => {
- if (options8.strictRanges === true) {
- throw new TypeError(`Expected step "${step}" to be a number`);
- }
- return [];
- };
- var fillNumbers = (start, end, step = 1, options8 = {}) => {
- let a = Number(start);
- let b = Number(end);
- if (!Number.isInteger(a) || !Number.isInteger(b)) {
- if (options8.strictRanges === true)
- throw rangeError([start, end]);
- return [];
- }
- if (a === 0)
- a = 0;
- if (b === 0)
- b = 0;
- let descending = a > b;
- let startString = String(start);
- let endString = String(end);
- let stepString = String(step);
- step = Math.max(Math.abs(step), 1);
- let padded = zeros(startString) || zeros(endString) || zeros(stepString);
- let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
- let toNumber = padded === false && stringify(start, end, options8) === false;
- let format3 = options8.transform || transform2(toNumber);
- if (options8.toRegex && step === 1) {
- return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options8);
- }
- let parts = { negatives: [], positives: [] };
- let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num));
- let range = [];
- let index = 0;
- while (descending ? a >= b : a <= b) {
- if (options8.toRegex === true && step > 1) {
- push(a);
- } else {
- range.push(pad(format3(a, index), maxLen, toNumber));
- }
- a = descending ? a - step : a + step;
- index++;
- }
- if (options8.toRegex === true) {
- return step > 1 ? toSequence(parts, options8) : toRegex(range, null, { wrap: false, ...options8 });
- }
- return range;
- };
- var fillLetters = (start, end, step = 1, options8 = {}) => {
- if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) {
- return invalidRange(start, end, options8);
- }
- let format3 = options8.transform || ((val) => String.fromCharCode(val));
- let a = `${start}`.charCodeAt(0);
- let b = `${end}`.charCodeAt(0);
- let descending = a > b;
- let min = Math.min(a, b);
- let max = Math.max(a, b);
- if (options8.toRegex && step === 1) {
- return toRange(min, max, false, options8);
- }
- let range = [];
- let index = 0;
- while (descending ? a >= b : a <= b) {
- range.push(format3(a, index));
- a = descending ? a - step : a + step;
- index++;
- }
- if (options8.toRegex === true) {
- return toRegex(range, null, { wrap: false, options: options8 });
- }
- return range;
- };
- var fill2 = (start, end, step, options8 = {}) => {
- if (end == null && isValidValue(start)) {
- return [start];
- }
- if (!isValidValue(start) || !isValidValue(end)) {
- return invalidRange(start, end, options8);
- }
- if (typeof step === "function") {
- return fill2(start, end, 1, { transform: step });
- }
- if (isObject2(step)) {
- return fill2(start, end, 0, step);
- }
- let opts = { ...options8 };
- if (opts.capture === true)
- opts.wrap = true;
- step = step || opts.step || 1;
- if (!isNumber(step)) {
- if (step != null && !isObject2(step))
- return invalidStep(step, opts);
- return fill2(start, end, 1, step);
- }
- if (isNumber(start) && isNumber(end)) {
- return fillNumbers(start, end, step, opts);
- }
- return fillLetters(start, end, Math.max(Math.abs(step), 1), opts);
- };
- module.exports = fill2;
- }
-});
-
-// node_modules/braces/lib/compile.js
-var require_compile = __commonJS({
- "node_modules/braces/lib/compile.js"(exports, module) {
- "use strict";
- var fill2 = require_fill_range();
- var utils = require_utils2();
- var compile = (ast, options8 = {}) => {
- let walk = (node, parent = {}) => {
- let invalidBlock = utils.isInvalidBrace(parent);
- let invalidNode = node.invalid === true && options8.escapeInvalid === true;
- let invalid = invalidBlock === true || invalidNode === true;
- let prefix = options8.escapeInvalid === true ? "\\" : "";
- let output = "";
- if (node.isOpen === true) {
- return prefix + node.value;
- }
- if (node.isClose === true) {
- return prefix + node.value;
- }
- if (node.type === "open") {
- return invalid ? prefix + node.value : "(";
- }
- if (node.type === "close") {
- return invalid ? prefix + node.value : ")";
- }
- if (node.type === "comma") {
- return node.prev.type === "comma" ? "" : invalid ? node.value : "|";
- }
- if (node.value) {
- return node.value;
- }
- if (node.nodes && node.ranges > 0) {
- let args = utils.reduce(node.nodes);
- let range = fill2(...args, { ...options8, wrap: false, toRegex: true });
- if (range.length !== 0) {
- return args.length > 1 && range.length > 1 ? `(${range})` : range;
- }
- }
- if (node.nodes) {
- for (let child of node.nodes) {
- output += walk(child, node);
- }
- }
- return output;
- };
- return walk(ast);
- };
- module.exports = compile;
- }
-});
-
-// node_modules/braces/lib/expand.js
-var require_expand = __commonJS({
- "node_modules/braces/lib/expand.js"(exports, module) {
- "use strict";
- var fill2 = require_fill_range();
- var stringify = require_stringify();
- var utils = require_utils2();
- var append = (queue = "", stash = "", enclose = false) => {
- let result = [];
- queue = [].concat(queue);
- stash = [].concat(stash);
- if (!stash.length)
- return queue;
- if (!queue.length) {
- return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash;
- }
- for (let item of queue) {
- if (Array.isArray(item)) {
- for (let value of item) {
- result.push(append(value, stash, enclose));
- }
- } else {
- for (let ele of stash) {
- if (enclose === true && typeof ele === "string")
- ele = `{${ele}}`;
- result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele);
- }
- }
- }
- return utils.flatten(result);
- };
- var expand = (ast, options8 = {}) => {
- let rangeLimit = options8.rangeLimit === void 0 ? 1e3 : options8.rangeLimit;
- let walk = (node, parent = {}) => {
- node.queue = [];
- let p = parent;
- let q = parent.queue;
- while (p.type !== "brace" && p.type !== "root" && p.parent) {
- p = p.parent;
- q = p.queue;
- }
- if (node.invalid || node.dollar) {
- q.push(append(q.pop(), stringify(node, options8)));
- return;
- }
- if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) {
- q.push(append(q.pop(), ["{}"]));
- return;
- }
- if (node.nodes && node.ranges > 0) {
- let args = utils.reduce(node.nodes);
- if (utils.exceedsLimit(...args, options8.step, rangeLimit)) {
- throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");
- }
- let range = fill2(...args, options8);
- if (range.length === 0) {
- range = stringify(node, options8);
- }
- q.push(append(q.pop(), range));
- node.nodes = [];
- return;
- }
- let enclose = utils.encloseBrace(node);
- let queue = node.queue;
- let block = node;
- while (block.type !== "brace" && block.type !== "root" && block.parent) {
- block = block.parent;
- queue = block.queue;
- }
- for (let i = 0; i < node.nodes.length; i++) {
- let child = node.nodes[i];
- if (child.type === "comma" && node.type === "brace") {
- if (i === 1)
- queue.push("");
- queue.push("");
- continue;
- }
- if (child.type === "close") {
- q.push(append(q.pop(), queue, enclose));
- continue;
- }
- if (child.value && child.type !== "open") {
- queue.push(append(queue.pop(), child.value));
- continue;
- }
- if (child.nodes) {
- walk(child, node);
- }
- }
- return queue;
- };
- return utils.flatten(walk(ast));
- };
- module.exports = expand;
- }
-});
-
-// node_modules/braces/lib/constants.js
-var require_constants = __commonJS({
- "node_modules/braces/lib/constants.js"(exports, module) {
- "use strict";
- module.exports = {
- MAX_LENGTH: 1024 * 64,
- // Digits
- CHAR_0: "0",
- /* 0 */
- CHAR_9: "9",
- /* 9 */
- // Alphabet chars.
- CHAR_UPPERCASE_A: "A",
- /* A */
- CHAR_LOWERCASE_A: "a",
- /* a */
- CHAR_UPPERCASE_Z: "Z",
- /* Z */
- CHAR_LOWERCASE_Z: "z",
- /* z */
- CHAR_LEFT_PARENTHESES: "(",
- /* ( */
- CHAR_RIGHT_PARENTHESES: ")",
- /* ) */
- CHAR_ASTERISK: "*",
- /* * */
- // Non-alphabetic chars.
- CHAR_AMPERSAND: "&",
- /* & */
- CHAR_AT: "@",
- /* @ */
- CHAR_BACKSLASH: "\\",
- /* \ */
- CHAR_BACKTICK: "`",
- /* ` */
- CHAR_CARRIAGE_RETURN: "\r",
- /* \r */
- CHAR_CIRCUMFLEX_ACCENT: "^",
- /* ^ */
- CHAR_COLON: ":",
- /* : */
- CHAR_COMMA: ",",
- /* , */
- CHAR_DOLLAR: "$",
- /* . */
- CHAR_DOT: ".",
- /* . */
- CHAR_DOUBLE_QUOTE: '"',
- /* " */
- CHAR_EQUAL: "=",
- /* = */
- CHAR_EXCLAMATION_MARK: "!",
- /* ! */
- CHAR_FORM_FEED: "\f",
- /* \f */
- CHAR_FORWARD_SLASH: "/",
- /* / */
- CHAR_HASH: "#",
- /* # */
- CHAR_HYPHEN_MINUS: "-",
- /* - */
- CHAR_LEFT_ANGLE_BRACKET: "<",
- /* < */
- CHAR_LEFT_CURLY_BRACE: "{",
- /* { */
- CHAR_LEFT_SQUARE_BRACKET: "[",
- /* [ */
- CHAR_LINE_FEED: "\n",
- /* \n */
- CHAR_NO_BREAK_SPACE: "\xA0",
- /* \u00A0 */
- CHAR_PERCENT: "%",
- /* % */
- CHAR_PLUS: "+",
- /* + */
- CHAR_QUESTION_MARK: "?",
- /* ? */
- CHAR_RIGHT_ANGLE_BRACKET: ">",
- /* > */
- CHAR_RIGHT_CURLY_BRACE: "}",
- /* } */
- CHAR_RIGHT_SQUARE_BRACKET: "]",
- /* ] */
- CHAR_SEMICOLON: ";",
- /* ; */
- CHAR_SINGLE_QUOTE: "'",
- /* ' */
- CHAR_SPACE: " ",
- /* */
- CHAR_TAB: " ",
- /* \t */
- CHAR_UNDERSCORE: "_",
- /* _ */
- CHAR_VERTICAL_LINE: "|",
- /* | */
- CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF"
- /* \uFEFF */
- };
- }
-});
-
-// node_modules/braces/lib/parse.js
-var require_parse = __commonJS({
- "node_modules/braces/lib/parse.js"(exports, module) {
- "use strict";
- var stringify = require_stringify();
- var {
- MAX_LENGTH,
- CHAR_BACKSLASH,
- /* \ */
- CHAR_BACKTICK,
- /* ` */
- CHAR_COMMA,
- /* , */
- CHAR_DOT,
- /* . */
- CHAR_LEFT_PARENTHESES,
- /* ( */
- CHAR_RIGHT_PARENTHESES,
- /* ) */
- CHAR_LEFT_CURLY_BRACE,
- /* { */
- CHAR_RIGHT_CURLY_BRACE,
- /* } */
- CHAR_LEFT_SQUARE_BRACKET,
- /* [ */
- CHAR_RIGHT_SQUARE_BRACKET,
- /* ] */
- CHAR_DOUBLE_QUOTE,
- /* " */
- CHAR_SINGLE_QUOTE,
- /* ' */
- CHAR_NO_BREAK_SPACE,
- CHAR_ZERO_WIDTH_NOBREAK_SPACE
- } = require_constants();
- var parse3 = (input, options8 = {}) => {
- if (typeof input !== "string") {
- throw new TypeError("Expected a string");
- }
- let opts = options8 || {};
- let max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
- if (input.length > max) {
- throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);
- }
- let ast = { type: "root", input, nodes: [] };
- let stack = [ast];
- let block = ast;
- let prev = ast;
- let brackets = 0;
- let length = input.length;
- let index = 0;
- let depth = 0;
- let value;
- let memo = {};
- const advance = () => input[index++];
- const push = (node) => {
- if (node.type === "text" && prev.type === "dot") {
- prev.type = "text";
- }
- if (prev && prev.type === "text" && node.type === "text") {
- prev.value += node.value;
- return;
- }
- block.nodes.push(node);
- node.parent = block;
- node.prev = prev;
- prev = node;
- return node;
- };
- push({ type: "bos" });
- while (index < length) {
- block = stack[stack.length - 1];
- value = advance();
- if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {
- continue;
- }
- if (value === CHAR_BACKSLASH) {
- push({ type: "text", value: (options8.keepEscaping ? value : "") + advance() });
- continue;
- }
- if (value === CHAR_RIGHT_SQUARE_BRACKET) {
- push({ type: "text", value: "\\" + value });
- continue;
- }
- if (value === CHAR_LEFT_SQUARE_BRACKET) {
- brackets++;
- let closed = true;
- let next;
- while (index < length && (next = advance())) {
- value += next;
- if (next === CHAR_LEFT_SQUARE_BRACKET) {
- brackets++;
- continue;
- }
- if (next === CHAR_BACKSLASH) {
- value += advance();
- continue;
- }
- if (next === CHAR_RIGHT_SQUARE_BRACKET) {
- brackets--;
- if (brackets === 0) {
- break;
- }
- }
- }
- push({ type: "text", value });
- continue;
- }
- if (value === CHAR_LEFT_PARENTHESES) {
- block = push({ type: "paren", nodes: [] });
- stack.push(block);
- push({ type: "text", value });
- continue;
- }
- if (value === CHAR_RIGHT_PARENTHESES) {
- if (block.type !== "paren") {
- push({ type: "text", value });
- continue;
- }
- block = stack.pop();
- push({ type: "text", value });
- block = stack[stack.length - 1];
- continue;
- }
- if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {
- let open = value;
- let next;
- if (options8.keepQuotes !== true) {
- value = "";
- }
- while (index < length && (next = advance())) {
- if (next === CHAR_BACKSLASH) {
- value += next + advance();
- continue;
- }
- if (next === open) {
- if (options8.keepQuotes === true)
- value += next;
- break;
- }
- value += next;
- }
- push({ type: "text", value });
- continue;
- }
- if (value === CHAR_LEFT_CURLY_BRACE) {
- depth++;
- let dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true;
- let brace = {
- type: "brace",
- open: true,
- close: false,
- dollar,
- depth,
- commas: 0,
- ranges: 0,
- nodes: []
- };
- block = push(brace);
- stack.push(block);
- push({ type: "open", value });
- continue;
- }
- if (value === CHAR_RIGHT_CURLY_BRACE) {
- if (block.type !== "brace") {
- push({ type: "text", value });
- continue;
- }
- let type = "close";
- block = stack.pop();
- block.close = true;
- push({ type, value });
- depth--;
- block = stack[stack.length - 1];
- continue;
- }
- if (value === CHAR_COMMA && depth > 0) {
- if (block.ranges > 0) {
- block.ranges = 0;
- let open = block.nodes.shift();
- block.nodes = [open, { type: "text", value: stringify(block) }];
- }
- push({ type: "comma", value });
- block.commas++;
- continue;
- }
- if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
- let siblings = block.nodes;
- if (depth === 0 || siblings.length === 0) {
- push({ type: "text", value });
- continue;
- }
- if (prev.type === "dot") {
- block.range = [];
- prev.value += value;
- prev.type = "range";
- if (block.nodes.length !== 3 && block.nodes.length !== 5) {
- block.invalid = true;
- block.ranges = 0;
- prev.type = "text";
- continue;
- }
- block.ranges++;
- block.args = [];
- continue;
- }
- if (prev.type === "range") {
- siblings.pop();
- let before = siblings[siblings.length - 1];
- before.value += prev.value + value;
- prev = before;
- block.ranges--;
- continue;
- }
- push({ type: "dot", value });
- continue;
- }
- push({ type: "text", value });
- }
- do {
- block = stack.pop();
- if (block.type !== "root") {
- block.nodes.forEach((node) => {
- if (!node.nodes) {
- if (node.type === "open")
- node.isOpen = true;
- if (node.type === "close")
- node.isClose = true;
- if (!node.nodes)
- node.type = "text";
- node.invalid = true;
- }
- });
- let parent = stack[stack.length - 1];
- let index2 = parent.nodes.indexOf(block);
- parent.nodes.splice(index2, 1, ...block.nodes);
- }
- } while (stack.length > 0);
- push({ type: "eos" });
- return ast;
- };
- module.exports = parse3;
- }
-});
-
-// node_modules/braces/index.js
-var require_braces = __commonJS({
- "node_modules/braces/index.js"(exports, module) {
- "use strict";
- var stringify = require_stringify();
- var compile = require_compile();
- var expand = require_expand();
- var parse3 = require_parse();
- var braces = (input, options8 = {}) => {
- let output = [];
- if (Array.isArray(input)) {
- for (let pattern of input) {
- let result = braces.create(pattern, options8);
- if (Array.isArray(result)) {
- output.push(...result);
- } else {
- output.push(result);
- }
- }
- } else {
- output = [].concat(braces.create(input, options8));
- }
- if (options8 && options8.expand === true && options8.nodupes === true) {
- output = [...new Set(output)];
- }
- return output;
- };
- braces.parse = (input, options8 = {}) => parse3(input, options8);
- braces.stringify = (input, options8 = {}) => {
- if (typeof input === "string") {
- return stringify(braces.parse(input, options8), options8);
- }
- return stringify(input, options8);
- };
- braces.compile = (input, options8 = {}) => {
- if (typeof input === "string") {
- input = braces.parse(input, options8);
- }
- return compile(input, options8);
- };
- braces.expand = (input, options8 = {}) => {
- if (typeof input === "string") {
- input = braces.parse(input, options8);
- }
- let result = expand(input, options8);
- if (options8.noempty === true) {
- result = result.filter(Boolean);
- }
- if (options8.nodupes === true) {
- result = [...new Set(result)];
- }
- return result;
- };
- braces.create = (input, options8 = {}) => {
- if (input === "" || input.length < 3) {
- return [input];
- }
- return options8.expand !== true ? braces.compile(input, options8) : braces.expand(input, options8);
- };
- module.exports = braces;
- }
-});
-
-// node_modules/picomatch/lib/constants.js
-var require_constants2 = __commonJS({
- "node_modules/picomatch/lib/constants.js"(exports, module) {
- "use strict";
- var path9 = __require("path");
- var WIN_SLASH = "\\\\/";
- var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
- var DOT_LITERAL = "\\.";
- var PLUS_LITERAL = "\\+";
- var QMARK_LITERAL = "\\?";
- var SLASH_LITERAL = "\\/";
- var ONE_CHAR = "(?=.)";
- var QMARK = "[^/]";
- var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
- var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
- var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
- var NO_DOT = `(?!${DOT_LITERAL})`;
- var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
- var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
- var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
- var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
- var STAR = `${QMARK}*?`;
- var POSIX_CHARS = {
- DOT_LITERAL,
- PLUS_LITERAL,
- QMARK_LITERAL,
- SLASH_LITERAL,
- ONE_CHAR,
- QMARK,
- END_ANCHOR,
- DOTS_SLASH,
- NO_DOT,
- NO_DOTS,
- NO_DOT_SLASH,
- NO_DOTS_SLASH,
- QMARK_NO_DOT,
- STAR,
- START_ANCHOR
- };
- var WINDOWS_CHARS = {
- ...POSIX_CHARS,
- SLASH_LITERAL: `[${WIN_SLASH}]`,
- QMARK: WIN_NO_SLASH,
- STAR: `${WIN_NO_SLASH}*?`,
- DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
- NO_DOT: `(?!${DOT_LITERAL})`,
- NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
- NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
- NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
- QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
- START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
- END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
- };
- var POSIX_REGEX_SOURCE = {
- alnum: "a-zA-Z0-9",
- alpha: "a-zA-Z",
- ascii: "\\x00-\\x7F",
- blank: " \\t",
- cntrl: "\\x00-\\x1F\\x7F",
- digit: "0-9",
- graph: "\\x21-\\x7E",
- lower: "a-z",
- print: "\\x20-\\x7E ",
- punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
- space: " \\t\\r\\n\\v\\f",
- upper: "A-Z",
- word: "A-Za-z0-9_",
- xdigit: "A-Fa-f0-9"
- };
- module.exports = {
- MAX_LENGTH: 1024 * 64,
- POSIX_REGEX_SOURCE,
- // regular expressions
- REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
- REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
- REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
- REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
- REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
- REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
- // Replace globs with equivalent patterns to reduce parsing time.
- REPLACEMENTS: {
- "***": "*",
- "**/**": "**",
- "**/**/**": "**"
- },
- // Digits
- CHAR_0: 48,
- /* 0 */
- CHAR_9: 57,
- /* 9 */
- // Alphabet chars.
- CHAR_UPPERCASE_A: 65,
- /* A */
- CHAR_LOWERCASE_A: 97,
- /* a */
- CHAR_UPPERCASE_Z: 90,
- /* Z */
- CHAR_LOWERCASE_Z: 122,
- /* z */
- CHAR_LEFT_PARENTHESES: 40,
- /* ( */
- CHAR_RIGHT_PARENTHESES: 41,
- /* ) */
- CHAR_ASTERISK: 42,
- /* * */
- // Non-alphabetic chars.
- CHAR_AMPERSAND: 38,
- /* & */
- CHAR_AT: 64,
- /* @ */
- CHAR_BACKWARD_SLASH: 92,
- /* \ */
- CHAR_CARRIAGE_RETURN: 13,
- /* \r */
- CHAR_CIRCUMFLEX_ACCENT: 94,
- /* ^ */
- CHAR_COLON: 58,
- /* : */
- CHAR_COMMA: 44,
- /* , */
- CHAR_DOT: 46,
- /* . */
- CHAR_DOUBLE_QUOTE: 34,
- /* " */
- CHAR_EQUAL: 61,
- /* = */
- CHAR_EXCLAMATION_MARK: 33,
- /* ! */
- CHAR_FORM_FEED: 12,
- /* \f */
- CHAR_FORWARD_SLASH: 47,
- /* / */
- CHAR_GRAVE_ACCENT: 96,
- /* ` */
- CHAR_HASH: 35,
- /* # */
- CHAR_HYPHEN_MINUS: 45,
- /* - */
- CHAR_LEFT_ANGLE_BRACKET: 60,
- /* < */
- CHAR_LEFT_CURLY_BRACE: 123,
- /* { */
- CHAR_LEFT_SQUARE_BRACKET: 91,
- /* [ */
- CHAR_LINE_FEED: 10,
- /* \n */
- CHAR_NO_BREAK_SPACE: 160,
- /* \u00A0 */
- CHAR_PERCENT: 37,
- /* % */
- CHAR_PLUS: 43,
- /* + */
- CHAR_QUESTION_MARK: 63,
- /* ? */
- CHAR_RIGHT_ANGLE_BRACKET: 62,
- /* > */
- CHAR_RIGHT_CURLY_BRACE: 125,
- /* } */
- CHAR_RIGHT_SQUARE_BRACKET: 93,
- /* ] */
- CHAR_SEMICOLON: 59,
- /* ; */
- CHAR_SINGLE_QUOTE: 39,
- /* ' */
- CHAR_SPACE: 32,
- /* */
- CHAR_TAB: 9,
- /* \t */
- CHAR_UNDERSCORE: 95,
- /* _ */
- CHAR_VERTICAL_LINE: 124,
- /* | */
- CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
- /* \uFEFF */
- SEP: path9.sep,
- /**
- * Create EXTGLOB_CHARS
- */
- extglobChars(chars) {
- return {
- "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
- "?": { type: "qmark", open: "(?:", close: ")?" },
- "+": { type: "plus", open: "(?:", close: ")+" },
- "*": { type: "star", open: "(?:", close: ")*" },
- "@": { type: "at", open: "(?:", close: ")" }
- };
- },
- /**
- * Create GLOB_CHARS
- */
- globChars(win32) {
- return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
- }
- };
- }
-});
-
-// node_modules/picomatch/lib/utils.js
-var require_utils3 = __commonJS({
- "node_modules/picomatch/lib/utils.js"(exports) {
- "use strict";
- var path9 = __require("path");
- var win32 = process.platform === "win32";
- var {
- REGEX_BACKSLASH,
- REGEX_REMOVE_BACKSLASH,
- REGEX_SPECIAL_CHARS,
- REGEX_SPECIAL_CHARS_GLOBAL
- } = require_constants2();
- exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
- exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
- exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str);
- exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
- exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
- exports.removeBackslashes = (str) => {
- return str.replace(REGEX_REMOVE_BACKSLASH, (match) => {
- return match === "\\" ? "" : match;
- });
- };
- exports.supportsLookbehinds = () => {
- const segs = process.version.slice(1).split(".").map(Number);
- if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) {
- return true;
- }
- return false;
- };
- exports.isWindows = (options8) => {
- if (options8 && typeof options8.windows === "boolean") {
- return options8.windows;
- }
- return win32 === true || path9.sep === "\\";
- };
- exports.escapeLast = (input, char, lastIdx) => {
- const idx = input.lastIndexOf(char, lastIdx);
- if (idx === -1)
- return input;
- if (input[idx - 1] === "\\")
- return exports.escapeLast(input, char, idx - 1);
- return `${input.slice(0, idx)}\\${input.slice(idx)}`;
- };
- exports.removePrefix = (input, state = {}) => {
- let output = input;
- if (output.startsWith("./")) {
- output = output.slice(2);
- state.prefix = "./";
- }
- return output;
- };
- exports.wrapOutput = (input, state = {}, options8 = {}) => {
- const prepend = options8.contains ? "" : "^";
- const append = options8.contains ? "" : "$";
- let output = `${prepend}(?:${input})${append}`;
- if (state.negated === true) {
- output = `(?:^(?!${output}).*$)`;
- }
- return output;
- };
- }
-});
-
-// node_modules/picomatch/lib/scan.js
-var require_scan = __commonJS({
- "node_modules/picomatch/lib/scan.js"(exports, module) {
- "use strict";
- var utils = require_utils3();
- var {
- CHAR_ASTERISK,
- /* * */
- CHAR_AT,
- /* @ */
- CHAR_BACKWARD_SLASH,
- /* \ */
- CHAR_COMMA,
- /* , */
- CHAR_DOT,
- /* . */
- CHAR_EXCLAMATION_MARK,
- /* ! */
- CHAR_FORWARD_SLASH,
- /* / */
- CHAR_LEFT_CURLY_BRACE,
- /* { */
- CHAR_LEFT_PARENTHESES,
- /* ( */
- CHAR_LEFT_SQUARE_BRACKET,
- /* [ */
- CHAR_PLUS,
- /* + */
- CHAR_QUESTION_MARK,
- /* ? */
- CHAR_RIGHT_CURLY_BRACE,
- /* } */
- CHAR_RIGHT_PARENTHESES,
- /* ) */
- CHAR_RIGHT_SQUARE_BRACKET
- /* ] */
- } = require_constants2();
- var isPathSeparator = (code) => {
- return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
- };
- var depth = (token) => {
- if (token.isPrefix !== true) {
- token.depth = token.isGlobstar ? Infinity : 1;
- }
- };
- var scan = (input, options8) => {
- const opts = options8 || {};
- const length = input.length - 1;
- const scanToEnd = opts.parts === true || opts.scanToEnd === true;
- const slashes = [];
- const tokens = [];
- const parts = [];
- let str = input;
- let index = -1;
- let start = 0;
- let lastIndex = 0;
- let isBrace = false;
- let isBracket = false;
- let isGlob = false;
- let isExtglob = false;
- let isGlobstar = false;
- let braceEscaped = false;
- let backslashes = false;
- let negated = false;
- let negatedExtglob = false;
- let finished = false;
- let braces = 0;
- let prev;
- let code;
- let token = { value: "", depth: 0, isGlob: false };
- const eos = () => index >= length;
- const peek = () => str.charCodeAt(index + 1);
- const advance = () => {
- prev = code;
- return str.charCodeAt(++index);
- };
- while (index < length) {
- code = advance();
- let next;
- if (code === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- code = advance();
- if (code === CHAR_LEFT_CURLY_BRACE) {
- braceEscaped = true;
- }
- continue;
- }
- if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
- braces++;
- while (eos() !== true && (code = advance())) {
- if (code === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- advance();
- continue;
- }
- if (code === CHAR_LEFT_CURLY_BRACE) {
- braces++;
- continue;
- }
- if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
- isBrace = token.isBrace = true;
- isGlob = token.isGlob = true;
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (braceEscaped !== true && code === CHAR_COMMA) {
- isBrace = token.isBrace = true;
- isGlob = token.isGlob = true;
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (code === CHAR_RIGHT_CURLY_BRACE) {
- braces--;
- if (braces === 0) {
- braceEscaped = false;
- isBrace = token.isBrace = true;
- finished = true;
- break;
- }
- }
- }
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (code === CHAR_FORWARD_SLASH) {
- slashes.push(index);
- tokens.push(token);
- token = { value: "", depth: 0, isGlob: false };
- if (finished === true)
- continue;
- if (prev === CHAR_DOT && index === start + 1) {
- start += 2;
- continue;
- }
- lastIndex = index + 1;
- continue;
- }
- if (opts.noext !== true) {
- const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
- if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
- isGlob = token.isGlob = true;
- isExtglob = token.isExtglob = true;
- finished = true;
- if (code === CHAR_EXCLAMATION_MARK && index === start) {
- negatedExtglob = true;
- }
- if (scanToEnd === true) {
- while (eos() !== true && (code = advance())) {
- if (code === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- code = advance();
- continue;
- }
- if (code === CHAR_RIGHT_PARENTHESES) {
- isGlob = token.isGlob = true;
- finished = true;
- break;
- }
- }
- continue;
- }
- break;
- }
- }
- if (code === CHAR_ASTERISK) {
- if (prev === CHAR_ASTERISK)
- isGlobstar = token.isGlobstar = true;
- isGlob = token.isGlob = true;
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (code === CHAR_QUESTION_MARK) {
- isGlob = token.isGlob = true;
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (code === CHAR_LEFT_SQUARE_BRACKET) {
- while (eos() !== true && (next = advance())) {
- if (next === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- advance();
- continue;
- }
- if (next === CHAR_RIGHT_SQUARE_BRACKET) {
- isBracket = token.isBracket = true;
- isGlob = token.isGlob = true;
- finished = true;
- break;
- }
- }
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
- negated = token.negated = true;
- start++;
- continue;
- }
- if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
- isGlob = token.isGlob = true;
- if (scanToEnd === true) {
- while (eos() !== true && (code = advance())) {
- if (code === CHAR_LEFT_PARENTHESES) {
- backslashes = token.backslashes = true;
- code = advance();
- continue;
- }
- if (code === CHAR_RIGHT_PARENTHESES) {
- finished = true;
- break;
- }
- }
- continue;
- }
- break;
- }
- if (isGlob === true) {
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- }
- if (opts.noext === true) {
- isExtglob = false;
- isGlob = false;
- }
- let base = str;
- let prefix = "";
- let glob = "";
- if (start > 0) {
- prefix = str.slice(0, start);
- str = str.slice(start);
- lastIndex -= start;
- }
- if (base && isGlob === true && lastIndex > 0) {
- base = str.slice(0, lastIndex);
- glob = str.slice(lastIndex);
- } else if (isGlob === true) {
- base = "";
- glob = str;
- } else {
- base = str;
- }
- if (base && base !== "" && base !== "/" && base !== str) {
- if (isPathSeparator(base.charCodeAt(base.length - 1))) {
- base = base.slice(0, -1);
- }
- }
- if (opts.unescape === true) {
- if (glob)
- glob = utils.removeBackslashes(glob);
- if (base && backslashes === true) {
- base = utils.removeBackslashes(base);
- }
- }
- const state = {
- prefix,
- input,
- start,
- base,
- glob,
- isBrace,
- isBracket,
- isGlob,
- isExtglob,
- isGlobstar,
- negated,
- negatedExtglob
- };
- if (opts.tokens === true) {
- state.maxDepth = 0;
- if (!isPathSeparator(code)) {
- tokens.push(token);
- }
- state.tokens = tokens;
- }
- if (opts.parts === true || opts.tokens === true) {
- let prevIndex;
- for (let idx = 0; idx < slashes.length; idx++) {
- const n = prevIndex ? prevIndex + 1 : start;
- const i = slashes[idx];
- const value = input.slice(n, i);
- if (opts.tokens) {
- if (idx === 0 && start !== 0) {
- tokens[idx].isPrefix = true;
- tokens[idx].value = prefix;
- } else {
- tokens[idx].value = value;
- }
- depth(tokens[idx]);
- state.maxDepth += tokens[idx].depth;
- }
- if (idx !== 0 || value !== "") {
- parts.push(value);
- }
- prevIndex = i;
- }
- if (prevIndex && prevIndex + 1 < input.length) {
- const value = input.slice(prevIndex + 1);
- parts.push(value);
- if (opts.tokens) {
- tokens[tokens.length - 1].value = value;
- depth(tokens[tokens.length - 1]);
- state.maxDepth += tokens[tokens.length - 1].depth;
- }
- }
- state.slashes = slashes;
- state.parts = parts;
- }
- return state;
- };
- module.exports = scan;
- }
-});
-
-// node_modules/picomatch/lib/parse.js
-var require_parse2 = __commonJS({
- "node_modules/picomatch/lib/parse.js"(exports, module) {
- "use strict";
- var constants = require_constants2();
- var utils = require_utils3();
- var {
- MAX_LENGTH,
- POSIX_REGEX_SOURCE,
- REGEX_NON_SPECIAL_CHARS,
- REGEX_SPECIAL_CHARS_BACKREF,
- REPLACEMENTS
- } = constants;
- var expandRange = (args, options8) => {
- if (typeof options8.expandRange === "function") {
- return options8.expandRange(...args, options8);
- }
- args.sort();
- const value = `[${args.join("-")}]`;
- try {
- new RegExp(value);
- } catch (ex) {
- return args.map((v) => utils.escapeRegex(v)).join("..");
- }
- return value;
- };
- var syntaxError = (type, char) => {
- return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
- };
- var parse3 = (input, options8) => {
- if (typeof input !== "string") {
- throw new TypeError("Expected a string");
- }
- input = REPLACEMENTS[input] || input;
- const opts = { ...options8 };
- const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
- let len = input.length;
- if (len > max) {
- throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
- }
- const bos = { type: "bos", value: "", output: opts.prepend || "" };
- const tokens = [bos];
- const capture = opts.capture ? "" : "?:";
- const win32 = utils.isWindows(options8);
- const PLATFORM_CHARS = constants.globChars(win32);
- const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
- const {
- DOT_LITERAL,
- PLUS_LITERAL,
- SLASH_LITERAL,
- ONE_CHAR,
- DOTS_SLASH,
- NO_DOT,
- NO_DOT_SLASH,
- NO_DOTS_SLASH,
- QMARK,
- QMARK_NO_DOT,
- STAR,
- START_ANCHOR
- } = PLATFORM_CHARS;
- const globstar = (opts2) => {
- return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
- };
- const nodot = opts.dot ? "" : NO_DOT;
- const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
- let star = opts.bash === true ? globstar(opts) : STAR;
- if (opts.capture) {
- star = `(${star})`;
- }
- if (typeof opts.noext === "boolean") {
- opts.noextglob = opts.noext;
- }
- const state = {
- input,
- index: -1,
- start: 0,
- dot: opts.dot === true,
- consumed: "",
- output: "",
- prefix: "",
- backtrack: false,
- negated: false,
- brackets: 0,
- braces: 0,
- parens: 0,
- quotes: 0,
- globstar: false,
- tokens
- };
- input = utils.removePrefix(input, state);
- len = input.length;
- const extglobs = [];
- const braces = [];
- const stack = [];
- let prev = bos;
- let value;
- const eos = () => state.index === len - 1;
- const peek = state.peek = (n = 1) => input[state.index + n];
- const advance = state.advance = () => input[++state.index] || "";
- const remaining = () => input.slice(state.index + 1);
- const consume = (value2 = "", num = 0) => {
- state.consumed += value2;
- state.index += num;
- };
- const append = (token) => {
- state.output += token.output != null ? token.output : token.value;
- consume(token.value);
- };
- const negate = () => {
- let count = 1;
- while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
- advance();
- state.start++;
- count++;
- }
- if (count % 2 === 0) {
- return false;
- }
- state.negated = true;
- state.start++;
- return true;
- };
- const increment = (type) => {
- state[type]++;
- stack.push(type);
- };
- const decrement = (type) => {
- state[type]--;
- stack.pop();
- };
- const push = (tok) => {
- if (prev.type === "globstar") {
- const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
- const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
- if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
- state.output = state.output.slice(0, -prev.output.length);
- prev.type = "star";
- prev.value = "*";
- prev.output = star;
- state.output += prev.output;
- }
- }
- if (extglobs.length && tok.type !== "paren") {
- extglobs[extglobs.length - 1].inner += tok.value;
- }
- if (tok.value || tok.output)
- append(tok);
- if (prev && prev.type === "text" && tok.type === "text") {
- prev.value += tok.value;
- prev.output = (prev.output || "") + tok.value;
- return;
- }
- tok.prev = prev;
- tokens.push(tok);
- prev = tok;
- };
- const extglobOpen = (type, value2) => {
- const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
- token.prev = prev;
- token.parens = state.parens;
- token.output = state.output;
- const output = (opts.capture ? "(" : "") + token.open;
- increment("parens");
- push({ type, value: value2, output: state.output ? "" : ONE_CHAR });
- push({ type: "paren", extglob: true, value: advance(), output });
- extglobs.push(token);
- };
- const extglobClose = (token) => {
- let output = token.close + (opts.capture ? ")" : "");
- let rest;
- if (token.type === "negate") {
- let extglobStar = star;
- if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
- extglobStar = globstar(opts);
- }
- if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
- output = token.close = `)$))${extglobStar}`;
- }
- if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
- const expression = parse3(rest, { ...options8, fastpaths: false }).output;
- output = token.close = `)${expression})${extglobStar})`;
- }
- if (token.prev.type === "bos") {
- state.negatedExtglob = true;
- }
+ tok.prev = prev;
+ tokens.push(tok);
+ prev = tok;
+ };
+ const extglobOpen = (type, value2) => {
+ const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
+ token.prev = prev;
+ token.parens = state.parens;
+ token.output = state.output;
+ const output = (opts.capture ? "(" : "") + token.open;
+ increment("parens");
+ push({ type, value: value2, output: state.output ? "" : ONE_CHAR });
+ push({ type: "paren", extglob: true, value: advance(), output });
+ extglobs.push(token);
+ };
+ const extglobClose = (token) => {
+ let output = token.close + (opts.capture ? ")" : "");
+ let rest;
+ if (token.type === "negate") {
+ let extglobStar = star;
+ if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
+ extglobStar = globstar(opts);
+ }
+ if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
+ output = token.close = `)$))${extglobStar}`;
+ }
+ if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
+ const expression = parse3(rest, { ...options8, fastpaths: false }).output;
+ output = token.close = `)${expression})${extglobStar})`;
+ }
+ if (token.prev.type === "bos") {
+ state.negatedExtglob = true;
+ }
}
push({ type: "paren", extglob: true, value, output });
decrement("parens");
@@ -5233,3547 +2563,4720 @@ var require_parse2 = __commonJS({
continue;
}
}
- if (value === "+") {
- if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
- extglobOpen("plus", value);
- continue;
- }
- if (prev && prev.value === "(" || opts.regex === false) {
- push({ type: "plus", value, output: PLUS_LITERAL });
- continue;
- }
- if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
- push({ type: "plus", value });
- continue;
+ if (value === "+") {
+ if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
+ extglobOpen("plus", value);
+ continue;
+ }
+ if (prev && prev.value === "(" || opts.regex === false) {
+ push({ type: "plus", value, output: PLUS_LITERAL });
+ continue;
+ }
+ if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
+ push({ type: "plus", value });
+ continue;
+ }
+ push({ type: "plus", value: PLUS_LITERAL });
+ continue;
+ }
+ if (value === "@") {
+ if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
+ push({ type: "at", extglob: true, value, output: "" });
+ continue;
+ }
+ push({ type: "text", value });
+ continue;
+ }
+ if (value !== "*") {
+ if (value === "$" || value === "^") {
+ value = `\\${value}`;
+ }
+ const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
+ if (match) {
+ value += match[0];
+ state.index += match[0].length;
+ }
+ push({ type: "text", value });
+ continue;
+ }
+ if (prev && (prev.type === "globstar" || prev.star === true)) {
+ prev.type = "star";
+ prev.star = true;
+ prev.value += value;
+ prev.output = star;
+ state.backtrack = true;
+ state.globstar = true;
+ consume(value);
+ continue;
+ }
+ let rest = remaining();
+ if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
+ extglobOpen("star", value);
+ continue;
+ }
+ if (prev.type === "star") {
+ if (opts.noglobstar === true) {
+ consume(value);
+ continue;
+ }
+ const prior = prev.prev;
+ const before = prior.prev;
+ const isStart = prior.type === "slash" || prior.type === "bos";
+ const afterStar = before && (before.type === "star" || before.type === "globstar");
+ if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
+ push({ type: "star", value, output: "" });
+ continue;
+ }
+ const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
+ const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
+ if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
+ push({ type: "star", value, output: "" });
+ continue;
+ }
+ while (rest.slice(0, 3) === "/**") {
+ const after = input[state.index + 4];
+ if (after && after !== "/") {
+ break;
+ }
+ rest = rest.slice(3);
+ consume("/**", 3);
+ }
+ if (prior.type === "bos" && eos()) {
+ prev.type = "globstar";
+ prev.value += value;
+ prev.output = globstar(opts);
+ state.output = prev.output;
+ state.globstar = true;
+ consume(value);
+ continue;
+ }
+ if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
+ state.output = state.output.slice(0, -(prior.output + prev.output).length);
+ prior.output = `(?:${prior.output}`;
+ prev.type = "globstar";
+ prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
+ prev.value += value;
+ state.globstar = true;
+ state.output += prior.output + prev.output;
+ consume(value);
+ continue;
+ }
+ if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
+ const end = rest[1] !== void 0 ? "|$" : "";
+ state.output = state.output.slice(0, -(prior.output + prev.output).length);
+ prior.output = `(?:${prior.output}`;
+ prev.type = "globstar";
+ prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
+ prev.value += value;
+ state.output += prior.output + prev.output;
+ state.globstar = true;
+ consume(value + advance());
+ push({ type: "slash", value: "/", output: "" });
+ continue;
+ }
+ if (prior.type === "bos" && rest[0] === "/") {
+ prev.type = "globstar";
+ prev.value += value;
+ prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
+ state.output = prev.output;
+ state.globstar = true;
+ consume(value + advance());
+ push({ type: "slash", value: "/", output: "" });
+ continue;
+ }
+ state.output = state.output.slice(0, -prev.output.length);
+ prev.type = "globstar";
+ prev.output = globstar(opts);
+ prev.value += value;
+ state.output += prev.output;
+ state.globstar = true;
+ consume(value);
+ continue;
+ }
+ const token = { type: "star", value, output: star };
+ if (opts.bash === true) {
+ token.output = ".*?";
+ if (prev.type === "bos" || prev.type === "slash") {
+ token.output = nodot + token.output;
+ }
+ push(token);
+ continue;
+ }
+ if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
+ token.output = value;
+ push(token);
+ continue;
+ }
+ if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
+ if (prev.type === "dot") {
+ state.output += NO_DOT_SLASH;
+ prev.output += NO_DOT_SLASH;
+ } else if (opts.dot === true) {
+ state.output += NO_DOTS_SLASH;
+ prev.output += NO_DOTS_SLASH;
+ } else {
+ state.output += nodot;
+ prev.output += nodot;
+ }
+ if (peek() !== "*") {
+ state.output += ONE_CHAR;
+ prev.output += ONE_CHAR;
+ }
+ }
+ push(token);
+ }
+ while (state.brackets > 0) {
+ if (opts.strictBrackets === true)
+ throw new SyntaxError(syntaxError("closing", "]"));
+ state.output = utils.escapeLast(state.output, "[");
+ decrement("brackets");
+ }
+ while (state.parens > 0) {
+ if (opts.strictBrackets === true)
+ throw new SyntaxError(syntaxError("closing", ")"));
+ state.output = utils.escapeLast(state.output, "(");
+ decrement("parens");
+ }
+ while (state.braces > 0) {
+ if (opts.strictBrackets === true)
+ throw new SyntaxError(syntaxError("closing", "}"));
+ state.output = utils.escapeLast(state.output, "{");
+ decrement("braces");
+ }
+ if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
+ push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
+ }
+ if (state.backtrack === true) {
+ state.output = "";
+ for (const token of state.tokens) {
+ state.output += token.output != null ? token.output : token.value;
+ if (token.suffix) {
+ state.output += token.suffix;
+ }
+ }
+ }
+ return state;
+ };
+ parse3.fastpaths = (input, options8) => {
+ const opts = { ...options8 };
+ const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
+ const len = input.length;
+ if (len > max) {
+ throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
+ }
+ input = REPLACEMENTS[input] || input;
+ const win32 = utils.isWindows(options8);
+ const {
+ DOT_LITERAL,
+ SLASH_LITERAL,
+ ONE_CHAR,
+ DOTS_SLASH,
+ NO_DOT,
+ NO_DOTS,
+ NO_DOTS_SLASH,
+ STAR,
+ START_ANCHOR
+ } = constants.globChars(win32);
+ const nodot = opts.dot ? NO_DOTS : NO_DOT;
+ const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
+ const capture = opts.capture ? "" : "?:";
+ const state = { negated: false, prefix: "" };
+ let star = opts.bash === true ? ".*?" : STAR;
+ if (opts.capture) {
+ star = `(${star})`;
+ }
+ const globstar = (opts2) => {
+ if (opts2.noglobstar === true)
+ return star;
+ return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
+ };
+ const create = (str) => {
+ switch (str) {
+ case "*":
+ return `${nodot}${ONE_CHAR}${star}`;
+ case ".*":
+ return `${DOT_LITERAL}${ONE_CHAR}${star}`;
+ case "*.*":
+ return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
+ case "*/*":
+ return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
+ case "**":
+ return nodot + globstar(opts);
+ case "**/*":
+ return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
+ case "**/*.*":
+ return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
+ case "**/.*":
+ return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
+ default: {
+ const match = /^(.*?)\.(\w+)$/.exec(str);
+ if (!match)
+ return;
+ const source2 = create(match[1]);
+ if (!source2)
+ return;
+ return source2 + DOT_LITERAL + match[2];
}
- push({ type: "plus", value: PLUS_LITERAL });
- continue;
}
- if (value === "@") {
- if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
- push({ type: "at", extglob: true, value, output: "" });
- continue;
+ };
+ const output = utils.removePrefix(input, state);
+ let source = create(output);
+ if (source && opts.strictSlashes !== true) {
+ source += `${SLASH_LITERAL}?`;
+ }
+ return source;
+ };
+ module.exports = parse3;
+ }
+});
+
+// node_modules/picomatch/lib/picomatch.js
+var require_picomatch = __commonJS({
+ "node_modules/picomatch/lib/picomatch.js"(exports, module) {
+ "use strict";
+ var path9 = __require("path");
+ var scan = require_scan();
+ var parse3 = require_parse2();
+ var utils = require_utils2();
+ var constants = require_constants2();
+ var isObject2 = (val) => val && typeof val === "object" && !Array.isArray(val);
+ var picomatch = (glob, options8, returnState = false) => {
+ if (Array.isArray(glob)) {
+ const fns = glob.map((input) => picomatch(input, options8, returnState));
+ const arrayMatcher = (str) => {
+ for (const isMatch of fns) {
+ const state2 = isMatch(str);
+ if (state2)
+ return state2;
}
- push({ type: "text", value });
- continue;
+ return false;
+ };
+ return arrayMatcher;
+ }
+ const isState = isObject2(glob) && glob.tokens && glob.input;
+ if (glob === "" || typeof glob !== "string" && !isState) {
+ throw new TypeError("Expected pattern to be a non-empty string");
+ }
+ const opts = options8 || {};
+ const posix = utils.isWindows(options8);
+ const regex = isState ? picomatch.compileRe(glob, options8) : picomatch.makeRe(glob, options8, false, true);
+ const state = regex.state;
+ delete regex.state;
+ let isIgnored2 = () => false;
+ if (opts.ignore) {
+ const ignoreOpts = { ...options8, ignore: null, onMatch: null, onResult: null };
+ isIgnored2 = picomatch(opts.ignore, ignoreOpts, returnState);
+ }
+ const matcher = (input, returnObject = false) => {
+ const { isMatch, match, output } = picomatch.test(input, regex, options8, { glob, posix });
+ const result = { glob, state, regex, posix, input, output, match, isMatch };
+ if (typeof opts.onResult === "function") {
+ opts.onResult(result);
}
- if (value !== "*") {
- if (value === "$" || value === "^") {
- value = `\\${value}`;
- }
- const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
- if (match) {
- value += match[0];
- state.index += match[0].length;
+ if (isMatch === false) {
+ result.isMatch = false;
+ return returnObject ? result : false;
+ }
+ if (isIgnored2(input)) {
+ if (typeof opts.onIgnore === "function") {
+ opts.onIgnore(result);
}
- push({ type: "text", value });
- continue;
+ result.isMatch = false;
+ return returnObject ? result : false;
}
- if (prev && (prev.type === "globstar" || prev.star === true)) {
- prev.type = "star";
- prev.star = true;
- prev.value += value;
- prev.output = star;
- state.backtrack = true;
- state.globstar = true;
- consume(value);
- continue;
+ if (typeof opts.onMatch === "function") {
+ opts.onMatch(result);
}
- let rest = remaining();
- if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
- extglobOpen("star", value);
- continue;
+ return returnObject ? result : true;
+ };
+ if (returnState) {
+ matcher.state = state;
+ }
+ return matcher;
+ };
+ picomatch.test = (input, regex, options8, { glob, posix } = {}) => {
+ if (typeof input !== "string") {
+ throw new TypeError("Expected input to be a string");
+ }
+ if (input === "") {
+ return { isMatch: false, output: "" };
+ }
+ const opts = options8 || {};
+ const format3 = opts.format || (posix ? utils.toPosixSlashes : null);
+ let match = input === glob;
+ let output = match && format3 ? format3(input) : input;
+ if (match === false) {
+ output = format3 ? format3(input) : input;
+ match = output === glob;
+ }
+ if (match === false || opts.capture === true) {
+ if (opts.matchBase === true || opts.basename === true) {
+ match = picomatch.matchBase(input, regex, options8, posix);
+ } else {
+ match = regex.exec(output);
+ }
+ }
+ return { isMatch: Boolean(match), match, output };
+ };
+ picomatch.matchBase = (input, glob, options8, posix = utils.isWindows(options8)) => {
+ const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options8);
+ return regex.test(path9.basename(input));
+ };
+ picomatch.isMatch = (str, patterns, options8) => picomatch(patterns, options8)(str);
+ picomatch.parse = (pattern, options8) => {
+ if (Array.isArray(pattern))
+ return pattern.map((p) => picomatch.parse(p, options8));
+ return parse3(pattern, { ...options8, fastpaths: false });
+ };
+ picomatch.scan = (input, options8) => scan(input, options8);
+ picomatch.compileRe = (state, options8, returnOutput = false, returnState = false) => {
+ if (returnOutput === true) {
+ return state.output;
+ }
+ const opts = options8 || {};
+ const prepend = opts.contains ? "" : "^";
+ const append = opts.contains ? "" : "$";
+ let source = `${prepend}(?:${state.output})${append}`;
+ if (state && state.negated === true) {
+ source = `^(?!${source}).*$`;
+ }
+ const regex = picomatch.toRegex(source, options8);
+ if (returnState === true) {
+ regex.state = state;
+ }
+ return regex;
+ };
+ picomatch.makeRe = (input, options8 = {}, returnOutput = false, returnState = false) => {
+ if (!input || typeof input !== "string") {
+ throw new TypeError("Expected a non-empty string");
+ }
+ let parsed = { negated: false, fastpaths: true };
+ if (options8.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
+ parsed.output = parse3.fastpaths(input, options8);
+ }
+ if (!parsed.output) {
+ parsed = parse3(input, options8);
+ }
+ return picomatch.compileRe(parsed, options8, returnOutput, returnState);
+ };
+ picomatch.toRegex = (source, options8) => {
+ try {
+ const opts = options8 || {};
+ return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
+ } catch (err) {
+ if (options8 && options8.debug === true)
+ throw err;
+ return /$^/;
+ }
+ };
+ picomatch.constants = constants;
+ module.exports = picomatch;
+ }
+});
+
+// node_modules/picomatch/index.js
+var require_picomatch2 = __commonJS({
+ "node_modules/picomatch/index.js"(exports, module) {
+ "use strict";
+ module.exports = require_picomatch();
+ }
+});
+
+// node_modules/micromatch/index.js
+var require_micromatch = __commonJS({
+ "node_modules/micromatch/index.js"(exports, module) {
+ "use strict";
+ var util = __require("util");
+ var braces = require_braces();
+ var picomatch = require_picomatch2();
+ var utils = require_utils2();
+ var isEmptyString = (val) => val === "" || val === "./";
+ var micromatch2 = (list, patterns, options8) => {
+ patterns = [].concat(patterns);
+ list = [].concat(list);
+ let omit2 = /* @__PURE__ */ new Set();
+ let keep = /* @__PURE__ */ new Set();
+ let items = /* @__PURE__ */ new Set();
+ let negatives = 0;
+ let onResult = (state) => {
+ items.add(state.output);
+ if (options8 && options8.onResult) {
+ options8.onResult(state);
}
- if (prev.type === "star") {
- if (opts.noglobstar === true) {
- consume(value);
- continue;
- }
- const prior = prev.prev;
- const before = prior.prev;
- const isStart = prior.type === "slash" || prior.type === "bos";
- const afterStar = before && (before.type === "star" || before.type === "globstar");
- if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
- push({ type: "star", value, output: "" });
- continue;
- }
- const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
- const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
- if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
- push({ type: "star", value, output: "" });
- continue;
- }
- while (rest.slice(0, 3) === "/**") {
- const after = input[state.index + 4];
- if (after && after !== "/") {
- break;
- }
- rest = rest.slice(3);
- consume("/**", 3);
- }
- if (prior.type === "bos" && eos()) {
- prev.type = "globstar";
- prev.value += value;
- prev.output = globstar(opts);
- state.output = prev.output;
- state.globstar = true;
- consume(value);
- continue;
- }
- if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
- state.output = state.output.slice(0, -(prior.output + prev.output).length);
- prior.output = `(?:${prior.output}`;
- prev.type = "globstar";
- prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
- prev.value += value;
- state.globstar = true;
- state.output += prior.output + prev.output;
- consume(value);
- continue;
- }
- if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
- const end = rest[1] !== void 0 ? "|$" : "";
- state.output = state.output.slice(0, -(prior.output + prev.output).length);
- prior.output = `(?:${prior.output}`;
- prev.type = "globstar";
- prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
- prev.value += value;
- state.output += prior.output + prev.output;
- state.globstar = true;
- consume(value + advance());
- push({ type: "slash", value: "/", output: "" });
- continue;
- }
- if (prior.type === "bos" && rest[0] === "/") {
- prev.type = "globstar";
- prev.value += value;
- prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
- state.output = prev.output;
- state.globstar = true;
- consume(value + advance());
- push({ type: "slash", value: "/", output: "" });
+ };
+ for (let i = 0; i < patterns.length; i++) {
+ let isMatch = picomatch(String(patterns[i]), { ...options8, onResult }, true);
+ let negated = isMatch.state.negated || isMatch.state.negatedExtglob;
+ if (negated)
+ negatives++;
+ for (let item of list) {
+ let matched = isMatch(item, true);
+ let match = negated ? !matched.isMatch : matched.isMatch;
+ if (!match)
continue;
+ if (negated) {
+ omit2.add(matched.output);
+ } else {
+ omit2.delete(matched.output);
+ keep.add(matched.output);
}
- state.output = state.output.slice(0, -prev.output.length);
- prev.type = "globstar";
- prev.output = globstar(opts);
- prev.value += value;
- state.output += prev.output;
- state.globstar = true;
- consume(value);
- continue;
}
- const token = { type: "star", value, output: star };
- if (opts.bash === true) {
- token.output = ".*?";
- if (prev.type === "bos" || prev.type === "slash") {
- token.output = nodot + token.output;
- }
- push(token);
- continue;
+ }
+ let result = negatives === patterns.length ? [...items] : [...keep];
+ let matches = result.filter((item) => !omit2.has(item));
+ if (options8 && matches.length === 0) {
+ if (options8.failglob === true) {
+ throw new Error(`No matches found for "${patterns.join(", ")}"`);
}
- if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
- token.output = value;
- push(token);
- continue;
+ if (options8.nonull === true || options8.nullglob === true) {
+ return options8.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns;
}
- if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
- if (prev.type === "dot") {
- state.output += NO_DOT_SLASH;
- prev.output += NO_DOT_SLASH;
- } else if (opts.dot === true) {
- state.output += NO_DOTS_SLASH;
- prev.output += NO_DOTS_SLASH;
- } else {
- state.output += nodot;
- prev.output += nodot;
- }
- if (peek() !== "*") {
- state.output += ONE_CHAR;
- prev.output += ONE_CHAR;
- }
+ }
+ return matches;
+ };
+ micromatch2.match = micromatch2;
+ micromatch2.matcher = (pattern, options8) => picomatch(pattern, options8);
+ micromatch2.isMatch = (str, patterns, options8) => picomatch(patterns, options8)(str);
+ micromatch2.any = micromatch2.isMatch;
+ micromatch2.not = (list, patterns, options8 = {}) => {
+ patterns = [].concat(patterns).map(String);
+ let result = /* @__PURE__ */ new Set();
+ let items = [];
+ let onResult = (state) => {
+ if (options8.onResult)
+ options8.onResult(state);
+ items.push(state.output);
+ };
+ let matches = new Set(micromatch2(list, patterns, { ...options8, onResult }));
+ for (let item of items) {
+ if (!matches.has(item)) {
+ result.add(item);
}
- push(token);
}
- while (state.brackets > 0) {
- if (opts.strictBrackets === true)
- throw new SyntaxError(syntaxError("closing", "]"));
- state.output = utils.escapeLast(state.output, "[");
- decrement("brackets");
+ return [...result];
+ };
+ micromatch2.contains = (str, pattern, options8) => {
+ if (typeof str !== "string") {
+ throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
}
- while (state.parens > 0) {
- if (opts.strictBrackets === true)
- throw new SyntaxError(syntaxError("closing", ")"));
- state.output = utils.escapeLast(state.output, "(");
- decrement("parens");
+ if (Array.isArray(pattern)) {
+ return pattern.some((p) => micromatch2.contains(str, p, options8));
}
- while (state.braces > 0) {
- if (opts.strictBrackets === true)
- throw new SyntaxError(syntaxError("closing", "}"));
- state.output = utils.escapeLast(state.output, "{");
- decrement("braces");
+ if (typeof pattern === "string") {
+ if (isEmptyString(str) || isEmptyString(pattern)) {
+ return false;
+ }
+ if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) {
+ return true;
+ }
}
- if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
- push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
+ return micromatch2.isMatch(str, pattern, { ...options8, contains: true });
+ };
+ micromatch2.matchKeys = (obj, patterns, options8) => {
+ if (!utils.isObject(obj)) {
+ throw new TypeError("Expected the first argument to be an object");
}
- if (state.backtrack === true) {
- state.output = "";
- for (const token of state.tokens) {
- state.output += token.output != null ? token.output : token.value;
- if (token.suffix) {
- state.output += token.suffix;
- }
+ let keys = micromatch2(Object.keys(obj), patterns, options8);
+ let res = {};
+ for (let key of keys)
+ res[key] = obj[key];
+ return res;
+ };
+ micromatch2.some = (list, patterns, options8) => {
+ let items = [].concat(list);
+ for (let pattern of [].concat(patterns)) {
+ let isMatch = picomatch(String(pattern), options8);
+ if (items.some((item) => isMatch(item))) {
+ return true;
+ }
+ }
+ return false;
+ };
+ micromatch2.every = (list, patterns, options8) => {
+ let items = [].concat(list);
+ for (let pattern of [].concat(patterns)) {
+ let isMatch = picomatch(String(pattern), options8);
+ if (!items.every((item) => isMatch(item))) {
+ return false;
}
}
- return state;
+ return true;
+ };
+ micromatch2.all = (str, patterns, options8) => {
+ if (typeof str !== "string") {
+ throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
+ }
+ return [].concat(patterns).every((p) => picomatch(p, options8)(str));
};
- parse3.fastpaths = (input, options8) => {
- const opts = { ...options8 };
- const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
- const len = input.length;
- if (len > max) {
- throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
- }
- input = REPLACEMENTS[input] || input;
- const win32 = utils.isWindows(options8);
- const {
- DOT_LITERAL,
- SLASH_LITERAL,
- ONE_CHAR,
- DOTS_SLASH,
- NO_DOT,
- NO_DOTS,
- NO_DOTS_SLASH,
- STAR,
- START_ANCHOR
- } = constants.globChars(win32);
- const nodot = opts.dot ? NO_DOTS : NO_DOT;
- const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
- const capture = opts.capture ? "" : "?:";
- const state = { negated: false, prefix: "" };
- let star = opts.bash === true ? ".*?" : STAR;
- if (opts.capture) {
- star = `(${star})`;
+ micromatch2.capture = (glob, input, options8) => {
+ let posix = utils.isWindows(options8);
+ let regex = picomatch.makeRe(String(glob), { ...options8, capture: true });
+ let match = regex.exec(posix ? utils.toPosixSlashes(input) : input);
+ if (match) {
+ return match.slice(1).map((v) => v === void 0 ? "" : v);
}
- const globstar = (opts2) => {
- if (opts2.noglobstar === true)
- return star;
- return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
- };
- const create = (str) => {
- switch (str) {
- case "*":
- return `${nodot}${ONE_CHAR}${star}`;
- case ".*":
- return `${DOT_LITERAL}${ONE_CHAR}${star}`;
- case "*.*":
- return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
- case "*/*":
- return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
- case "**":
- return nodot + globstar(opts);
- case "**/*":
- return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
- case "**/*.*":
- return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
- case "**/.*":
- return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
- default: {
- const match = /^(.*?)\.(\w+)$/.exec(str);
- if (!match)
- return;
- const source2 = create(match[1]);
- if (!source2)
- return;
- return source2 + DOT_LITERAL + match[2];
- }
+ };
+ micromatch2.makeRe = (...args) => picomatch.makeRe(...args);
+ micromatch2.scan = (...args) => picomatch.scan(...args);
+ micromatch2.parse = (patterns, options8) => {
+ let res = [];
+ for (let pattern of [].concat(patterns || [])) {
+ for (let str of braces(String(pattern), options8)) {
+ res.push(picomatch.parse(str, options8));
}
- };
- const output = utils.removePrefix(input, state);
- let source = create(output);
- if (source && opts.strictSlashes !== true) {
- source += `${SLASH_LITERAL}?`;
}
- return source;
+ return res;
};
- module.exports = parse3;
+ micromatch2.braces = (pattern, options8) => {
+ if (typeof pattern !== "string")
+ throw new TypeError("Expected a string");
+ if (options8 && options8.nobrace === true || !/\{.*\}/.test(pattern)) {
+ return [pattern];
+ }
+ return braces(pattern, options8);
+ };
+ micromatch2.braceExpand = (pattern, options8) => {
+ if (typeof pattern !== "string")
+ throw new TypeError("Expected a string");
+ return micromatch2.braces(pattern, { ...options8, expand: true });
+ };
+ module.exports = micromatch2;
}
});
-// node_modules/picomatch/lib/picomatch.js
-var require_picomatch = __commonJS({
- "node_modules/picomatch/lib/picomatch.js"(exports, module) {
+// node_modules/fast-glob/out/utils/pattern.js
+var require_pattern = __commonJS({
+ "node_modules/fast-glob/out/utils/pattern.js"(exports) {
"use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.removeDuplicateSlashes = exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0;
var path9 = __require("path");
- var scan = require_scan();
- var parse3 = require_parse2();
- var utils = require_utils3();
- var constants = require_constants2();
- var isObject2 = (val) => val && typeof val === "object" && !Array.isArray(val);
- var picomatch = (glob, options8, returnState = false) => {
- if (Array.isArray(glob)) {
- const fns = glob.map((input) => picomatch(input, options8, returnState));
- const arrayMatcher = (str) => {
- for (const isMatch of fns) {
- const state2 = isMatch(str);
- if (state2)
- return state2;
- }
- return false;
- };
- return arrayMatcher;
+ var globParent = require_glob_parent();
+ var micromatch2 = require_micromatch();
+ var GLOBSTAR = "**";
+ var ESCAPE_SYMBOL = "\\";
+ var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;
+ var REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/;
+ var REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/;
+ var GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/;
+ var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./;
+ var DOUBLE_SLASH_RE = /(?!^)\/{2,}/g;
+ function isStaticPattern(pattern, options8 = {}) {
+ return !isDynamicPattern(pattern, options8);
+ }
+ exports.isStaticPattern = isStaticPattern;
+ function isDynamicPattern(pattern, options8 = {}) {
+ if (pattern === "") {
+ return false;
+ }
+ if (options8.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) {
+ return true;
+ }
+ if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) {
+ return true;
+ }
+ if (options8.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) {
+ return true;
+ }
+ if (options8.braceExpansion !== false && hasBraceExpansion(pattern)) {
+ return true;
+ }
+ return false;
+ }
+ exports.isDynamicPattern = isDynamicPattern;
+ function hasBraceExpansion(pattern) {
+ const openingBraceIndex = pattern.indexOf("{");
+ if (openingBraceIndex === -1) {
+ return false;
+ }
+ const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1);
+ if (closingBraceIndex === -1) {
+ return false;
+ }
+ const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex);
+ return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent);
+ }
+ function convertToPositivePattern(pattern) {
+ return isNegativePattern(pattern) ? pattern.slice(1) : pattern;
+ }
+ exports.convertToPositivePattern = convertToPositivePattern;
+ function convertToNegativePattern(pattern) {
+ return "!" + pattern;
+ }
+ exports.convertToNegativePattern = convertToNegativePattern;
+ function isNegativePattern(pattern) {
+ return pattern.startsWith("!") && pattern[1] !== "(";
+ }
+ exports.isNegativePattern = isNegativePattern;
+ function isPositivePattern(pattern) {
+ return !isNegativePattern(pattern);
+ }
+ exports.isPositivePattern = isPositivePattern;
+ function getNegativePatterns(patterns) {
+ return patterns.filter(isNegativePattern);
+ }
+ exports.getNegativePatterns = getNegativePatterns;
+ function getPositivePatterns(patterns) {
+ return patterns.filter(isPositivePattern);
+ }
+ exports.getPositivePatterns = getPositivePatterns;
+ function getPatternsInsideCurrentDirectory(patterns) {
+ return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern));
+ }
+ exports.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory;
+ function getPatternsOutsideCurrentDirectory(patterns) {
+ return patterns.filter(isPatternRelatedToParentDirectory);
+ }
+ exports.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory;
+ function isPatternRelatedToParentDirectory(pattern) {
+ return pattern.startsWith("..") || pattern.startsWith("./..");
+ }
+ exports.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory;
+ function getBaseDirectory(pattern) {
+ return globParent(pattern, { flipBackslashes: false });
+ }
+ exports.getBaseDirectory = getBaseDirectory;
+ function hasGlobStar(pattern) {
+ return pattern.includes(GLOBSTAR);
+ }
+ exports.hasGlobStar = hasGlobStar;
+ function endsWithSlashGlobStar(pattern) {
+ return pattern.endsWith("/" + GLOBSTAR);
+ }
+ exports.endsWithSlashGlobStar = endsWithSlashGlobStar;
+ function isAffectDepthOfReadingPattern(pattern) {
+ const basename = path9.basename(pattern);
+ return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);
+ }
+ exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
+ function expandPatternsWithBraceExpansion(patterns) {
+ return patterns.reduce((collection, pattern) => {
+ return collection.concat(expandBraceExpansion(pattern));
+ }, []);
+ }
+ exports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion;
+ function expandBraceExpansion(pattern) {
+ const patterns = micromatch2.braces(pattern, { expand: true, nodupes: true });
+ patterns.sort((a, b) => a.length - b.length);
+ return patterns.filter((pattern2) => pattern2 !== "");
+ }
+ exports.expandBraceExpansion = expandBraceExpansion;
+ function getPatternParts(pattern, options8) {
+ let { parts } = micromatch2.scan(pattern, Object.assign(Object.assign({}, options8), { parts: true }));
+ if (parts.length === 0) {
+ parts = [pattern];
+ }
+ if (parts[0].startsWith("/")) {
+ parts[0] = parts[0].slice(1);
+ parts.unshift("");
+ }
+ return parts;
+ }
+ exports.getPatternParts = getPatternParts;
+ function makeRe(pattern, options8) {
+ return micromatch2.makeRe(pattern, options8);
+ }
+ exports.makeRe = makeRe;
+ function convertPatternsToRe(patterns, options8) {
+ return patterns.map((pattern) => makeRe(pattern, options8));
+ }
+ exports.convertPatternsToRe = convertPatternsToRe;
+ function matchAny(entry, patternsRe) {
+ return patternsRe.some((patternRe) => patternRe.test(entry));
+ }
+ exports.matchAny = matchAny;
+ function removeDuplicateSlashes(pattern) {
+ return pattern.replace(DOUBLE_SLASH_RE, "/");
+ }
+ exports.removeDuplicateSlashes = removeDuplicateSlashes;
+ }
+});
+
+// node_modules/merge2/index.js
+var require_merge2 = __commonJS({
+ "node_modules/merge2/index.js"(exports, module) {
+ "use strict";
+ var Stream = __require("stream");
+ var PassThrough = Stream.PassThrough;
+ var slice = Array.prototype.slice;
+ module.exports = merge2;
+ function merge2() {
+ const streamsQueue = [];
+ const args = slice.call(arguments);
+ let merging = false;
+ let options8 = args[args.length - 1];
+ if (options8 && !Array.isArray(options8) && options8.pipe == null) {
+ args.pop();
+ } else {
+ options8 = {};
}
- const isState = isObject2(glob) && glob.tokens && glob.input;
- if (glob === "" || typeof glob !== "string" && !isState) {
- throw new TypeError("Expected pattern to be a non-empty string");
+ const doEnd = options8.end !== false;
+ const doPipeError = options8.pipeError === true;
+ if (options8.objectMode == null) {
+ options8.objectMode = true;
}
- const opts = options8 || {};
- const posix = utils.isWindows(options8);
- const regex = isState ? picomatch.compileRe(glob, options8) : picomatch.makeRe(glob, options8, false, true);
- const state = regex.state;
- delete regex.state;
- let isIgnored2 = () => false;
- if (opts.ignore) {
- const ignoreOpts = { ...options8, ignore: null, onMatch: null, onResult: null };
- isIgnored2 = picomatch(opts.ignore, ignoreOpts, returnState);
+ if (options8.highWaterMark == null) {
+ options8.highWaterMark = 64 * 1024;
}
- const matcher = (input, returnObject = false) => {
- const { isMatch, match, output } = picomatch.test(input, regex, options8, { glob, posix });
- const result = { glob, state, regex, posix, input, output, match, isMatch };
- if (typeof opts.onResult === "function") {
- opts.onResult(result);
+ const mergedStream = PassThrough(options8);
+ function addStream() {
+ for (let i = 0, len = arguments.length; i < len; i++) {
+ streamsQueue.push(pauseStreams(arguments[i], options8));
}
- if (isMatch === false) {
- result.isMatch = false;
- return returnObject ? result : false;
+ mergeStream();
+ return this;
+ }
+ function mergeStream() {
+ if (merging) {
+ return;
}
- if (isIgnored2(input)) {
- if (typeof opts.onIgnore === "function") {
- opts.onIgnore(result);
+ merging = true;
+ let streams = streamsQueue.shift();
+ if (!streams) {
+ process.nextTick(endStream);
+ return;
+ }
+ if (!Array.isArray(streams)) {
+ streams = [streams];
+ }
+ let pipesCount = streams.length + 1;
+ function next() {
+ if (--pipesCount > 0) {
+ return;
}
- result.isMatch = false;
- return returnObject ? result : false;
+ merging = false;
+ mergeStream();
}
- if (typeof opts.onMatch === "function") {
- opts.onMatch(result);
+ function pipe(stream) {
+ function onend() {
+ stream.removeListener("merge2UnpipeEnd", onend);
+ stream.removeListener("end", onend);
+ if (doPipeError) {
+ stream.removeListener("error", onerror);
+ }
+ next();
+ }
+ function onerror(err) {
+ mergedStream.emit("error", err);
+ }
+ if (stream._readableState.endEmitted) {
+ return next();
+ }
+ stream.on("merge2UnpipeEnd", onend);
+ stream.on("end", onend);
+ if (doPipeError) {
+ stream.on("error", onerror);
+ }
+ stream.pipe(mergedStream, { end: false });
+ stream.resume();
}
- return returnObject ? result : true;
- };
- if (returnState) {
- matcher.state = state;
- }
- return matcher;
- };
- picomatch.test = (input, regex, options8, { glob, posix } = {}) => {
- if (typeof input !== "string") {
- throw new TypeError("Expected input to be a string");
- }
- if (input === "") {
- return { isMatch: false, output: "" };
- }
- const opts = options8 || {};
- const format3 = opts.format || (posix ? utils.toPosixSlashes : null);
- let match = input === glob;
- let output = match && format3 ? format3(input) : input;
- if (match === false) {
- output = format3 ? format3(input) : input;
- match = output === glob;
- }
- if (match === false || opts.capture === true) {
- if (opts.matchBase === true || opts.basename === true) {
- match = picomatch.matchBase(input, regex, options8, posix);
- } else {
- match = regex.exec(output);
+ for (let i = 0; i < streams.length; i++) {
+ pipe(streams[i]);
}
+ next();
}
- return { isMatch: Boolean(match), match, output };
- };
- picomatch.matchBase = (input, glob, options8, posix = utils.isWindows(options8)) => {
- const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options8);
- return regex.test(path9.basename(input));
- };
- picomatch.isMatch = (str, patterns, options8) => picomatch(patterns, options8)(str);
- picomatch.parse = (pattern, options8) => {
- if (Array.isArray(pattern))
- return pattern.map((p) => picomatch.parse(p, options8));
- return parse3(pattern, { ...options8, fastpaths: false });
- };
- picomatch.scan = (input, options8) => scan(input, options8);
- picomatch.compileRe = (state, options8, returnOutput = false, returnState = false) => {
- if (returnOutput === true) {
- return state.output;
- }
- const opts = options8 || {};
- const prepend = opts.contains ? "" : "^";
- const append = opts.contains ? "" : "$";
- let source = `${prepend}(?:${state.output})${append}`;
- if (state && state.negated === true) {
- source = `^(?!${source}).*$`;
- }
- const regex = picomatch.toRegex(source, options8);
- if (returnState === true) {
- regex.state = state;
- }
- return regex;
- };
- picomatch.makeRe = (input, options8 = {}, returnOutput = false, returnState = false) => {
- if (!input || typeof input !== "string") {
- throw new TypeError("Expected a non-empty string");
- }
- let parsed = { negated: false, fastpaths: true };
- if (options8.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
- parsed.output = parse3.fastpaths(input, options8);
+ function endStream() {
+ merging = false;
+ mergedStream.emit("queueDrain");
+ if (doEnd) {
+ mergedStream.end();
+ }
}
- if (!parsed.output) {
- parsed = parse3(input, options8);
+ mergedStream.setMaxListeners(0);
+ mergedStream.add = addStream;
+ mergedStream.on("unpipe", function(stream) {
+ stream.emit("merge2UnpipeEnd");
+ });
+ if (args.length) {
+ addStream.apply(null, args);
}
- return picomatch.compileRe(parsed, options8, returnOutput, returnState);
- };
- picomatch.toRegex = (source, options8) => {
- try {
- const opts = options8 || {};
- return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
- } catch (err) {
- if (options8 && options8.debug === true)
- throw err;
- return /$^/;
+ return mergedStream;
+ }
+ function pauseStreams(streams, options8) {
+ if (!Array.isArray(streams)) {
+ if (!streams._readableState && streams.pipe) {
+ streams = streams.pipe(PassThrough(options8));
+ }
+ if (!streams._readableState || !streams.pause || !streams.pipe) {
+ throw new Error("Only readable stream can be merged.");
+ }
+ streams.pause();
+ } else {
+ for (let i = 0, len = streams.length; i < len; i++) {
+ streams[i] = pauseStreams(streams[i], options8);
+ }
}
- };
- picomatch.constants = constants;
- module.exports = picomatch;
+ return streams;
+ }
}
});
-// node_modules/picomatch/index.js
-var require_picomatch2 = __commonJS({
- "node_modules/picomatch/index.js"(exports, module) {
+// node_modules/fast-glob/out/utils/stream.js
+var require_stream = __commonJS({
+ "node_modules/fast-glob/out/utils/stream.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.merge = void 0;
+ var merge2 = require_merge2();
+ function merge(streams) {
+ const mergedStream = merge2(streams);
+ streams.forEach((stream) => {
+ stream.once("error", (error) => mergedStream.emit("error", error));
+ });
+ mergedStream.once("close", () => propagateCloseEventToSources(streams));
+ mergedStream.once("end", () => propagateCloseEventToSources(streams));
+ return mergedStream;
+ }
+ exports.merge = merge;
+ function propagateCloseEventToSources(streams) {
+ streams.forEach((stream) => stream.emit("close"));
+ }
+ }
+});
+
+// node_modules/fast-glob/out/utils/string.js
+var require_string = __commonJS({
+ "node_modules/fast-glob/out/utils/string.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isEmpty = exports.isString = void 0;
+ function isString(input) {
+ return typeof input === "string";
+ }
+ exports.isString = isString;
+ function isEmpty(input) {
+ return input === "";
+ }
+ exports.isEmpty = isEmpty;
+ }
+});
+
+// node_modules/fast-glob/out/utils/index.js
+var require_utils3 = __commonJS({
+ "node_modules/fast-glob/out/utils/index.js"(exports) {
"use strict";
- module.exports = require_picomatch();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0;
+ var array2 = require_array();
+ exports.array = array2;
+ var errno = require_errno();
+ exports.errno = errno;
+ var fs5 = require_fs();
+ exports.fs = fs5;
+ var path9 = require_path();
+ exports.path = path9;
+ var pattern = require_pattern();
+ exports.pattern = pattern;
+ var stream = require_stream();
+ exports.stream = stream;
+ var string = require_string();
+ exports.string = string;
}
});
-// node_modules/micromatch/index.js
-var require_micromatch = __commonJS({
- "node_modules/micromatch/index.js"(exports, module) {
+// node_modules/fast-glob/out/managers/tasks.js
+var require_tasks = __commonJS({
+ "node_modules/fast-glob/out/managers/tasks.js"(exports) {
"use strict";
- var util = __require("util");
- var braces = require_braces();
- var picomatch = require_picomatch2();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0;
var utils = require_utils3();
- var isEmptyString = (val) => val === "" || val === "./";
- var micromatch2 = (list, patterns, options8) => {
- patterns = [].concat(patterns);
- list = [].concat(list);
- let omit2 = /* @__PURE__ */ new Set();
- let keep = /* @__PURE__ */ new Set();
- let items = /* @__PURE__ */ new Set();
- let negatives = 0;
- let onResult = (state) => {
- items.add(state.output);
- if (options8 && options8.onResult) {
- options8.onResult(state);
- }
- };
- for (let i = 0; i < patterns.length; i++) {
- let isMatch = picomatch(String(patterns[i]), { ...options8, onResult }, true);
- let negated = isMatch.state.negated || isMatch.state.negatedExtglob;
- if (negated)
- negatives++;
- for (let item of list) {
- let matched = isMatch(item, true);
- let match = negated ? !matched.isMatch : matched.isMatch;
- if (!match)
- continue;
- if (negated) {
- omit2.add(matched.output);
- } else {
- omit2.delete(matched.output);
- keep.add(matched.output);
- }
- }
- }
- let result = negatives === patterns.length ? [...items] : [...keep];
- let matches = result.filter((item) => !omit2.has(item));
- if (options8 && matches.length === 0) {
- if (options8.failglob === true) {
- throw new Error(`No matches found for "${patterns.join(", ")}"`);
- }
- if (options8.nonull === true || options8.nullglob === true) {
- return options8.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns;
- }
- }
- return matches;
- };
- micromatch2.match = micromatch2;
- micromatch2.matcher = (pattern, options8) => picomatch(pattern, options8);
- micromatch2.isMatch = (str, patterns, options8) => picomatch(patterns, options8)(str);
- micromatch2.any = micromatch2.isMatch;
- micromatch2.not = (list, patterns, options8 = {}) => {
- patterns = [].concat(patterns).map(String);
- let result = /* @__PURE__ */ new Set();
- let items = [];
- let onResult = (state) => {
- if (options8.onResult)
- options8.onResult(state);
- items.push(state.output);
- };
- let matches = new Set(micromatch2(list, patterns, { ...options8, onResult }));
- for (let item of items) {
- if (!matches.has(item)) {
- result.add(item);
- }
+ function generate(input, settings) {
+ const patterns = processPatterns(input, settings);
+ const ignore = processPatterns(settings.ignore, settings);
+ const positivePatterns = getPositivePatterns(patterns);
+ const negativePatterns = getNegativePatternsAsPositive(patterns, ignore);
+ const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings));
+ const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings));
+ const staticTasks = convertPatternsToTasks(
+ staticPatterns,
+ negativePatterns,
+ /* dynamic */
+ false
+ );
+ const dynamicTasks = convertPatternsToTasks(
+ dynamicPatterns,
+ negativePatterns,
+ /* dynamic */
+ true
+ );
+ return staticTasks.concat(dynamicTasks);
+ }
+ exports.generate = generate;
+ function processPatterns(input, settings) {
+ let patterns = input;
+ if (settings.braceExpansion) {
+ patterns = utils.pattern.expandPatternsWithBraceExpansion(patterns);
}
- return [...result];
- };
- micromatch2.contains = (str, pattern, options8) => {
- if (typeof str !== "string") {
- throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
+ if (settings.baseNameMatch) {
+ patterns = patterns.map((pattern) => pattern.includes("/") ? pattern : `**/${pattern}`);
}
- if (Array.isArray(pattern)) {
- return pattern.some((p) => micromatch2.contains(str, p, options8));
+ return patterns.map((pattern) => utils.pattern.removeDuplicateSlashes(pattern));
+ }
+ function convertPatternsToTasks(positive, negative, dynamic) {
+ const tasks = [];
+ const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive);
+ const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive);
+ const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory);
+ const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory);
+ tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic));
+ if ("." in insideCurrentDirectoryGroup) {
+ tasks.push(convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic));
+ } else {
+ tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic));
}
- if (typeof pattern === "string") {
- if (isEmptyString(str) || isEmptyString(pattern)) {
- return false;
+ return tasks;
+ }
+ exports.convertPatternsToTasks = convertPatternsToTasks;
+ function getPositivePatterns(patterns) {
+ return utils.pattern.getPositivePatterns(patterns);
+ }
+ exports.getPositivePatterns = getPositivePatterns;
+ function getNegativePatternsAsPositive(patterns, ignore) {
+ const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore);
+ const positive = negative.map(utils.pattern.convertToPositivePattern);
+ return positive;
+ }
+ exports.getNegativePatternsAsPositive = getNegativePatternsAsPositive;
+ function groupPatternsByBaseDirectory(patterns) {
+ const group = {};
+ return patterns.reduce((collection, pattern) => {
+ const base = utils.pattern.getBaseDirectory(pattern);
+ if (base in collection) {
+ collection[base].push(pattern);
+ } else {
+ collection[base] = [pattern];
}
- if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) {
- return true;
+ return collection;
+ }, group);
+ }
+ exports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory;
+ function convertPatternGroupsToTasks(positive, negative, dynamic) {
+ return Object.keys(positive).map((base) => {
+ return convertPatternGroupToTask(base, positive[base], negative, dynamic);
+ });
+ }
+ exports.convertPatternGroupsToTasks = convertPatternGroupsToTasks;
+ function convertPatternGroupToTask(base, positive, negative, dynamic) {
+ return {
+ dynamic,
+ positive,
+ negative,
+ base,
+ patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern))
+ };
+ }
+ exports.convertPatternGroupToTask = convertPatternGroupToTask;
+ }
+});
+
+// node_modules/@nodelib/fs.stat/out/providers/async.js
+var require_async = __commonJS({
+ "node_modules/@nodelib/fs.stat/out/providers/async.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.read = void 0;
+ function read2(path9, settings, callback) {
+ settings.fs.lstat(path9, (lstatError, lstat) => {
+ if (lstatError !== null) {
+ callFailureCallback(callback, lstatError);
+ return;
}
- }
- return micromatch2.isMatch(str, pattern, { ...options8, contains: true });
- };
- micromatch2.matchKeys = (obj, patterns, options8) => {
- if (!utils.isObject(obj)) {
- throw new TypeError("Expected the first argument to be an object");
- }
- let keys = micromatch2(Object.keys(obj), patterns, options8);
- let res = {};
- for (let key of keys)
- res[key] = obj[key];
- return res;
- };
- micromatch2.some = (list, patterns, options8) => {
- let items = [].concat(list);
- for (let pattern of [].concat(patterns)) {
- let isMatch = picomatch(String(pattern), options8);
- if (items.some((item) => isMatch(item))) {
- return true;
+ if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
+ callSuccessCallback(callback, lstat);
+ return;
}
+ settings.fs.stat(path9, (statError, stat) => {
+ if (statError !== null) {
+ if (settings.throwErrorOnBrokenSymbolicLink) {
+ callFailureCallback(callback, statError);
+ return;
+ }
+ callSuccessCallback(callback, lstat);
+ return;
+ }
+ if (settings.markSymbolicLink) {
+ stat.isSymbolicLink = () => true;
+ }
+ callSuccessCallback(callback, stat);
+ });
+ });
+ }
+ exports.read = read2;
+ function callFailureCallback(callback, error) {
+ callback(error);
+ }
+ function callSuccessCallback(callback, result) {
+ callback(null, result);
+ }
+ }
+});
+
+// node_modules/@nodelib/fs.stat/out/providers/sync.js
+var require_sync = __commonJS({
+ "node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.read = void 0;
+ function read2(path9, settings) {
+ const lstat = settings.fs.lstatSync(path9);
+ if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
+ return lstat;
}
- return false;
- };
- micromatch2.every = (list, patterns, options8) => {
- let items = [].concat(list);
- for (let pattern of [].concat(patterns)) {
- let isMatch = picomatch(String(pattern), options8);
- if (!items.every((item) => isMatch(item))) {
- return false;
+ try {
+ const stat = settings.fs.statSync(path9);
+ if (settings.markSymbolicLink) {
+ stat.isSymbolicLink = () => true;
}
+ return stat;
+ } catch (error) {
+ if (!settings.throwErrorOnBrokenSymbolicLink) {
+ return lstat;
+ }
+ throw error;
}
- return true;
- };
- micromatch2.all = (str, patterns, options8) => {
- if (typeof str !== "string") {
- throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
- }
- return [].concat(patterns).every((p) => picomatch(p, options8)(str));
+ }
+ exports.read = read2;
+ }
+});
+
+// node_modules/@nodelib/fs.stat/out/adapters/fs.js
+var require_fs2 = __commonJS({
+ "node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;
+ var fs5 = __require("fs");
+ exports.FILE_SYSTEM_ADAPTER = {
+ lstat: fs5.lstat,
+ stat: fs5.stat,
+ lstatSync: fs5.lstatSync,
+ statSync: fs5.statSync
};
- micromatch2.capture = (glob, input, options8) => {
- let posix = utils.isWindows(options8);
- let regex = picomatch.makeRe(String(glob), { ...options8, capture: true });
- let match = regex.exec(posix ? utils.toPosixSlashes(input) : input);
- if (match) {
- return match.slice(1).map((v) => v === void 0 ? "" : v);
+ function createFileSystemAdapter(fsMethods) {
+ if (fsMethods === void 0) {
+ return exports.FILE_SYSTEM_ADAPTER;
}
- };
- micromatch2.makeRe = (...args) => picomatch.makeRe(...args);
- micromatch2.scan = (...args) => picomatch.scan(...args);
- micromatch2.parse = (patterns, options8) => {
- let res = [];
- for (let pattern of [].concat(patterns || [])) {
- for (let str of braces(String(pattern), options8)) {
- res.push(picomatch.parse(str, options8));
- }
+ return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);
+ }
+ exports.createFileSystemAdapter = createFileSystemAdapter;
+ }
+});
+
+// node_modules/@nodelib/fs.stat/out/settings.js
+var require_settings = __commonJS({
+ "node_modules/@nodelib/fs.stat/out/settings.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var fs5 = require_fs2();
+ var Settings = class {
+ constructor(_options = {}) {
+ this._options = _options;
+ this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);
+ this.fs = fs5.createFileSystemAdapter(this._options.fs);
+ this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);
+ this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
}
- return res;
- };
- micromatch2.braces = (pattern, options8) => {
- if (typeof pattern !== "string")
- throw new TypeError("Expected a string");
- if (options8 && options8.nobrace === true || !/\{.*\}/.test(pattern)) {
- return [pattern];
+ _getValue(option, value) {
+ return option !== null && option !== void 0 ? option : value;
}
- return braces(pattern, options8);
- };
- micromatch2.braceExpand = (pattern, options8) => {
- if (typeof pattern !== "string")
- throw new TypeError("Expected a string");
- return micromatch2.braces(pattern, { ...options8, expand: true });
};
- module.exports = micromatch2;
+ exports.default = Settings;
}
});
-// node_modules/fast-glob/out/utils/pattern.js
-var require_pattern = __commonJS({
- "node_modules/fast-glob/out/utils/pattern.js"(exports) {
+// node_modules/@nodelib/fs.stat/out/index.js
+var require_out = __commonJS({
+ "node_modules/@nodelib/fs.stat/out/index.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0;
- var path9 = __require("path");
- var globParent = require_glob_parent();
- var micromatch2 = require_micromatch();
- var GLOBSTAR = "**";
- var ESCAPE_SYMBOL = "\\";
- var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;
- var REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/;
- var REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/;
- var GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/;
- var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./;
- function isStaticPattern(pattern, options8 = {}) {
- return !isDynamicPattern(pattern, options8);
+ exports.statSync = exports.stat = exports.Settings = void 0;
+ var async = require_async();
+ var sync = require_sync();
+ var settings_1 = require_settings();
+ exports.Settings = settings_1.default;
+ function stat(path9, optionsOrSettingsOrCallback, callback) {
+ if (typeof optionsOrSettingsOrCallback === "function") {
+ async.read(path9, getSettings(), optionsOrSettingsOrCallback);
+ return;
+ }
+ async.read(path9, getSettings(optionsOrSettingsOrCallback), callback);
}
- exports.isStaticPattern = isStaticPattern;
- function isDynamicPattern(pattern, options8 = {}) {
- if (pattern === "") {
- return false;
+ exports.stat = stat;
+ function statSync2(path9, optionsOrSettings) {
+ const settings = getSettings(optionsOrSettings);
+ return sync.read(path9, settings);
+ }
+ exports.statSync = statSync2;
+ function getSettings(settingsOrOptions = {}) {
+ if (settingsOrOptions instanceof settings_1.default) {
+ return settingsOrOptions;
}
- if (options8.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) {
- return true;
+ return new settings_1.default(settingsOrOptions);
+ }
+ }
+});
+
+// node_modules/queue-microtask/index.js
+var require_queue_microtask = __commonJS({
+ "node_modules/queue-microtask/index.js"(exports, module) {
+ var promise;
+ module.exports = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : global) : (cb) => (promise || (promise = Promise.resolve())).then(cb).catch((err) => setTimeout(() => {
+ throw err;
+ }, 0));
+ }
+});
+
+// node_modules/run-parallel/index.js
+var require_run_parallel = __commonJS({
+ "node_modules/run-parallel/index.js"(exports, module) {
+ module.exports = runParallel;
+ var queueMicrotask2 = require_queue_microtask();
+ function runParallel(tasks, cb) {
+ let results, pending, keys;
+ let isSync = true;
+ if (Array.isArray(tasks)) {
+ results = [];
+ pending = tasks.length;
+ } else {
+ keys = Object.keys(tasks);
+ results = {};
+ pending = keys.length;
}
- if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) {
- return true;
+ function done(err) {
+ function end() {
+ if (cb)
+ cb(err, results);
+ cb = null;
+ }
+ if (isSync)
+ queueMicrotask2(end);
+ else
+ end();
}
- if (options8.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) {
- return true;
+ function each(i, err, result) {
+ results[i] = result;
+ if (--pending === 0 || err) {
+ done(err);
+ }
}
- if (options8.braceExpansion !== false && hasBraceExpansion(pattern)) {
- return true;
+ if (!pending) {
+ done(null);
+ } else if (keys) {
+ keys.forEach(function(key) {
+ tasks[key](function(err, result) {
+ each(key, err, result);
+ });
+ });
+ } else {
+ tasks.forEach(function(task, i) {
+ task(function(err, result) {
+ each(i, err, result);
+ });
+ });
+ }
+ isSync = false;
+ }
+ }
+});
+
+// node_modules/@nodelib/fs.scandir/out/constants.js
+var require_constants3 = __commonJS({
+ "node_modules/@nodelib/fs.scandir/out/constants.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;
+ var NODE_PROCESS_VERSION_PARTS = process.versions.node.split(".");
+ if (NODE_PROCESS_VERSION_PARTS[0] === void 0 || NODE_PROCESS_VERSION_PARTS[1] === void 0) {
+ throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);
+ }
+ var MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10);
+ var MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10);
+ var SUPPORTED_MAJOR_VERSION = 10;
+ var SUPPORTED_MINOR_VERSION = 10;
+ var IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION;
+ var IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION;
+ exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR;
+ }
+});
+
+// node_modules/@nodelib/fs.scandir/out/utils/fs.js
+var require_fs3 = __commonJS({
+ "node_modules/@nodelib/fs.scandir/out/utils/fs.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.createDirentFromStats = void 0;
+ var DirentFromStats = class {
+ constructor(name, stats) {
+ this.name = name;
+ this.isBlockDevice = stats.isBlockDevice.bind(stats);
+ this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
+ this.isDirectory = stats.isDirectory.bind(stats);
+ this.isFIFO = stats.isFIFO.bind(stats);
+ this.isFile = stats.isFile.bind(stats);
+ this.isSocket = stats.isSocket.bind(stats);
+ this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
+ }
+ };
+ function createDirentFromStats(name, stats) {
+ return new DirentFromStats(name, stats);
+ }
+ exports.createDirentFromStats = createDirentFromStats;
+ }
+});
+
+// node_modules/@nodelib/fs.scandir/out/utils/index.js
+var require_utils4 = __commonJS({
+ "node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.fs = void 0;
+ var fs5 = require_fs3();
+ exports.fs = fs5;
+ }
+});
+
+// node_modules/@nodelib/fs.scandir/out/providers/common.js
+var require_common = __commonJS({
+ "node_modules/@nodelib/fs.scandir/out/providers/common.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.joinPathSegments = void 0;
+ function joinPathSegments(a, b, separator) {
+ if (a.endsWith(separator)) {
+ return a + b;
}
- return false;
+ return a + separator + b;
}
- exports.isDynamicPattern = isDynamicPattern;
- function hasBraceExpansion(pattern) {
- const openingBraceIndex = pattern.indexOf("{");
- if (openingBraceIndex === -1) {
- return false;
- }
- const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1);
- if (closingBraceIndex === -1) {
- return false;
+ exports.joinPathSegments = joinPathSegments;
+ }
+});
+
+// node_modules/@nodelib/fs.scandir/out/providers/async.js
+var require_async2 = __commonJS({
+ "node_modules/@nodelib/fs.scandir/out/providers/async.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.readdir = exports.readdirWithFileTypes = exports.read = void 0;
+ var fsStat = require_out();
+ var rpl = require_run_parallel();
+ var constants_1 = require_constants3();
+ var utils = require_utils4();
+ var common = require_common();
+ function read2(directory, settings, callback) {
+ if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
+ readdirWithFileTypes(directory, settings, callback);
+ return;
}
- const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex);
- return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent);
- }
- function convertToPositivePattern(pattern) {
- return isNegativePattern(pattern) ? pattern.slice(1) : pattern;
- }
- exports.convertToPositivePattern = convertToPositivePattern;
- function convertToNegativePattern(pattern) {
- return "!" + pattern;
- }
- exports.convertToNegativePattern = convertToNegativePattern;
- function isNegativePattern(pattern) {
- return pattern.startsWith("!") && pattern[1] !== "(";
- }
- exports.isNegativePattern = isNegativePattern;
- function isPositivePattern(pattern) {
- return !isNegativePattern(pattern);
- }
- exports.isPositivePattern = isPositivePattern;
- function getNegativePatterns(patterns) {
- return patterns.filter(isNegativePattern);
- }
- exports.getNegativePatterns = getNegativePatterns;
- function getPositivePatterns(patterns) {
- return patterns.filter(isPositivePattern);
- }
- exports.getPositivePatterns = getPositivePatterns;
- function getPatternsInsideCurrentDirectory(patterns) {
- return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern));
+ readdir(directory, settings, callback);
}
- exports.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory;
- function getPatternsOutsideCurrentDirectory(patterns) {
- return patterns.filter(isPatternRelatedToParentDirectory);
+ exports.read = read2;
+ function readdirWithFileTypes(directory, settings, callback) {
+ settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => {
+ if (readdirError !== null) {
+ callFailureCallback(callback, readdirError);
+ return;
+ }
+ const entries = dirents.map((dirent) => ({
+ dirent,
+ name: dirent.name,
+ path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
+ }));
+ if (!settings.followSymbolicLinks) {
+ callSuccessCallback(callback, entries);
+ return;
+ }
+ const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings));
+ rpl(tasks, (rplError, rplEntries) => {
+ if (rplError !== null) {
+ callFailureCallback(callback, rplError);
+ return;
+ }
+ callSuccessCallback(callback, rplEntries);
+ });
+ });
}
- exports.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory;
- function isPatternRelatedToParentDirectory(pattern) {
- return pattern.startsWith("..") || pattern.startsWith("./..");
+ exports.readdirWithFileTypes = readdirWithFileTypes;
+ function makeRplTaskEntry(entry, settings) {
+ return (done) => {
+ if (!entry.dirent.isSymbolicLink()) {
+ done(null, entry);
+ return;
+ }
+ settings.fs.stat(entry.path, (statError, stats) => {
+ if (statError !== null) {
+ if (settings.throwErrorOnBrokenSymbolicLink) {
+ done(statError);
+ return;
+ }
+ done(null, entry);
+ return;
+ }
+ entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
+ done(null, entry);
+ });
+ };
}
- exports.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory;
- function getBaseDirectory(pattern) {
- return globParent(pattern, { flipBackslashes: false });
+ function readdir(directory, settings, callback) {
+ settings.fs.readdir(directory, (readdirError, names) => {
+ if (readdirError !== null) {
+ callFailureCallback(callback, readdirError);
+ return;
+ }
+ const tasks = names.map((name) => {
+ const path9 = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
+ return (done) => {
+ fsStat.stat(path9, settings.fsStatSettings, (error, stats) => {
+ if (error !== null) {
+ done(error);
+ return;
+ }
+ const entry = {
+ name,
+ path: path9,
+ dirent: utils.fs.createDirentFromStats(name, stats)
+ };
+ if (settings.stats) {
+ entry.stats = stats;
+ }
+ done(null, entry);
+ });
+ };
+ });
+ rpl(tasks, (rplError, entries) => {
+ if (rplError !== null) {
+ callFailureCallback(callback, rplError);
+ return;
+ }
+ callSuccessCallback(callback, entries);
+ });
+ });
}
- exports.getBaseDirectory = getBaseDirectory;
- function hasGlobStar(pattern) {
- return pattern.includes(GLOBSTAR);
+ exports.readdir = readdir;
+ function callFailureCallback(callback, error) {
+ callback(error);
}
- exports.hasGlobStar = hasGlobStar;
- function endsWithSlashGlobStar(pattern) {
- return pattern.endsWith("/" + GLOBSTAR);
+ function callSuccessCallback(callback, result) {
+ callback(null, result);
}
- exports.endsWithSlashGlobStar = endsWithSlashGlobStar;
- function isAffectDepthOfReadingPattern(pattern) {
- const basename = path9.basename(pattern);
- return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);
+ }
+});
+
+// node_modules/@nodelib/fs.scandir/out/providers/sync.js
+var require_sync2 = __commonJS({
+ "node_modules/@nodelib/fs.scandir/out/providers/sync.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.readdir = exports.readdirWithFileTypes = exports.read = void 0;
+ var fsStat = require_out();
+ var constants_1 = require_constants3();
+ var utils = require_utils4();
+ var common = require_common();
+ function read2(directory, settings) {
+ if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
+ return readdirWithFileTypes(directory, settings);
+ }
+ return readdir(directory, settings);
}
- exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
- function expandPatternsWithBraceExpansion(patterns) {
- return patterns.reduce((collection, pattern) => {
- return collection.concat(expandBraceExpansion(pattern));
- }, []);
+ exports.read = read2;
+ function readdirWithFileTypes(directory, settings) {
+ const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });
+ return dirents.map((dirent) => {
+ const entry = {
+ dirent,
+ name: dirent.name,
+ path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
+ };
+ if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {
+ try {
+ const stats = settings.fs.statSync(entry.path);
+ entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
+ } catch (error) {
+ if (settings.throwErrorOnBrokenSymbolicLink) {
+ throw error;
+ }
+ }
+ }
+ return entry;
+ });
}
- exports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion;
- function expandBraceExpansion(pattern) {
- return micromatch2.braces(pattern, {
- expand: true,
- nodupes: true
+ exports.readdirWithFileTypes = readdirWithFileTypes;
+ function readdir(directory, settings) {
+ const names = settings.fs.readdirSync(directory);
+ return names.map((name) => {
+ const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
+ const stats = fsStat.statSync(entryPath, settings.fsStatSettings);
+ const entry = {
+ name,
+ path: entryPath,
+ dirent: utils.fs.createDirentFromStats(name, stats)
+ };
+ if (settings.stats) {
+ entry.stats = stats;
+ }
+ return entry;
});
}
- exports.expandBraceExpansion = expandBraceExpansion;
- function getPatternParts(pattern, options8) {
- let { parts } = micromatch2.scan(pattern, Object.assign(Object.assign({}, options8), { parts: true }));
- if (parts.length === 0) {
- parts = [pattern];
+ exports.readdir = readdir;
+ }
+});
+
+// node_modules/@nodelib/fs.scandir/out/adapters/fs.js
+var require_fs4 = __commonJS({
+ "node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;
+ var fs5 = __require("fs");
+ exports.FILE_SYSTEM_ADAPTER = {
+ lstat: fs5.lstat,
+ stat: fs5.stat,
+ lstatSync: fs5.lstatSync,
+ statSync: fs5.statSync,
+ readdir: fs5.readdir,
+ readdirSync: fs5.readdirSync
+ };
+ function createFileSystemAdapter(fsMethods) {
+ if (fsMethods === void 0) {
+ return exports.FILE_SYSTEM_ADAPTER;
+ }
+ return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);
+ }
+ exports.createFileSystemAdapter = createFileSystemAdapter;
+ }
+});
+
+// node_modules/@nodelib/fs.scandir/out/settings.js
+var require_settings2 = __commonJS({
+ "node_modules/@nodelib/fs.scandir/out/settings.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var path9 = __require("path");
+ var fsStat = require_out();
+ var fs5 = require_fs4();
+ var Settings = class {
+ constructor(_options = {}) {
+ this._options = _options;
+ this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
+ this.fs = fs5.createFileSystemAdapter(this._options.fs);
+ this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path9.sep);
+ this.stats = this._getValue(this._options.stats, false);
+ this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
+ this.fsStatSettings = new fsStat.Settings({
+ followSymbolicLink: this.followSymbolicLinks,
+ fs: this.fs,
+ throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
+ });
}
- if (parts[0].startsWith("/")) {
- parts[0] = parts[0].slice(1);
- parts.unshift("");
+ _getValue(option, value) {
+ return option !== null && option !== void 0 ? option : value;
}
- return parts;
+ };
+ exports.default = Settings;
+ }
+});
+
+// node_modules/@nodelib/fs.scandir/out/index.js
+var require_out2 = __commonJS({
+ "node_modules/@nodelib/fs.scandir/out/index.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.Settings = exports.scandirSync = exports.scandir = void 0;
+ var async = require_async2();
+ var sync = require_sync2();
+ var settings_1 = require_settings2();
+ exports.Settings = settings_1.default;
+ function scandir(path9, optionsOrSettingsOrCallback, callback) {
+ if (typeof optionsOrSettingsOrCallback === "function") {
+ async.read(path9, getSettings(), optionsOrSettingsOrCallback);
+ return;
+ }
+ async.read(path9, getSettings(optionsOrSettingsOrCallback), callback);
}
- exports.getPatternParts = getPatternParts;
- function makeRe(pattern, options8) {
- return micromatch2.makeRe(pattern, options8);
+ exports.scandir = scandir;
+ function scandirSync(path9, optionsOrSettings) {
+ const settings = getSettings(optionsOrSettings);
+ return sync.read(path9, settings);
}
- exports.makeRe = makeRe;
- function convertPatternsToRe(patterns, options8) {
- return patterns.map((pattern) => makeRe(pattern, options8));
+ exports.scandirSync = scandirSync;
+ function getSettings(settingsOrOptions = {}) {
+ if (settingsOrOptions instanceof settings_1.default) {
+ return settingsOrOptions;
+ }
+ return new settings_1.default(settingsOrOptions);
}
- exports.convertPatternsToRe = convertPatternsToRe;
- function matchAny(entry, patternsRe) {
- return patternsRe.some((patternRe) => patternRe.test(entry));
+ }
+});
+
+// node_modules/reusify/reusify.js
+var require_reusify = __commonJS({
+ "node_modules/reusify/reusify.js"(exports, module) {
+ "use strict";
+ function reusify(Constructor) {
+ var head = new Constructor();
+ var tail = head;
+ function get() {
+ var current = head;
+ if (current.next) {
+ head = current.next;
+ } else {
+ head = new Constructor();
+ tail = head;
+ }
+ current.next = null;
+ return current;
+ }
+ function release(obj) {
+ tail.next = obj;
+ tail = obj;
+ }
+ return {
+ get,
+ release
+ };
}
- exports.matchAny = matchAny;
+ module.exports = reusify;
}
});
-// node_modules/merge2/index.js
-var require_merge2 = __commonJS({
- "node_modules/merge2/index.js"(exports, module) {
+// node_modules/fastq/queue.js
+var require_queue = __commonJS({
+ "node_modules/fastq/queue.js"(exports, module) {
"use strict";
- var Stream = __require("stream");
- var PassThrough = Stream.PassThrough;
- var slice = Array.prototype.slice;
- module.exports = merge2;
- function merge2() {
- const streamsQueue = [];
- const args = slice.call(arguments);
- let merging = false;
- let options8 = args[args.length - 1];
- if (options8 && !Array.isArray(options8) && options8.pipe == null) {
- args.pop();
- } else {
- options8 = {};
+ var reusify = require_reusify();
+ function fastqueue(context, worker, concurrency) {
+ if (typeof context === "function") {
+ concurrency = worker;
+ worker = context;
+ context = null;
}
- const doEnd = options8.end !== false;
- const doPipeError = options8.pipeError === true;
- if (options8.objectMode == null) {
- options8.objectMode = true;
+ if (concurrency < 1) {
+ throw new Error("fastqueue concurrency must be greater than 1");
}
- if (options8.highWaterMark == null) {
- options8.highWaterMark = 64 * 1024;
+ var cache = reusify(Task);
+ var queueHead = null;
+ var queueTail = null;
+ var _running = 0;
+ var errorHandler = null;
+ var self = {
+ push,
+ drain: noop2,
+ saturated: noop2,
+ pause,
+ paused: false,
+ concurrency,
+ running,
+ resume,
+ idle,
+ length,
+ getQueue,
+ unshift,
+ empty: noop2,
+ kill,
+ killAndDrain,
+ error
+ };
+ return self;
+ function running() {
+ return _running;
}
- const mergedStream = PassThrough(options8);
- function addStream() {
- for (let i = 0, len = arguments.length; i < len; i++) {
- streamsQueue.push(pauseStreams(arguments[i], options8));
+ function pause() {
+ self.paused = true;
+ }
+ function length() {
+ var current = queueHead;
+ var counter = 0;
+ while (current) {
+ current = current.next;
+ counter++;
}
- mergeStream();
- return this;
+ return counter;
}
- function mergeStream() {
- if (merging) {
- return;
+ function getQueue() {
+ var current = queueHead;
+ var tasks = [];
+ while (current) {
+ tasks.push(current.value);
+ current = current.next;
}
- merging = true;
- let streams = streamsQueue.shift();
- if (!streams) {
- process.nextTick(endStream);
+ return tasks;
+ }
+ function resume() {
+ if (!self.paused)
return;
+ self.paused = false;
+ for (var i = 0; i < self.concurrency; i++) {
+ _running++;
+ release();
}
- if (!Array.isArray(streams)) {
- streams = [streams];
+ }
+ function idle() {
+ return _running === 0 && self.length() === 0;
+ }
+ function push(value, done) {
+ var current = cache.get();
+ current.context = context;
+ current.release = release;
+ current.value = value;
+ current.callback = done || noop2;
+ current.errorHandler = errorHandler;
+ if (_running === self.concurrency || self.paused) {
+ if (queueTail) {
+ queueTail.next = current;
+ queueTail = current;
+ } else {
+ queueHead = current;
+ queueTail = current;
+ self.saturated();
+ }
+ } else {
+ _running++;
+ worker.call(context, current.value, current.worked);
}
- let pipesCount = streams.length + 1;
- function next() {
- if (--pipesCount > 0) {
- return;
+ }
+ function unshift(value, done) {
+ var current = cache.get();
+ current.context = context;
+ current.release = release;
+ current.value = value;
+ current.callback = done || noop2;
+ if (_running === self.concurrency || self.paused) {
+ if (queueHead) {
+ current.next = queueHead;
+ queueHead = current;
+ } else {
+ queueHead = current;
+ queueTail = current;
+ self.saturated();
}
- merging = false;
- mergeStream();
+ } else {
+ _running++;
+ worker.call(context, current.value, current.worked);
+ }
+ }
+ function release(holder) {
+ if (holder) {
+ cache.release(holder);
}
- function pipe(stream) {
- function onend() {
- stream.removeListener("merge2UnpipeEnd", onend);
- stream.removeListener("end", onend);
- if (doPipeError) {
- stream.removeListener("error", onerror);
+ var next = queueHead;
+ if (next) {
+ if (!self.paused) {
+ if (queueTail === queueHead) {
+ queueTail = null;
}
- next();
- }
- function onerror(err) {
- mergedStream.emit("error", err);
- }
- if (stream._readableState.endEmitted) {
- return next();
- }
- stream.on("merge2UnpipeEnd", onend);
- stream.on("end", onend);
- if (doPipeError) {
- stream.on("error", onerror);
+ queueHead = next.next;
+ next.next = null;
+ worker.call(context, next.value, next.worked);
+ if (queueTail === null) {
+ self.empty();
+ }
+ } else {
+ _running--;
}
- stream.pipe(mergedStream, { end: false });
- stream.resume();
- }
- for (let i = 0; i < streams.length; i++) {
- pipe(streams[i]);
+ } else if (--_running === 0) {
+ self.drain();
}
- next();
}
- function endStream() {
- merging = false;
- mergedStream.emit("queueDrain");
- if (doEnd) {
- mergedStream.end();
- }
+ function kill() {
+ queueHead = null;
+ queueTail = null;
+ self.drain = noop2;
}
- mergedStream.setMaxListeners(0);
- mergedStream.add = addStream;
- mergedStream.on("unpipe", function(stream) {
- stream.emit("merge2UnpipeEnd");
- });
- if (args.length) {
- addStream.apply(null, args);
+ function killAndDrain() {
+ queueHead = null;
+ queueTail = null;
+ self.drain();
+ self.drain = noop2;
}
- return mergedStream;
- }
- function pauseStreams(streams, options8) {
- if (!Array.isArray(streams)) {
- if (!streams._readableState && streams.pipe) {
- streams = streams.pipe(PassThrough(options8));
- }
- if (!streams._readableState || !streams.pause || !streams.pipe) {
- throw new Error("Only readable stream can be merged.");
- }
- streams.pause();
- } else {
- for (let i = 0, len = streams.length; i < len; i++) {
- streams[i] = pauseStreams(streams[i], options8);
- }
+ function error(handler) {
+ errorHandler = handler;
}
- return streams;
- }
- }
-});
-
-// node_modules/fast-glob/out/utils/stream.js
-var require_stream = __commonJS({
- "node_modules/fast-glob/out/utils/stream.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.merge = void 0;
- var merge2 = require_merge2();
- function merge(streams) {
- const mergedStream = merge2(streams);
- streams.forEach((stream) => {
- stream.once("error", (error) => mergedStream.emit("error", error));
- });
- mergedStream.once("close", () => propagateCloseEventToSources(streams));
- mergedStream.once("end", () => propagateCloseEventToSources(streams));
- return mergedStream;
- }
- exports.merge = merge;
- function propagateCloseEventToSources(streams) {
- streams.forEach((stream) => stream.emit("close"));
- }
- }
-});
-
-// node_modules/fast-glob/out/utils/string.js
-var require_string2 = __commonJS({
- "node_modules/fast-glob/out/utils/string.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.isEmpty = exports.isString = void 0;
- function isString(input) {
- return typeof input === "string";
}
- exports.isString = isString;
- function isEmpty(input) {
- return input === "";
+ function noop2() {
}
- exports.isEmpty = isEmpty;
- }
-});
-
-// node_modules/fast-glob/out/utils/index.js
-var require_utils4 = __commonJS({
- "node_modules/fast-glob/out/utils/index.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0;
- var array = require_array2();
- exports.array = array;
- var errno = require_errno();
- exports.errno = errno;
- var fs5 = require_fs();
- exports.fs = fs5;
- var path9 = require_path();
- exports.path = path9;
- var pattern = require_pattern();
- exports.pattern = pattern;
- var stream = require_stream();
- exports.stream = stream;
- var string = require_string2();
- exports.string = string;
- }
-});
-
-// node_modules/fast-glob/out/managers/tasks.js
-var require_tasks = __commonJS({
- "node_modules/fast-glob/out/managers/tasks.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0;
- var utils = require_utils4();
- function generate(patterns, settings) {
- const positivePatterns = getPositivePatterns(patterns);
- const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore);
- const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings));
- const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings));
- const staticTasks = convertPatternsToTasks(
- staticPatterns,
- negativePatterns,
- /* dynamic */
- false
- );
- const dynamicTasks = convertPatternsToTasks(
- dynamicPatterns,
- negativePatterns,
- /* dynamic */
- true
- );
- return staticTasks.concat(dynamicTasks);
+ function Task() {
+ this.value = null;
+ this.callback = noop2;
+ this.next = null;
+ this.release = noop2;
+ this.context = null;
+ this.errorHandler = null;
+ var self = this;
+ this.worked = function worked(err, result) {
+ var callback = self.callback;
+ var errorHandler = self.errorHandler;
+ var val = self.value;
+ self.value = null;
+ self.callback = noop2;
+ if (self.errorHandler) {
+ errorHandler(err, val);
+ }
+ callback.call(self.context, err, result);
+ self.release(self);
+ };
}
- exports.generate = generate;
- function convertPatternsToTasks(positive, negative, dynamic) {
- const tasks = [];
- const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive);
- const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive);
- const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory);
- const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory);
- tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic));
- if ("." in insideCurrentDirectoryGroup) {
- tasks.push(convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic));
- } else {
- tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic));
+ function queueAsPromised(context, worker, concurrency) {
+ if (typeof context === "function") {
+ concurrency = worker;
+ worker = context;
+ context = null;
+ }
+ function asyncWrapper(arg, cb) {
+ worker.call(this, arg).then(function(res) {
+ cb(null, res);
+ }, cb);
+ }
+ var queue = fastqueue(context, asyncWrapper, concurrency);
+ var pushCb = queue.push;
+ var unshiftCb = queue.unshift;
+ queue.push = push;
+ queue.unshift = unshift;
+ queue.drained = drained;
+ return queue;
+ function push(value) {
+ var p = new Promise(function(resolve2, reject) {
+ pushCb(value, function(err, result) {
+ if (err) {
+ reject(err);
+ return;
+ }
+ resolve2(result);
+ });
+ });
+ p.catch(noop2);
+ return p;
+ }
+ function unshift(value) {
+ var p = new Promise(function(resolve2, reject) {
+ unshiftCb(value, function(err, result) {
+ if (err) {
+ reject(err);
+ return;
+ }
+ resolve2(result);
+ });
+ });
+ p.catch(noop2);
+ return p;
+ }
+ function drained() {
+ if (queue.idle()) {
+ return new Promise(function(resolve2) {
+ resolve2();
+ });
+ }
+ var previousDrain = queue.drain;
+ var p = new Promise(function(resolve2) {
+ queue.drain = function() {
+ previousDrain();
+ resolve2();
+ };
+ });
+ return p;
}
- return tasks;
- }
- exports.convertPatternsToTasks = convertPatternsToTasks;
- function getPositivePatterns(patterns) {
- return utils.pattern.getPositivePatterns(patterns);
}
- exports.getPositivePatterns = getPositivePatterns;
- function getNegativePatternsAsPositive(patterns, ignore) {
- const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore);
- const positive = negative.map(utils.pattern.convertToPositivePattern);
- return positive;
+ module.exports = fastqueue;
+ module.exports.promise = queueAsPromised;
+ }
+});
+
+// node_modules/@nodelib/fs.walk/out/readers/common.js
+var require_common2 = __commonJS({
+ "node_modules/@nodelib/fs.walk/out/readers/common.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.joinPathSegments = exports.replacePathSegmentSeparator = exports.isAppliedFilter = exports.isFatalError = void 0;
+ function isFatalError(settings, error) {
+ if (settings.errorFilter === null) {
+ return true;
+ }
+ return !settings.errorFilter(error);
}
- exports.getNegativePatternsAsPositive = getNegativePatternsAsPositive;
- function groupPatternsByBaseDirectory(patterns) {
- const group = {};
- return patterns.reduce((collection, pattern) => {
- const base = utils.pattern.getBaseDirectory(pattern);
- if (base in collection) {
- collection[base].push(pattern);
- } else {
- collection[base] = [pattern];
- }
- return collection;
- }, group);
+ exports.isFatalError = isFatalError;
+ function isAppliedFilter(filter, value) {
+ return filter === null || filter(value);
}
- exports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory;
- function convertPatternGroupsToTasks(positive, negative, dynamic) {
- return Object.keys(positive).map((base) => {
- return convertPatternGroupToTask(base, positive[base], negative, dynamic);
- });
+ exports.isAppliedFilter = isAppliedFilter;
+ function replacePathSegmentSeparator(filepath, separator) {
+ return filepath.split(/[/\\]/).join(separator);
}
- exports.convertPatternGroupsToTasks = convertPatternGroupsToTasks;
- function convertPatternGroupToTask(base, positive, negative, dynamic) {
- return {
- dynamic,
- positive,
- negative,
- base,
- patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern))
- };
+ exports.replacePathSegmentSeparator = replacePathSegmentSeparator;
+ function joinPathSegments(a, b, separator) {
+ if (a === "") {
+ return b;
+ }
+ if (a.endsWith(separator)) {
+ return a + b;
+ }
+ return a + separator + b;
}
- exports.convertPatternGroupToTask = convertPatternGroupToTask;
+ exports.joinPathSegments = joinPathSegments;
}
});
-// node_modules/fast-glob/out/managers/patterns.js
-var require_patterns = __commonJS({
- "node_modules/fast-glob/out/managers/patterns.js"(exports) {
+// node_modules/@nodelib/fs.walk/out/readers/reader.js
+var require_reader = __commonJS({
+ "node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.removeDuplicateSlashes = exports.transform = void 0;
- var DOUBLE_SLASH_RE = /(?!^)\/{2,}/g;
- function transform2(patterns) {
- return patterns.map((pattern) => removeDuplicateSlashes(pattern));
- }
- exports.transform = transform2;
- function removeDuplicateSlashes(pattern) {
- return pattern.replace(DOUBLE_SLASH_RE, "/");
- }
- exports.removeDuplicateSlashes = removeDuplicateSlashes;
+ var common = require_common2();
+ var Reader = class {
+ constructor(_root, _settings) {
+ this._root = _root;
+ this._settings = _settings;
+ this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator);
+ }
+ };
+ exports.default = Reader;
}
});
-// node_modules/@nodelib/fs.stat/out/providers/async.js
-var require_async = __commonJS({
- "node_modules/@nodelib/fs.stat/out/providers/async.js"(exports) {
+// node_modules/@nodelib/fs.walk/out/readers/async.js
+var require_async3 = __commonJS({
+ "node_modules/@nodelib/fs.walk/out/readers/async.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.read = void 0;
- function read2(path9, settings, callback) {
- settings.fs.lstat(path9, (lstatError, lstat) => {
- if (lstatError !== null) {
- callFailureCallback(callback, lstatError);
- return;
- }
- if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
- callSuccessCallback(callback, lstat);
- return;
+ var events_1 = __require("events");
+ var fsScandir = require_out2();
+ var fastq = require_queue();
+ var common = require_common2();
+ var reader_1 = require_reader();
+ var AsyncReader = class extends reader_1.default {
+ constructor(_root, _settings) {
+ super(_root, _settings);
+ this._settings = _settings;
+ this._scandir = fsScandir.scandir;
+ this._emitter = new events_1.EventEmitter();
+ this._queue = fastq(this._worker.bind(this), this._settings.concurrency);
+ this._isFatalError = false;
+ this._isDestroyed = false;
+ this._queue.drain = () => {
+ if (!this._isFatalError) {
+ this._emitter.emit("end");
+ }
+ };
+ }
+ read() {
+ this._isFatalError = false;
+ this._isDestroyed = false;
+ setImmediate(() => {
+ this._pushToQueue(this._root, this._settings.basePath);
+ });
+ return this._emitter;
+ }
+ get isDestroyed() {
+ return this._isDestroyed;
+ }
+ destroy() {
+ if (this._isDestroyed) {
+ throw new Error("The reader is already destroyed");
}
- settings.fs.stat(path9, (statError, stat) => {
- if (statError !== null) {
- if (settings.throwErrorOnBrokenSymbolicLink) {
- callFailureCallback(callback, statError);
- return;
- }
- callSuccessCallback(callback, lstat);
+ this._isDestroyed = true;
+ this._queue.killAndDrain();
+ }
+ onEntry(callback) {
+ this._emitter.on("entry", callback);
+ }
+ onError(callback) {
+ this._emitter.once("error", callback);
+ }
+ onEnd(callback) {
+ this._emitter.once("end", callback);
+ }
+ _pushToQueue(directory, base) {
+ const queueItem = { directory, base };
+ this._queue.push(queueItem, (error) => {
+ if (error !== null) {
+ this._handleError(error);
+ }
+ });
+ }
+ _worker(item, done) {
+ this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => {
+ if (error !== null) {
+ done(error, void 0);
return;
}
- if (settings.markSymbolicLink) {
- stat.isSymbolicLink = () => true;
+ for (const entry of entries) {
+ this._handleEntry(entry, item.base);
}
- callSuccessCallback(callback, stat);
+ done(null, void 0);
});
- });
- }
- exports.read = read2;
- function callFailureCallback(callback, error) {
- callback(error);
- }
- function callSuccessCallback(callback, result) {
- callback(null, result);
- }
- }
-});
-
-// node_modules/@nodelib/fs.stat/out/providers/sync.js
-var require_sync = __commonJS({
- "node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.read = void 0;
- function read2(path9, settings) {
- const lstat = settings.fs.lstatSync(path9);
- if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
- return lstat;
}
- try {
- const stat = settings.fs.statSync(path9);
- if (settings.markSymbolicLink) {
- stat.isSymbolicLink = () => true;
+ _handleError(error) {
+ if (this._isDestroyed || !common.isFatalError(this._settings, error)) {
+ return;
}
- return stat;
- } catch (error) {
- if (!settings.throwErrorOnBrokenSymbolicLink) {
- return lstat;
+ this._isFatalError = true;
+ this._isDestroyed = true;
+ this._emitter.emit("error", error);
+ }
+ _handleEntry(entry, base) {
+ if (this._isDestroyed || this._isFatalError) {
+ return;
+ }
+ const fullpath = entry.path;
+ if (base !== void 0) {
+ entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
+ }
+ if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
+ this._emitEntry(entry);
+ }
+ if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
+ this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
}
- throw error;
}
- }
- exports.read = read2;
+ _emitEntry(entry) {
+ this._emitter.emit("entry", entry);
+ }
+ };
+ exports.default = AsyncReader;
}
});
-// node_modules/@nodelib/fs.stat/out/adapters/fs.js
-var require_fs2 = __commonJS({
- "node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports) {
+// node_modules/@nodelib/fs.walk/out/providers/async.js
+var require_async4 = __commonJS({
+ "node_modules/@nodelib/fs.walk/out/providers/async.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;
- var fs5 = __require("fs");
- exports.FILE_SYSTEM_ADAPTER = {
- lstat: fs5.lstat,
- stat: fs5.stat,
- lstatSync: fs5.lstatSync,
- statSync: fs5.statSync
- };
- function createFileSystemAdapter(fsMethods) {
- if (fsMethods === void 0) {
- return exports.FILE_SYSTEM_ADAPTER;
+ var async_1 = require_async3();
+ var AsyncProvider = class {
+ constructor(_root, _settings) {
+ this._root = _root;
+ this._settings = _settings;
+ this._reader = new async_1.default(this._root, this._settings);
+ this._storage = [];
+ }
+ read(callback) {
+ this._reader.onError((error) => {
+ callFailureCallback(callback, error);
+ });
+ this._reader.onEntry((entry) => {
+ this._storage.push(entry);
+ });
+ this._reader.onEnd(() => {
+ callSuccessCallback(callback, this._storage);
+ });
+ this._reader.read();
}
- return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);
+ };
+ exports.default = AsyncProvider;
+ function callFailureCallback(callback, error) {
+ callback(error);
+ }
+ function callSuccessCallback(callback, entries) {
+ callback(null, entries);
}
- exports.createFileSystemAdapter = createFileSystemAdapter;
}
});
-// node_modules/@nodelib/fs.stat/out/settings.js
-var require_settings = __commonJS({
- "node_modules/@nodelib/fs.stat/out/settings.js"(exports) {
+// node_modules/@nodelib/fs.walk/out/providers/stream.js
+var require_stream2 = __commonJS({
+ "node_modules/@nodelib/fs.walk/out/providers/stream.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- var fs5 = require_fs2();
- var Settings = class {
- constructor(_options = {}) {
- this._options = _options;
- this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);
- this.fs = fs5.createFileSystemAdapter(this._options.fs);
- this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);
- this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
+ var stream_1 = __require("stream");
+ var async_1 = require_async3();
+ var StreamProvider = class {
+ constructor(_root, _settings) {
+ this._root = _root;
+ this._settings = _settings;
+ this._reader = new async_1.default(this._root, this._settings);
+ this._stream = new stream_1.Readable({
+ objectMode: true,
+ read: () => {
+ },
+ destroy: () => {
+ if (!this._reader.isDestroyed) {
+ this._reader.destroy();
+ }
+ }
+ });
}
- _getValue(option, value) {
- return option !== null && option !== void 0 ? option : value;
+ read() {
+ this._reader.onError((error) => {
+ this._stream.emit("error", error);
+ });
+ this._reader.onEntry((entry) => {
+ this._stream.push(entry);
+ });
+ this._reader.onEnd(() => {
+ this._stream.push(null);
+ });
+ this._reader.read();
+ return this._stream;
}
};
- exports.default = Settings;
+ exports.default = StreamProvider;
}
});
-// node_modules/@nodelib/fs.stat/out/index.js
-var require_out = __commonJS({
- "node_modules/@nodelib/fs.stat/out/index.js"(exports) {
+// node_modules/@nodelib/fs.walk/out/readers/sync.js
+var require_sync3 = __commonJS({
+ "node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.statSync = exports.stat = exports.Settings = void 0;
- var async = require_async();
- var sync = require_sync();
- var settings_1 = require_settings();
- exports.Settings = settings_1.default;
- function stat(path9, optionsOrSettingsOrCallback, callback) {
- if (typeof optionsOrSettingsOrCallback === "function") {
- async.read(path9, getSettings(), optionsOrSettingsOrCallback);
- return;
+ var fsScandir = require_out2();
+ var common = require_common2();
+ var reader_1 = require_reader();
+ var SyncReader = class extends reader_1.default {
+ constructor() {
+ super(...arguments);
+ this._scandir = fsScandir.scandirSync;
+ this._storage = [];
+ this._queue = /* @__PURE__ */ new Set();
}
- async.read(path9, getSettings(optionsOrSettingsOrCallback), callback);
- }
- exports.stat = stat;
- function statSync2(path9, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- return sync.read(path9, settings);
- }
- exports.statSync = statSync2;
- function getSettings(settingsOrOptions = {}) {
- if (settingsOrOptions instanceof settings_1.default) {
- return settingsOrOptions;
+ read() {
+ this._pushToQueue(this._root, this._settings.basePath);
+ this._handleQueue();
+ return this._storage;
}
- return new settings_1.default(settingsOrOptions);
- }
- }
-});
-
-// node_modules/queue-microtask/index.js
-var require_queue_microtask = __commonJS({
- "node_modules/queue-microtask/index.js"(exports, module) {
- var promise;
- module.exports = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : global) : (cb) => (promise || (promise = Promise.resolve())).then(cb).catch((err) => setTimeout(() => {
- throw err;
- }, 0));
- }
-});
-
-// node_modules/run-parallel/index.js
-var require_run_parallel = __commonJS({
- "node_modules/run-parallel/index.js"(exports, module) {
- module.exports = runParallel;
- var queueMicrotask2 = require_queue_microtask();
- function runParallel(tasks, cb) {
- let results, pending, keys;
- let isSync = true;
- if (Array.isArray(tasks)) {
- results = [];
- pending = tasks.length;
- } else {
- keys = Object.keys(tasks);
- results = {};
- pending = keys.length;
+ _pushToQueue(directory, base) {
+ this._queue.add({ directory, base });
}
- function done(err) {
- function end() {
- if (cb)
- cb(err, results);
- cb = null;
+ _handleQueue() {
+ for (const item of this._queue.values()) {
+ this._handleDirectory(item.directory, item.base);
}
- if (isSync)
- queueMicrotask2(end);
- else
- end();
}
- function each(i, err, result) {
- results[i] = result;
- if (--pending === 0 || err) {
- done(err);
+ _handleDirectory(directory, base) {
+ try {
+ const entries = this._scandir(directory, this._settings.fsScandirSettings);
+ for (const entry of entries) {
+ this._handleEntry(entry, base);
+ }
+ } catch (error) {
+ this._handleError(error);
}
}
- if (!pending) {
- done(null);
- } else if (keys) {
- keys.forEach(function(key) {
- tasks[key](function(err, result) {
- each(key, err, result);
- });
- });
- } else {
- tasks.forEach(function(task, i) {
- task(function(err, result) {
- each(i, err, result);
- });
- });
+ _handleError(error) {
+ if (!common.isFatalError(this._settings, error)) {
+ return;
+ }
+ throw error;
}
- isSync = false;
- }
- }
-});
-
-// node_modules/@nodelib/fs.scandir/out/constants.js
-var require_constants3 = __commonJS({
- "node_modules/@nodelib/fs.scandir/out/constants.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;
- var NODE_PROCESS_VERSION_PARTS = process.versions.node.split(".");
- if (NODE_PROCESS_VERSION_PARTS[0] === void 0 || NODE_PROCESS_VERSION_PARTS[1] === void 0) {
- throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);
- }
- var MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10);
- var MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10);
- var SUPPORTED_MAJOR_VERSION = 10;
- var SUPPORTED_MINOR_VERSION = 10;
- var IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION;
- var IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION;
- exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR;
- }
-});
-
-// node_modules/@nodelib/fs.scandir/out/utils/fs.js
-var require_fs3 = __commonJS({
- "node_modules/@nodelib/fs.scandir/out/utils/fs.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.createDirentFromStats = void 0;
- var DirentFromStats = class {
- constructor(name, stats) {
- this.name = name;
- this.isBlockDevice = stats.isBlockDevice.bind(stats);
- this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
- this.isDirectory = stats.isDirectory.bind(stats);
- this.isFIFO = stats.isFIFO.bind(stats);
- this.isFile = stats.isFile.bind(stats);
- this.isSocket = stats.isSocket.bind(stats);
- this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
+ _handleEntry(entry, base) {
+ const fullpath = entry.path;
+ if (base !== void 0) {
+ entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
+ }
+ if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
+ this._pushToStorage(entry);
+ }
+ if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
+ this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
+ }
+ }
+ _pushToStorage(entry) {
+ this._storage.push(entry);
}
};
- function createDirentFromStats(name, stats) {
- return new DirentFromStats(name, stats);
- }
- exports.createDirentFromStats = createDirentFromStats;
+ exports.default = SyncReader;
}
});
-// node_modules/@nodelib/fs.scandir/out/utils/index.js
-var require_utils5 = __commonJS({
- "node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports) {
+// node_modules/@nodelib/fs.walk/out/providers/sync.js
+var require_sync4 = __commonJS({
+ "node_modules/@nodelib/fs.walk/out/providers/sync.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.fs = void 0;
- var fs5 = require_fs3();
- exports.fs = fs5;
+ var sync_1 = require_sync3();
+ var SyncProvider = class {
+ constructor(_root, _settings) {
+ this._root = _root;
+ this._settings = _settings;
+ this._reader = new sync_1.default(this._root, this._settings);
+ }
+ read() {
+ return this._reader.read();
+ }
+ };
+ exports.default = SyncProvider;
}
});
-// node_modules/@nodelib/fs.scandir/out/providers/common.js
-var require_common3 = __commonJS({
- "node_modules/@nodelib/fs.scandir/out/providers/common.js"(exports) {
+// node_modules/@nodelib/fs.walk/out/settings.js
+var require_settings3 = __commonJS({
+ "node_modules/@nodelib/fs.walk/out/settings.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.joinPathSegments = void 0;
- function joinPathSegments(a, b, separator) {
- if (a.endsWith(separator)) {
- return a + b;
+ var path9 = __require("path");
+ var fsScandir = require_out2();
+ var Settings = class {
+ constructor(_options = {}) {
+ this._options = _options;
+ this.basePath = this._getValue(this._options.basePath, void 0);
+ this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY);
+ this.deepFilter = this._getValue(this._options.deepFilter, null);
+ this.entryFilter = this._getValue(this._options.entryFilter, null);
+ this.errorFilter = this._getValue(this._options.errorFilter, null);
+ this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path9.sep);
+ this.fsScandirSettings = new fsScandir.Settings({
+ followSymbolicLinks: this._options.followSymbolicLinks,
+ fs: this._options.fs,
+ pathSegmentSeparator: this._options.pathSegmentSeparator,
+ stats: this._options.stats,
+ throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink
+ });
}
- return a + separator + b;
- }
- exports.joinPathSegments = joinPathSegments;
+ _getValue(option, value) {
+ return option !== null && option !== void 0 ? option : value;
+ }
+ };
+ exports.default = Settings;
}
});
-// node_modules/@nodelib/fs.scandir/out/providers/async.js
-var require_async2 = __commonJS({
- "node_modules/@nodelib/fs.scandir/out/providers/async.js"(exports) {
+// node_modules/@nodelib/fs.walk/out/index.js
+var require_out3 = __commonJS({
+ "node_modules/@nodelib/fs.walk/out/index.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.readdir = exports.readdirWithFileTypes = exports.read = void 0;
- var fsStat = require_out();
- var rpl = require_run_parallel();
- var constants_1 = require_constants3();
- var utils = require_utils5();
- var common = require_common3();
- function read2(directory, settings, callback) {
- if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
- readdirWithFileTypes(directory, settings, callback);
+ exports.Settings = exports.walkStream = exports.walkSync = exports.walk = void 0;
+ var async_1 = require_async4();
+ var stream_1 = require_stream2();
+ var sync_1 = require_sync4();
+ var settings_1 = require_settings3();
+ exports.Settings = settings_1.default;
+ function walk(directory, optionsOrSettingsOrCallback, callback) {
+ if (typeof optionsOrSettingsOrCallback === "function") {
+ new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);
return;
}
- readdir(directory, settings, callback);
- }
- exports.read = read2;
- function readdirWithFileTypes(directory, settings, callback) {
- settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => {
- if (readdirError !== null) {
- callFailureCallback(callback, readdirError);
- return;
- }
- const entries = dirents.map((dirent) => ({
- dirent,
- name: dirent.name,
- path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
- }));
- if (!settings.followSymbolicLinks) {
- callSuccessCallback(callback, entries);
- return;
- }
- const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings));
- rpl(tasks, (rplError, rplEntries) => {
- if (rplError !== null) {
- callFailureCallback(callback, rplError);
- return;
- }
- callSuccessCallback(callback, rplEntries);
- });
- });
- }
- exports.readdirWithFileTypes = readdirWithFileTypes;
- function makeRplTaskEntry(entry, settings) {
- return (done) => {
- if (!entry.dirent.isSymbolicLink()) {
- done(null, entry);
- return;
- }
- settings.fs.stat(entry.path, (statError, stats) => {
- if (statError !== null) {
- if (settings.throwErrorOnBrokenSymbolicLink) {
- done(statError);
- return;
- }
- done(null, entry);
- return;
- }
- entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
- done(null, entry);
- });
- };
+ new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback);
}
- function readdir(directory, settings, callback) {
- settings.fs.readdir(directory, (readdirError, names) => {
- if (readdirError !== null) {
- callFailureCallback(callback, readdirError);
- return;
- }
- const tasks = names.map((name) => {
- const path9 = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
- return (done) => {
- fsStat.stat(path9, settings.fsStatSettings, (error, stats) => {
- if (error !== null) {
- done(error);
- return;
- }
- const entry = {
- name,
- path: path9,
- dirent: utils.fs.createDirentFromStats(name, stats)
- };
- if (settings.stats) {
- entry.stats = stats;
- }
- done(null, entry);
- });
- };
- });
- rpl(tasks, (rplError, entries) => {
- if (rplError !== null) {
- callFailureCallback(callback, rplError);
- return;
- }
- callSuccessCallback(callback, entries);
- });
- });
+ exports.walk = walk;
+ function walkSync(directory, optionsOrSettings) {
+ const settings = getSettings(optionsOrSettings);
+ const provider = new sync_1.default(directory, settings);
+ return provider.read();
}
- exports.readdir = readdir;
- function callFailureCallback(callback, error) {
- callback(error);
+ exports.walkSync = walkSync;
+ function walkStream(directory, optionsOrSettings) {
+ const settings = getSettings(optionsOrSettings);
+ const provider = new stream_1.default(directory, settings);
+ return provider.read();
}
- function callSuccessCallback(callback, result) {
- callback(null, result);
+ exports.walkStream = walkStream;
+ function getSettings(settingsOrOptions = {}) {
+ if (settingsOrOptions instanceof settings_1.default) {
+ return settingsOrOptions;
+ }
+ return new settings_1.default(settingsOrOptions);
}
}
});
-// node_modules/@nodelib/fs.scandir/out/providers/sync.js
-var require_sync2 = __commonJS({
- "node_modules/@nodelib/fs.scandir/out/providers/sync.js"(exports) {
+// node_modules/fast-glob/out/readers/reader.js
+var require_reader2 = __commonJS({
+ "node_modules/fast-glob/out/readers/reader.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.readdir = exports.readdirWithFileTypes = exports.read = void 0;
+ var path9 = __require("path");
var fsStat = require_out();
- var constants_1 = require_constants3();
- var utils = require_utils5();
- var common = require_common3();
- function read2(directory, settings) {
- if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
- return readdirWithFileTypes(directory, settings);
+ var utils = require_utils3();
+ var Reader = class {
+ constructor(_settings) {
+ this._settings = _settings;
+ this._fsStatSettings = new fsStat.Settings({
+ followSymbolicLink: this._settings.followSymbolicLinks,
+ fs: this._settings.fs,
+ throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks
+ });
}
- return readdir(directory, settings);
- }
- exports.read = read2;
- function readdirWithFileTypes(directory, settings) {
- const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });
- return dirents.map((dirent) => {
+ _getFullEntryPath(filepath) {
+ return path9.resolve(this._settings.cwd, filepath);
+ }
+ _makeEntry(stats, pattern) {
const entry = {
- dirent,
- name: dirent.name,
- path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
+ name: pattern,
+ path: pattern,
+ dirent: utils.fs.createDirentFromStats(pattern, stats)
};
- if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {
- try {
- const stats = settings.fs.statSync(entry.path);
- entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
- } catch (error) {
- if (settings.throwErrorOnBrokenSymbolicLink) {
- throw error;
- }
- }
+ if (this._settings.stats) {
+ entry.stats = stats;
}
return entry;
- });
- }
- exports.readdirWithFileTypes = readdirWithFileTypes;
- function readdir(directory, settings) {
- const names = settings.fs.readdirSync(directory);
- return names.map((name) => {
- const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
- const stats = fsStat.statSync(entryPath, settings.fsStatSettings);
- const entry = {
- name,
- path: entryPath,
- dirent: utils.fs.createDirentFromStats(name, stats)
+ }
+ _isFatalError(error) {
+ return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;
+ }
+ };
+ exports.default = Reader;
+ }
+});
+
+// node_modules/fast-glob/out/readers/stream.js
+var require_stream3 = __commonJS({
+ "node_modules/fast-glob/out/readers/stream.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var stream_1 = __require("stream");
+ var fsStat = require_out();
+ var fsWalk = require_out3();
+ var reader_1 = require_reader2();
+ var ReaderStream = class extends reader_1.default {
+ constructor() {
+ super(...arguments);
+ this._walkStream = fsWalk.walkStream;
+ this._stat = fsStat.stat;
+ }
+ dynamic(root, options8) {
+ return this._walkStream(root, options8);
+ }
+ static(patterns, options8) {
+ const filepaths = patterns.map(this._getFullEntryPath, this);
+ const stream = new stream_1.PassThrough({ objectMode: true });
+ stream._write = (index, _enc, done) => {
+ return this._getEntry(filepaths[index], patterns[index], options8).then((entry) => {
+ if (entry !== null && options8.entryFilter(entry)) {
+ stream.push(entry);
+ }
+ if (index === filepaths.length - 1) {
+ stream.end();
+ }
+ done();
+ }).catch(done);
};
- if (settings.stats) {
- entry.stats = stats;
+ for (let i = 0; i < filepaths.length; i++) {
+ stream.write(i);
}
- return entry;
- });
- }
- exports.readdir = readdir;
- }
-});
-
-// node_modules/@nodelib/fs.scandir/out/adapters/fs.js
-var require_fs4 = __commonJS({
- "node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;
- var fs5 = __require("fs");
- exports.FILE_SYSTEM_ADAPTER = {
- lstat: fs5.lstat,
- stat: fs5.stat,
- lstatSync: fs5.lstatSync,
- statSync: fs5.statSync,
- readdir: fs5.readdir,
- readdirSync: fs5.readdirSync
- };
- function createFileSystemAdapter(fsMethods) {
- if (fsMethods === void 0) {
- return exports.FILE_SYSTEM_ADAPTER;
+ return stream;
}
- return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);
- }
- exports.createFileSystemAdapter = createFileSystemAdapter;
+ _getEntry(filepath, pattern, options8) {
+ return this._getStat(filepath).then((stats) => this._makeEntry(stats, pattern)).catch((error) => {
+ if (options8.errorFilter(error)) {
+ return null;
+ }
+ throw error;
+ });
+ }
+ _getStat(filepath) {
+ return new Promise((resolve2, reject) => {
+ this._stat(filepath, this._fsStatSettings, (error, stats) => {
+ return error === null ? resolve2(stats) : reject(error);
+ });
+ });
+ }
+ };
+ exports.default = ReaderStream;
}
});
-// node_modules/@nodelib/fs.scandir/out/settings.js
-var require_settings2 = __commonJS({
- "node_modules/@nodelib/fs.scandir/out/settings.js"(exports) {
+// node_modules/fast-glob/out/readers/async.js
+var require_async5 = __commonJS({
+ "node_modules/fast-glob/out/readers/async.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- var path9 = __require("path");
- var fsStat = require_out();
- var fs5 = require_fs4();
- var Settings = class {
- constructor(_options = {}) {
- this._options = _options;
- this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
- this.fs = fs5.createFileSystemAdapter(this._options.fs);
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path9.sep);
- this.stats = this._getValue(this._options.stats, false);
- this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
- this.fsStatSettings = new fsStat.Settings({
- followSymbolicLink: this.followSymbolicLinks,
- fs: this.fs,
- throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
+ var fsWalk = require_out3();
+ var reader_1 = require_reader2();
+ var stream_1 = require_stream3();
+ var ReaderAsync = class extends reader_1.default {
+ constructor() {
+ super(...arguments);
+ this._walkAsync = fsWalk.walk;
+ this._readerStream = new stream_1.default(this._settings);
+ }
+ dynamic(root, options8) {
+ return new Promise((resolve2, reject) => {
+ this._walkAsync(root, options8, (error, entries) => {
+ if (error === null) {
+ resolve2(entries);
+ } else {
+ reject(error);
+ }
+ });
});
}
- _getValue(option, value) {
- return option !== null && option !== void 0 ? option : value;
+ async static(patterns, options8) {
+ const entries = [];
+ const stream = this._readerStream.static(patterns, options8);
+ return new Promise((resolve2, reject) => {
+ stream.once("error", reject);
+ stream.on("data", (entry) => entries.push(entry));
+ stream.once("end", () => resolve2(entries));
+ });
}
};
- exports.default = Settings;
+ exports.default = ReaderAsync;
}
});
-// node_modules/@nodelib/fs.scandir/out/index.js
-var require_out2 = __commonJS({
- "node_modules/@nodelib/fs.scandir/out/index.js"(exports) {
+// node_modules/fast-glob/out/providers/matchers/matcher.js
+var require_matcher = __commonJS({
+ "node_modules/fast-glob/out/providers/matchers/matcher.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.Settings = exports.scandirSync = exports.scandir = void 0;
- var async = require_async2();
- var sync = require_sync2();
- var settings_1 = require_settings2();
- exports.Settings = settings_1.default;
- function scandir(path9, optionsOrSettingsOrCallback, callback) {
- if (typeof optionsOrSettingsOrCallback === "function") {
- async.read(path9, getSettings(), optionsOrSettingsOrCallback);
- return;
+ var utils = require_utils3();
+ var Matcher = class {
+ constructor(_patterns, _settings, _micromatchOptions) {
+ this._patterns = _patterns;
+ this._settings = _settings;
+ this._micromatchOptions = _micromatchOptions;
+ this._storage = [];
+ this._fillStorage();
}
- async.read(path9, getSettings(optionsOrSettingsOrCallback), callback);
- }
- exports.scandir = scandir;
- function scandirSync(path9, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- return sync.read(path9, settings);
- }
- exports.scandirSync = scandirSync;
- function getSettings(settingsOrOptions = {}) {
- if (settingsOrOptions instanceof settings_1.default) {
- return settingsOrOptions;
+ _fillStorage() {
+ for (const pattern of this._patterns) {
+ const segments = this._getPatternSegments(pattern);
+ const sections = this._splitSegmentsIntoSections(segments);
+ this._storage.push({
+ complete: sections.length <= 1,
+ pattern,
+ segments,
+ sections
+ });
+ }
}
- return new settings_1.default(settingsOrOptions);
- }
+ _getPatternSegments(pattern) {
+ const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions);
+ return parts.map((part) => {
+ const dynamic = utils.pattern.isDynamicPattern(part, this._settings);
+ if (!dynamic) {
+ return {
+ dynamic: false,
+ pattern: part
+ };
+ }
+ return {
+ dynamic: true,
+ pattern: part,
+ patternRe: utils.pattern.makeRe(part, this._micromatchOptions)
+ };
+ });
+ }
+ _splitSegmentsIntoSections(segments) {
+ return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern));
+ }
+ };
+ exports.default = Matcher;
}
});
-// node_modules/reusify/reusify.js
-var require_reusify = __commonJS({
- "node_modules/reusify/reusify.js"(exports, module) {
+// node_modules/fast-glob/out/providers/matchers/partial.js
+var require_partial = __commonJS({
+ "node_modules/fast-glob/out/providers/matchers/partial.js"(exports) {
"use strict";
- function reusify(Constructor) {
- var head = new Constructor();
- var tail = head;
- function get() {
- var current = head;
- if (current.next) {
- head = current.next;
- } else {
- head = new Constructor();
- tail = head;
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var matcher_1 = require_matcher();
+ var PartialMatcher = class extends matcher_1.default {
+ match(filepath) {
+ const parts = filepath.split("/");
+ const levels = parts.length;
+ const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);
+ for (const pattern of patterns) {
+ const section = pattern.sections[0];
+ if (!pattern.complete && levels > section.length) {
+ return true;
+ }
+ const match = parts.every((part, index) => {
+ const segment = pattern.segments[index];
+ if (segment.dynamic && segment.patternRe.test(part)) {
+ return true;
+ }
+ if (!segment.dynamic && segment.pattern === part) {
+ return true;
+ }
+ return false;
+ });
+ if (match) {
+ return true;
+ }
}
- current.next = null;
- return current;
- }
- function release(obj) {
- tail.next = obj;
- tail = obj;
+ return false;
}
- return {
- get,
- release
- };
- }
- module.exports = reusify;
+ };
+ exports.default = PartialMatcher;
}
});
-// node_modules/fastq/queue.js
-var require_queue = __commonJS({
- "node_modules/fastq/queue.js"(exports, module) {
+// node_modules/fast-glob/out/providers/filters/deep.js
+var require_deep = __commonJS({
+ "node_modules/fast-glob/out/providers/filters/deep.js"(exports) {
"use strict";
- var reusify = require_reusify();
- function fastqueue(context, worker, concurrency) {
- if (typeof context === "function") {
- concurrency = worker;
- worker = context;
- context = null;
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var utils = require_utils3();
+ var partial_1 = require_partial();
+ var DeepFilter = class {
+ constructor(_settings, _micromatchOptions) {
+ this._settings = _settings;
+ this._micromatchOptions = _micromatchOptions;
}
- if (concurrency < 1) {
- throw new Error("fastqueue concurrency must be greater than 1");
+ getFilter(basePath, positive, negative) {
+ const matcher = this._getMatcher(positive);
+ const negativeRe = this._getNegativePatternsRe(negative);
+ return (entry) => this._filter(basePath, entry, matcher, negativeRe);
}
- var cache = reusify(Task);
- var queueHead = null;
- var queueTail = null;
- var _running = 0;
- var errorHandler = null;
- var self = {
- push,
- drain: noop2,
- saturated: noop2,
- pause,
- paused: false,
- concurrency,
- running,
- resume,
- idle,
- length,
- getQueue,
- unshift,
- empty: noop2,
- kill,
- killAndDrain,
- error
- };
- return self;
- function running() {
- return _running;
+ _getMatcher(patterns) {
+ return new partial_1.default(patterns, this._settings, this._micromatchOptions);
}
- function pause() {
- self.paused = true;
+ _getNegativePatternsRe(patterns) {
+ const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern);
+ return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);
}
- function length() {
- var current = queueHead;
- var counter = 0;
- while (current) {
- current = current.next;
- counter++;
+ _filter(basePath, entry, matcher, negativeRe) {
+ if (this._isSkippedByDeep(basePath, entry.path)) {
+ return false;
}
- return counter;
- }
- function getQueue() {
- var current = queueHead;
- var tasks = [];
- while (current) {
- tasks.push(current.value);
- current = current.next;
+ if (this._isSkippedSymbolicLink(entry)) {
+ return false;
}
- return tasks;
- }
- function resume() {
- if (!self.paused)
- return;
- self.paused = false;
- for (var i = 0; i < self.concurrency; i++) {
- _running++;
- release();
+ const filepath = utils.path.removeLeadingDotSegment(entry.path);
+ if (this._isSkippedByPositivePatterns(filepath, matcher)) {
+ return false;
}
+ return this._isSkippedByNegativePatterns(filepath, negativeRe);
}
- function idle() {
- return _running === 0 && self.length() === 0;
- }
- function push(value, done) {
- var current = cache.get();
- current.context = context;
- current.release = release;
- current.value = value;
- current.callback = done || noop2;
- current.errorHandler = errorHandler;
- if (_running === self.concurrency || self.paused) {
- if (queueTail) {
- queueTail.next = current;
- queueTail = current;
- } else {
- queueHead = current;
- queueTail = current;
- self.saturated();
- }
- } else {
- _running++;
- worker.call(context, current.value, current.worked);
+ _isSkippedByDeep(basePath, entryPath) {
+ if (this._settings.deep === Infinity) {
+ return false;
}
+ return this._getEntryLevel(basePath, entryPath) >= this._settings.deep;
}
- function unshift(value, done) {
- var current = cache.get();
- current.context = context;
- current.release = release;
- current.value = value;
- current.callback = done || noop2;
- if (_running === self.concurrency || self.paused) {
- if (queueHead) {
- current.next = queueHead;
- queueHead = current;
- } else {
- queueHead = current;
- queueTail = current;
- self.saturated();
- }
- } else {
- _running++;
- worker.call(context, current.value, current.worked);
+ _getEntryLevel(basePath, entryPath) {
+ const entryPathDepth = entryPath.split("/").length;
+ if (basePath === "") {
+ return entryPathDepth;
}
+ const basePathDepth = basePath.split("/").length;
+ return entryPathDepth - basePathDepth;
}
- function release(holder) {
- if (holder) {
- cache.release(holder);
- }
- var next = queueHead;
- if (next) {
- if (!self.paused) {
- if (queueTail === queueHead) {
- queueTail = null;
- }
- queueHead = next.next;
- next.next = null;
- worker.call(context, next.value, next.worked);
- if (queueTail === null) {
- self.empty();
- }
- } else {
- _running--;
- }
- } else if (--_running === 0) {
- self.drain();
- }
+ _isSkippedSymbolicLink(entry) {
+ return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink();
}
- function kill() {
- queueHead = null;
- queueTail = null;
- self.drain = noop2;
+ _isSkippedByPositivePatterns(entryPath, matcher) {
+ return !this._settings.baseNameMatch && !matcher.match(entryPath);
}
- function killAndDrain() {
- queueHead = null;
- queueTail = null;
- self.drain();
- self.drain = noop2;
+ _isSkippedByNegativePatterns(entryPath, patternsRe) {
+ return !utils.pattern.matchAny(entryPath, patternsRe);
}
- function error(handler) {
- errorHandler = handler;
+ };
+ exports.default = DeepFilter;
+ }
+});
+
+// node_modules/fast-glob/out/providers/filters/entry.js
+var require_entry = __commonJS({
+ "node_modules/fast-glob/out/providers/filters/entry.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var utils = require_utils3();
+ var EntryFilter = class {
+ constructor(_settings, _micromatchOptions) {
+ this._settings = _settings;
+ this._micromatchOptions = _micromatchOptions;
+ this.index = /* @__PURE__ */ new Map();
}
- }
- function noop2() {
- }
- function Task() {
- this.value = null;
- this.callback = noop2;
- this.next = null;
- this.release = noop2;
- this.context = null;
- this.errorHandler = null;
- var self = this;
- this.worked = function worked(err, result) {
- var callback = self.callback;
- var errorHandler = self.errorHandler;
- var val = self.value;
- self.value = null;
- self.callback = noop2;
- if (self.errorHandler) {
- errorHandler(err, val);
+ getFilter(positive, negative) {
+ const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions);
+ const negativeRe = utils.pattern.convertPatternsToRe(negative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true }));
+ return (entry) => this._filter(entry, positiveRe, negativeRe);
+ }
+ _filter(entry, positiveRe, negativeRe) {
+ const filepath = utils.path.removeLeadingDotSegment(entry.path);
+ if (this._settings.unique && this._isDuplicateEntry(filepath)) {
+ return false;
}
- callback.call(self.context, err, result);
- self.release(self);
- };
- }
- function queueAsPromised(context, worker, concurrency) {
- if (typeof context === "function") {
- concurrency = worker;
- worker = context;
- context = null;
+ if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) {
+ return false;
+ }
+ if (this._isSkippedByAbsoluteNegativePatterns(filepath, negativeRe)) {
+ return false;
+ }
+ const isDirectory = entry.dirent.isDirectory();
+ const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory) && !this._isMatchToPatterns(filepath, negativeRe, isDirectory);
+ if (this._settings.unique && isMatched) {
+ this._createIndexRecord(filepath);
+ }
+ return isMatched;
}
- function asyncWrapper(arg, cb) {
- worker.call(this, arg).then(function(res) {
- cb(null, res);
- }, cb);
+ _isDuplicateEntry(filepath) {
+ return this.index.has(filepath);
}
- var queue = fastqueue(context, asyncWrapper, concurrency);
- var pushCb = queue.push;
- var unshiftCb = queue.unshift;
- queue.push = push;
- queue.unshift = unshift;
- queue.drained = drained;
- return queue;
- function push(value) {
- var p = new Promise(function(resolve2, reject) {
- pushCb(value, function(err, result) {
- if (err) {
- reject(err);
- return;
- }
- resolve2(result);
- });
- });
- p.catch(noop2);
- return p;
+ _createIndexRecord(filepath) {
+ this.index.set(filepath, void 0);
}
- function unshift(value) {
- var p = new Promise(function(resolve2, reject) {
- unshiftCb(value, function(err, result) {
- if (err) {
- reject(err);
- return;
- }
- resolve2(result);
- });
- });
- p.catch(noop2);
- return p;
+ _onlyFileFilter(entry) {
+ return this._settings.onlyFiles && !entry.dirent.isFile();
+ }
+ _onlyDirectoryFilter(entry) {
+ return this._settings.onlyDirectories && !entry.dirent.isDirectory();
+ }
+ _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) {
+ if (!this._settings.absolute) {
+ return false;
+ }
+ const fullpath = utils.path.makeAbsolute(this._settings.cwd, entryPath);
+ return utils.pattern.matchAny(fullpath, patternsRe);
}
- function drained() {
- if (queue.idle()) {
- return new Promise(function(resolve2) {
- resolve2();
- });
+ _isMatchToPatterns(filepath, patternsRe, isDirectory) {
+ const isMatched = utils.pattern.matchAny(filepath, patternsRe);
+ if (!isMatched && isDirectory) {
+ return utils.pattern.matchAny(filepath + "/", patternsRe);
}
- var previousDrain = queue.drain;
- var p = new Promise(function(resolve2) {
- queue.drain = function() {
- previousDrain();
- resolve2();
- };
- });
- return p;
+ return isMatched;
}
- }
- module.exports = fastqueue;
- module.exports.promise = queueAsPromised;
+ };
+ exports.default = EntryFilter;
}
});
-// node_modules/@nodelib/fs.walk/out/readers/common.js
-var require_common4 = __commonJS({
- "node_modules/@nodelib/fs.walk/out/readers/common.js"(exports) {
+// node_modules/fast-glob/out/providers/filters/error.js
+var require_error = __commonJS({
+ "node_modules/fast-glob/out/providers/filters/error.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- exports.joinPathSegments = exports.replacePathSegmentSeparator = exports.isAppliedFilter = exports.isFatalError = void 0;
- function isFatalError(settings, error) {
- if (settings.errorFilter === null) {
- return true;
+ var utils = require_utils3();
+ var ErrorFilter = class {
+ constructor(_settings) {
+ this._settings = _settings;
}
- return !settings.errorFilter(error);
- }
- exports.isFatalError = isFatalError;
- function isAppliedFilter(filter, value) {
- return filter === null || filter(value);
- }
- exports.isAppliedFilter = isAppliedFilter;
- function replacePathSegmentSeparator(filepath, separator) {
- return filepath.split(/[/\\]/).join(separator);
- }
- exports.replacePathSegmentSeparator = replacePathSegmentSeparator;
- function joinPathSegments(a, b, separator) {
- if (a === "") {
- return b;
+ getFilter() {
+ return (error) => this._isNonFatalError(error);
}
- if (a.endsWith(separator)) {
- return a + b;
+ _isNonFatalError(error) {
+ return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors;
}
- return a + separator + b;
- }
- exports.joinPathSegments = joinPathSegments;
+ };
+ exports.default = ErrorFilter;
}
});
-// node_modules/@nodelib/fs.walk/out/readers/reader.js
-var require_reader = __commonJS({
- "node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports) {
+// node_modules/fast-glob/out/providers/transformers/entry.js
+var require_entry2 = __commonJS({
+ "node_modules/fast-glob/out/providers/transformers/entry.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- var common = require_common4();
- var Reader = class {
- constructor(_root, _settings) {
- this._root = _root;
+ var utils = require_utils3();
+ var EntryTransformer = class {
+ constructor(_settings) {
this._settings = _settings;
- this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator);
+ }
+ getTransformer() {
+ return (entry) => this._transform(entry);
+ }
+ _transform(entry) {
+ let filepath = entry.path;
+ if (this._settings.absolute) {
+ filepath = utils.path.makeAbsolute(this._settings.cwd, filepath);
+ filepath = utils.path.unixify(filepath);
+ }
+ if (this._settings.markDirectories && entry.dirent.isDirectory()) {
+ filepath += "/";
+ }
+ if (!this._settings.objectMode) {
+ return filepath;
+ }
+ return Object.assign(Object.assign({}, entry), { path: filepath });
}
};
- exports.default = Reader;
+ exports.default = EntryTransformer;
}
});
-// node_modules/@nodelib/fs.walk/out/readers/async.js
-var require_async3 = __commonJS({
- "node_modules/@nodelib/fs.walk/out/readers/async.js"(exports) {
+// node_modules/fast-glob/out/providers/provider.js
+var require_provider = __commonJS({
+ "node_modules/fast-glob/out/providers/provider.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- var events_1 = __require("events");
- var fsScandir = require_out2();
- var fastq = require_queue();
- var common = require_common4();
- var reader_1 = require_reader();
- var AsyncReader = class extends reader_1.default {
- constructor(_root, _settings) {
- super(_root, _settings);
+ var path9 = __require("path");
+ var deep_1 = require_deep();
+ var entry_1 = require_entry();
+ var error_1 = require_error();
+ var entry_2 = require_entry2();
+ var Provider = class {
+ constructor(_settings) {
this._settings = _settings;
- this._scandir = fsScandir.scandir;
- this._emitter = new events_1.EventEmitter();
- this._queue = fastq(this._worker.bind(this), this._settings.concurrency);
- this._isFatalError = false;
- this._isDestroyed = false;
- this._queue.drain = () => {
- if (!this._isFatalError) {
- this._emitter.emit("end");
- }
+ this.errorFilter = new error_1.default(this._settings);
+ this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions());
+ this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions());
+ this.entryTransformer = new entry_2.default(this._settings);
+ }
+ _getRootDirectory(task) {
+ return path9.resolve(this._settings.cwd, task.base);
+ }
+ _getReaderOptions(task) {
+ const basePath = task.base === "." ? "" : task.base;
+ return {
+ basePath,
+ pathSegmentSeparator: "/",
+ concurrency: this._settings.concurrency,
+ deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative),
+ entryFilter: this.entryFilter.getFilter(task.positive, task.negative),
+ errorFilter: this.errorFilter.getFilter(),
+ followSymbolicLinks: this._settings.followSymbolicLinks,
+ fs: this._settings.fs,
+ stats: this._settings.stats,
+ throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink,
+ transform: this.entryTransformer.getTransformer()
};
}
- read() {
- this._isFatalError = false;
- this._isDestroyed = false;
- setImmediate(() => {
- this._pushToQueue(this._root, this._settings.basePath);
- });
- return this._emitter;
+ _getMicromatchOptions() {
+ return {
+ dot: this._settings.dot,
+ matchBase: this._settings.baseNameMatch,
+ nobrace: !this._settings.braceExpansion,
+ nocase: !this._settings.caseSensitiveMatch,
+ noext: !this._settings.extglob,
+ noglobstar: !this._settings.globstar,
+ posix: true,
+ strictSlashes: false
+ };
}
- get isDestroyed() {
- return this._isDestroyed;
+ };
+ exports.default = Provider;
+ }
+});
+
+// node_modules/fast-glob/out/providers/async.js
+var require_async6 = __commonJS({
+ "node_modules/fast-glob/out/providers/async.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var async_1 = require_async5();
+ var provider_1 = require_provider();
+ var ProviderAsync = class extends provider_1.default {
+ constructor() {
+ super(...arguments);
+ this._reader = new async_1.default(this._settings);
}
- destroy() {
- if (this._isDestroyed) {
- throw new Error("The reader is already destroyed");
+ async read(task) {
+ const root = this._getRootDirectory(task);
+ const options8 = this._getReaderOptions(task);
+ const entries = await this.api(root, task, options8);
+ return entries.map((entry) => options8.transform(entry));
+ }
+ api(root, task, options8) {
+ if (task.dynamic) {
+ return this._reader.dynamic(root, options8);
}
- this._isDestroyed = true;
- this._queue.killAndDrain();
+ return this._reader.static(task.patterns, options8);
}
- onEntry(callback) {
- this._emitter.on("entry", callback);
+ };
+ exports.default = ProviderAsync;
+ }
+});
+
+// node_modules/fast-glob/out/providers/stream.js
+var require_stream4 = __commonJS({
+ "node_modules/fast-glob/out/providers/stream.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var stream_1 = __require("stream");
+ var stream_2 = require_stream3();
+ var provider_1 = require_provider();
+ var ProviderStream = class extends provider_1.default {
+ constructor() {
+ super(...arguments);
+ this._reader = new stream_2.default(this._settings);
}
- onError(callback) {
- this._emitter.once("error", callback);
+ read(task) {
+ const root = this._getRootDirectory(task);
+ const options8 = this._getReaderOptions(task);
+ const source = this.api(root, task, options8);
+ const destination = new stream_1.Readable({ objectMode: true, read: () => {
+ } });
+ source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options8.transform(entry))).once("end", () => destination.emit("end"));
+ destination.once("close", () => source.destroy());
+ return destination;
}
- onEnd(callback) {
- this._emitter.once("end", callback);
+ api(root, task, options8) {
+ if (task.dynamic) {
+ return this._reader.dynamic(root, options8);
+ }
+ return this._reader.static(task.patterns, options8);
+ }
+ };
+ exports.default = ProviderStream;
+ }
+});
+
+// node_modules/fast-glob/out/readers/sync.js
+var require_sync5 = __commonJS({
+ "node_modules/fast-glob/out/readers/sync.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var fsStat = require_out();
+ var fsWalk = require_out3();
+ var reader_1 = require_reader2();
+ var ReaderSync = class extends reader_1.default {
+ constructor() {
+ super(...arguments);
+ this._walkSync = fsWalk.walkSync;
+ this._statSync = fsStat.statSync;
}
- _pushToQueue(directory, base) {
- const queueItem = { directory, base };
- this._queue.push(queueItem, (error) => {
- if (error !== null) {
- this._handleError(error);
- }
- });
+ dynamic(root, options8) {
+ return this._walkSync(root, options8);
}
- _worker(item, done) {
- this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => {
- if (error !== null) {
- done(error, void 0);
- return;
- }
- for (const entry of entries) {
- this._handleEntry(entry, item.base);
+ static(patterns, options8) {
+ const entries = [];
+ for (const pattern of patterns) {
+ const filepath = this._getFullEntryPath(pattern);
+ const entry = this._getEntry(filepath, pattern, options8);
+ if (entry === null || !options8.entryFilter(entry)) {
+ continue;
}
- done(null, void 0);
- });
- }
- _handleError(error) {
- if (this._isDestroyed || !common.isFatalError(this._settings, error)) {
- return;
+ entries.push(entry);
}
- this._isFatalError = true;
- this._isDestroyed = true;
- this._emitter.emit("error", error);
+ return entries;
}
- _handleEntry(entry, base) {
- if (this._isDestroyed || this._isFatalError) {
- return;
- }
- const fullpath = entry.path;
- if (base !== void 0) {
- entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
- }
- if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
- this._emitEntry(entry);
- }
- if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
- this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
+ _getEntry(filepath, pattern, options8) {
+ try {
+ const stats = this._getStat(filepath);
+ return this._makeEntry(stats, pattern);
+ } catch (error) {
+ if (options8.errorFilter(error)) {
+ return null;
+ }
+ throw error;
}
}
- _emitEntry(entry) {
- this._emitter.emit("entry", entry);
+ _getStat(filepath) {
+ return this._statSync(filepath, this._fsStatSettings);
}
};
- exports.default = AsyncReader;
+ exports.default = ReaderSync;
}
});
-// node_modules/@nodelib/fs.walk/out/providers/async.js
-var require_async4 = __commonJS({
- "node_modules/@nodelib/fs.walk/out/providers/async.js"(exports) {
+// node_modules/fast-glob/out/providers/sync.js
+var require_sync6 = __commonJS({
+ "node_modules/fast-glob/out/providers/sync.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- var async_1 = require_async3();
- var AsyncProvider = class {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._reader = new async_1.default(this._root, this._settings);
- this._storage = [];
+ var sync_1 = require_sync5();
+ var provider_1 = require_provider();
+ var ProviderSync = class extends provider_1.default {
+ constructor() {
+ super(...arguments);
+ this._reader = new sync_1.default(this._settings);
}
- read(callback) {
- this._reader.onError((error) => {
- callFailureCallback(callback, error);
- });
- this._reader.onEntry((entry) => {
- this._storage.push(entry);
- });
- this._reader.onEnd(() => {
- callSuccessCallback(callback, this._storage);
- });
- this._reader.read();
+ read(task) {
+ const root = this._getRootDirectory(task);
+ const options8 = this._getReaderOptions(task);
+ const entries = this.api(root, task, options8);
+ return entries.map(options8.transform);
+ }
+ api(root, task, options8) {
+ if (task.dynamic) {
+ return this._reader.dynamic(root, options8);
+ }
+ return this._reader.static(task.patterns, options8);
}
};
- exports.default = AsyncProvider;
- function callFailureCallback(callback, error) {
- callback(error);
- }
- function callSuccessCallback(callback, entries) {
- callback(null, entries);
- }
+ exports.default = ProviderSync;
}
});
-// node_modules/@nodelib/fs.walk/out/providers/stream.js
-var require_stream2 = __commonJS({
- "node_modules/@nodelib/fs.walk/out/providers/stream.js"(exports) {
+// node_modules/fast-glob/out/settings.js
+var require_settings4 = __commonJS({
+ "node_modules/fast-glob/out/settings.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
- var stream_1 = __require("stream");
- var async_1 = require_async3();
- var StreamProvider = class {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._reader = new async_1.default(this._root, this._settings);
- this._stream = new stream_1.Readable({
- objectMode: true,
- read: () => {
- },
- destroy: () => {
- if (!this._reader.isDestroyed) {
- this._reader.destroy();
- }
- }
- });
+ exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
+ var fs5 = __require("fs");
+ var os2 = __require("os");
+ var CPU_COUNT = Math.max(os2.cpus().length, 1);
+ exports.DEFAULT_FILE_SYSTEM_ADAPTER = {
+ lstat: fs5.lstat,
+ lstatSync: fs5.lstatSync,
+ stat: fs5.stat,
+ statSync: fs5.statSync,
+ readdir: fs5.readdir,
+ readdirSync: fs5.readdirSync
+ };
+ var Settings = class {
+ constructor(_options = {}) {
+ this._options = _options;
+ this.absolute = this._getValue(this._options.absolute, false);
+ this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);
+ this.braceExpansion = this._getValue(this._options.braceExpansion, true);
+ this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);
+ this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT);
+ this.cwd = this._getValue(this._options.cwd, process.cwd());
+ this.deep = this._getValue(this._options.deep, Infinity);
+ this.dot = this._getValue(this._options.dot, false);
+ this.extglob = this._getValue(this._options.extglob, true);
+ this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true);
+ this.fs = this._getFileSystemMethods(this._options.fs);
+ this.globstar = this._getValue(this._options.globstar, true);
+ this.ignore = this._getValue(this._options.ignore, []);
+ this.markDirectories = this._getValue(this._options.markDirectories, false);
+ this.objectMode = this._getValue(this._options.objectMode, false);
+ this.onlyDirectories = this._getValue(this._options.onlyDirectories, false);
+ this.onlyFiles = this._getValue(this._options.onlyFiles, true);
+ this.stats = this._getValue(this._options.stats, false);
+ this.suppressErrors = this._getValue(this._options.suppressErrors, false);
+ this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false);
+ this.unique = this._getValue(this._options.unique, true);
+ if (this.onlyDirectories) {
+ this.onlyFiles = false;
+ }
+ if (this.stats) {
+ this.objectMode = true;
+ }
+ this.ignore = [].concat(this.ignore);
}
- read() {
- this._reader.onError((error) => {
- this._stream.emit("error", error);
- });
- this._reader.onEntry((entry) => {
- this._stream.push(entry);
- });
- this._reader.onEnd(() => {
- this._stream.push(null);
- });
- this._reader.read();
- return this._stream;
+ _getValue(option, value) {
+ return option === void 0 ? value : option;
+ }
+ _getFileSystemMethods(methods = {}) {
+ return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods);
}
};
- exports.default = StreamProvider;
+ exports.default = Settings;
}
});
-// node_modules/@nodelib/fs.walk/out/readers/sync.js
-var require_sync3 = __commonJS({
- "node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports) {
+// node_modules/fast-glob/out/index.js
+var require_out4 = __commonJS({
+ "node_modules/fast-glob/out/index.js"(exports, module) {
"use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var fsScandir = require_out2();
- var common = require_common4();
- var reader_1 = require_reader();
- var SyncReader = class extends reader_1.default {
- constructor() {
- super(...arguments);
- this._scandir = fsScandir.scandirSync;
- this._storage = [];
- this._queue = /* @__PURE__ */ new Set();
- }
- read() {
- this._pushToQueue(this._root, this._settings.basePath);
- this._handleQueue();
- return this._storage;
- }
- _pushToQueue(directory, base) {
- this._queue.add({ directory, base });
- }
- _handleQueue() {
- for (const item of this._queue.values()) {
- this._handleDirectory(item.directory, item.base);
- }
- }
- _handleDirectory(directory, base) {
- try {
- const entries = this._scandir(directory, this._settings.fsScandirSettings);
- for (const entry of entries) {
- this._handleEntry(entry, base);
- }
- } catch (error) {
- this._handleError(error);
- }
+ var taskManager = require_tasks();
+ var async_1 = require_async6();
+ var stream_1 = require_stream4();
+ var sync_1 = require_sync6();
+ var settings_1 = require_settings4();
+ var utils = require_utils3();
+ async function FastGlob(source, options8) {
+ assertPatternsInput(source);
+ const works = getWorks(source, async_1.default, options8);
+ const result = await Promise.all(works);
+ return utils.array.flatten(result);
+ }
+ (function(FastGlob2) {
+ FastGlob2.glob = FastGlob2;
+ FastGlob2.globSync = sync;
+ FastGlob2.globStream = stream;
+ FastGlob2.async = FastGlob2;
+ function sync(source, options8) {
+ assertPatternsInput(source);
+ const works = getWorks(source, sync_1.default, options8);
+ return utils.array.flatten(works);
}
- _handleError(error) {
- if (!common.isFatalError(this._settings, error)) {
- return;
- }
- throw error;
+ FastGlob2.sync = sync;
+ function stream(source, options8) {
+ assertPatternsInput(source);
+ const works = getWorks(source, stream_1.default, options8);
+ return utils.stream.merge(works);
}
- _handleEntry(entry, base) {
- const fullpath = entry.path;
- if (base !== void 0) {
- entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
- }
- if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
- this._pushToStorage(entry);
- }
- if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
- this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
- }
+ FastGlob2.stream = stream;
+ function generateTasks(source, options8) {
+ assertPatternsInput(source);
+ const patterns = [].concat(source);
+ const settings = new settings_1.default(options8);
+ return taskManager.generate(patterns, settings);
}
- _pushToStorage(entry) {
- this._storage.push(entry);
+ FastGlob2.generateTasks = generateTasks;
+ function isDynamicPattern(source, options8) {
+ assertPatternsInput(source);
+ const settings = new settings_1.default(options8);
+ return utils.pattern.isDynamicPattern(source, settings);
}
- };
- exports.default = SyncReader;
- }
-});
-
-// node_modules/@nodelib/fs.walk/out/providers/sync.js
-var require_sync4 = __commonJS({
- "node_modules/@nodelib/fs.walk/out/providers/sync.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var sync_1 = require_sync3();
- var SyncProvider = class {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._reader = new sync_1.default(this._root, this._settings);
+ FastGlob2.isDynamicPattern = isDynamicPattern;
+ function escapePath(source) {
+ assertPatternsInput(source);
+ return utils.path.escape(source);
}
- read() {
- return this._reader.read();
+ FastGlob2.escapePath = escapePath;
+ function convertPathToPattern(source) {
+ assertPatternsInput(source);
+ return utils.path.convertPathToPattern(source);
+ }
+ FastGlob2.convertPathToPattern = convertPathToPattern;
+ let posix;
+ (function(posix2) {
+ function escapePath2(source) {
+ assertPatternsInput(source);
+ return utils.path.escapePosixPath(source);
+ }
+ posix2.escapePath = escapePath2;
+ function convertPathToPattern2(source) {
+ assertPatternsInput(source);
+ return utils.path.convertPosixPathToPattern(source);
+ }
+ posix2.convertPathToPattern = convertPathToPattern2;
+ })(posix = FastGlob2.posix || (FastGlob2.posix = {}));
+ let win32;
+ (function(win322) {
+ function escapePath2(source) {
+ assertPatternsInput(source);
+ return utils.path.escapeWindowsPath(source);
+ }
+ win322.escapePath = escapePath2;
+ function convertPathToPattern2(source) {
+ assertPatternsInput(source);
+ return utils.path.convertWindowsPathToPattern(source);
+ }
+ win322.convertPathToPattern = convertPathToPattern2;
+ })(win32 = FastGlob2.win32 || (FastGlob2.win32 = {}));
+ })(FastGlob || (FastGlob = {}));
+ function getWorks(source, _Provider, options8) {
+ const patterns = [].concat(source);
+ const settings = new settings_1.default(options8);
+ const tasks = taskManager.generate(patterns, settings);
+ const provider = new _Provider(settings);
+ return tasks.map(provider.read, provider);
+ }
+ function assertPatternsInput(input) {
+ const source = [].concat(input);
+ const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item));
+ if (!isValidSource) {
+ throw new TypeError("Patterns must be a string (non empty) or an array of strings");
}
- };
- exports.default = SyncProvider;
+ }
+ module.exports = FastGlob;
}
});
-// node_modules/@nodelib/fs.walk/out/settings.js
-var require_settings3 = __commonJS({
- "node_modules/@nodelib/fs.walk/out/settings.js"(exports) {
+// node_modules/diff/lib/diff/base.js
+var require_base = __commonJS({
+ "node_modules/diff/lib/diff/base.js"(exports) {
"use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var path9 = __require("path");
- var fsScandir = require_out2();
- var Settings = class {
- constructor(_options = {}) {
- this._options = _options;
- this.basePath = this._getValue(this._options.basePath, void 0);
- this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY);
- this.deepFilter = this._getValue(this._options.deepFilter, null);
- this.entryFilter = this._getValue(this._options.entryFilter, null);
- this.errorFilter = this._getValue(this._options.errorFilter, null);
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path9.sep);
- this.fsScandirSettings = new fsScandir.Settings({
- followSymbolicLinks: this._options.followSymbolicLinks,
- fs: this._options.fs,
- pathSegmentSeparator: this._options.pathSegmentSeparator,
- stats: this._options.stats,
- throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink
- });
- }
- _getValue(option, value) {
- return option !== null && option !== void 0 ? option : value;
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports["default"] = Diff;
+ function Diff() {
+ }
+ Diff.prototype = {
+ /*istanbul ignore start*/
+ /*istanbul ignore end*/
+ diff: function diff(oldString, newString) {
+ var options8 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
+ var callback = options8.callback;
+ if (typeof options8 === "function") {
+ callback = options8;
+ options8 = {};
+ }
+ this.options = options8;
+ var self = this;
+ function done(value) {
+ if (callback) {
+ setTimeout(function() {
+ callback(void 0, value);
+ }, 0);
+ return true;
+ } else {
+ return value;
+ }
+ }
+ oldString = this.castInput(oldString);
+ newString = this.castInput(newString);
+ oldString = this.removeEmpty(this.tokenize(oldString));
+ newString = this.removeEmpty(this.tokenize(newString));
+ var newLen = newString.length, oldLen = oldString.length;
+ var editLength = 1;
+ var maxEditLength = newLen + oldLen;
+ if (options8.maxEditLength) {
+ maxEditLength = Math.min(maxEditLength, options8.maxEditLength);
+ }
+ var bestPath = [{
+ newPos: -1,
+ components: []
+ }];
+ var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);
+ if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
+ return done([{
+ value: this.join(newString),
+ count: newString.length
+ }]);
+ }
+ function execEditLength() {
+ for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {
+ var basePath = (
+ /*istanbul ignore start*/
+ void 0
+ );
+ var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;
+ if (addPath) {
+ bestPath[diagonalPath - 1] = void 0;
+ }
+ var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;
+ if (!canAdd && !canRemove) {
+ bestPath[diagonalPath] = void 0;
+ continue;
+ }
+ if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {
+ basePath = clonePath(removePath);
+ self.pushComponent(basePath.components, void 0, true);
+ } else {
+ basePath = addPath;
+ basePath.newPos++;
+ self.pushComponent(basePath.components, true, void 0);
+ }
+ _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath);
+ if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {
+ return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));
+ } else {
+ bestPath[diagonalPath] = basePath;
+ }
+ }
+ editLength++;
+ }
+ if (callback) {
+ (function exec() {
+ setTimeout(function() {
+ if (editLength > maxEditLength) {
+ return callback();
+ }
+ if (!execEditLength()) {
+ exec();
+ }
+ }, 0);
+ })();
+ } else {
+ while (editLength <= maxEditLength) {
+ var ret = execEditLength();
+ if (ret) {
+ return ret;
+ }
+ }
+ }
+ },
+ /*istanbul ignore start*/
+ /*istanbul ignore end*/
+ pushComponent: function pushComponent(components, added, removed) {
+ var last = components[components.length - 1];
+ if (last && last.added === added && last.removed === removed) {
+ components[components.length - 1] = {
+ count: last.count + 1,
+ added,
+ removed
+ };
+ } else {
+ components.push({
+ count: 1,
+ added,
+ removed
+ });
+ }
+ },
+ /*istanbul ignore start*/
+ /*istanbul ignore end*/
+ extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {
+ var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0;
+ while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {
+ newPos++;
+ oldPos++;
+ commonCount++;
+ }
+ if (commonCount) {
+ basePath.components.push({
+ count: commonCount
+ });
+ }
+ basePath.newPos = newPos;
+ return oldPos;
+ },
+ /*istanbul ignore start*/
+ /*istanbul ignore end*/
+ equals: function equals(left, right) {
+ if (this.options.comparator) {
+ return this.options.comparator(left, right);
+ } else {
+ return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();
+ }
+ },
+ /*istanbul ignore start*/
+ /*istanbul ignore end*/
+ removeEmpty: function removeEmpty(array2) {
+ var ret = [];
+ for (var i = 0; i < array2.length; i++) {
+ if (array2[i]) {
+ ret.push(array2[i]);
+ }
+ }
+ return ret;
+ },
+ /*istanbul ignore start*/
+ /*istanbul ignore end*/
+ castInput: function castInput(value) {
+ return value;
+ },
+ /*istanbul ignore start*/
+ /*istanbul ignore end*/
+ tokenize: function tokenize(value) {
+ return value.split("");
+ },
+ /*istanbul ignore start*/
+ /*istanbul ignore end*/
+ join: function join2(chars) {
+ return chars.join("");
}
};
- exports.default = Settings;
- }
-});
-
-// node_modules/@nodelib/fs.walk/out/index.js
-var require_out3 = __commonJS({
- "node_modules/@nodelib/fs.walk/out/index.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Settings = exports.walkStream = exports.walkSync = exports.walk = void 0;
- var async_1 = require_async4();
- var stream_1 = require_stream2();
- var sync_1 = require_sync4();
- var settings_1 = require_settings3();
- exports.Settings = settings_1.default;
- function walk(directory, optionsOrSettingsOrCallback, callback) {
- if (typeof optionsOrSettingsOrCallback === "function") {
- new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);
- return;
+ function buildValues(diff, components, newString, oldString, useLongestToken) {
+ var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0;
+ for (; componentPos < componentLen; componentPos++) {
+ var component = components[componentPos];
+ if (!component.removed) {
+ if (!component.added && useLongestToken) {
+ var value = newString.slice(newPos, newPos + component.count);
+ value = value.map(function(value2, i) {
+ var oldValue = oldString[oldPos + i];
+ return oldValue.length > value2.length ? oldValue : value2;
+ });
+ component.value = diff.join(value);
+ } else {
+ component.value = diff.join(newString.slice(newPos, newPos + component.count));
+ }
+ newPos += component.count;
+ if (!component.added) {
+ oldPos += component.count;
+ }
+ } else {
+ component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));
+ oldPos += component.count;
+ if (componentPos && components[componentPos - 1].added) {
+ var tmp = components[componentPos - 1];
+ components[componentPos - 1] = components[componentPos];
+ components[componentPos] = tmp;
+ }
+ }
}
- new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback);
- }
- exports.walk = walk;
- function walkSync(directory, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- const provider = new sync_1.default(directory, settings);
- return provider.read();
- }
- exports.walkSync = walkSync;
- function walkStream(directory, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- const provider = new stream_1.default(directory, settings);
- return provider.read();
- }
- exports.walkStream = walkStream;
- function getSettings(settingsOrOptions = {}) {
- if (settingsOrOptions instanceof settings_1.default) {
- return settingsOrOptions;
+ var lastComponent = components[componentLen - 1];
+ if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff.equals("", lastComponent.value)) {
+ components[componentLen - 2].value += lastComponent.value;
+ components.pop();
}
- return new settings_1.default(settingsOrOptions);
+ return components;
+ }
+ function clonePath(path9) {
+ return {
+ newPos: path9.newPos,
+ components: path9.components.slice(0)
+ };
}
}
});
-// node_modules/fast-glob/out/readers/reader.js
-var require_reader2 = __commonJS({
- "node_modules/fast-glob/out/readers/reader.js"(exports) {
+// node_modules/diff/lib/diff/array.js
+var require_array2 = __commonJS({
+ "node_modules/diff/lib/diff/array.js"(exports) {
"use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var path9 = __require("path");
- var fsStat = require_out();
- var utils = require_utils4();
- var Reader = class {
- constructor(_settings) {
- this._settings = _settings;
- this._fsStatSettings = new fsStat.Settings({
- followSymbolicLink: this._settings.followSymbolicLinks,
- fs: this._settings.fs,
- throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks
- });
- }
- _getFullEntryPath(filepath) {
- return path9.resolve(this._settings.cwd, filepath);
- }
- _makeEntry(stats, pattern) {
- const entry = {
- name: pattern,
- path: pattern,
- dirent: utils.fs.createDirentFromStats(pattern, stats)
- };
- if (this._settings.stats) {
- entry.stats = stats;
- }
- return entry;
- }
- _isFatalError(error) {
- return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;
- }
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.diffArrays = diffArrays2;
+ exports.arrayDiff = void 0;
+ var _base = _interopRequireDefault(require_base());
+ function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : { "default": obj };
+ }
+ var arrayDiff = new /*istanbul ignore start*/
+ _base[
+ /*istanbul ignore start*/
+ "default"
+ /*istanbul ignore end*/
+ ]();
+ exports.arrayDiff = arrayDiff;
+ arrayDiff.tokenize = function(value) {
+ return value.slice();
};
- exports.default = Reader;
+ arrayDiff.join = arrayDiff.removeEmpty = function(value) {
+ return value;
+ };
+ function diffArrays2(oldArr, newArr, callback) {
+ return arrayDiff.diff(oldArr, newArr, callback);
+ }
}
});
-// node_modules/fast-glob/out/readers/stream.js
-var require_stream3 = __commonJS({
- "node_modules/fast-glob/out/readers/stream.js"(exports) {
+// node_modules/n-readlines/readlines.js
+var require_readlines = __commonJS({
+ "node_modules/n-readlines/readlines.js"(exports, module) {
"use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var stream_1 = __require("stream");
- var fsStat = require_out();
- var fsWalk = require_out3();
- var reader_1 = require_reader2();
- var ReaderStream = class extends reader_1.default {
- constructor() {
- super(...arguments);
- this._walkStream = fsWalk.walkStream;
- this._stat = fsStat.stat;
- }
- dynamic(root, options8) {
- return this._walkStream(root, options8);
- }
- static(patterns, options8) {
- const filepaths = patterns.map(this._getFullEntryPath, this);
- const stream = new stream_1.PassThrough({ objectMode: true });
- stream._write = (index, _enc, done) => {
- return this._getEntry(filepaths[index], patterns[index], options8).then((entry) => {
- if (entry !== null && options8.entryFilter(entry)) {
- stream.push(entry);
- }
- if (index === filepaths.length - 1) {
- stream.end();
- }
- done();
- }).catch(done);
- };
- for (let i = 0; i < filepaths.length; i++) {
- stream.write(i);
+ var fs5 = __require("fs");
+ var LineByLine = class {
+ constructor(file, options8) {
+ options8 = options8 || {};
+ if (!options8.readChunk)
+ options8.readChunk = 1024;
+ if (!options8.newLineCharacter) {
+ options8.newLineCharacter = 10;
+ } else {
+ options8.newLineCharacter = options8.newLineCharacter.charCodeAt(0);
}
- return stream;
+ if (typeof file === "number") {
+ this.fd = file;
+ } else {
+ this.fd = fs5.openSync(file, "r");
+ }
+ this.options = options8;
+ this.newLineCharacter = options8.newLineCharacter;
+ this.reset();
}
- _getEntry(filepath, pattern, options8) {
- return this._getStat(filepath).then((stats) => this._makeEntry(stats, pattern)).catch((error) => {
- if (options8.errorFilter(error)) {
- return null;
+ _searchInBuffer(buffer, hexNeedle) {
+ let found = -1;
+ for (let i = 0; i <= buffer.length; i++) {
+ let b_byte = buffer[i];
+ if (b_byte === hexNeedle) {
+ found = i;
+ break;
}
- throw error;
- });
- }
- _getStat(filepath) {
- return new Promise((resolve2, reject) => {
- this._stat(filepath, this._fsStatSettings, (error, stats) => {
- return error === null ? resolve2(stats) : reject(error);
- });
- });
- }
- };
- exports.default = ReaderStream;
- }
-});
-
-// node_modules/fast-glob/out/readers/async.js
-var require_async5 = __commonJS({
- "node_modules/fast-glob/out/readers/async.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var fsWalk = require_out3();
- var reader_1 = require_reader2();
- var stream_1 = require_stream3();
- var ReaderAsync = class extends reader_1.default {
- constructor() {
- super(...arguments);
- this._walkAsync = fsWalk.walk;
- this._readerStream = new stream_1.default(this._settings);
- }
- dynamic(root, options8) {
- return new Promise((resolve2, reject) => {
- this._walkAsync(root, options8, (error, entries) => {
- if (error === null) {
- resolve2(entries);
- } else {
- reject(error);
- }
- });
- });
- }
- async static(patterns, options8) {
- const entries = [];
- const stream = this._readerStream.static(patterns, options8);
- return new Promise((resolve2, reject) => {
- stream.once("error", reject);
- stream.on("data", (entry) => entries.push(entry));
- stream.once("end", () => resolve2(entries));
- });
+ }
+ return found;
}
- };
- exports.default = ReaderAsync;
- }
-});
-
-// node_modules/fast-glob/out/providers/matchers/matcher.js
-var require_matcher = __commonJS({
- "node_modules/fast-glob/out/providers/matchers/matcher.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var utils = require_utils4();
- var Matcher = class {
- constructor(_patterns, _settings, _micromatchOptions) {
- this._patterns = _patterns;
- this._settings = _settings;
- this._micromatchOptions = _micromatchOptions;
- this._storage = [];
- this._fillStorage();
+ reset() {
+ this.eofReached = false;
+ this.linesCache = [];
+ this.fdPosition = 0;
}
- _fillStorage() {
- const patterns = utils.pattern.expandPatternsWithBraceExpansion(this._patterns);
- for (const pattern of patterns) {
- const segments = this._getPatternSegments(pattern);
- const sections = this._splitSegmentsIntoSections(segments);
- this._storage.push({
- complete: sections.length <= 1,
- pattern,
- segments,
- sections
- });
+ close() {
+ fs5.closeSync(this.fd);
+ this.fd = null;
+ }
+ _extractLines(buffer) {
+ let line2;
+ const lines = [];
+ let bufferPosition = 0;
+ let lastNewLineBufferPosition = 0;
+ while (true) {
+ let bufferPositionValue = buffer[bufferPosition++];
+ if (bufferPositionValue === this.newLineCharacter) {
+ line2 = buffer.slice(lastNewLineBufferPosition, bufferPosition);
+ lines.push(line2);
+ lastNewLineBufferPosition = bufferPosition;
+ } else if (bufferPositionValue === void 0) {
+ break;
+ }
+ }
+ let leftovers = buffer.slice(lastNewLineBufferPosition, bufferPosition);
+ if (leftovers.length) {
+ lines.push(leftovers);
}
+ return lines;
}
- _getPatternSegments(pattern) {
- const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions);
- return parts.map((part) => {
- const dynamic = utils.pattern.isDynamicPattern(part, this._settings);
- if (!dynamic) {
- return {
- dynamic: false,
- pattern: part
- };
+ _readChunk(lineLeftovers) {
+ let totalBytesRead = 0;
+ let bytesRead;
+ const buffers = [];
+ do {
+ const readBuffer = Buffer.alloc(this.options.readChunk);
+ bytesRead = fs5.readSync(this.fd, readBuffer, 0, this.options.readChunk, this.fdPosition);
+ totalBytesRead = totalBytesRead + bytesRead;
+ this.fdPosition = this.fdPosition + bytesRead;
+ buffers.push(readBuffer);
+ } while (bytesRead && this._searchInBuffer(buffers[buffers.length - 1], this.options.newLineCharacter) === -1);
+ let bufferData = Buffer.concat(buffers);
+ if (bytesRead < this.options.readChunk) {
+ this.eofReached = true;
+ bufferData = bufferData.slice(0, totalBytesRead);
+ }
+ if (totalBytesRead) {
+ this.linesCache = this._extractLines(bufferData);
+ if (lineLeftovers) {
+ this.linesCache[0] = Buffer.concat([lineLeftovers, this.linesCache[0]]);
}
- return {
- dynamic: true,
- pattern: part,
- patternRe: utils.pattern.makeRe(part, this._micromatchOptions)
- };
- });
+ }
+ return totalBytesRead;
}
- _splitSegmentsIntoSections(segments) {
- return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern));
+ next() {
+ if (!this.fd)
+ return false;
+ let line2 = false;
+ if (this.eofReached && this.linesCache.length === 0) {
+ return line2;
+ }
+ let bytesRead;
+ if (!this.linesCache.length) {
+ bytesRead = this._readChunk();
+ }
+ if (this.linesCache.length) {
+ line2 = this.linesCache.shift();
+ const lastLineCharacter = line2[line2.length - 1];
+ if (lastLineCharacter !== this.newLineCharacter) {
+ bytesRead = this._readChunk(line2);
+ if (bytesRead) {
+ line2 = this.linesCache.shift();
+ }
+ }
+ }
+ if (this.eofReached && this.linesCache.length === 0) {
+ this.close();
+ }
+ if (line2 && line2[line2.length - 1] === this.newLineCharacter) {
+ line2 = line2.slice(0, line2.length - 1);
+ }
+ return line2;
}
};
- exports.default = Matcher;
+ module.exports = LineByLine;
}
});
-// node_modules/fast-glob/out/providers/matchers/partial.js
-var require_partial = __commonJS({
- "node_modules/fast-glob/out/providers/matchers/partial.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var matcher_1 = require_matcher();
- var PartialMatcher = class extends matcher_1.default {
- match(filepath) {
- const parts = filepath.split("/");
- const levels = parts.length;
- const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);
- for (const pattern of patterns) {
- const section = pattern.sections[0];
- if (!pattern.complete && levels > section.length) {
- return true;
- }
- const match = parts.every((part, index) => {
- const segment = pattern.segments[index];
- if (segment.dynamic && segment.patternRe.test(part)) {
- return true;
- }
- if (!segment.dynamic && segment.pattern === part) {
- return true;
- }
- return false;
- });
- if (match) {
- return true;
- }
- }
- return false;
- }
+// node_modules/js-tokens/index.js
+var require_js_tokens = __commonJS({
+ "node_modules/js-tokens/index.js"(exports) {
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
+ exports.matchToToken = function(match) {
+ var token = { type: "invalid", value: match[0], closed: void 0 };
+ if (match[1])
+ token.type = "string", token.closed = !!(match[3] || match[4]);
+ else if (match[5])
+ token.type = "comment";
+ else if (match[6])
+ token.type = "comment", token.closed = !!match[7];
+ else if (match[8])
+ token.type = "regex";
+ else if (match[9])
+ token.type = "number";
+ else if (match[10])
+ token.type = "name";
+ else if (match[11])
+ token.type = "punctuator";
+ else if (match[12])
+ token.type = "whitespace";
+ return token;
};
- exports.default = PartialMatcher;
}
});
-// node_modules/fast-glob/out/providers/filters/deep.js
-var require_deep = __commonJS({
- "node_modules/fast-glob/out/providers/filters/deep.js"(exports) {
+// node_modules/@babel/helper-validator-identifier/lib/identifier.js
+var require_identifier = __commonJS({
+ "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports) {
"use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var utils = require_utils4();
- var partial_1 = require_partial();
- var DeepFilter = class {
- constructor(_settings, _micromatchOptions) {
- this._settings = _settings;
- this._micromatchOptions = _micromatchOptions;
- }
- getFilter(basePath, positive, negative) {
- const matcher = this._getMatcher(positive);
- const negativeRe = this._getNegativePatternsRe(negative);
- return (entry) => this._filter(basePath, entry, matcher, negativeRe);
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.isIdentifierChar = isIdentifierChar;
+ exports.isIdentifierName = isIdentifierName;
+ exports.isIdentifierStart = isIdentifierStart;
+ 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";
+ 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\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\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";
+ var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
+ var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
+ nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
+ 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, 3104, 541, 1507, 4938, 6, 4191];
+ 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];
+ function isInAstralSet(code, set) {
+ let pos = 65536;
+ for (let i = 0, length = set.length; i < length; i += 2) {
+ pos += set[i];
+ if (pos > code)
+ return false;
+ pos += set[i + 1];
+ if (pos >= code)
+ return true;
}
- _getMatcher(patterns) {
- return new partial_1.default(patterns, this._settings, this._micromatchOptions);
+ return false;
+ }
+ function isIdentifierStart(code) {
+ if (code < 65)
+ return code === 36;
+ if (code <= 90)
+ return true;
+ if (code < 97)
+ return code === 95;
+ if (code <= 122)
+ return true;
+ if (code <= 65535) {
+ return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code));
}
- _getNegativePatternsRe(patterns) {
- const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern);
- return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);
+ return isInAstralSet(code, astralIdentifierStartCodes);
+ }
+ function isIdentifierChar(code) {
+ if (code < 48)
+ return code === 36;
+ if (code < 58)
+ return true;
+ if (code < 65)
+ return false;
+ if (code <= 90)
+ return true;
+ if (code < 97)
+ return code === 95;
+ if (code <= 122)
+ return true;
+ if (code <= 65535) {
+ return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code));
}
- _filter(basePath, entry, matcher, negativeRe) {
- if (this._isSkippedByDeep(basePath, entry.path)) {
- return false;
- }
- if (this._isSkippedSymbolicLink(entry)) {
- return false;
- }
- const filepath = utils.path.removeLeadingDotSegment(entry.path);
- if (this._isSkippedByPositivePatterns(filepath, matcher)) {
- return false;
+ return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
+ }
+ function isIdentifierName(name) {
+ let isFirst = true;
+ for (let i = 0; i < name.length; i++) {
+ let cp = name.charCodeAt(i);
+ if ((cp & 64512) === 55296 && i + 1 < name.length) {
+ const trail = name.charCodeAt(++i);
+ if ((trail & 64512) === 56320) {
+ cp = 65536 + ((cp & 1023) << 10) + (trail & 1023);
+ }
}
- return this._isSkippedByNegativePatterns(filepath, negativeRe);
- }
- _isSkippedByDeep(basePath, entryPath) {
- if (this._settings.deep === Infinity) {
+ if (isFirst) {
+ isFirst = false;
+ if (!isIdentifierStart(cp)) {
+ return false;
+ }
+ } else if (!isIdentifierChar(cp)) {
return false;
}
- return this._getEntryLevel(basePath, entryPath) >= this._settings.deep;
- }
- _getEntryLevel(basePath, entryPath) {
- const entryPathDepth = entryPath.split("/").length;
- if (basePath === "") {
- return entryPathDepth;
- }
- const basePathDepth = basePath.split("/").length;
- return entryPathDepth - basePathDepth;
- }
- _isSkippedSymbolicLink(entry) {
- return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink();
- }
- _isSkippedByPositivePatterns(entryPath, matcher) {
- return !this._settings.baseNameMatch && !matcher.match(entryPath);
- }
- _isSkippedByNegativePatterns(entryPath, patternsRe) {
- return !utils.pattern.matchAny(entryPath, patternsRe);
}
+ return !isFirst;
+ }
+ }
+});
+
+// node_modules/@babel/helper-validator-identifier/lib/keyword.js
+var require_keyword = __commonJS({
+ "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.isKeyword = isKeyword;
+ exports.isReservedWord = isReservedWord;
+ exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
+ exports.isStrictBindReservedWord = isStrictBindReservedWord;
+ exports.isStrictReservedWord = isStrictReservedWord;
+ var reservedWords = {
+ keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
+ strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
+ strictBind: ["eval", "arguments"]
};
- exports.default = DeepFilter;
+ var keywords = new Set(reservedWords.keyword);
+ var reservedWordsStrictSet = new Set(reservedWords.strict);
+ var reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
+ function isReservedWord(word, inModule) {
+ return inModule && word === "await" || word === "enum";
+ }
+ function isStrictReservedWord(word, inModule) {
+ return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
+ }
+ function isStrictBindOnlyReservedWord(word) {
+ return reservedWordsStrictBindSet.has(word);
+ }
+ function isStrictBindReservedWord(word, inModule) {
+ return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
+ }
+ function isKeyword(word) {
+ return keywords.has(word);
+ }
}
});
-// node_modules/fast-glob/out/providers/filters/entry.js
-var require_entry = __commonJS({
- "node_modules/fast-glob/out/providers/filters/entry.js"(exports) {
+// node_modules/@babel/helper-validator-identifier/lib/index.js
+var require_lib = __commonJS({
+ "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports) {
"use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var utils = require_utils4();
- var EntryFilter = class {
- constructor(_settings, _micromatchOptions) {
- this._settings = _settings;
- this._micromatchOptions = _micromatchOptions;
- this.index = /* @__PURE__ */ new Map();
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ Object.defineProperty(exports, "isIdentifierChar", {
+ enumerable: true,
+ get: function() {
+ return _identifier.isIdentifierChar;
}
- getFilter(positive, negative) {
- const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions);
- const negativeRe = utils.pattern.convertPatternsToRe(negative, this._micromatchOptions);
- return (entry) => this._filter(entry, positiveRe, negativeRe);
+ });
+ Object.defineProperty(exports, "isIdentifierName", {
+ enumerable: true,
+ get: function() {
+ return _identifier.isIdentifierName;
}
- _filter(entry, positiveRe, negativeRe) {
- if (this._settings.unique && this._isDuplicateEntry(entry)) {
- return false;
- }
- if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) {
- return false;
- }
- if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) {
- return false;
- }
- const filepath = this._settings.baseNameMatch ? entry.name : entry.path;
- const isDirectory = entry.dirent.isDirectory();
- const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory) && !this._isMatchToPatterns(entry.path, negativeRe, isDirectory);
- if (this._settings.unique && isMatched) {
- this._createIndexRecord(entry);
- }
- return isMatched;
+ });
+ Object.defineProperty(exports, "isIdentifierStart", {
+ enumerable: true,
+ get: function() {
+ return _identifier.isIdentifierStart;
}
- _isDuplicateEntry(entry) {
- return this.index.has(entry.path);
+ });
+ Object.defineProperty(exports, "isKeyword", {
+ enumerable: true,
+ get: function() {
+ return _keyword.isKeyword;
}
- _createIndexRecord(entry) {
- this.index.set(entry.path, void 0);
+ });
+ Object.defineProperty(exports, "isReservedWord", {
+ enumerable: true,
+ get: function() {
+ return _keyword.isReservedWord;
}
- _onlyFileFilter(entry) {
- return this._settings.onlyFiles && !entry.dirent.isFile();
+ });
+ Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
+ enumerable: true,
+ get: function() {
+ return _keyword.isStrictBindOnlyReservedWord;
}
- _onlyDirectoryFilter(entry) {
- return this._settings.onlyDirectories && !entry.dirent.isDirectory();
+ });
+ Object.defineProperty(exports, "isStrictBindReservedWord", {
+ enumerable: true,
+ get: function() {
+ return _keyword.isStrictBindReservedWord;
}
- _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) {
- if (!this._settings.absolute) {
- return false;
- }
- const fullpath = utils.path.makeAbsolute(this._settings.cwd, entryPath);
- return utils.pattern.matchAny(fullpath, patternsRe);
+ });
+ Object.defineProperty(exports, "isStrictReservedWord", {
+ enumerable: true,
+ get: function() {
+ return _keyword.isStrictReservedWord;
}
- _isMatchToPatterns(entryPath, patternsRe, isDirectory) {
- const filepath = utils.path.removeLeadingDotSegment(entryPath);
- const isMatched = utils.pattern.matchAny(filepath, patternsRe);
- if (!isMatched && isDirectory) {
- return utils.pattern.matchAny(filepath + "/", patternsRe);
- }
- return isMatched;
+ });
+ var _identifier = require_identifier();
+ var _keyword = require_keyword();
+ }
+});
+
+// node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js
+var require_escape_string_regexp = __commonJS({
+ "node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js"(exports, module) {
+ "use strict";
+ var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
+ module.exports = function(str) {
+ if (typeof str !== "string") {
+ throw new TypeError("Expected a string");
}
+ return str.replace(matchOperatorsRe, "\\$&");
+ };
+ }
+});
+
+// node_modules/color-name/index.js
+var require_color_name = __commonJS({
+ "node_modules/color-name/index.js"(exports, module) {
+ "use strict";
+ module.exports = {
+ "aliceblue": [240, 248, 255],
+ "antiquewhite": [250, 235, 215],
+ "aqua": [0, 255, 255],
+ "aquamarine": [127, 255, 212],
+ "azure": [240, 255, 255],
+ "beige": [245, 245, 220],
+ "bisque": [255, 228, 196],
+ "black": [0, 0, 0],
+ "blanchedalmond": [255, 235, 205],
+ "blue": [0, 0, 255],
+ "blueviolet": [138, 43, 226],
+ "brown": [165, 42, 42],
+ "burlywood": [222, 184, 135],
+ "cadetblue": [95, 158, 160],
+ "chartreuse": [127, 255, 0],
+ "chocolate": [210, 105, 30],
+ "coral": [255, 127, 80],
+ "cornflowerblue": [100, 149, 237],
+ "cornsilk": [255, 248, 220],
+ "crimson": [220, 20, 60],
+ "cyan": [0, 255, 255],
+ "darkblue": [0, 0, 139],
+ "darkcyan": [0, 139, 139],
+ "darkgoldenrod": [184, 134, 11],
+ "darkgray": [169, 169, 169],
+ "darkgreen": [0, 100, 0],
+ "darkgrey": [169, 169, 169],
+ "darkkhaki": [189, 183, 107],
+ "darkmagenta": [139, 0, 139],
+ "darkolivegreen": [85, 107, 47],
+ "darkorange": [255, 140, 0],
+ "darkorchid": [153, 50, 204],
+ "darkred": [139, 0, 0],
+ "darksalmon": [233, 150, 122],
+ "darkseagreen": [143, 188, 143],
+ "darkslateblue": [72, 61, 139],
+ "darkslategray": [47, 79, 79],
+ "darkslategrey": [47, 79, 79],
+ "darkturquoise": [0, 206, 209],
+ "darkviolet": [148, 0, 211],
+ "deeppink": [255, 20, 147],
+ "deepskyblue": [0, 191, 255],
+ "dimgray": [105, 105, 105],
+ "dimgrey": [105, 105, 105],
+ "dodgerblue": [30, 144, 255],
+ "firebrick": [178, 34, 34],
+ "floralwhite": [255, 250, 240],
+ "forestgreen": [34, 139, 34],
+ "fuchsia": [255, 0, 255],
+ "gainsboro": [220, 220, 220],
+ "ghostwhite": [248, 248, 255],
+ "gold": [255, 215, 0],
+ "goldenrod": [218, 165, 32],
+ "gray": [128, 128, 128],
+ "green": [0, 128, 0],
+ "greenyellow": [173, 255, 47],
+ "grey": [128, 128, 128],
+ "honeydew": [240, 255, 240],
+ "hotpink": [255, 105, 180],
+ "indianred": [205, 92, 92],
+ "indigo": [75, 0, 130],
+ "ivory": [255, 255, 240],
+ "khaki": [240, 230, 140],
+ "lavender": [230, 230, 250],
+ "lavenderblush": [255, 240, 245],
+ "lawngreen": [124, 252, 0],
+ "lemonchiffon": [255, 250, 205],
+ "lightblue": [173, 216, 230],
+ "lightcoral": [240, 128, 128],
+ "lightcyan": [224, 255, 255],
+ "lightgoldenrodyellow": [250, 250, 210],
+ "lightgray": [211, 211, 211],
+ "lightgreen": [144, 238, 144],
+ "lightgrey": [211, 211, 211],
+ "lightpink": [255, 182, 193],
+ "lightsalmon": [255, 160, 122],
+ "lightseagreen": [32, 178, 170],
+ "lightskyblue": [135, 206, 250],
+ "lightslategray": [119, 136, 153],
+ "lightslategrey": [119, 136, 153],
+ "lightsteelblue": [176, 196, 222],
+ "lightyellow": [255, 255, 224],
+ "lime": [0, 255, 0],
+ "limegreen": [50, 205, 50],
+ "linen": [250, 240, 230],
+ "magenta": [255, 0, 255],
+ "maroon": [128, 0, 0],
+ "mediumaquamarine": [102, 205, 170],
+ "mediumblue": [0, 0, 205],
+ "mediumorchid": [186, 85, 211],
+ "mediumpurple": [147, 112, 219],
+ "mediumseagreen": [60, 179, 113],
+ "mediumslateblue": [123, 104, 238],
+ "mediumspringgreen": [0, 250, 154],
+ "mediumturquoise": [72, 209, 204],
+ "mediumvioletred": [199, 21, 133],
+ "midnightblue": [25, 25, 112],
+ "mintcream": [245, 255, 250],
+ "mistyrose": [255, 228, 225],
+ "moccasin": [255, 228, 181],
+ "navajowhite": [255, 222, 173],
+ "navy": [0, 0, 128],
+ "oldlace": [253, 245, 230],
+ "olive": [128, 128, 0],
+ "olivedrab": [107, 142, 35],
+ "orange": [255, 165, 0],
+ "orangered": [255, 69, 0],
+ "orchid": [218, 112, 214],
+ "palegoldenrod": [238, 232, 170],
+ "palegreen": [152, 251, 152],
+ "paleturquoise": [175, 238, 238],
+ "palevioletred": [219, 112, 147],
+ "papayawhip": [255, 239, 213],
+ "peachpuff": [255, 218, 185],
+ "peru": [205, 133, 63],
+ "pink": [255, 192, 203],
+ "plum": [221, 160, 221],
+ "powderblue": [176, 224, 230],
+ "purple": [128, 0, 128],
+ "rebeccapurple": [102, 51, 153],
+ "red": [255, 0, 0],
+ "rosybrown": [188, 143, 143],
+ "royalblue": [65, 105, 225],
+ "saddlebrown": [139, 69, 19],
+ "salmon": [250, 128, 114],
+ "sandybrown": [244, 164, 96],
+ "seagreen": [46, 139, 87],
+ "seashell": [255, 245, 238],
+ "sienna": [160, 82, 45],
+ "silver": [192, 192, 192],
+ "skyblue": [135, 206, 235],
+ "slateblue": [106, 90, 205],
+ "slategray": [112, 128, 144],
+ "slategrey": [112, 128, 144],
+ "snow": [255, 250, 250],
+ "springgreen": [0, 255, 127],
+ "steelblue": [70, 130, 180],
+ "tan": [210, 180, 140],
+ "teal": [0, 128, 128],
+ "thistle": [216, 191, 216],
+ "tomato": [255, 99, 71],
+ "turquoise": [64, 224, 208],
+ "violet": [238, 130, 238],
+ "wheat": [245, 222, 179],
+ "white": [255, 255, 255],
+ "whitesmoke": [245, 245, 245],
+ "yellow": [255, 255, 0],
+ "yellowgreen": [154, 205, 50]
};
- exports.default = EntryFilter;
}
});
-// node_modules/fast-glob/out/providers/filters/error.js
-var require_error = __commonJS({
- "node_modules/fast-glob/out/providers/filters/error.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var utils = require_utils4();
- var ErrorFilter = class {
- constructor(_settings) {
- this._settings = _settings;
- }
- getFilter() {
- return (error) => this._isNonFatalError(error);
- }
- _isNonFatalError(error) {
- return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors;
+// node_modules/color-convert/conversions.js
+var require_conversions = __commonJS({
+ "node_modules/color-convert/conversions.js"(exports, module) {
+ var cssKeywords = require_color_name();
+ var reverseKeywords = {};
+ for (key in cssKeywords) {
+ if (cssKeywords.hasOwnProperty(key)) {
+ reverseKeywords[cssKeywords[key]] = key;
}
+ }
+ var key;
+ var convert = module.exports = {
+ rgb: { channels: 3, labels: "rgb" },
+ hsl: { channels: 3, labels: "hsl" },
+ hsv: { channels: 3, labels: "hsv" },
+ hwb: { channels: 3, labels: "hwb" },
+ cmyk: { channels: 4, labels: "cmyk" },
+ xyz: { channels: 3, labels: "xyz" },
+ lab: { channels: 3, labels: "lab" },
+ lch: { channels: 3, labels: "lch" },
+ hex: { channels: 1, labels: ["hex"] },
+ keyword: { channels: 1, labels: ["keyword"] },
+ ansi16: { channels: 1, labels: ["ansi16"] },
+ ansi256: { channels: 1, labels: ["ansi256"] },
+ hcg: { channels: 3, labels: ["h", "c", "g"] },
+ apple: { channels: 3, labels: ["r16", "g16", "b16"] },
+ gray: { channels: 1, labels: ["gray"] }
};
- exports.default = ErrorFilter;
- }
-});
-
-// node_modules/fast-glob/out/providers/transformers/entry.js
-var require_entry2 = __commonJS({
- "node_modules/fast-glob/out/providers/transformers/entry.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var utils = require_utils4();
- var EntryTransformer = class {
- constructor(_settings) {
- this._settings = _settings;
- }
- getTransformer() {
- return (entry) => this._transform(entry);
- }
- _transform(entry) {
- let filepath = entry.path;
- if (this._settings.absolute) {
- filepath = utils.path.makeAbsolute(this._settings.cwd, filepath);
- filepath = utils.path.unixify(filepath);
+ for (model in convert) {
+ if (convert.hasOwnProperty(model)) {
+ if (!("channels" in convert[model])) {
+ throw new Error("missing channels property: " + model);
}
- if (this._settings.markDirectories && entry.dirent.isDirectory()) {
- filepath += "/";
+ if (!("labels" in convert[model])) {
+ throw new Error("missing channel labels property: " + model);
}
- if (!this._settings.objectMode) {
- return filepath;
+ if (convert[model].labels.length !== convert[model].channels) {
+ throw new Error("channel and label counts mismatch: " + model);
}
- return Object.assign(Object.assign({}, entry), { path: filepath });
- }
- };
- exports.default = EntryTransformer;
- }
-});
-
-// node_modules/fast-glob/out/providers/provider.js
-var require_provider = __commonJS({
- "node_modules/fast-glob/out/providers/provider.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var path9 = __require("path");
- var deep_1 = require_deep();
- var entry_1 = require_entry();
- var error_1 = require_error();
- var entry_2 = require_entry2();
- var Provider = class {
- constructor(_settings) {
- this._settings = _settings;
- this.errorFilter = new error_1.default(this._settings);
- this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions());
- this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions());
- this.entryTransformer = new entry_2.default(this._settings);
- }
- _getRootDirectory(task) {
- return path9.resolve(this._settings.cwd, task.base);
- }
- _getReaderOptions(task) {
- const basePath = task.base === "." ? "" : task.base;
- return {
- basePath,
- pathSegmentSeparator: "/",
- concurrency: this._settings.concurrency,
- deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative),
- entryFilter: this.entryFilter.getFilter(task.positive, task.negative),
- errorFilter: this.errorFilter.getFilter(),
- followSymbolicLinks: this._settings.followSymbolicLinks,
- fs: this._settings.fs,
- stats: this._settings.stats,
- throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink,
- transform: this.entryTransformer.getTransformer()
- };
- }
- _getMicromatchOptions() {
- return {
- dot: this._settings.dot,
- matchBase: this._settings.baseNameMatch,
- nobrace: !this._settings.braceExpansion,
- nocase: !this._settings.caseSensitiveMatch,
- noext: !this._settings.extglob,
- noglobstar: !this._settings.globstar,
- posix: true,
- strictSlashes: false
- };
+ channels = convert[model].channels;
+ labels = convert[model].labels;
+ delete convert[model].channels;
+ delete convert[model].labels;
+ Object.defineProperty(convert[model], "channels", { value: channels });
+ Object.defineProperty(convert[model], "labels", { value: labels });
}
- };
- exports.default = Provider;
- }
-});
-
-// node_modules/fast-glob/out/providers/async.js
-var require_async6 = __commonJS({
- "node_modules/fast-glob/out/providers/async.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var async_1 = require_async5();
- var provider_1 = require_provider();
- var ProviderAsync = class extends provider_1.default {
- constructor() {
- super(...arguments);
- this._reader = new async_1.default(this._settings);
+ }
+ var channels;
+ var labels;
+ var model;
+ convert.rgb.hsl = function(rgb) {
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var min = Math.min(r, g, b);
+ var max = Math.max(r, g, b);
+ var delta = max - min;
+ var h;
+ var s;
+ var l;
+ if (max === min) {
+ h = 0;
+ } else if (r === max) {
+ h = (g - b) / delta;
+ } else if (g === max) {
+ h = 2 + (b - r) / delta;
+ } else if (b === max) {
+ h = 4 + (r - g) / delta;
}
- async read(task) {
- const root = this._getRootDirectory(task);
- const options8 = this._getReaderOptions(task);
- const entries = await this.api(root, task, options8);
- return entries.map((entry) => options8.transform(entry));
+ h = Math.min(h * 60, 360);
+ if (h < 0) {
+ h += 360;
}
- api(root, task, options8) {
- if (task.dynamic) {
- return this._reader.dynamic(root, options8);
- }
- return this._reader.static(task.patterns, options8);
+ l = (min + max) / 2;
+ if (max === min) {
+ s = 0;
+ } else if (l <= 0.5) {
+ s = delta / (max + min);
+ } else {
+ s = delta / (2 - max - min);
}
+ return [h, s * 100, l * 100];
};
- exports.default = ProviderAsync;
- }
-});
-
-// node_modules/fast-glob/out/providers/stream.js
-var require_stream4 = __commonJS({
- "node_modules/fast-glob/out/providers/stream.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var stream_1 = __require("stream");
- var stream_2 = require_stream3();
- var provider_1 = require_provider();
- var ProviderStream = class extends provider_1.default {
- constructor() {
- super(...arguments);
- this._reader = new stream_2.default(this._settings);
+ convert.rgb.hsv = function(rgb) {
+ var rdif;
+ var gdif;
+ var bdif;
+ var h;
+ var s;
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var v = Math.max(r, g, b);
+ var diff = v - Math.min(r, g, b);
+ var diffc = function(c) {
+ return (v - c) / 6 / diff + 1 / 2;
+ };
+ if (diff === 0) {
+ h = s = 0;
+ } else {
+ s = diff / v;
+ rdif = diffc(r);
+ gdif = diffc(g);
+ bdif = diffc(b);
+ if (r === v) {
+ h = bdif - gdif;
+ } else if (g === v) {
+ h = 1 / 3 + rdif - bdif;
+ } else if (b === v) {
+ h = 2 / 3 + gdif - rdif;
+ }
+ if (h < 0) {
+ h += 1;
+ } else if (h > 1) {
+ h -= 1;
+ }
}
- read(task) {
- const root = this._getRootDirectory(task);
- const options8 = this._getReaderOptions(task);
- const source = this.api(root, task, options8);
- const destination = new stream_1.Readable({ objectMode: true, read: () => {
- } });
- source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options8.transform(entry))).once("end", () => destination.emit("end"));
- destination.once("close", () => source.destroy());
- return destination;
+ return [
+ h * 360,
+ s * 100,
+ v * 100
+ ];
+ };
+ convert.rgb.hwb = function(rgb) {
+ var r = rgb[0];
+ var g = rgb[1];
+ var b = rgb[2];
+ var h = convert.rgb.hsl(rgb)[0];
+ var w = 1 / 255 * Math.min(r, Math.min(g, b));
+ b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
+ return [h, w * 100, b * 100];
+ };
+ convert.rgb.cmyk = function(rgb) {
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var c;
+ var m;
+ var y;
+ var k;
+ k = Math.min(1 - r, 1 - g, 1 - b);
+ c = (1 - r - k) / (1 - k) || 0;
+ m = (1 - g - k) / (1 - k) || 0;
+ y = (1 - b - k) / (1 - k) || 0;
+ return [c * 100, m * 100, y * 100, k * 100];
+ };
+ function comparativeDistance(x, y) {
+ return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
+ }
+ convert.rgb.keyword = function(rgb) {
+ var reversed = reverseKeywords[rgb];
+ if (reversed) {
+ return reversed;
}
- api(root, task, options8) {
- if (task.dynamic) {
- return this._reader.dynamic(root, options8);
+ var currentClosestDistance = Infinity;
+ var currentClosestKeyword;
+ for (var keyword in cssKeywords) {
+ if (cssKeywords.hasOwnProperty(keyword)) {
+ var value = cssKeywords[keyword];
+ var distance = comparativeDistance(rgb, value);
+ if (distance < currentClosestDistance) {
+ currentClosestDistance = distance;
+ currentClosestKeyword = keyword;
+ }
}
- return this._reader.static(task.patterns, options8);
}
+ return currentClosestKeyword;
};
- exports.default = ProviderStream;
- }
-});
-
-// node_modules/fast-glob/out/readers/sync.js
-var require_sync5 = __commonJS({
- "node_modules/fast-glob/out/readers/sync.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var fsStat = require_out();
- var fsWalk = require_out3();
- var reader_1 = require_reader2();
- var ReaderSync = class extends reader_1.default {
- constructor() {
- super(...arguments);
- this._walkSync = fsWalk.walkSync;
- this._statSync = fsStat.statSync;
+ convert.keyword.rgb = function(keyword) {
+ return cssKeywords[keyword];
+ };
+ convert.rgb.xyz = function(rgb) {
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
+ g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
+ b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
+ var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
+ var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
+ var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
+ return [x * 100, y * 100, z * 100];
+ };
+ convert.rgb.lab = function(rgb) {
+ var xyz = convert.rgb.xyz(rgb);
+ var x = xyz[0];
+ var y = xyz[1];
+ var z = xyz[2];
+ var l;
+ var a;
+ var b;
+ x /= 95.047;
+ y /= 100;
+ z /= 108.883;
+ x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
+ y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
+ z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
+ l = 116 * y - 16;
+ a = 500 * (x - y);
+ b = 200 * (y - z);
+ return [l, a, b];
+ };
+ convert.hsl.rgb = function(hsl) {
+ var h = hsl[0] / 360;
+ var s = hsl[1] / 100;
+ var l = hsl[2] / 100;
+ var t1;
+ var t2;
+ var t3;
+ var rgb;
+ var val;
+ if (s === 0) {
+ val = l * 255;
+ return [val, val, val];
}
- dynamic(root, options8) {
- return this._walkSync(root, options8);
+ if (l < 0.5) {
+ t2 = l * (1 + s);
+ } else {
+ t2 = l + s - l * s;
}
- static(patterns, options8) {
- const entries = [];
- for (const pattern of patterns) {
- const filepath = this._getFullEntryPath(pattern);
- const entry = this._getEntry(filepath, pattern, options8);
- if (entry === null || !options8.entryFilter(entry)) {
- continue;
- }
- entries.push(entry);
+ t1 = 2 * l - t2;
+ rgb = [0, 0, 0];
+ for (var i = 0; i < 3; i++) {
+ t3 = h + 1 / 3 * -(i - 1);
+ if (t3 < 0) {
+ t3++;
}
- return entries;
- }
- _getEntry(filepath, pattern, options8) {
- try {
- const stats = this._getStat(filepath);
- return this._makeEntry(stats, pattern);
- } catch (error) {
- if (options8.errorFilter(error)) {
- return null;
- }
- throw error;
+ if (t3 > 1) {
+ t3--;
+ }
+ if (6 * t3 < 1) {
+ val = t1 + (t2 - t1) * 6 * t3;
+ } else if (2 * t3 < 1) {
+ val = t2;
+ } else if (3 * t3 < 2) {
+ val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
+ } else {
+ val = t1;
}
+ rgb[i] = val * 255;
}
- _getStat(filepath) {
- return this._statSync(filepath, this._fsStatSettings);
+ return rgb;
+ };
+ convert.hsl.hsv = function(hsl) {
+ var h = hsl[0];
+ var s = hsl[1] / 100;
+ var l = hsl[2] / 100;
+ var smin = s;
+ var lmin = Math.max(l, 0.01);
+ var sv;
+ var v;
+ l *= 2;
+ s *= l <= 1 ? l : 2 - l;
+ smin *= lmin <= 1 ? lmin : 2 - lmin;
+ v = (l + s) / 2;
+ sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
+ return [h, sv * 100, v * 100];
+ };
+ convert.hsv.rgb = function(hsv) {
+ var h = hsv[0] / 60;
+ var s = hsv[1] / 100;
+ var v = hsv[2] / 100;
+ var hi = Math.floor(h) % 6;
+ var f = h - Math.floor(h);
+ var p = 255 * v * (1 - s);
+ var q = 255 * v * (1 - s * f);
+ var t = 255 * v * (1 - s * (1 - f));
+ v *= 255;
+ switch (hi) {
+ case 0:
+ return [v, t, p];
+ case 1:
+ return [q, v, p];
+ case 2:
+ return [p, v, t];
+ case 3:
+ return [p, q, v];
+ case 4:
+ return [t, p, v];
+ case 5:
+ return [v, p, q];
}
};
- exports.default = ReaderSync;
- }
-});
-
-// node_modules/fast-glob/out/providers/sync.js
-var require_sync6 = __commonJS({
- "node_modules/fast-glob/out/providers/sync.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var sync_1 = require_sync5();
- var provider_1 = require_provider();
- var ProviderSync = class extends provider_1.default {
- constructor() {
- super(...arguments);
- this._reader = new sync_1.default(this._settings);
+ convert.hsv.hsl = function(hsv) {
+ var h = hsv[0];
+ var s = hsv[1] / 100;
+ var v = hsv[2] / 100;
+ var vmin = Math.max(v, 0.01);
+ var lmin;
+ var sl;
+ var l;
+ l = (2 - s) * v;
+ lmin = (2 - s) * vmin;
+ sl = s * vmin;
+ sl /= lmin <= 1 ? lmin : 2 - lmin;
+ sl = sl || 0;
+ l /= 2;
+ return [h, sl * 100, l * 100];
+ };
+ convert.hwb.rgb = function(hwb) {
+ var h = hwb[0] / 360;
+ var wh = hwb[1] / 100;
+ var bl = hwb[2] / 100;
+ var ratio = wh + bl;
+ var i;
+ var v;
+ var f;
+ var n;
+ if (ratio > 1) {
+ wh /= ratio;
+ bl /= ratio;
}
- read(task) {
- const root = this._getRootDirectory(task);
- const options8 = this._getReaderOptions(task);
- const entries = this.api(root, task, options8);
- return entries.map(options8.transform);
+ i = Math.floor(6 * h);
+ v = 1 - bl;
+ f = 6 * h - i;
+ if ((i & 1) !== 0) {
+ f = 1 - f;
}
- api(root, task, options8) {
- if (task.dynamic) {
- return this._reader.dynamic(root, options8);
- }
- return this._reader.static(task.patterns, options8);
+ n = wh + f * (v - wh);
+ var r;
+ var g;
+ var b;
+ switch (i) {
+ default:
+ case 6:
+ case 0:
+ r = v;
+ g = n;
+ b = wh;
+ break;
+ case 1:
+ r = n;
+ g = v;
+ b = wh;
+ break;
+ case 2:
+ r = wh;
+ g = v;
+ b = n;
+ break;
+ case 3:
+ r = wh;
+ g = n;
+ b = v;
+ break;
+ case 4:
+ r = n;
+ g = wh;
+ b = v;
+ break;
+ case 5:
+ r = v;
+ g = wh;
+ b = n;
+ break;
}
+ return [r * 255, g * 255, b * 255];
};
- exports.default = ProviderSync;
- }
-});
-
-// node_modules/fast-glob/out/settings.js
-var require_settings4 = __commonJS({
- "node_modules/fast-glob/out/settings.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
- var fs5 = __require("fs");
- var os = __require("os");
- var CPU_COUNT = Math.max(os.cpus().length, 1);
- exports.DEFAULT_FILE_SYSTEM_ADAPTER = {
- lstat: fs5.lstat,
- lstatSync: fs5.lstatSync,
- stat: fs5.stat,
- statSync: fs5.statSync,
- readdir: fs5.readdir,
- readdirSync: fs5.readdirSync
+ convert.cmyk.rgb = function(cmyk) {
+ var c = cmyk[0] / 100;
+ var m = cmyk[1] / 100;
+ var y = cmyk[2] / 100;
+ var k = cmyk[3] / 100;
+ var r;
+ var g;
+ var b;
+ r = 1 - Math.min(1, c * (1 - k) + k);
+ g = 1 - Math.min(1, m * (1 - k) + k);
+ b = 1 - Math.min(1, y * (1 - k) + k);
+ return [r * 255, g * 255, b * 255];
};
- var Settings = class {
- constructor(_options = {}) {
- this._options = _options;
- this.absolute = this._getValue(this._options.absolute, false);
- this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);
- this.braceExpansion = this._getValue(this._options.braceExpansion, true);
- this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);
- this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT);
- this.cwd = this._getValue(this._options.cwd, process.cwd());
- this.deep = this._getValue(this._options.deep, Infinity);
- this.dot = this._getValue(this._options.dot, false);
- this.extglob = this._getValue(this._options.extglob, true);
- this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true);
- this.fs = this._getFileSystemMethods(this._options.fs);
- this.globstar = this._getValue(this._options.globstar, true);
- this.ignore = this._getValue(this._options.ignore, []);
- this.markDirectories = this._getValue(this._options.markDirectories, false);
- this.objectMode = this._getValue(this._options.objectMode, false);
- this.onlyDirectories = this._getValue(this._options.onlyDirectories, false);
- this.onlyFiles = this._getValue(this._options.onlyFiles, true);
- this.stats = this._getValue(this._options.stats, false);
- this.suppressErrors = this._getValue(this._options.suppressErrors, false);
- this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false);
- this.unique = this._getValue(this._options.unique, true);
- if (this.onlyDirectories) {
- this.onlyFiles = false;
- }
- if (this.stats) {
- this.objectMode = true;
- }
- }
- _getValue(option, value) {
- return option === void 0 ? value : option;
- }
- _getFileSystemMethods(methods = {}) {
- return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods);
+ convert.xyz.rgb = function(xyz) {
+ var x = xyz[0] / 100;
+ var y = xyz[1] / 100;
+ var z = xyz[2] / 100;
+ var r;
+ var g;
+ var b;
+ r = x * 3.2406 + y * -1.5372 + z * -0.4986;
+ g = x * -0.9689 + y * 1.8758 + z * 0.0415;
+ b = x * 0.0557 + y * -0.204 + z * 1.057;
+ r = r > 31308e-7 ? 1.055 * Math.pow(r, 1 / 2.4) - 0.055 : r * 12.92;
+ g = g > 31308e-7 ? 1.055 * Math.pow(g, 1 / 2.4) - 0.055 : g * 12.92;
+ b = b > 31308e-7 ? 1.055 * Math.pow(b, 1 / 2.4) - 0.055 : b * 12.92;
+ r = Math.min(Math.max(0, r), 1);
+ g = Math.min(Math.max(0, g), 1);
+ b = Math.min(Math.max(0, b), 1);
+ return [r * 255, g * 255, b * 255];
+ };
+ convert.xyz.lab = function(xyz) {
+ var x = xyz[0];
+ var y = xyz[1];
+ var z = xyz[2];
+ var l;
+ var a;
+ var b;
+ x /= 95.047;
+ y /= 100;
+ z /= 108.883;
+ x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
+ y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
+ z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
+ l = 116 * y - 16;
+ a = 500 * (x - y);
+ b = 200 * (y - z);
+ return [l, a, b];
+ };
+ convert.lab.xyz = function(lab) {
+ var l = lab[0];
+ var a = lab[1];
+ var b = lab[2];
+ var x;
+ var y;
+ var z;
+ y = (l + 16) / 116;
+ x = a / 500 + y;
+ z = y - b / 200;
+ var y2 = Math.pow(y, 3);
+ var x2 = Math.pow(x, 3);
+ var z2 = Math.pow(z, 3);
+ y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787;
+ x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787;
+ z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787;
+ x *= 95.047;
+ y *= 100;
+ z *= 108.883;
+ return [x, y, z];
+ };
+ convert.lab.lch = function(lab) {
+ var l = lab[0];
+ var a = lab[1];
+ var b = lab[2];
+ var hr;
+ var h;
+ var c;
+ hr = Math.atan2(b, a);
+ h = hr * 360 / 2 / Math.PI;
+ if (h < 0) {
+ h += 360;
}
+ c = Math.sqrt(a * a + b * b);
+ return [l, c, h];
};
- exports.default = Settings;
- }
-});
-
-// node_modules/fast-glob/out/index.js
-var require_out4 = __commonJS({
- "node_modules/fast-glob/out/index.js"(exports, module) {
- "use strict";
- var taskManager = require_tasks();
- var patternManager = require_patterns();
- var async_1 = require_async6();
- var stream_1 = require_stream4();
- var sync_1 = require_sync6();
- var settings_1 = require_settings4();
- var utils = require_utils4();
- async function FastGlob(source, options8) {
- assertPatternsInput(source);
- const works = getWorks(source, async_1.default, options8);
- const result = await Promise.all(works);
- return utils.array.flatten(result);
- }
- (function(FastGlob2) {
- function sync(source, options8) {
- assertPatternsInput(source);
- const works = getWorks(source, sync_1.default, options8);
- return utils.array.flatten(works);
- }
- FastGlob2.sync = sync;
- function stream(source, options8) {
- assertPatternsInput(source);
- const works = getWorks(source, stream_1.default, options8);
- return utils.stream.merge(works);
- }
- FastGlob2.stream = stream;
- function generateTasks(source, options8) {
- assertPatternsInput(source);
- const patterns = patternManager.transform([].concat(source));
- const settings = new settings_1.default(options8);
- return taskManager.generate(patterns, settings);
- }
- FastGlob2.generateTasks = generateTasks;
- function isDynamicPattern(source, options8) {
- assertPatternsInput(source);
- const settings = new settings_1.default(options8);
- return utils.pattern.isDynamicPattern(source, settings);
- }
- FastGlob2.isDynamicPattern = isDynamicPattern;
- function escapePath(source) {
- assertPatternsInput(source);
- return utils.path.escape(source);
+ convert.lch.lab = function(lch) {
+ var l = lch[0];
+ var c = lch[1];
+ var h = lch[2];
+ var a;
+ var b;
+ var hr;
+ hr = h / 360 * 2 * Math.PI;
+ a = c * Math.cos(hr);
+ b = c * Math.sin(hr);
+ return [l, a, b];
+ };
+ convert.rgb.ansi16 = function(args) {
+ var r = args[0];
+ var g = args[1];
+ var b = args[2];
+ var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2];
+ value = Math.round(value / 50);
+ if (value === 0) {
+ return 30;
}
- FastGlob2.escapePath = escapePath;
- })(FastGlob || (FastGlob = {}));
- function getWorks(source, _Provider, options8) {
- const patterns = patternManager.transform([].concat(source));
- const settings = new settings_1.default(options8);
- const tasks = taskManager.generate(patterns, settings);
- const provider = new _Provider(settings);
- return tasks.map(provider.read, provider);
- }
- function assertPatternsInput(input) {
- const source = [].concat(input);
- const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item));
- if (!isValidSource) {
- throw new TypeError("Patterns must be a string (non empty) or an array of strings");
+ var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
+ if (value === 2) {
+ ansi += 60;
}
- }
- module.exports = FastGlob;
- }
-});
-
-// node_modules/diff/lib/diff/base.js
-var require_base = __commonJS({
- "node_modules/diff/lib/diff/base.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports["default"] = Diff;
- function Diff() {
- }
- Diff.prototype = {
- /*istanbul ignore start*/
- /*istanbul ignore end*/
- diff: function diff(oldString, newString) {
- var options8 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
- var callback = options8.callback;
- if (typeof options8 === "function") {
- callback = options8;
- options8 = {};
- }
- this.options = options8;
- var self = this;
- function done(value) {
- if (callback) {
- setTimeout(function() {
- callback(void 0, value);
- }, 0);
- return true;
- } else {
- return value;
- }
- }
- oldString = this.castInput(oldString);
- newString = this.castInput(newString);
- oldString = this.removeEmpty(this.tokenize(oldString));
- newString = this.removeEmpty(this.tokenize(newString));
- var newLen = newString.length, oldLen = oldString.length;
- var editLength = 1;
- var maxEditLength = newLen + oldLen;
- if (options8.maxEditLength) {
- maxEditLength = Math.min(maxEditLength, options8.maxEditLength);
- }
- var bestPath = [{
- newPos: -1,
- components: []
- }];
- var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);
- if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
- return done([{
- value: this.join(newString),
- count: newString.length
- }]);
- }
- function execEditLength() {
- for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {
- var basePath = (
- /*istanbul ignore start*/
- void 0
- );
- var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;
- if (addPath) {
- bestPath[diagonalPath - 1] = void 0;
- }
- var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;
- if (!canAdd && !canRemove) {
- bestPath[diagonalPath] = void 0;
- continue;
- }
- if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {
- basePath = clonePath(removePath);
- self.pushComponent(basePath.components, void 0, true);
- } else {
- basePath = addPath;
- basePath.newPos++;
- self.pushComponent(basePath.components, true, void 0);
- }
- _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath);
- if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {
- return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));
- } else {
- bestPath[diagonalPath] = basePath;
- }
- }
- editLength++;
- }
- if (callback) {
- (function exec() {
- setTimeout(function() {
- if (editLength > maxEditLength) {
- return callback();
- }
- if (!execEditLength()) {
- exec();
- }
- }, 0);
- })();
- } else {
- while (editLength <= maxEditLength) {
- var ret = execEditLength();
- if (ret) {
- return ret;
- }
- }
- }
- },
- /*istanbul ignore start*/
- /*istanbul ignore end*/
- pushComponent: function pushComponent(components, added, removed) {
- var last = components[components.length - 1];
- if (last && last.added === added && last.removed === removed) {
- components[components.length - 1] = {
- count: last.count + 1,
- added,
- removed
- };
- } else {
- components.push({
- count: 1,
- added,
- removed
- });
- }
- },
- /*istanbul ignore start*/
- /*istanbul ignore end*/
- extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {
- var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0;
- while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {
- newPos++;
- oldPos++;
- commonCount++;
- }
- if (commonCount) {
- basePath.components.push({
- count: commonCount
- });
- }
- basePath.newPos = newPos;
- return oldPos;
- },
- /*istanbul ignore start*/
- /*istanbul ignore end*/
- equals: function equals(left, right) {
- if (this.options.comparator) {
- return this.options.comparator(left, right);
- } else {
- return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();
+ return ansi;
+ };
+ convert.hsv.ansi16 = function(args) {
+ return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
+ };
+ convert.rgb.ansi256 = function(args) {
+ var r = args[0];
+ var g = args[1];
+ var b = args[2];
+ if (r === g && g === b) {
+ if (r < 8) {
+ return 16;
}
- },
- /*istanbul ignore start*/
- /*istanbul ignore end*/
- removeEmpty: function removeEmpty(array) {
- var ret = [];
- for (var i = 0; i < array.length; i++) {
- if (array[i]) {
- ret.push(array[i]);
- }
+ if (r > 248) {
+ return 231;
}
- return ret;
- },
- /*istanbul ignore start*/
- /*istanbul ignore end*/
- castInput: function castInput(value) {
- return value;
- },
- /*istanbul ignore start*/
- /*istanbul ignore end*/
- tokenize: function tokenize(value) {
- return value.split("");
- },
- /*istanbul ignore start*/
- /*istanbul ignore end*/
- join: function join2(chars) {
- return chars.join("");
+ return Math.round((r - 8) / 247 * 24) + 232;
}
+ var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
+ return ansi;
};
- function buildValues(diff, components, newString, oldString, useLongestToken) {
- var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0;
- for (; componentPos < componentLen; componentPos++) {
- var component = components[componentPos];
- if (!component.removed) {
- if (!component.added && useLongestToken) {
- var value = newString.slice(newPos, newPos + component.count);
- value = value.map(function(value2, i) {
- var oldValue = oldString[oldPos + i];
- return oldValue.length > value2.length ? oldValue : value2;
- });
- component.value = diff.join(value);
- } else {
- component.value = diff.join(newString.slice(newPos, newPos + component.count));
- }
- newPos += component.count;
- if (!component.added) {
- oldPos += component.count;
- }
- } else {
- component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));
- oldPos += component.count;
- if (componentPos && components[componentPos - 1].added) {
- var tmp = components[componentPos - 1];
- components[componentPos - 1] = components[componentPos];
- components[componentPos] = tmp;
- }
+ convert.ansi16.rgb = function(args) {
+ var color = args % 10;
+ if (color === 0 || color === 7) {
+ if (args > 50) {
+ color += 3.5;
}
+ color = color / 10.5 * 255;
+ return [color, color, color];
}
- var lastComponent = components[componentLen - 1];
- if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff.equals("", lastComponent.value)) {
- components[componentLen - 2].value += lastComponent.value;
- components.pop();
+ var mult = (~~(args > 50) + 1) * 0.5;
+ var r = (color & 1) * mult * 255;
+ var g = (color >> 1 & 1) * mult * 255;
+ var b = (color >> 2 & 1) * mult * 255;
+ return [r, g, b];
+ };
+ convert.ansi256.rgb = function(args) {
+ if (args >= 232) {
+ var c = (args - 232) * 10 + 8;
+ return [c, c, c];
}
- return components;
- }
- function clonePath(path9) {
- return {
- newPos: path9.newPos,
- components: path9.components.slice(0)
- };
- }
- }
-});
-
-// node_modules/diff/lib/diff/array.js
-var require_array3 = __commonJS({
- "node_modules/diff/lib/diff/array.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.diffArrays = diffArrays2;
- exports.arrayDiff = void 0;
- var _base = _interopRequireDefault(require_base());
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { "default": obj };
- }
- var arrayDiff = new /*istanbul ignore start*/
- _base[
- /*istanbul ignore start*/
- "default"
- /*istanbul ignore end*/
- ]();
- exports.arrayDiff = arrayDiff;
- arrayDiff.tokenize = function(value) {
- return value.slice();
+ args -= 16;
+ var rem;
+ var r = Math.floor(args / 36) / 5 * 255;
+ var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
+ var b = rem % 6 / 5 * 255;
+ return [r, g, b];
};
- arrayDiff.join = arrayDiff.removeEmpty = function(value) {
- return value;
+ convert.rgb.hex = function(args) {
+ var integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
+ var string = integer.toString(16).toUpperCase();
+ return "000000".substring(string.length) + string;
};
- function diffArrays2(oldArr, newArr, callback) {
- return arrayDiff.diff(oldArr, newArr, callback);
- }
- }
-});
-
-// node_modules/n-readlines/readlines.js
-var require_readlines = __commonJS({
- "node_modules/n-readlines/readlines.js"(exports, module) {
- "use strict";
- var fs5 = __require("fs");
- var LineByLine = class {
- constructor(file, options8) {
- options8 = options8 || {};
- if (!options8.readChunk)
- options8.readChunk = 1024;
- if (!options8.newLineCharacter) {
- options8.newLineCharacter = 10;
- } else {
- options8.newLineCharacter = options8.newLineCharacter.charCodeAt(0);
- }
- if (typeof file === "number") {
- this.fd = file;
- } else {
- this.fd = fs5.openSync(file, "r");
- }
- this.options = options8;
- this.newLineCharacter = options8.newLineCharacter;
- this.reset();
+ convert.hex.rgb = function(args) {
+ var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
+ if (!match) {
+ return [0, 0, 0];
}
- _searchInBuffer(buffer, hexNeedle) {
- let found = -1;
- for (let i = 0; i <= buffer.length; i++) {
- let b_byte = buffer[i];
- if (b_byte === hexNeedle) {
- found = i;
- break;
- }
- }
- return found;
+ var colorString = match[0];
+ if (match[0].length === 3) {
+ colorString = colorString.split("").map(function(char) {
+ return char + char;
+ }).join("");
}
- reset() {
- this.eofReached = false;
- this.linesCache = [];
- this.fdPosition = 0;
+ var integer = parseInt(colorString, 16);
+ var r = integer >> 16 & 255;
+ var g = integer >> 8 & 255;
+ var b = integer & 255;
+ return [r, g, b];
+ };
+ convert.rgb.hcg = function(rgb) {
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var max = Math.max(Math.max(r, g), b);
+ var min = Math.min(Math.min(r, g), b);
+ var chroma = max - min;
+ var grayscale;
+ var hue;
+ if (chroma < 1) {
+ grayscale = min / (1 - chroma);
+ } else {
+ grayscale = 0;
}
- close() {
- fs5.closeSync(this.fd);
- this.fd = null;
+ if (chroma <= 0) {
+ hue = 0;
+ } else if (max === r) {
+ hue = (g - b) / chroma % 6;
+ } else if (max === g) {
+ hue = 2 + (b - r) / chroma;
+ } else {
+ hue = 4 + (r - g) / chroma + 4;
+ }
+ hue /= 6;
+ hue %= 1;
+ return [hue * 360, chroma * 100, grayscale * 100];
+ };
+ convert.hsl.hcg = function(hsl) {
+ var s = hsl[1] / 100;
+ var l = hsl[2] / 100;
+ var c = 1;
+ var f = 0;
+ if (l < 0.5) {
+ c = 2 * s * l;
+ } else {
+ c = 2 * s * (1 - l);
+ }
+ if (c < 1) {
+ f = (l - 0.5 * c) / (1 - c);
+ }
+ return [hsl[0], c * 100, f * 100];
+ };
+ convert.hsv.hcg = function(hsv) {
+ var s = hsv[1] / 100;
+ var v = hsv[2] / 100;
+ var c = s * v;
+ var f = 0;
+ if (c < 1) {
+ f = (v - c) / (1 - c);
+ }
+ return [hsv[0], c * 100, f * 100];
+ };
+ convert.hcg.rgb = function(hcg) {
+ var h = hcg[0] / 360;
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
+ if (c === 0) {
+ return [g * 255, g * 255, g * 255];
+ }
+ var pure = [0, 0, 0];
+ var hi = h % 1 * 6;
+ var v = hi % 1;
+ var w = 1 - v;
+ var mg = 0;
+ switch (Math.floor(hi)) {
+ case 0:
+ pure[0] = 1;
+ pure[1] = v;
+ pure[2] = 0;
+ break;
+ case 1:
+ pure[0] = w;
+ pure[1] = 1;
+ pure[2] = 0;
+ break;
+ case 2:
+ pure[0] = 0;
+ pure[1] = 1;
+ pure[2] = v;
+ break;
+ case 3:
+ pure[0] = 0;
+ pure[1] = w;
+ pure[2] = 1;
+ break;
+ case 4:
+ pure[0] = v;
+ pure[1] = 0;
+ pure[2] = 1;
+ break;
+ default:
+ pure[0] = 1;
+ pure[1] = 0;
+ pure[2] = w;
}
- _extractLines(buffer) {
- let line2;
- const lines = [];
- let bufferPosition = 0;
- let lastNewLineBufferPosition = 0;
- while (true) {
- let bufferPositionValue = buffer[bufferPosition++];
- if (bufferPositionValue === this.newLineCharacter) {
- line2 = buffer.slice(lastNewLineBufferPosition, bufferPosition);
- lines.push(line2);
- lastNewLineBufferPosition = bufferPosition;
- } else if (bufferPositionValue === void 0) {
- break;
- }
- }
- let leftovers = buffer.slice(lastNewLineBufferPosition, bufferPosition);
- if (leftovers.length) {
- lines.push(leftovers);
- }
- return lines;
+ mg = (1 - c) * g;
+ return [
+ (c * pure[0] + mg) * 255,
+ (c * pure[1] + mg) * 255,
+ (c * pure[2] + mg) * 255
+ ];
+ };
+ convert.hcg.hsv = function(hcg) {
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
+ var v = c + g * (1 - c);
+ var f = 0;
+ if (v > 0) {
+ f = c / v;
}
- _readChunk(lineLeftovers) {
- let totalBytesRead = 0;
- let bytesRead;
- const buffers = [];
- do {
- const readBuffer = Buffer.alloc(this.options.readChunk);
- bytesRead = fs5.readSync(this.fd, readBuffer, 0, this.options.readChunk, this.fdPosition);
- totalBytesRead = totalBytesRead + bytesRead;
- this.fdPosition = this.fdPosition + bytesRead;
- buffers.push(readBuffer);
- } while (bytesRead && this._searchInBuffer(buffers[buffers.length - 1], this.options.newLineCharacter) === -1);
- let bufferData = Buffer.concat(buffers);
- if (bytesRead < this.options.readChunk) {
- this.eofReached = true;
- bufferData = bufferData.slice(0, totalBytesRead);
- }
- if (totalBytesRead) {
- this.linesCache = this._extractLines(bufferData);
- if (lineLeftovers) {
- this.linesCache[0] = Buffer.concat([lineLeftovers, this.linesCache[0]]);
- }
- }
- return totalBytesRead;
+ return [hcg[0], f * 100, v * 100];
+ };
+ convert.hcg.hsl = function(hcg) {
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
+ var l = g * (1 - c) + 0.5 * c;
+ var s = 0;
+ if (l > 0 && l < 0.5) {
+ s = c / (2 * l);
+ } else if (l >= 0.5 && l < 1) {
+ s = c / (2 * (1 - l));
}
- next() {
- if (!this.fd)
- return false;
- let line2 = false;
- if (this.eofReached && this.linesCache.length === 0) {
- return line2;
- }
- let bytesRead;
- if (!this.linesCache.length) {
- bytesRead = this._readChunk();
- }
- if (this.linesCache.length) {
- line2 = this.linesCache.shift();
- const lastLineCharacter = line2[line2.length - 1];
- if (lastLineCharacter !== this.newLineCharacter) {
- bytesRead = this._readChunk(line2);
- if (bytesRead) {
- line2 = this.linesCache.shift();
- }
- }
- }
- if (this.eofReached && this.linesCache.length === 0) {
- this.close();
- }
- if (line2 && line2[line2.length - 1] === this.newLineCharacter) {
- line2 = line2.slice(0, line2.length - 1);
- }
- return line2;
+ return [hcg[0], s * 100, l * 100];
+ };
+ convert.hcg.hwb = function(hcg) {
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
+ var v = c + g * (1 - c);
+ return [hcg[0], (v - c) * 100, (1 - v) * 100];
+ };
+ convert.hwb.hcg = function(hwb) {
+ var w = hwb[1] / 100;
+ var b = hwb[2] / 100;
+ var v = 1 - b;
+ var c = v - w;
+ var g = 0;
+ if (c < 1) {
+ g = (v - c) / (1 - c);
}
+ return [hwb[0], c * 100, g * 100];
};
- module.exports = LineByLine;
- }
-});
-
-// node_modules/js-tokens/index.js
-var require_js_tokens = __commonJS({
- "node_modules/js-tokens/index.js"(exports) {
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
- exports.matchToToken = function(match) {
- var token = { type: "invalid", value: match[0], closed: void 0 };
- if (match[1])
- token.type = "string", token.closed = !!(match[3] || match[4]);
- else if (match[5])
- token.type = "comment";
- else if (match[6])
- token.type = "comment", token.closed = !!match[7];
- else if (match[8])
- token.type = "regex";
- else if (match[9])
- token.type = "number";
- else if (match[10])
- token.type = "name";
- else if (match[11])
- token.type = "punctuator";
- else if (match[12])
- token.type = "whitespace";
- return token;
+ convert.apple.rgb = function(apple) {
+ return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
+ };
+ convert.rgb.apple = function(rgb) {
+ return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
+ };
+ convert.gray.rgb = function(args) {
+ return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
+ };
+ convert.gray.hsl = convert.gray.hsv = function(args) {
+ return [0, 0, args[0]];
+ };
+ convert.gray.hwb = function(gray) {
+ return [0, 100, gray[0]];
+ };
+ convert.gray.cmyk = function(gray) {
+ return [0, 0, 0, gray[0]];
+ };
+ convert.gray.lab = function(gray) {
+ return [gray[0], 0, 0];
+ };
+ convert.gray.hex = function(gray) {
+ var val = Math.round(gray[0] / 100 * 255) & 255;
+ var integer = (val << 16) + (val << 8) + val;
+ var string = integer.toString(16).toUpperCase();
+ return "000000".substring(string.length) + string;
+ };
+ convert.rgb.gray = function(rgb) {
+ var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
+ return [val / 255 * 100];
};
}
});
-// node_modules/@babel/helper-validator-identifier/lib/identifier.js
-var require_identifier = __commonJS({
- "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.isIdentifierChar = isIdentifierChar;
- exports.isIdentifierName = isIdentifierName;
- exports.isIdentifierStart = isIdentifierStart;
- 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";
- 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\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\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";
- var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
- var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
- nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
- 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, 3104, 541, 1507, 4938, 6, 4191];
- 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];
- function isInAstralSet(code, set) {
- let pos = 65536;
- for (let i = 0, length = set.length; i < length; i += 2) {
- pos += set[i];
- if (pos > code)
- return false;
- pos += set[i + 1];
- if (pos >= code)
- return true;
- }
- return false;
- }
- function isIdentifierStart(code) {
- if (code < 65)
- return code === 36;
- if (code <= 90)
- return true;
- if (code < 97)
- return code === 95;
- if (code <= 122)
- return true;
- if (code <= 65535) {
- return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code));
- }
- return isInAstralSet(code, astralIdentifierStartCodes);
- }
- function isIdentifierChar(code) {
- if (code < 48)
- return code === 36;
- if (code < 58)
- return true;
- if (code < 65)
- return false;
- if (code <= 90)
- return true;
- if (code < 97)
- return code === 95;
- if (code <= 122)
- return true;
- if (code <= 65535) {
- return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code));
+// node_modules/color-convert/route.js
+var require_route = __commonJS({
+ "node_modules/color-convert/route.js"(exports, module) {
+ var conversions = require_conversions();
+ function buildGraph() {
+ var graph = {};
+ var models = Object.keys(conversions);
+ for (var len = models.length, i = 0; i < len; i++) {
+ graph[models[i]] = {
+ // http://jsperf.com/1-vs-infinity
+ // micro-opt, but this is simple.
+ distance: -1,
+ parent: null
+ };
}
- return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
+ return graph;
}
- function isIdentifierName(name) {
- let isFirst = true;
- for (let i = 0; i < name.length; i++) {
- let cp = name.charCodeAt(i);
- if ((cp & 64512) === 55296 && i + 1 < name.length) {
- const trail = name.charCodeAt(++i);
- if ((trail & 64512) === 56320) {
- cp = 65536 + ((cp & 1023) << 10) + (trail & 1023);
- }
- }
- if (isFirst) {
- isFirst = false;
- if (!isIdentifierStart(cp)) {
- return false;
+ function deriveBFS(fromModel) {
+ var graph = buildGraph();
+ var queue = [fromModel];
+ graph[fromModel].distance = 0;
+ while (queue.length) {
+ var current = queue.pop();
+ var adjacents = Object.keys(conversions[current]);
+ for (var len = adjacents.length, i = 0; i < len; i++) {
+ var adjacent = adjacents[i];
+ var node = graph[adjacent];
+ if (node.distance === -1) {
+ node.distance = graph[current].distance + 1;
+ node.parent = current;
+ queue.unshift(adjacent);
}
- } else if (!isIdentifierChar(cp)) {
- return false;
}
}
- return !isFirst;
+ return graph;
+ }
+ function link(from, to) {
+ return function(args) {
+ return to(from(args));
+ };
+ }
+ function wrapConversion(toModel, graph) {
+ var path9 = [graph[toModel].parent, toModel];
+ var fn = conversions[graph[toModel].parent][toModel];
+ var cur = graph[toModel].parent;
+ while (graph[cur].parent) {
+ path9.unshift(graph[cur].parent);
+ fn = link(conversions[graph[cur].parent][cur], fn);
+ cur = graph[cur].parent;
+ }
+ fn.conversion = path9;
+ return fn;
}
+ module.exports = function(fromModel) {
+ var graph = deriveBFS(fromModel);
+ var conversion = {};
+ var models = Object.keys(graph);
+ for (var len = models.length, i = 0; i < len; i++) {
+ var toModel = models[i];
+ var node = graph[toModel];
+ if (node.parent === null) {
+ continue;
+ }
+ conversion[toModel] = wrapConversion(toModel, graph);
+ }
+ return conversion;
+ };
}
});
-// node_modules/@babel/helper-validator-identifier/lib/keyword.js
-var require_keyword = __commonJS({
- "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.isKeyword = isKeyword;
- exports.isReservedWord = isReservedWord;
- exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
- exports.isStrictBindReservedWord = isStrictBindReservedWord;
- exports.isStrictReservedWord = isStrictReservedWord;
- var reservedWords = {
- keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
- strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
- strictBind: ["eval", "arguments"]
- };
- var keywords = new Set(reservedWords.keyword);
- var reservedWordsStrictSet = new Set(reservedWords.strict);
- var reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
- function isReservedWord(word, inModule) {
- return inModule && word === "await" || word === "enum";
- }
- function isStrictReservedWord(word, inModule) {
- return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
- }
- function isStrictBindOnlyReservedWord(word) {
- return reservedWordsStrictBindSet.has(word);
- }
- function isStrictBindReservedWord(word, inModule) {
- return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
+// node_modules/color-convert/index.js
+var require_color_convert = __commonJS({
+ "node_modules/color-convert/index.js"(exports, module) {
+ var conversions = require_conversions();
+ var route = require_route();
+ var convert = {};
+ var models = Object.keys(conversions);
+ function wrapRaw(fn) {
+ var wrappedFn = function(args) {
+ if (args === void 0 || args === null) {
+ return args;
+ }
+ if (arguments.length > 1) {
+ args = Array.prototype.slice.call(arguments);
+ }
+ return fn(args);
+ };
+ if ("conversion" in fn) {
+ wrappedFn.conversion = fn.conversion;
+ }
+ return wrappedFn;
}
- function isKeyword(word) {
- return keywords.has(word);
+ function wrapRounded(fn) {
+ var wrappedFn = function(args) {
+ if (args === void 0 || args === null) {
+ return args;
+ }
+ if (arguments.length > 1) {
+ args = Array.prototype.slice.call(arguments);
+ }
+ var result = fn(args);
+ if (typeof result === "object") {
+ for (var len = result.length, i = 0; i < len; i++) {
+ result[i] = Math.round(result[i]);
+ }
+ }
+ return result;
+ };
+ if ("conversion" in fn) {
+ wrappedFn.conversion = fn.conversion;
+ }
+ return wrappedFn;
}
+ models.forEach(function(fromModel) {
+ convert[fromModel] = {};
+ Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels });
+ Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels });
+ var routes = route(fromModel);
+ var routeModels = Object.keys(routes);
+ routeModels.forEach(function(toModel) {
+ var fn = routes[toModel];
+ convert[fromModel][toModel] = wrapRounded(fn);
+ convert[fromModel][toModel].raw = wrapRaw(fn);
+ });
+ });
+ module.exports = convert;
}
});
-// node_modules/@babel/helper-validator-identifier/lib/index.js
-var require_lib2 = __commonJS({
- "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports) {
+// node_modules/ansi-styles/index.js
+var require_ansi_styles = __commonJS({
+ "node_modules/ansi-styles/index.js"(exports, module) {
"use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- Object.defineProperty(exports, "isIdentifierChar", {
- enumerable: true,
- get: function() {
- return _identifier.isIdentifierChar;
- }
- });
- Object.defineProperty(exports, "isIdentifierName", {
- enumerable: true,
- get: function() {
- return _identifier.isIdentifierName;
- }
- });
- Object.defineProperty(exports, "isIdentifierStart", {
- enumerable: true,
- get: function() {
- return _identifier.isIdentifierStart;
- }
- });
- Object.defineProperty(exports, "isKeyword", {
- enumerable: true,
- get: function() {
- return _keyword.isKeyword;
- }
- });
- Object.defineProperty(exports, "isReservedWord", {
- enumerable: true,
- get: function() {
- return _keyword.isReservedWord;
- }
- });
- Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
- enumerable: true,
- get: function() {
- return _keyword.isStrictBindOnlyReservedWord;
+ var colorConvert = require_color_convert();
+ var wrapAnsi162 = (fn, offset) => function() {
+ const code = fn.apply(colorConvert, arguments);
+ return `\x1B[${code + offset}m`;
+ };
+ var wrapAnsi2562 = (fn, offset) => function() {
+ const code = fn.apply(colorConvert, arguments);
+ return `\x1B[${38 + offset};5;${code}m`;
+ };
+ var wrapAnsi16m2 = (fn, offset) => function() {
+ const rgb = fn.apply(colorConvert, arguments);
+ return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
+ };
+ function assembleStyles2() {
+ const codes2 = /* @__PURE__ */ new Map();
+ const styles3 = {
+ modifier: {
+ reset: [0, 0],
+ // 21 isn't widely supported and 22 does the same thing
+ bold: [1, 22],
+ dim: [2, 22],
+ italic: [3, 23],
+ underline: [4, 24],
+ inverse: [7, 27],
+ hidden: [8, 28],
+ strikethrough: [9, 29]
+ },
+ color: {
+ black: [30, 39],
+ red: [31, 39],
+ green: [32, 39],
+ yellow: [33, 39],
+ blue: [34, 39],
+ magenta: [35, 39],
+ cyan: [36, 39],
+ white: [37, 39],
+ gray: [90, 39],
+ // Bright color
+ redBright: [91, 39],
+ greenBright: [92, 39],
+ yellowBright: [93, 39],
+ blueBright: [94, 39],
+ magentaBright: [95, 39],
+ cyanBright: [96, 39],
+ whiteBright: [97, 39]
+ },
+ bgColor: {
+ bgBlack: [40, 49],
+ bgRed: [41, 49],
+ bgGreen: [42, 49],
+ bgYellow: [43, 49],
+ bgBlue: [44, 49],
+ bgMagenta: [45, 49],
+ bgCyan: [46, 49],
+ bgWhite: [47, 49],
+ // Bright color
+ bgBlackBright: [100, 49],
+ bgRedBright: [101, 49],
+ bgGreenBright: [102, 49],
+ bgYellowBright: [103, 49],
+ bgBlueBright: [104, 49],
+ bgMagentaBright: [105, 49],
+ bgCyanBright: [106, 49],
+ bgWhiteBright: [107, 49]
+ }
+ };
+ styles3.color.grey = styles3.color.gray;
+ for (const groupName of Object.keys(styles3)) {
+ const group = styles3[groupName];
+ for (const styleName of Object.keys(group)) {
+ const style = group[styleName];
+ styles3[styleName] = {
+ open: `\x1B[${style[0]}m`,
+ close: `\x1B[${style[1]}m`
+ };
+ group[styleName] = styles3[styleName];
+ codes2.set(style[0], style[1]);
+ }
+ Object.defineProperty(styles3, groupName, {
+ value: group,
+ enumerable: false
+ });
+ Object.defineProperty(styles3, "codes", {
+ value: codes2,
+ enumerable: false
+ });
}
- });
- Object.defineProperty(exports, "isStrictBindReservedWord", {
- enumerable: true,
- get: function() {
- return _keyword.isStrictBindReservedWord;
+ const ansi2ansi = (n) => n;
+ const rgb2rgb = (r, g, b) => [r, g, b];
+ styles3.color.close = "\x1B[39m";
+ styles3.bgColor.close = "\x1B[49m";
+ styles3.color.ansi = {
+ ansi: wrapAnsi162(ansi2ansi, 0)
+ };
+ styles3.color.ansi256 = {
+ ansi256: wrapAnsi2562(ansi2ansi, 0)
+ };
+ styles3.color.ansi16m = {
+ rgb: wrapAnsi16m2(rgb2rgb, 0)
+ };
+ styles3.bgColor.ansi = {
+ ansi: wrapAnsi162(ansi2ansi, 10)
+ };
+ styles3.bgColor.ansi256 = {
+ ansi256: wrapAnsi2562(ansi2ansi, 10)
+ };
+ styles3.bgColor.ansi16m = {
+ rgb: wrapAnsi16m2(rgb2rgb, 10)
+ };
+ for (let key of Object.keys(colorConvert)) {
+ if (typeof colorConvert[key] !== "object") {
+ continue;
+ }
+ const suite = colorConvert[key];
+ if (key === "ansi16") {
+ key = "ansi";
+ }
+ if ("ansi16" in suite) {
+ styles3.color.ansi[key] = wrapAnsi162(suite.ansi16, 0);
+ styles3.bgColor.ansi[key] = wrapAnsi162(suite.ansi16, 10);
+ }
+ if ("ansi256" in suite) {
+ styles3.color.ansi256[key] = wrapAnsi2562(suite.ansi256, 0);
+ styles3.bgColor.ansi256[key] = wrapAnsi2562(suite.ansi256, 10);
+ }
+ if ("rgb" in suite) {
+ styles3.color.ansi16m[key] = wrapAnsi16m2(suite.rgb, 0);
+ styles3.bgColor.ansi16m[key] = wrapAnsi16m2(suite.rgb, 10);
+ }
}
- });
- Object.defineProperty(exports, "isStrictReservedWord", {
+ return styles3;
+ }
+ Object.defineProperty(module, "exports", {
enumerable: true,
- get: function() {
- return _keyword.isStrictReservedWord;
- }
+ get: assembleStyles2
});
- var _identifier = require_identifier();
- var _keyword = require_keyword();
- }
-});
-
-// node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js
-var require_escape_string_regexp2 = __commonJS({
- "node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js"(exports, module) {
- "use strict";
- var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
- module.exports = function(str) {
- if (typeof str !== "string") {
- throw new TypeError("Expected a string");
- }
- return str.replace(matchOperatorsRe, "\\$&");
- };
}
});
-// node_modules/@babel/highlight/node_modules/has-flag/index.js
-var require_has_flag2 = __commonJS({
- "node_modules/@babel/highlight/node_modules/has-flag/index.js"(exports, module) {
+// node_modules/@babel/code-frame/node_modules/has-flag/index.js
+var require_has_flag = __commonJS({
+ "node_modules/@babel/code-frame/node_modules/has-flag/index.js"(exports, module) {
"use strict";
module.exports = (flag, argv) => {
argv = argv || process.argv;
@@ -8785,23 +7288,23 @@ var require_has_flag2 = __commonJS({
}
});
-// node_modules/@babel/highlight/node_modules/supports-color/index.js
-var require_supports_color2 = __commonJS({
- "node_modules/@babel/highlight/node_modules/supports-color/index.js"(exports, module) {
+// node_modules/@babel/code-frame/node_modules/supports-color/index.js
+var require_supports_color = __commonJS({
+ "node_modules/@babel/code-frame/node_modules/supports-color/index.js"(exports, module) {
"use strict";
- var os = __require("os");
- var hasFlag = require_has_flag2();
- var env = process.env;
+ var os2 = __require("os");
+ var hasFlag2 = require_has_flag();
+ var env2 = process.env;
var forceColor;
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) {
+ if (hasFlag2("no-color") || hasFlag2("no-colors") || hasFlag2("color=false")) {
forceColor = false;
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
+ } else if (hasFlag2("color") || hasFlag2("colors") || hasFlag2("color=true") || hasFlag2("color=always")) {
forceColor = true;
}
- if ("FORCE_COLOR" in env) {
- forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
+ if ("FORCE_COLOR" in env2) {
+ forceColor = env2.FORCE_COLOR.length === 0 || parseInt(env2.FORCE_COLOR, 10) !== 0;
}
- function translateLevel(level) {
+ function translateLevel2(level) {
if (level === 0) {
return false;
}
@@ -8812,14 +7315,14 @@ var require_supports_color2 = __commonJS({
has16m: level >= 3
};
}
- function supportsColor(stream) {
+ function supportsColor2(stream) {
if (forceColor === false) {
return 0;
}
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
+ if (hasFlag2("color=16m") || hasFlag2("color=full") || hasFlag2("color=truecolor")) {
return 3;
}
- if (hasFlag("color=256")) {
+ if (hasFlag2("color=256")) {
return 2;
}
if (stream && !stream.isTTY && forceColor !== true) {
@@ -8827,50 +7330,50 @@ var require_supports_color2 = __commonJS({
}
const min = forceColor ? 1 : 0;
if (process.platform === "win32") {
- const osRelease = os.release().split(".");
+ const osRelease = os2.release().split(".");
if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
return Number(osRelease[2]) >= 14931 ? 3 : 2;
}
return 1;
}
- if ("CI" in env) {
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
+ if ("CI" in env2) {
+ if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => sign in env2) || env2.CI_NAME === "codeship") {
return 1;
}
return min;
}
- if ("TEAMCITY_VERSION" in env) {
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
+ if ("TEAMCITY_VERSION" in env2) {
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env2.TEAMCITY_VERSION) ? 1 : 0;
}
- if (env.COLORTERM === "truecolor") {
+ if (env2.COLORTERM === "truecolor") {
return 3;
}
- if ("TERM_PROGRAM" in env) {
- const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
- switch (env.TERM_PROGRAM) {
+ if ("TERM_PROGRAM" in env2) {
+ const version = parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
+ switch (env2.TERM_PROGRAM) {
case "iTerm.app":
return version >= 3 ? 3 : 2;
case "Apple_Terminal":
return 2;
}
}
- if (/-256(color)?$/i.test(env.TERM)) {
+ if (/-256(color)?$/i.test(env2.TERM)) {
return 2;
}
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env2.TERM)) {
return 1;
}
- if ("COLORTERM" in env) {
+ if ("COLORTERM" in env2) {
return 1;
}
- if (env.TERM === "dumb") {
+ if (env2.TERM === "dumb") {
return min;
}
return min;
}
function getSupportLevel(stream) {
- const level = supportsColor(stream);
- return translateLevel(level);
+ const level = supportsColor2(stream);
+ return translateLevel2(level);
}
module.exports = {
supportsColor: getSupportLevel,
@@ -8880,9 +7383,9 @@ var require_supports_color2 = __commonJS({
}
});
-// node_modules/@babel/highlight/node_modules/chalk/templates.js
-var require_templates2 = __commonJS({
- "node_modules/@babel/highlight/node_modules/chalk/templates.js"(exports, module) {
+// node_modules/@babel/code-frame/node_modules/chalk/templates.js
+var require_templates = __commonJS({
+ "node_modules/@babel/code-frame/node_modules/chalk/templates.js"(exports, module) {
"use strict";
var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
@@ -8936,14 +7439,14 @@ var require_templates2 = __commonJS({
}
return results;
}
- function buildStyle(chalk, styles) {
+ function buildStyle(chalk2, styles3) {
const enabled = {};
- for (const layer of styles) {
+ for (const layer of styles3) {
for (const style of layer.styles) {
enabled[style[0]] = layer.inverse ? null : style.slice(1);
}
}
- let current = chalk;
+ let current = chalk2;
for (const styleName of Object.keys(enabled)) {
if (Array.isArray(enabled[styleName])) {
if (!(styleName in current)) {
@@ -8958,8 +7461,8 @@ var require_templates2 = __commonJS({
}
return current;
}
- module.exports = (chalk, tmp) => {
- const styles = [];
+ module.exports = (chalk2, tmp) => {
+ const styles3 = [];
const chunks = [];
let chunk = [];
tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {
@@ -8968,22 +7471,22 @@ var require_templates2 = __commonJS({
} else if (style) {
const str = chunk.join("");
chunk = [];
- chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));
- styles.push({ inverse, styles: parseStyle(style) });
+ chunks.push(styles3.length === 0 ? str : buildStyle(chalk2, styles3)(str));
+ styles3.push({ inverse, styles: parseStyle(style) });
} else if (close) {
- if (styles.length === 0) {
+ if (styles3.length === 0) {
throw new Error("Found extraneous } in Chalk template literal");
}
- chunks.push(buildStyle(chalk, styles)(chunk.join("")));
+ chunks.push(buildStyle(chalk2, styles3)(chunk.join("")));
chunk = [];
- styles.pop();
+ styles3.pop();
} else {
chunk.push(chr);
}
});
chunks.push(chunk.join(""));
- if (styles.length > 0) {
- const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`;
+ if (styles3.length > 0) {
+ const errMsg = `Chalk template literal is missing ${styles3.length} closing bracket${styles3.length === 1 ? "" : "s"} (\`}\`)`;
throw new Error(errMsg);
}
return chunks.join("");
@@ -8991,102 +7494,102 @@ var require_templates2 = __commonJS({
}
});
-// node_modules/@babel/highlight/node_modules/chalk/index.js
-var require_chalk2 = __commonJS({
- "node_modules/@babel/highlight/node_modules/chalk/index.js"(exports, module) {
+// node_modules/@babel/code-frame/node_modules/chalk/index.js
+var require_chalk = __commonJS({
+ "node_modules/@babel/code-frame/node_modules/chalk/index.js"(exports, module) {
"use strict";
- var escapeStringRegexp2 = require_escape_string_regexp2();
- var ansiStyles = require_ansi_styles();
- var stdoutColor = require_supports_color2().stdout;
- var template = require_templates2();
+ var escapeStringRegexp2 = require_escape_string_regexp();
+ var ansiStyles2 = require_ansi_styles();
+ var stdoutColor2 = require_supports_color().stdout;
+ var template = require_templates();
var isSimpleWindowsTerm = process.platform === "win32" && !(process.env.TERM || "").toLowerCase().startsWith("xterm");
- var levelMapping = ["ansi", "ansi", "ansi256", "ansi16m"];
+ var levelMapping2 = ["ansi", "ansi", "ansi256", "ansi16m"];
var skipModels = /* @__PURE__ */ new Set(["gray"]);
- var styles = /* @__PURE__ */ Object.create(null);
- function applyOptions(obj, options8) {
+ var styles3 = /* @__PURE__ */ Object.create(null);
+ function applyOptions2(obj, options8) {
options8 = options8 || {};
- const scLevel = stdoutColor ? stdoutColor.level : 0;
+ const scLevel = stdoutColor2 ? stdoutColor2.level : 0;
obj.level = options8.level === void 0 ? scLevel : options8.level;
obj.enabled = "enabled" in options8 ? options8.enabled : obj.level > 0;
}
function Chalk(options8) {
if (!this || !(this instanceof Chalk) || this.template) {
- const chalk = {};
- applyOptions(chalk, options8);
- chalk.template = function() {
+ const chalk2 = {};
+ applyOptions2(chalk2, options8);
+ chalk2.template = function() {
const args = [].slice.call(arguments);
- return chalkTag.apply(null, [chalk.template].concat(args));
+ return chalkTag.apply(null, [chalk2.template].concat(args));
};
- Object.setPrototypeOf(chalk, Chalk.prototype);
- Object.setPrototypeOf(chalk.template, chalk);
- chalk.template.constructor = Chalk;
- return chalk.template;
+ Object.setPrototypeOf(chalk2, Chalk.prototype);
+ Object.setPrototypeOf(chalk2.template, chalk2);
+ chalk2.template.constructor = Chalk;
+ return chalk2.template;
}
- applyOptions(this, options8);
+ applyOptions2(this, options8);
}
if (isSimpleWindowsTerm) {
- ansiStyles.blue.open = "\x1B[94m";
+ ansiStyles2.blue.open = "\x1B[94m";
}
- for (const key of Object.keys(ansiStyles)) {
- ansiStyles[key].closeRe = new RegExp(escapeStringRegexp2(ansiStyles[key].close), "g");
- styles[key] = {
+ for (const key of Object.keys(ansiStyles2)) {
+ ansiStyles2[key].closeRe = new RegExp(escapeStringRegexp2(ansiStyles2[key].close), "g");
+ styles3[key] = {
get() {
- const codes2 = ansiStyles[key];
+ const codes2 = ansiStyles2[key];
return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, key);
}
};
}
- styles.visible = {
+ styles3.visible = {
get() {
return build.call(this, this._styles || [], true, "visible");
}
};
- ansiStyles.color.closeRe = new RegExp(escapeStringRegexp2(ansiStyles.color.close), "g");
- for (const model of Object.keys(ansiStyles.color.ansi)) {
+ ansiStyles2.color.closeRe = new RegExp(escapeStringRegexp2(ansiStyles2.color.close), "g");
+ for (const model of Object.keys(ansiStyles2.color.ansi)) {
if (skipModels.has(model)) {
continue;
}
- styles[model] = {
+ styles3[model] = {
get() {
const level = this.level;
return function() {
- const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);
+ const open = ansiStyles2.color[levelMapping2[level]][model].apply(null, arguments);
const codes2 = {
open,
- close: ansiStyles.color.close,
- closeRe: ansiStyles.color.closeRe
+ close: ansiStyles2.color.close,
+ closeRe: ansiStyles2.color.closeRe
};
return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, model);
};
}
};
}
- ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp2(ansiStyles.bgColor.close), "g");
- for (const model of Object.keys(ansiStyles.bgColor.ansi)) {
+ ansiStyles2.bgColor.closeRe = new RegExp(escapeStringRegexp2(ansiStyles2.bgColor.close), "g");
+ for (const model of Object.keys(ansiStyles2.bgColor.ansi)) {
if (skipModels.has(model)) {
continue;
}
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
- styles[bgModel] = {
+ styles3[bgModel] = {
get() {
const level = this.level;
return function() {
- const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);
+ const open = ansiStyles2.bgColor[levelMapping2[level]][model].apply(null, arguments);
const codes2 = {
open,
- close: ansiStyles.bgColor.close,
- closeRe: ansiStyles.bgColor.closeRe
+ close: ansiStyles2.bgColor.close,
+ closeRe: ansiStyles2.bgColor.closeRe
};
return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, model);
};
}
};
}
- var proto = Object.defineProperties(() => {
- }, styles);
+ var proto2 = Object.defineProperties(() => {
+ }, styles3);
function build(_styles, _empty, key) {
const builder = function() {
- return applyStyle.apply(builder, arguments);
+ return applyStyle2.apply(builder, arguments);
};
builder._styles = _styles;
builder._empty = _empty;
@@ -9110,10 +7613,10 @@ var require_chalk2 = __commonJS({
}
});
builder.hasGrey = this.hasGrey || key === "gray" || key === "grey";
- builder.__proto__ = proto;
+ builder.__proto__ = proto2;
return builder;
}
- function applyStyle() {
+ function applyStyle2() {
const args = arguments;
const argsLen = args.length;
let str = String(arguments[0]);
@@ -9128,18 +7631,18 @@ var require_chalk2 = __commonJS({
if (!this.enabled || this.level <= 0 || !str) {
return this._empty ? "" : str;
}
- const originalDim = ansiStyles.dim.open;
+ const originalDim = ansiStyles2.dim.open;
if (isSimpleWindowsTerm && this.hasGrey) {
- ansiStyles.dim.open = "";
+ ansiStyles2.dim.open = "";
}
for (const code of this._styles.slice().reverse()) {
str = code.open + str.replace(code.closeRe, code.open) + code.close;
str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`);
}
- ansiStyles.dim.open = originalDim;
+ ansiStyles2.dim.open = originalDim;
return str;
}
- function chalkTag(chalk, strings) {
+ function chalkTag(chalk2, strings) {
if (!Array.isArray(strings)) {
return [].slice.call(arguments, 1).join(" ");
}
@@ -9149,40 +7652,40 @@ var require_chalk2 = __commonJS({
parts.push(String(args[i - 1]).replace(/[{}\\]/g, "\\$&"));
parts.push(String(strings.raw[i]));
}
- return template(chalk, parts.join(""));
+ return template(chalk2, parts.join(""));
}
- Object.defineProperties(Chalk.prototype, styles);
+ Object.defineProperties(Chalk.prototype, styles3);
module.exports = Chalk();
- module.exports.supportsColor = stdoutColor;
+ module.exports.supportsColor = stdoutColor2;
module.exports.default = module.exports;
}
});
// node_modules/@babel/highlight/lib/index.js
-var require_lib3 = __commonJS({
+var require_lib2 = __commonJS({
"node_modules/@babel/highlight/lib/index.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = highlight;
- exports.getChalk = getChalk;
exports.shouldHighlight = shouldHighlight;
var _jsTokens = require_js_tokens();
- var _helperValidatorIdentifier = require_lib2();
- var _chalk = require_chalk2();
+ var _helperValidatorIdentifier = require_lib();
+ var _chalk2 = require_chalk();
+ var chalk2 = _chalk2;
var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]);
- function getDefs(chalk) {
+ function getDefs(chalk3) {
return {
- keyword: chalk.cyan,
- capitalized: chalk.yellow,
- jsxIdentifier: chalk.yellow,
- punctuator: chalk.yellow,
- number: chalk.magenta,
- string: chalk.green,
- regex: chalk.magenta,
- comment: chalk.grey,
- invalid: chalk.white.bgRed.bold
+ keyword: chalk3.cyan,
+ capitalized: chalk3.yellow,
+ jsxIdentifier: chalk3.yellow,
+ punctuator: chalk3.yellow,
+ number: chalk3.magenta,
+ string: chalk3.green,
+ regex: chalk3.magenta,
+ comment: chalk3.grey,
+ invalid: chalk3.white.bgRed.bold
};
}
var NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
@@ -9237,18 +7740,28 @@ var require_lib3 = __commonJS({
return highlighted;
}
function shouldHighlight(options8) {
- return !!_chalk.supportsColor || options8.forceColor;
+ return !!chalk2.supportsColor || options8.forceColor;
+ }
+ var chalkWithForcedColor = void 0;
+ function getChalk(forceColor) {
+ if (forceColor) {
+ var _chalkWithForcedColor;
+ (_chalkWithForcedColor = chalkWithForcedColor) != null ? _chalkWithForcedColor : chalkWithForcedColor = new chalk2.constructor({
+ enabled: true,
+ level: 1
+ });
+ return chalkWithForcedColor;
+ }
+ return chalk2;
}
- function getChalk(options8) {
- return options8.forceColor ? new _chalk.constructor({
- enabled: true,
- level: 1
- }) : _chalk;
+ {
+ {
+ exports.getChalk = (options8) => getChalk(options8.forceColor);
+ }
}
function highlight(code, options8 = {}) {
if (code !== "" && shouldHighlight(options8)) {
- const chalk = getChalk(options8);
- const defs = getDefs(chalk);
+ const defs = getDefs(getChalk(options8.forceColor));
return highlightTokens(defs, code);
} else {
return code;
@@ -9258,7 +7771,7 @@ var require_lib3 = __commonJS({
});
// node_modules/@babel/code-frame/lib/index.js
-var require_lib4 = __commonJS({
+var require_lib3 = __commonJS({
"node_modules/@babel/code-frame/lib/index.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -9266,13 +7779,27 @@ var require_lib4 = __commonJS({
});
exports.codeFrameColumns = codeFrameColumns2;
exports.default = _default;
- var _highlight = require_lib3();
+ var _highlight = require_lib2();
+ var _chalk2 = require_chalk();
+ var chalk2 = _chalk2;
+ var chalkWithForcedColor = void 0;
+ function getChalk(forceColor) {
+ if (forceColor) {
+ var _chalkWithForcedColor;
+ (_chalkWithForcedColor = chalkWithForcedColor) != null ? _chalkWithForcedColor : chalkWithForcedColor = new chalk2.constructor({
+ enabled: true,
+ level: 1
+ });
+ return chalkWithForcedColor;
+ }
+ return chalk2;
+ }
var deprecationWarningShown = false;
- function getDefs(chalk) {
+ function getDefs(chalk3) {
return {
- gutter: chalk.grey,
- marker: chalk.red.bold,
- message: chalk.red.bold
+ gutter: chalk3.grey,
+ marker: chalk3.red.bold,
+ message: chalk3.red.bold
};
}
var NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
@@ -9334,8 +7861,8 @@ var require_lib4 = __commonJS({
}
function codeFrameColumns2(rawLines, loc, opts = {}) {
const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts);
- const chalk = (0, _highlight.getChalk)(opts);
- const defs = getDefs(chalk);
+ const chalk3 = getChalk(opts.forceColor);
+ const defs = getDefs(chalk3);
const maybeHighlight = (chalkFn, string) => {
return highlighted ? chalkFn(string) : string;
};
@@ -9374,7 +7901,7 @@ var require_lib4 = __commonJS({
${frame}`;
}
if (highlighted) {
- return chalk.reset(frame);
+ return chalk3.reset(frame);
} else {
return frame;
}
@@ -9422,7 +7949,7 @@ var require_p_defer = __commonJS({
var require_dist = __commonJS({
"node_modules/map-age-cleaner/dist/index.js"(exports, module) {
"use strict";
- var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function(resolve2, reject) {
function fulfilled(value) {
try {
@@ -9446,20 +7973,20 @@ var require_dist = __commonJS({
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
- var __importDefault2 = exports && exports.__importDefault || function(mod) {
+ var __importDefault = exports && exports.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
- var p_defer_1 = __importDefault2(require_p_defer());
+ var p_defer_1 = __importDefault(require_p_defer());
function mapAgeCleaner2(map, property = "maxAge") {
let processingKey;
let processingTimer;
let processingDeferred;
- const cleanup = () => __awaiter2(this, void 0, void 0, function* () {
+ const cleanup = () => __awaiter(this, void 0, void 0, function* () {
if (processingKey !== void 0) {
return;
}
- const setupTimer = (item) => __awaiter2(this, void 0, void 0, function* () {
+ const setupTimer = (item) => __awaiter(this, void 0, void 0, function* () {
processingDeferred = p_defer_1.default();
const delay = item[1][property] - Date.now();
if (delay <= 0) {
@@ -9562,7 +8089,11 @@ var require_constants4 = __commonJS({
// node_modules/semver/internal/re.js
var require_re = __commonJS({
"node_modules/semver/internal/re.js"(exports, module) {
- var { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH } = require_constants4();
+ var {
+ MAX_SAFE_COMPONENT_LENGTH,
+ MAX_SAFE_BUILD_LENGTH,
+ MAX_LENGTH
+ } = require_constants4();
var debug = require_debug();
exports = module.exports = {};
var re = exports.re = [];
@@ -9573,7 +8104,7 @@ var require_re = __commonJS({
var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
var safeRegexReplacements = [
["\\s", 1],
- ["\\d", MAX_SAFE_COMPONENT_LENGTH],
+ ["\\d", MAX_LENGTH],
[LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
];
var makeSafeRegex = (value) => {
@@ -11442,7 +9973,7 @@ var require_fnmatch = __commonJS({
var require_ini = __commonJS({
"node_modules/editorconfig/src/lib/ini.js"(exports) {
"use strict";
- var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function(resolve2, reject) {
function fulfilled(value) {
try {
@@ -11466,7 +9997,7 @@ var require_ini = __commonJS({
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
- var __generator2 = exports && exports.__generator || function(thisArg, body) {
+ var __generator = exports && exports.__generator || function(thisArg, body) {
var _ = { label: 0, sent: function() {
if (t[0] & 1)
throw t[1];
@@ -11542,7 +10073,7 @@ var require_ini = __commonJS({
return { value: op[0] ? op[1] : void 0, done: true };
}
};
- var __importStar2 = exports && exports.__importStar || function(mod) {
+ var __importStar = exports && exports.__importStar || function(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
@@ -11555,15 +10086,15 @@ var require_ini = __commonJS({
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
- var fs5 = __importStar2(__require("fs"));
+ var fs5 = __importStar(__require("fs"));
var regex = {
section: /^\s*\[(([^#;]|\\#|\\;)+)\]\s*([#;].*)?$/,
param: /^\s*([\w\.\-\_]+)\s*[=:]\s*(.*?)\s*([#;].*)?$/,
comment: /^\s*[#;].*$/
};
function parse3(file) {
- return __awaiter2(this, void 0, void 0, function() {
- return __generator2(this, function(_a) {
+ return __awaiter(this, void 0, void 0, function() {
+ return __generator(this, function(_a) {
return [2, new Promise(function(resolve2, reject) {
fs5.readFile(file, "utf8", function(err, data) {
if (err) {
@@ -11676,7 +10207,7 @@ var require_package = __commonJS({
var require_src = __commonJS({
"node_modules/editorconfig/src/index.js"(exports) {
"use strict";
- var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function(resolve2, reject) {
function fulfilled(value) {
try {
@@ -11700,7 +10231,7 @@ var require_src = __commonJS({
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
- var __generator2 = exports && exports.__generator || function(thisArg, body) {
+ var __generator = exports && exports.__generator || function(thisArg, body) {
var _ = { label: 0, sent: function() {
if (t[0] & 1)
throw t[1];
@@ -11776,7 +10307,7 @@ var require_src = __commonJS({
return { value: op[0] ? op[1] : void 0, done: true };
}
};
- var __importStar2 = exports && exports.__importStar || function(mod) {
+ var __importStar = exports && exports.__importStar || function(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
@@ -11788,19 +10319,19 @@ var require_src = __commonJS({
result["default"] = mod;
return result;
};
- var __importDefault2 = exports && exports.__importDefault || function(mod) {
+ var __importDefault = exports && exports.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
- var fs5 = __importStar2(__require("fs"));
- var path9 = __importStar2(__require("path"));
+ var fs5 = __importStar(__require("fs"));
+ var path9 = __importStar(__require("path"));
var semver = {
gte: require_gte()
};
- var fnmatch_1 = __importDefault2(require_fnmatch());
+ var fnmatch_1 = __importDefault(require_fnmatch());
var ini_1 = require_ini();
exports.parseString = ini_1.parseString;
- var package_json_1 = __importDefault2(require_package());
+ var package_json_1 = __importDefault(require_package());
var knownProps = {
end_of_line: true,
indent_style: true,
@@ -11920,8 +10451,8 @@ var require_src = __commonJS({
return configs;
}
function readConfigFiles(filepaths) {
- return __awaiter2(this, void 0, void 0, function() {
- return __generator2(this, function(_a) {
+ return __awaiter(this, void 0, void 0, function() {
+ return __generator(this, function(_a) {
return [2, Promise.all(filepaths.map(function(name) {
return new Promise(function(resolve2) {
fs5.readFile(name, "utf8", function(err, data) {
@@ -11965,9 +10496,9 @@ var require_src = __commonJS({
if (options8 === void 0) {
options8 = {};
}
- return __awaiter2(this, void 0, void 0, function() {
+ return __awaiter(this, void 0, void 0, function() {
var _a, resolvedFilePath, processedOptions;
- return __generator2(this, function(_b) {
+ return __generator(this, function(_b) {
_a = opts(filepath, options8), resolvedFilePath = _a[0], processedOptions = _a[1];
return [2, files.then(getConfigsForFiles).then(function(configs) {
return parseFromConfigs(configs, resolvedFilePath, processedOptions);
@@ -11988,9 +10519,9 @@ var require_src = __commonJS({
if (_options === void 0) {
_options = {};
}
- return __awaiter2(this, void 0, void 0, function() {
+ return __awaiter(this, void 0, void 0, function() {
var _a, resolvedFilePath, processedOptions, filepaths;
- return __generator2(this, function(_b) {
+ return __generator(this, function(_b) {
_a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1];
filepaths = getConfigFileNames(resolvedFilePath, processedOptions);
return [2, readConfigFiles(filepaths).then(getConfigsForFiles).then(function(configs) {
@@ -14240,757 +12771,1933 @@ var require_parse3 = __commonJS({
case void 0:
throw invalidChar(read2());
}
- buffer += read2();
- },
+ buffer += read2();
+ },
+ start() {
+ switch (c) {
+ case "{":
+ case "[":
+ return newToken("punctuator", read2());
+ }
+ lexState = "value";
+ },
+ beforePropertyName() {
+ switch (c) {
+ case "$":
+ case "_":
+ buffer = read2();
+ lexState = "identifierName";
+ return;
+ case "\\":
+ read2();
+ lexState = "identifierNameStartEscape";
+ return;
+ case "}":
+ return newToken("punctuator", read2());
+ case '"':
+ case "'":
+ doubleQuote = read2() === '"';
+ lexState = "string";
+ return;
+ }
+ if (util.isIdStartChar(c)) {
+ buffer += read2();
+ lexState = "identifierName";
+ return;
+ }
+ throw invalidChar(read2());
+ },
+ afterPropertyName() {
+ if (c === ":") {
+ return newToken("punctuator", read2());
+ }
+ throw invalidChar(read2());
+ },
+ beforePropertyValue() {
+ lexState = "value";
+ },
+ afterPropertyValue() {
+ switch (c) {
+ case ",":
+ case "}":
+ return newToken("punctuator", read2());
+ }
+ throw invalidChar(read2());
+ },
+ beforeArrayValue() {
+ if (c === "]") {
+ return newToken("punctuator", read2());
+ }
+ lexState = "value";
+ },
+ afterArrayValue() {
+ switch (c) {
+ case ",":
+ case "]":
+ return newToken("punctuator", read2());
+ }
+ throw invalidChar(read2());
+ },
+ end() {
+ throw invalidChar(read2());
+ }
+ };
+ function newToken(type, value) {
+ return {
+ type,
+ value,
+ line: line2,
+ column
+ };
+ }
+ function literal(s) {
+ for (const c2 of s) {
+ const p = peek();
+ if (p !== c2) {
+ throw invalidChar(read2());
+ }
+ read2();
+ }
+ }
+ function escape() {
+ const c2 = peek();
+ switch (c2) {
+ case "b":
+ read2();
+ return "\b";
+ case "f":
+ read2();
+ return "\f";
+ case "n":
+ read2();
+ return "\n";
+ case "r":
+ read2();
+ return "\r";
+ case "t":
+ read2();
+ return " ";
+ case "v":
+ read2();
+ return "\v";
+ case "0":
+ read2();
+ if (util.isDigit(peek())) {
+ throw invalidChar(read2());
+ }
+ return "\0";
+ case "x":
+ read2();
+ return hexEscape();
+ case "u":
+ read2();
+ return unicodeEscape();
+ case "\n":
+ case "\u2028":
+ case "\u2029":
+ read2();
+ return "";
+ case "\r":
+ read2();
+ if (peek() === "\n") {
+ read2();
+ }
+ return "";
+ case "1":
+ case "2":
+ case "3":
+ case "4":
+ case "5":
+ case "6":
+ case "7":
+ case "8":
+ case "9":
+ throw invalidChar(read2());
+ case void 0:
+ throw invalidChar(read2());
+ }
+ return read2();
+ }
+ function hexEscape() {
+ let buffer2 = "";
+ let c2 = peek();
+ if (!util.isHexDigit(c2)) {
+ throw invalidChar(read2());
+ }
+ buffer2 += read2();
+ c2 = peek();
+ if (!util.isHexDigit(c2)) {
+ throw invalidChar(read2());
+ }
+ buffer2 += read2();
+ return String.fromCodePoint(parseInt(buffer2, 16));
+ }
+ function unicodeEscape() {
+ let buffer2 = "";
+ let count = 4;
+ while (count-- > 0) {
+ const c2 = peek();
+ if (!util.isHexDigit(c2)) {
+ throw invalidChar(read2());
+ }
+ buffer2 += read2();
+ }
+ return String.fromCodePoint(parseInt(buffer2, 16));
+ }
+ var parseStates = {
start() {
- switch (c) {
- case "{":
- case "[":
- return newToken("punctuator", read2());
+ if (token.type === "eof") {
+ throw invalidEOF();
}
- lexState = "value";
+ push();
},
beforePropertyName() {
- switch (c) {
- case "$":
- case "_":
- buffer = read2();
- lexState = "identifierName";
- return;
- case "\\":
- read2();
- lexState = "identifierNameStartEscape";
+ switch (token.type) {
+ case "identifier":
+ case "string":
+ key = token.value;
+ parseState = "afterPropertyName";
return;
- case "}":
- return newToken("punctuator", read2());
- case '"':
- case "'":
- doubleQuote = read2() === '"';
- lexState = "string";
+ case "punctuator":
+ pop();
return;
+ case "eof":
+ throw invalidEOF();
}
- if (util.isIdStartChar(c)) {
- buffer += read2();
- lexState = "identifierName";
- return;
- }
- throw invalidChar(read2());
},
afterPropertyName() {
- if (c === ":") {
- return newToken("punctuator", read2());
+ if (token.type === "eof") {
+ throw invalidEOF();
}
- throw invalidChar(read2());
+ parseState = "beforePropertyValue";
},
beforePropertyValue() {
- lexState = "value";
+ if (token.type === "eof") {
+ throw invalidEOF();
+ }
+ push();
+ },
+ beforeArrayValue() {
+ if (token.type === "eof") {
+ throw invalidEOF();
+ }
+ if (token.type === "punctuator" && token.value === "]") {
+ pop();
+ return;
+ }
+ push();
},
afterPropertyValue() {
- switch (c) {
+ if (token.type === "eof") {
+ throw invalidEOF();
+ }
+ switch (token.value) {
case ",":
+ parseState = "beforePropertyName";
+ return;
case "}":
- return newToken("punctuator", read2());
+ pop();
+ }
+ },
+ afterArrayValue() {
+ if (token.type === "eof") {
+ throw invalidEOF();
+ }
+ switch (token.value) {
+ case ",":
+ parseState = "beforeArrayValue";
+ return;
+ case "]":
+ pop();
+ }
+ },
+ end() {
+ }
+ };
+ function push() {
+ let value;
+ switch (token.type) {
+ case "punctuator":
+ switch (token.value) {
+ case "{":
+ value = {};
+ break;
+ case "[":
+ value = [];
+ break;
+ }
+ break;
+ case "null":
+ case "boolean":
+ case "numeric":
+ case "string":
+ value = token.value;
+ break;
+ }
+ if (root === void 0) {
+ root = value;
+ } else {
+ const parent = stack[stack.length - 1];
+ if (Array.isArray(parent)) {
+ parent.push(value);
+ } else {
+ Object.defineProperty(parent, key, {
+ value,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ }
+ }
+ if (value !== null && typeof value === "object") {
+ stack.push(value);
+ if (Array.isArray(value)) {
+ parseState = "beforeArrayValue";
+ } else {
+ parseState = "beforePropertyName";
+ }
+ } else {
+ const current = stack[stack.length - 1];
+ if (current == null) {
+ parseState = "end";
+ } else if (Array.isArray(current)) {
+ parseState = "afterArrayValue";
+ } else {
+ parseState = "afterPropertyValue";
+ }
+ }
+ }
+ function pop() {
+ stack.pop();
+ const current = stack[stack.length - 1];
+ if (current == null) {
+ parseState = "end";
+ } else if (Array.isArray(current)) {
+ parseState = "afterArrayValue";
+ } else {
+ parseState = "afterPropertyValue";
+ }
+ }
+ function invalidChar(c2) {
+ if (c2 === void 0) {
+ return syntaxError(`JSON5: invalid end of input at ${line2}:${column}`);
+ }
+ return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line2}:${column}`);
+ }
+ function invalidEOF() {
+ return syntaxError(`JSON5: invalid end of input at ${line2}:${column}`);
+ }
+ function invalidIdentifier() {
+ column -= 5;
+ return syntaxError(`JSON5: invalid identifier character at ${line2}:${column}`);
+ }
+ function separatorChar(c2) {
+ console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`);
+ }
+ function formatChar(c2) {
+ const replacements = {
+ "'": "\\'",
+ '"': '\\"',
+ "\\": "\\\\",
+ "\b": "\\b",
+ "\f": "\\f",
+ "\n": "\\n",
+ "\r": "\\r",
+ " ": "\\t",
+ "\v": "\\v",
+ "\0": "\\0",
+ "\u2028": "\\u2028",
+ "\u2029": "\\u2029"
+ };
+ if (replacements[c2]) {
+ return replacements[c2];
+ }
+ if (c2 < " ") {
+ const hexString = c2.charCodeAt(0).toString(16);
+ return "\\x" + ("00" + hexString).substring(hexString.length);
+ }
+ return c2;
+ }
+ function syntaxError(message) {
+ const err = new SyntaxError(message);
+ err.lineNumber = line2;
+ err.columnNumber = column;
+ return err;
+ }
+ }
+});
+
+// node_modules/ignore/index.js
+var require_ignore = __commonJS({
+ "node_modules/ignore/index.js"(exports, module) {
+ function makeArray(subject) {
+ return Array.isArray(subject) ? subject : [subject];
+ }
+ var EMPTY = "";
+ var SPACE = " ";
+ var ESCAPE = "\\";
+ var REGEX_TEST_BLANK_LINE = /^\s+$/;
+ var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
+ var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
+ var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
+ var REGEX_SPLITALL_CRLF = /\r?\n/g;
+ var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/;
+ var SLASH = "/";
+ var TMP_KEY_IGNORE = "node-ignore";
+ if (typeof Symbol !== "undefined") {
+ TMP_KEY_IGNORE = Symbol.for("node-ignore");
+ }
+ var KEY_IGNORE = TMP_KEY_IGNORE;
+ var define = (object, key, value) => Object.defineProperty(object, key, { value });
+ var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
+ var RETURN_FALSE = () => false;
+ var sanitizeRange = (range) => range.replace(
+ REGEX_REGEXP_RANGE,
+ (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY
+ );
+ var cleanRangeBackSlash = (slashes) => {
+ const { length } = slashes;
+ return slashes.slice(0, length - length % 2);
+ };
+ var REPLACERS = [
+ // > Trailing spaces are ignored unless they are quoted with backslash ("\")
+ [
+ // (a\ ) -> (a )
+ // (a ) -> (a)
+ // (a \ ) -> (a )
+ /\\?\s+$/,
+ (match) => match.indexOf("\\") === 0 ? SPACE : EMPTY
+ ],
+ // replace (\ ) with ' '
+ [
+ /\\\s/g,
+ () => SPACE
+ ],
+ // Escape metacharacters
+ // which is written down by users but means special for regular expressions.
+ // > There are 12 characters with special meanings:
+ // > - the backslash \,
+ // > - the caret ^,
+ // > - the dollar sign $,
+ // > - the period or dot .,
+ // > - the vertical bar or pipe symbol |,
+ // > - the question mark ?,
+ // > - the asterisk or star *,
+ // > - the plus sign +,
+ // > - the opening parenthesis (,
+ // > - the closing parenthesis ),
+ // > - and the opening square bracket [,
+ // > - the opening curly brace {,
+ // > These special characters are often called "metacharacters".
+ [
+ /[\\$.|*+(){^]/g,
+ (match) => `\\${match}`
+ ],
+ [
+ // > a question mark (?) matches a single character
+ /(?!\\)\?/g,
+ () => "[^/]"
+ ],
+ // leading slash
+ [
+ // > A leading slash matches the beginning of the pathname.
+ // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
+ // A leading slash matches the beginning of the pathname
+ /^\//,
+ () => "^"
+ ],
+ // replace special metacharacter slash after the leading slash
+ [
+ /\//g,
+ () => "\\/"
+ ],
+ [
+ // > A leading "**" followed by a slash means match in all directories.
+ // > For example, "**/foo" matches file or directory "foo" anywhere,
+ // > the same as pattern "foo".
+ // > "**/foo/bar" matches file or directory "bar" anywhere that is directly
+ // > under directory "foo".
+ // Notice that the '*'s have been replaced as '\\*'
+ /^\^*\\\*\\\*\\\//,
+ // '**/foo' <-> 'foo'
+ () => "^(?:.*\\/)?"
+ ],
+ // starting
+ [
+ // there will be no leading '/'
+ // (which has been replaced by section "leading slash")
+ // If starts with '**', adding a '^' to the regular expression also works
+ /^(?=[^^])/,
+ function startingReplacer() {
+ return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^";
}
- throw invalidChar(read2());
- },
- beforeArrayValue() {
- if (c === "]") {
- return newToken("punctuator", read2());
+ ],
+ // two globstars
+ [
+ // Use lookahead assertions so that we could match more than one `'/**'`
+ /\\\/\\\*\\\*(?=\\\/|$)/g,
+ // Zero, one or several directories
+ // should not use '*', or it will be replaced by the next replacer
+ // Check if it is not the last `'/**'`
+ (_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+"
+ ],
+ // normal intermediate wildcards
+ [
+ // Never replace escaped '*'
+ // ignore rule '\*' will match the path '*'
+ // 'abc.*/' -> go
+ // 'abc.*' -> skip this rule,
+ // coz trailing single wildcard will be handed by [trailing wildcard]
+ /(^|[^\\]+)(\\\*)+(?=.+)/g,
+ // '*.js' matches '.js'
+ // '*.js' doesn't match 'abc'
+ (_, p1, p2) => {
+ const unescaped = p2.replace(/\\\*/g, "[^\\/]*");
+ return p1 + unescaped;
}
- lexState = "value";
- },
- afterArrayValue() {
- switch (c) {
- case ",":
- case "]":
- return newToken("punctuator", read2());
+ ],
+ [
+ // unescape, revert step 3 except for back slash
+ // For example, if a user escape a '\\*',
+ // after step 3, the result will be '\\\\\\*'
+ /\\\\\\(?=[$.|*+(){^])/g,
+ () => ESCAPE
+ ],
+ [
+ // '\\\\' -> '\\'
+ /\\\\/g,
+ () => ESCAPE
+ ],
+ [
+ // > The range notation, e.g. [a-zA-Z],
+ // > can be used to match one of the characters in a range.
+ // `\` is escaped by step 3
+ /(\\)?\[([^\]/]*?)(\\*)($|\])/g,
+ (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]"
+ ],
+ // ending
+ [
+ // 'js' will not match 'js.'
+ // 'ab' will not match 'abc'
+ /(?:[^*])$/,
+ // WTF!
+ // https://git-scm.com/docs/gitignore
+ // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
+ // which re-fixes #24, #38
+ // > If there is a separator at the end of the pattern then the pattern
+ // > will only match directories, otherwise the pattern can match both
+ // > files and directories.
+ // 'js*' will not match 'a.js'
+ // 'js/' will not match 'a.js'
+ // 'js' will match 'a.js' and 'a.js/'
+ (match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)`
+ ],
+ // trailing wildcard
+ [
+ /(\^|\\\/)?\\\*$/,
+ (_, p1) => {
+ const prefix = p1 ? `${p1}[^/]+` : "[^/]*";
+ return `${prefix}(?=$|\\/$)`;
}
- throw invalidChar(read2());
- },
- end() {
- throw invalidChar(read2());
+ ]
+ ];
+ var regexCache = /* @__PURE__ */ Object.create(null);
+ var makeRegex = (pattern, ignoreCase) => {
+ let source = regexCache[pattern];
+ if (!source) {
+ source = REPLACERS.reduce(
+ (prev, current) => prev.replace(current[0], current[1].bind(pattern)),
+ pattern
+ );
+ regexCache[pattern] = source;
}
+ return ignoreCase ? new RegExp(source, "i") : new RegExp(source);
};
- function newToken(type, value) {
- return {
- type,
- value,
- line: line2,
- column
- };
- }
- function literal(s) {
- for (const c2 of s) {
- const p = peek();
- if (p !== c2) {
- throw invalidChar(read2());
- }
- read2();
+ var isString = (subject) => typeof subject === "string";
+ var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0;
+ var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF);
+ var IgnoreRule = class {
+ constructor(origin, pattern, negative, regex) {
+ this.origin = origin;
+ this.pattern = pattern;
+ this.negative = negative;
+ this.regex = regex;
}
- }
- function escape() {
- const c2 = peek();
- switch (c2) {
- case "b":
- read2();
- return "\b";
- case "f":
- read2();
- return "\f";
- case "n":
- read2();
- return "\n";
- case "r":
- read2();
- return "\r";
- case "t":
- read2();
- return " ";
- case "v":
- read2();
- return "\v";
- case "0":
- read2();
- if (util.isDigit(peek())) {
- throw invalidChar(read2());
- }
- return "\0";
- case "x":
- read2();
- return hexEscape();
- case "u":
- read2();
- return unicodeEscape();
- case "\n":
- case "\u2028":
- case "\u2029":
- read2();
- return "";
- case "\r":
- read2();
- if (peek() === "\n") {
- read2();
- }
- return "";
- case "1":
- case "2":
- case "3":
- case "4":
- case "5":
- case "6":
- case "7":
- case "8":
- case "9":
- throw invalidChar(read2());
- case void 0:
- throw invalidChar(read2());
+ };
+ var createRule = (pattern, ignoreCase) => {
+ const origin = pattern;
+ let negative = false;
+ if (pattern.indexOf("!") === 0) {
+ negative = true;
+ pattern = pattern.substr(1);
+ }
+ pattern = pattern.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
+ const regex = makeRegex(pattern, ignoreCase);
+ return new IgnoreRule(
+ origin,
+ pattern,
+ negative,
+ regex
+ );
+ };
+ var throwError = (message, Ctor) => {
+ throw new Ctor(message);
+ };
+ var checkPath = (path9, originalPath, doThrow) => {
+ if (!isString(path9)) {
+ return doThrow(
+ `path must be a string, but got \`${originalPath}\``,
+ TypeError
+ );
+ }
+ if (!path9) {
+ return doThrow(`path must not be empty`, TypeError);
}
- return read2();
- }
- function hexEscape() {
- let buffer2 = "";
- let c2 = peek();
- if (!util.isHexDigit(c2)) {
- throw invalidChar(read2());
+ if (checkPath.isNotRelative(path9)) {
+ const r = "`path.relative()`d";
+ return doThrow(
+ `path should be a ${r} string, but got "${originalPath}"`,
+ RangeError
+ );
}
- buffer2 += read2();
- c2 = peek();
- if (!util.isHexDigit(c2)) {
- throw invalidChar(read2());
+ return true;
+ };
+ var isNotRelative = (path9) => REGEX_TEST_INVALID_PATH.test(path9);
+ checkPath.isNotRelative = isNotRelative;
+ checkPath.convert = (p) => p;
+ var Ignore = class {
+ constructor({
+ ignorecase = true,
+ ignoreCase = ignorecase,
+ allowRelativePaths = false
+ } = {}) {
+ define(this, KEY_IGNORE, true);
+ this._rules = [];
+ this._ignoreCase = ignoreCase;
+ this._allowRelativePaths = allowRelativePaths;
+ this._initCache();
}
- buffer2 += read2();
- return String.fromCodePoint(parseInt(buffer2, 16));
- }
- function unicodeEscape() {
- let buffer2 = "";
- let count = 4;
- while (count-- > 0) {
- const c2 = peek();
- if (!util.isHexDigit(c2)) {
- throw invalidChar(read2());
- }
- buffer2 += read2();
+ _initCache() {
+ this._ignoreCache = /* @__PURE__ */ Object.create(null);
+ this._testCache = /* @__PURE__ */ Object.create(null);
}
- return String.fromCodePoint(parseInt(buffer2, 16));
- }
- var parseStates = {
- start() {
- if (token.type === "eof") {
- throw invalidEOF();
- }
- push();
- },
- beforePropertyName() {
- switch (token.type) {
- case "identifier":
- case "string":
- key = token.value;
- parseState = "afterPropertyName";
- return;
- case "punctuator":
- pop();
- return;
- case "eof":
- throw invalidEOF();
- }
- },
- afterPropertyName() {
- if (token.type === "eof") {
- throw invalidEOF();
- }
- parseState = "beforePropertyValue";
- },
- beforePropertyValue() {
- if (token.type === "eof") {
- throw invalidEOF();
- }
- push();
- },
- beforeArrayValue() {
- if (token.type === "eof") {
- throw invalidEOF();
- }
- if (token.type === "punctuator" && token.value === "]") {
- pop();
+ _addPattern(pattern) {
+ if (pattern && pattern[KEY_IGNORE]) {
+ this._rules = this._rules.concat(pattern._rules);
+ this._added = true;
return;
}
- push();
- },
- afterPropertyValue() {
- if (token.type === "eof") {
- throw invalidEOF();
+ if (checkPattern(pattern)) {
+ const rule = createRule(pattern, this._ignoreCase);
+ this._added = true;
+ this._rules.push(rule);
}
- switch (token.value) {
- case ",":
- parseState = "beforePropertyName";
+ }
+ // @param {Array | string | Ignore} pattern
+ add(pattern) {
+ this._added = false;
+ makeArray(
+ isString(pattern) ? splitPattern(pattern) : pattern
+ ).forEach(this._addPattern, this);
+ if (this._added) {
+ this._initCache();
+ }
+ return this;
+ }
+ // legacy
+ addPattern(pattern) {
+ return this.add(pattern);
+ }
+ // | ignored : unignored
+ // negative | 0:0 | 0:1 | 1:0 | 1:1
+ // -------- | ------- | ------- | ------- | --------
+ // 0 | TEST | TEST | SKIP | X
+ // 1 | TESTIF | SKIP | TEST | X
+ // - SKIP: always skip
+ // - TEST: always test
+ // - TESTIF: only test if checkUnignored
+ // - X: that never happen
+ // @param {boolean} whether should check if the path is unignored,
+ // setting `checkUnignored` to `false` could reduce additional
+ // path matching.
+ // @returns {TestResult} true if a file is ignored
+ _testOne(path9, checkUnignored) {
+ let ignored = false;
+ let unignored = false;
+ this._rules.forEach((rule) => {
+ const { negative } = rule;
+ if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
return;
- case "}":
- pop();
+ }
+ const matched = rule.regex.test(path9);
+ if (matched) {
+ ignored = !negative;
+ unignored = negative;
+ }
+ });
+ return {
+ ignored,
+ unignored
+ };
+ }
+ // @returns {TestResult}
+ _test(originalPath, cache, checkUnignored, slices) {
+ const path9 = originalPath && checkPath.convert(originalPath);
+ checkPath(
+ path9,
+ originalPath,
+ this._allowRelativePaths ? RETURN_FALSE : throwError
+ );
+ return this._t(path9, cache, checkUnignored, slices);
+ }
+ _t(path9, cache, checkUnignored, slices) {
+ if (path9 in cache) {
+ return cache[path9];
}
- },
- afterArrayValue() {
- if (token.type === "eof") {
- throw invalidEOF();
+ if (!slices) {
+ slices = path9.split(SLASH);
}
- switch (token.value) {
- case ",":
- parseState = "beforeArrayValue";
- return;
- case "]":
- pop();
+ slices.pop();
+ if (!slices.length) {
+ return cache[path9] = this._testOne(path9, checkUnignored);
}
+ const parent = this._t(
+ slices.join(SLASH) + SLASH,
+ cache,
+ checkUnignored,
+ slices
+ );
+ return cache[path9] = parent.ignored ? parent : this._testOne(path9, checkUnignored);
+ }
+ ignores(path9) {
+ return this._test(path9, this._ignoreCache, false).ignored;
+ }
+ createFilter() {
+ return (path9) => !this.ignores(path9);
+ }
+ filter(paths) {
+ return makeArray(paths).filter(this.createFilter());
+ }
+ // @returns {TestResult}
+ test(path9) {
+ return this._test(path9, this._testCache, true);
+ }
+ };
+ var factory = (options8) => new Ignore(options8);
+ var isPathValid = (path9) => checkPath(path9 && checkPath.convert(path9), path9, RETURN_FALSE);
+ factory.isPathValid = isPathValid;
+ factory.default = factory;
+ module.exports = factory;
+ if (
+ // Detect `process` so that it can run in browsers.
+ typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32")
+ ) {
+ const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/");
+ checkPath.convert = makePosix;
+ const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
+ checkPath.isNotRelative = (path9) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path9) || isNotRelative(path9);
+ }
+ }
+});
+
+// src/index.js
+var src_exports = {};
+__export(src_exports, {
+ __debug: () => debugApis,
+ __internal: () => sharedWithCli,
+ check: () => check,
+ clearConfigCache: () => clearCache3,
+ doc: () => doc,
+ format: () => format2,
+ formatWithCursor: () => formatWithCursor2,
+ getFileInfo: () => getFileInfo2,
+ getSupportInfo: () => getSupportInfo2,
+ resolveConfig: () => resolveConfig,
+ resolveConfigFile: () => resolveConfigFile,
+ util: () => public_exports,
+ version: () => version_evaluate_default
+});
+
+// node_modules/vnopts/lib/descriptors/api.js
+var apiDescriptor = {
+ key: (key) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(key) ? key : JSON.stringify(key),
+ value(value) {
+ if (value === null || typeof value !== "object") {
+ return JSON.stringify(value);
+ }
+ if (Array.isArray(value)) {
+ return `[${value.map((subValue) => apiDescriptor.value(subValue)).join(", ")}]`;
+ }
+ const keys = Object.keys(value);
+ return keys.length === 0 ? "{}" : `{ ${keys.map((key) => `${apiDescriptor.key(key)}: ${apiDescriptor.value(value[key])}`).join(", ")} }`;
+ },
+ pair: ({ key, value }) => apiDescriptor.value({ [key]: value })
+};
+
+// node_modules/chalk/source/vendor/ansi-styles/index.js
+var ANSI_BACKGROUND_OFFSET = 10;
+var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
+var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
+var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
+var styles = {
+ modifier: {
+ reset: [0, 0],
+ // 21 isn't widely supported and 22 does the same thing
+ bold: [1, 22],
+ dim: [2, 22],
+ italic: [3, 23],
+ underline: [4, 24],
+ overline: [53, 55],
+ inverse: [7, 27],
+ hidden: [8, 28],
+ strikethrough: [9, 29]
+ },
+ color: {
+ black: [30, 39],
+ red: [31, 39],
+ green: [32, 39],
+ yellow: [33, 39],
+ blue: [34, 39],
+ magenta: [35, 39],
+ cyan: [36, 39],
+ white: [37, 39],
+ // Bright color
+ blackBright: [90, 39],
+ gray: [90, 39],
+ // Alias of `blackBright`
+ grey: [90, 39],
+ // Alias of `blackBright`
+ redBright: [91, 39],
+ greenBright: [92, 39],
+ yellowBright: [93, 39],
+ blueBright: [94, 39],
+ magentaBright: [95, 39],
+ cyanBright: [96, 39],
+ whiteBright: [97, 39]
+ },
+ bgColor: {
+ bgBlack: [40, 49],
+ bgRed: [41, 49],
+ bgGreen: [42, 49],
+ bgYellow: [43, 49],
+ bgBlue: [44, 49],
+ bgMagenta: [45, 49],
+ bgCyan: [46, 49],
+ bgWhite: [47, 49],
+ // Bright color
+ bgBlackBright: [100, 49],
+ bgGray: [100, 49],
+ // Alias of `bgBlackBright`
+ bgGrey: [100, 49],
+ // Alias of `bgBlackBright`
+ bgRedBright: [101, 49],
+ bgGreenBright: [102, 49],
+ bgYellowBright: [103, 49],
+ bgBlueBright: [104, 49],
+ bgMagentaBright: [105, 49],
+ bgCyanBright: [106, 49],
+ bgWhiteBright: [107, 49]
+ }
+};
+var modifierNames = Object.keys(styles.modifier);
+var foregroundColorNames = Object.keys(styles.color);
+var backgroundColorNames = Object.keys(styles.bgColor);
+var colorNames = [...foregroundColorNames, ...backgroundColorNames];
+function assembleStyles() {
+ const codes2 = /* @__PURE__ */ new Map();
+ for (const [groupName, group] of Object.entries(styles)) {
+ for (const [styleName, style] of Object.entries(group)) {
+ styles[styleName] = {
+ open: `\x1B[${style[0]}m`,
+ close: `\x1B[${style[1]}m`
+ };
+ group[styleName] = styles[styleName];
+ codes2.set(style[0], style[1]);
+ }
+ Object.defineProperty(styles, groupName, {
+ value: group,
+ enumerable: false
+ });
+ }
+ Object.defineProperty(styles, "codes", {
+ value: codes2,
+ enumerable: false
+ });
+ styles.color.close = "\x1B[39m";
+ styles.bgColor.close = "\x1B[49m";
+ styles.color.ansi = wrapAnsi16();
+ styles.color.ansi256 = wrapAnsi256();
+ styles.color.ansi16m = wrapAnsi16m();
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
+ Object.defineProperties(styles, {
+ rgbToAnsi256: {
+ value(red, green, blue) {
+ if (red === green && green === blue) {
+ if (red < 8) {
+ return 16;
+ }
+ if (red > 248) {
+ return 231;
+ }
+ return Math.round((red - 8) / 247 * 24) + 232;
+ }
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
+ },
+ enumerable: false
+ },
+ hexToRgb: {
+ value(hex) {
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
+ if (!matches) {
+ return [0, 0, 0];
+ }
+ let [colorString] = matches;
+ if (colorString.length === 3) {
+ colorString = [...colorString].map((character) => character + character).join("");
+ }
+ const integer = Number.parseInt(colorString, 16);
+ return [
+ /* eslint-disable no-bitwise */
+ integer >> 16 & 255,
+ integer >> 8 & 255,
+ integer & 255
+ /* eslint-enable no-bitwise */
+ ];
},
- end() {
- }
- };
- function push() {
- let value;
- switch (token.type) {
- case "punctuator":
- switch (token.value) {
- case "{":
- value = {};
- break;
- case "[":
- value = [];
- break;
- }
- break;
- case "null":
- case "boolean":
- case "numeric":
- case "string":
- value = token.value;
- break;
- }
- if (root === void 0) {
- root = value;
- } else {
- const parent = stack[stack.length - 1];
- if (Array.isArray(parent)) {
- parent.push(value);
+ enumerable: false
+ },
+ hexToAnsi256: {
+ value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
+ enumerable: false
+ },
+ ansi256ToAnsi: {
+ value(code) {
+ if (code < 8) {
+ return 30 + code;
+ }
+ if (code < 16) {
+ return 90 + (code - 8);
+ }
+ let red;
+ let green;
+ let blue;
+ if (code >= 232) {
+ red = ((code - 232) * 10 + 8) / 255;
+ green = red;
+ blue = red;
} else {
- Object.defineProperty(parent, key, {
- value,
- writable: true,
- enumerable: true,
- configurable: true
- });
+ code -= 16;
+ const remainder = code % 36;
+ red = Math.floor(code / 36) / 5;
+ green = Math.floor(remainder / 6) / 5;
+ blue = remainder % 6 / 5;
}
- }
- if (value !== null && typeof value === "object") {
- stack.push(value);
- if (Array.isArray(value)) {
- parseState = "beforeArrayValue";
- } else {
- parseState = "beforePropertyName";
+ const value = Math.max(red, green, blue) * 2;
+ if (value === 0) {
+ return 30;
}
- } else {
- const current = stack[stack.length - 1];
- if (current == null) {
- parseState = "end";
- } else if (Array.isArray(current)) {
- parseState = "afterArrayValue";
- } else {
- parseState = "afterPropertyValue";
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
+ if (value === 2) {
+ result += 60;
}
- }
+ return result;
+ },
+ enumerable: false
+ },
+ rgbToAnsi: {
+ value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
+ enumerable: false
+ },
+ hexToAnsi: {
+ value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
+ enumerable: false
}
- function pop() {
- stack.pop();
- const current = stack[stack.length - 1];
- if (current == null) {
- parseState = "end";
- } else if (Array.isArray(current)) {
- parseState = "afterArrayValue";
- } else {
- parseState = "afterPropertyValue";
- }
+ });
+ return styles;
+}
+var ansiStyles = assembleStyles();
+var ansi_styles_default = ansiStyles;
+
+// node_modules/chalk/source/vendor/supports-color/index.js
+import process2 from "process";
+import os from "os";
+import tty from "tty";
+function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
+ const position = argv.indexOf(prefix + flag);
+ const terminatorPosition = argv.indexOf("--");
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
+}
+var { env } = process2;
+var flagForceColor;
+if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
+ flagForceColor = 0;
+} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
+ flagForceColor = 1;
+}
+function envForceColor() {
+ if ("FORCE_COLOR" in env) {
+ if (env.FORCE_COLOR === "true") {
+ return 1;
}
- function invalidChar(c2) {
- if (c2 === void 0) {
- return syntaxError(`JSON5: invalid end of input at ${line2}:${column}`);
+ if (env.FORCE_COLOR === "false") {
+ return 0;
+ }
+ return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
+ }
+}
+function translateLevel(level) {
+ if (level === 0) {
+ return false;
+ }
+ return {
+ level,
+ hasBasic: true,
+ has256: level >= 2,
+ has16m: level >= 3
+ };
+}
+function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
+ const noFlagForceColor = envForceColor();
+ if (noFlagForceColor !== void 0) {
+ flagForceColor = noFlagForceColor;
+ }
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
+ if (forceColor === 0) {
+ return 0;
+ }
+ if (sniffFlags) {
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
+ return 3;
+ }
+ if (hasFlag("color=256")) {
+ return 2;
+ }
+ }
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
+ return 1;
+ }
+ if (haveStream && !streamIsTTY && forceColor === void 0) {
+ return 0;
+ }
+ const min = forceColor || 0;
+ if (env.TERM === "dumb") {
+ return min;
+ }
+ if (process2.platform === "win32") {
+ const osRelease = os.release().split(".");
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
+ }
+ return 1;
+ }
+ if ("CI" in env) {
+ if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) {
+ return 3;
+ }
+ if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
+ return 1;
+ }
+ return min;
+ }
+ if ("TEAMCITY_VERSION" in env) {
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
+ }
+ if (env.COLORTERM === "truecolor") {
+ return 3;
+ }
+ if (env.TERM === "xterm-kitty") {
+ return 3;
+ }
+ if ("TERM_PROGRAM" in env) {
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
+ switch (env.TERM_PROGRAM) {
+ case "iTerm.app": {
+ return version >= 3 ? 3 : 2;
+ }
+ case "Apple_Terminal": {
+ return 2;
}
- return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line2}:${column}`);
}
- function invalidEOF() {
- return syntaxError(`JSON5: invalid end of input at ${line2}:${column}`);
+ }
+ if (/-256(color)?$/i.test(env.TERM)) {
+ return 2;
+ }
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
+ return 1;
+ }
+ if ("COLORTERM" in env) {
+ return 1;
+ }
+ return min;
+}
+function createSupportsColor(stream, options8 = {}) {
+ const level = _supportsColor(stream, {
+ streamIsTTY: stream && stream.isTTY,
+ ...options8
+ });
+ return translateLevel(level);
+}
+var supportsColor = {
+ stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
+ stderr: createSupportsColor({ isTTY: tty.isatty(2) })
+};
+var supports_color_default = supportsColor;
+
+// node_modules/chalk/source/utilities.js
+function stringReplaceAll(string, substring, replacer) {
+ let index = string.indexOf(substring);
+ if (index === -1) {
+ return string;
+ }
+ const substringLength = substring.length;
+ let endIndex = 0;
+ let returnValue = "";
+ do {
+ returnValue += string.slice(endIndex, index) + substring + replacer;
+ endIndex = index + substringLength;
+ index = string.indexOf(substring, endIndex);
+ } while (index !== -1);
+ returnValue += string.slice(endIndex);
+ return returnValue;
+}
+function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
+ let endIndex = 0;
+ let returnValue = "";
+ do {
+ const gotCR = string[index - 1] === "\r";
+ returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
+ endIndex = index + 1;
+ index = string.indexOf("\n", endIndex);
+ } while (index !== -1);
+ returnValue += string.slice(endIndex);
+ return returnValue;
+}
+
+// node_modules/chalk/source/index.js
+var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
+var GENERATOR = Symbol("GENERATOR");
+var STYLER = Symbol("STYLER");
+var IS_EMPTY = Symbol("IS_EMPTY");
+var levelMapping = [
+ "ansi",
+ "ansi",
+ "ansi256",
+ "ansi16m"
+];
+var styles2 = /* @__PURE__ */ Object.create(null);
+var applyOptions = (object, options8 = {}) => {
+ if (options8.level && !(Number.isInteger(options8.level) && options8.level >= 0 && options8.level <= 3)) {
+ throw new Error("The `level` option should be an integer from 0 to 3");
+ }
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
+ object.level = options8.level === void 0 ? colorLevel : options8.level;
+};
+var chalkFactory = (options8) => {
+ const chalk2 = (...strings) => strings.join(" ");
+ applyOptions(chalk2, options8);
+ Object.setPrototypeOf(chalk2, createChalk.prototype);
+ return chalk2;
+};
+function createChalk(options8) {
+ return chalkFactory(options8);
+}
+Object.setPrototypeOf(createChalk.prototype, Function.prototype);
+for (const [styleName, style] of Object.entries(ansi_styles_default)) {
+ styles2[styleName] = {
+ get() {
+ const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
+ Object.defineProperty(this, styleName, { value: builder });
+ return builder;
}
- function invalidIdentifier() {
- column -= 5;
- return syntaxError(`JSON5: invalid identifier character at ${line2}:${column}`);
+ };
+}
+styles2.visible = {
+ get() {
+ const builder = createBuilder(this, this[STYLER], true);
+ Object.defineProperty(this, "visible", { value: builder });
+ return builder;
+ }
+};
+var getModelAnsi = (model, level, type, ...arguments_) => {
+ if (model === "rgb") {
+ if (level === "ansi16m") {
+ return ansi_styles_default[type].ansi16m(...arguments_);
}
- function separatorChar(c2) {
- console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`);
+ if (level === "ansi256") {
+ return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
}
- function formatChar(c2) {
- const replacements = {
- "'": "\\'",
- '"': '\\"',
- "\\": "\\\\",
- "\b": "\\b",
- "\f": "\\f",
- "\n": "\\n",
- "\r": "\\r",
- " ": "\\t",
- "\v": "\\v",
- "\0": "\\0",
- "\u2028": "\\u2028",
- "\u2029": "\\u2029"
+ return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
+ }
+ if (model === "hex") {
+ return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
+ }
+ return ansi_styles_default[type][model](...arguments_);
+};
+var usedModels = ["rgb", "hex", "ansi256"];
+for (const model of usedModels) {
+ styles2[model] = {
+ get() {
+ const { level } = this;
+ return function(...arguments_) {
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
+ return createBuilder(this, styler, this[IS_EMPTY]);
};
- if (replacements[c2]) {
- return replacements[c2];
+ }
+ };
+ const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
+ styles2[bgModel] = {
+ get() {
+ const { level } = this;
+ return function(...arguments_) {
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
+ return createBuilder(this, styler, this[IS_EMPTY]);
+ };
+ }
+ };
+}
+var proto = Object.defineProperties(() => {
+}, {
+ ...styles2,
+ level: {
+ enumerable: true,
+ get() {
+ return this[GENERATOR].level;
+ },
+ set(level) {
+ this[GENERATOR].level = level;
+ }
+ }
+});
+var createStyler = (open, close, parent) => {
+ let openAll;
+ let closeAll;
+ if (parent === void 0) {
+ openAll = open;
+ closeAll = close;
+ } else {
+ openAll = parent.openAll + open;
+ closeAll = close + parent.closeAll;
+ }
+ return {
+ open,
+ close,
+ openAll,
+ closeAll,
+ parent
+ };
+};
+var createBuilder = (self, _styler, _isEmpty) => {
+ const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
+ Object.setPrototypeOf(builder, proto);
+ builder[GENERATOR] = self;
+ builder[STYLER] = _styler;
+ builder[IS_EMPTY] = _isEmpty;
+ return builder;
+};
+var applyStyle = (self, string) => {
+ if (self.level <= 0 || !string) {
+ return self[IS_EMPTY] ? "" : string;
+ }
+ let styler = self[STYLER];
+ if (styler === void 0) {
+ return string;
+ }
+ const { openAll, closeAll } = styler;
+ if (string.includes("\x1B")) {
+ while (styler !== void 0) {
+ string = stringReplaceAll(string, styler.close, styler.open);
+ styler = styler.parent;
+ }
+ }
+ const lfIndex = string.indexOf("\n");
+ if (lfIndex !== -1) {
+ string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
+ }
+ return openAll + string + closeAll;
+};
+Object.defineProperties(createChalk.prototype, styles2);
+var chalk = createChalk();
+var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
+var source_default = chalk;
+
+// node_modules/vnopts/lib/handlers/deprecated/common.js
+var commonDeprecatedHandler = (keyOrPair, redirectTo, { descriptor }) => {
+ const messages2 = [
+ `${source_default.yellow(typeof keyOrPair === "string" ? descriptor.key(keyOrPair) : descriptor.pair(keyOrPair))} is deprecated`
+ ];
+ if (redirectTo) {
+ messages2.push(`we now treat it as ${source_default.blue(typeof redirectTo === "string" ? descriptor.key(redirectTo) : descriptor.pair(redirectTo))}`);
+ }
+ return messages2.join("; ") + ".";
+};
+
+// node_modules/vnopts/lib/constants.js
+var VALUE_NOT_EXIST = Symbol.for("vnopts.VALUE_NOT_EXIST");
+var VALUE_UNCHANGED = Symbol.for("vnopts.VALUE_UNCHANGED");
+
+// node_modules/vnopts/lib/handlers/invalid/common.js
+var INDENTATION = " ".repeat(2);
+var commonInvalidHandler = (key, value, utils) => {
+ const { text, list } = utils.normalizeExpectedResult(utils.schemas[key].expected(utils));
+ const descriptions = [];
+ if (text) {
+ descriptions.push(getDescription(key, value, text, utils.descriptor));
+ }
+ if (list) {
+ descriptions.push([getDescription(key, value, list.title, utils.descriptor)].concat(list.values.map((valueDescription) => getListDescription(valueDescription, utils.loggerPrintWidth))).join("\n"));
+ }
+ return chooseDescription(descriptions, utils.loggerPrintWidth);
+};
+function getDescription(key, value, expected, descriptor) {
+ return [
+ `Invalid ${source_default.red(descriptor.key(key))} value.`,
+ `Expected ${source_default.blue(expected)},`,
+ `but received ${value === VALUE_NOT_EXIST ? source_default.gray("nothing") : source_default.red(descriptor.value(value))}.`
+ ].join(" ");
+}
+function getListDescription({ text, list }, printWidth) {
+ const descriptions = [];
+ if (text) {
+ descriptions.push(`- ${source_default.blue(text)}`);
+ }
+ if (list) {
+ descriptions.push([`- ${source_default.blue(list.title)}:`].concat(list.values.map((valueDescription) => getListDescription(valueDescription, printWidth - INDENTATION.length).replace(/^|\n/g, `$&${INDENTATION}`))).join("\n"));
+ }
+ return chooseDescription(descriptions, printWidth);
+}
+function chooseDescription(descriptions, printWidth) {
+ if (descriptions.length === 1) {
+ return descriptions[0];
+ }
+ const [firstDescription, secondDescription] = descriptions;
+ const [firstWidth, secondWidth] = descriptions.map((description) => description.split("\n", 1)[0].length);
+ return firstWidth > printWidth && firstWidth > secondWidth ? secondDescription : firstDescription;
+}
+
+// node_modules/leven/index.js
+var array = [];
+var characterCodeCache = [];
+function leven(first, second) {
+ if (first === second) {
+ return 0;
+ }
+ const swap = first;
+ if (first.length > second.length) {
+ first = second;
+ second = swap;
+ }
+ let firstLength = first.length;
+ let secondLength = second.length;
+ while (firstLength > 0 && first.charCodeAt(~-firstLength) === second.charCodeAt(~-secondLength)) {
+ firstLength--;
+ secondLength--;
+ }
+ let start = 0;
+ while (start < firstLength && first.charCodeAt(start) === second.charCodeAt(start)) {
+ start++;
+ }
+ firstLength -= start;
+ secondLength -= start;
+ if (firstLength === 0) {
+ return secondLength;
+ }
+ let bCharacterCode;
+ let result;
+ let temporary;
+ let temporary2;
+ let index = 0;
+ let index2 = 0;
+ while (index < firstLength) {
+ characterCodeCache[index] = first.charCodeAt(start + index);
+ array[index] = ++index;
+ }
+ while (index2 < secondLength) {
+ bCharacterCode = second.charCodeAt(start + index2);
+ temporary = index2++;
+ result = index2;
+ for (index = 0; index < firstLength; index++) {
+ temporary2 = bCharacterCode === characterCodeCache[index] ? temporary : temporary + 1;
+ temporary = array[index];
+ result = array[index] = temporary > result ? temporary2 > result ? result + 1 : temporary2 : temporary2 > temporary ? temporary + 1 : temporary2;
+ }
+ }
+ return result;
+}
+
+// node_modules/vnopts/lib/handlers/unknown/leven.js
+var levenUnknownHandler = (key, value, { descriptor, logger, schemas }) => {
+ const messages2 = [
+ `Ignored unknown option ${source_default.yellow(descriptor.pair({ key, value }))}.`
+ ];
+ const suggestion = Object.keys(schemas).sort().find((knownKey) => leven(key, knownKey) < 3);
+ if (suggestion) {
+ messages2.push(`Did you mean ${source_default.blue(descriptor.key(suggestion))}?`);
+ }
+ logger.warn(messages2.join(" "));
+};
+
+// node_modules/vnopts/lib/schema.js
+var HANDLER_KEYS = [
+ "default",
+ "expected",
+ "validate",
+ "deprecated",
+ "forward",
+ "redirect",
+ "overlap",
+ "preprocess",
+ "postprocess"
+];
+function createSchema(SchemaConstructor, parameters) {
+ const schema = new SchemaConstructor(parameters);
+ const subSchema = Object.create(schema);
+ for (const handlerKey of HANDLER_KEYS) {
+ if (handlerKey in parameters) {
+ subSchema[handlerKey] = normalizeHandler(parameters[handlerKey], schema, Schema.prototype[handlerKey].length);
+ }
+ }
+ return subSchema;
+}
+var Schema = class {
+ static create(parameters) {
+ return createSchema(this, parameters);
+ }
+ constructor(parameters) {
+ this.name = parameters.name;
+ }
+ default(_utils) {
+ return void 0;
+ }
+ // this is actually an abstract method but we need a placeholder to get `function.length`
+ /* c8 ignore start */
+ expected(_utils) {
+ return "nothing";
+ }
+ /* c8 ignore stop */
+ // this is actually an abstract method but we need a placeholder to get `function.length`
+ /* c8 ignore start */
+ validate(_value, _utils) {
+ return false;
+ }
+ /* c8 ignore stop */
+ deprecated(_value, _utils) {
+ return false;
+ }
+ forward(_value, _utils) {
+ return void 0;
+ }
+ redirect(_value, _utils) {
+ return void 0;
+ }
+ overlap(currentValue, _newValue, _utils) {
+ return currentValue;
+ }
+ preprocess(value, _utils) {
+ return value;
+ }
+ postprocess(_value, _utils) {
+ return VALUE_UNCHANGED;
+ }
+};
+function normalizeHandler(handler, superSchema, handlerArgumentsLength) {
+ return typeof handler === "function" ? (...args) => handler(...args.slice(0, handlerArgumentsLength - 1), superSchema, ...args.slice(handlerArgumentsLength - 1)) : () => handler;
+}
+
+// node_modules/vnopts/lib/schemas/alias.js
+var AliasSchema = class extends Schema {
+ constructor(parameters) {
+ super(parameters);
+ this._sourceName = parameters.sourceName;
+ }
+ expected(utils) {
+ return utils.schemas[this._sourceName].expected(utils);
+ }
+ validate(value, utils) {
+ return utils.schemas[this._sourceName].validate(value, utils);
+ }
+ redirect(_value, _utils) {
+ return this._sourceName;
+ }
+};
+
+// node_modules/vnopts/lib/schemas/any.js
+var AnySchema = class extends Schema {
+ expected() {
+ return "anything";
+ }
+ validate() {
+ return true;
+ }
+};
+
+// node_modules/vnopts/lib/schemas/array.js
+var ArraySchema = class extends Schema {
+ constructor({ valueSchema, name = valueSchema.name, ...handlers }) {
+ super({ ...handlers, name });
+ this._valueSchema = valueSchema;
+ }
+ expected(utils) {
+ const { text, list } = utils.normalizeExpectedResult(this._valueSchema.expected(utils));
+ return {
+ text: text && `an array of ${text}`,
+ list: list && {
+ title: `an array of the following values`,
+ values: [{ list }]
}
- if (c2 < " ") {
- const hexString = c2.charCodeAt(0).toString(16);
- return "\\x" + ("00" + hexString).substring(hexString.length);
+ };
+ }
+ validate(value, utils) {
+ if (!Array.isArray(value)) {
+ return false;
+ }
+ const invalidValues = [];
+ for (const subValue of value) {
+ const subValidateResult = utils.normalizeValidateResult(this._valueSchema.validate(subValue, utils), subValue);
+ if (subValidateResult !== true) {
+ invalidValues.push(subValidateResult.value);
}
- return c2;
}
- function syntaxError(message) {
- const err = new SyntaxError(message);
- err.lineNumber = line2;
- err.columnNumber = column;
- return err;
+ return invalidValues.length === 0 ? true : { value: invalidValues };
+ }
+ deprecated(value, utils) {
+ const deprecatedResult = [];
+ for (const subValue of value) {
+ const subDeprecatedResult = utils.normalizeDeprecatedResult(this._valueSchema.deprecated(subValue, utils), subValue);
+ if (subDeprecatedResult !== false) {
+ deprecatedResult.push(...subDeprecatedResult.map(({ value: deprecatedValue }) => ({
+ value: [deprecatedValue]
+ })));
+ }
}
+ return deprecatedResult;
}
-});
+ forward(value, utils) {
+ const forwardResult = [];
+ for (const subValue of value) {
+ const subForwardResult = utils.normalizeForwardResult(this._valueSchema.forward(subValue, utils), subValue);
+ forwardResult.push(...subForwardResult.map(wrapTransferResult));
+ }
+ return forwardResult;
+ }
+ redirect(value, utils) {
+ const remain = [];
+ const redirect = [];
+ for (const subValue of value) {
+ const subRedirectResult = utils.normalizeRedirectResult(this._valueSchema.redirect(subValue, utils), subValue);
+ if ("remain" in subRedirectResult) {
+ remain.push(subRedirectResult.remain);
+ }
+ redirect.push(...subRedirectResult.redirect.map(wrapTransferResult));
+ }
+ return remain.length === 0 ? { redirect } : { redirect, remain };
+ }
+ overlap(currentValue, newValue) {
+ return currentValue.concat(newValue);
+ }
+};
+function wrapTransferResult({ from, to }) {
+ return { from: [from], to };
+}
-// node_modules/ignore/index.js
-var require_ignore = __commonJS({
- "node_modules/ignore/index.js"(exports, module) {
- function makeArray(subject) {
- return Array.isArray(subject) ? subject : [subject];
+// node_modules/vnopts/lib/schemas/boolean.js
+var BooleanSchema = class extends Schema {
+ expected() {
+ return "true or false";
+ }
+ validate(value) {
+ return typeof value === "boolean";
+ }
+};
+
+// node_modules/vnopts/lib/utils.js
+function recordFromArray(array2, mainKey) {
+ const record = /* @__PURE__ */ Object.create(null);
+ for (const value of array2) {
+ const key = value[mainKey];
+ if (record[key]) {
+ throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`);
}
- var EMPTY = "";
- var SPACE = " ";
- var ESCAPE = "\\";
- var REGEX_TEST_BLANK_LINE = /^\s+$/;
- var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
- var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
- var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
- var REGEX_SPLITALL_CRLF = /\r?\n/g;
- var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/;
- var SLASH = "/";
- var TMP_KEY_IGNORE = "node-ignore";
- if (typeof Symbol !== "undefined") {
- TMP_KEY_IGNORE = Symbol.for("node-ignore");
+ record[key] = value;
+ }
+ return record;
+}
+function mapFromArray(array2, mainKey) {
+ const map = /* @__PURE__ */ new Map();
+ for (const value of array2) {
+ const key = value[mainKey];
+ if (map.has(key)) {
+ throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`);
}
- var KEY_IGNORE = TMP_KEY_IGNORE;
- var define = (object, key, value) => Object.defineProperty(object, key, { value });
- var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
- var RETURN_FALSE = () => false;
- var sanitizeRange = (range) => range.replace(
- REGEX_REGEXP_RANGE,
- (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY
- );
- var cleanRangeBackSlash = (slashes) => {
- const { length } = slashes;
- return slashes.slice(0, length - length % 2);
- };
- var REPLACERS = [
- // > Trailing spaces are ignored unless they are quoted with backslash ("\")
- [
- // (a\ ) -> (a )
- // (a ) -> (a)
- // (a \ ) -> (a )
- /\\?\s+$/,
- (match) => match.indexOf("\\") === 0 ? SPACE : EMPTY
- ],
- // replace (\ ) with ' '
- [
- /\\\s/g,
- () => SPACE
- ],
- // Escape metacharacters
- // which is written down by users but means special for regular expressions.
- // > There are 12 characters with special meanings:
- // > - the backslash \,
- // > - the caret ^,
- // > - the dollar sign $,
- // > - the period or dot .,
- // > - the vertical bar or pipe symbol |,
- // > - the question mark ?,
- // > - the asterisk or star *,
- // > - the plus sign +,
- // > - the opening parenthesis (,
- // > - the closing parenthesis ),
- // > - and the opening square bracket [,
- // > - the opening curly brace {,
- // > These special characters are often called "metacharacters".
- [
- /[\\$.|*+(){^]/g,
- (match) => `\\${match}`
- ],
- [
- // > a question mark (?) matches a single character
- /(?!\\)\?/g,
- () => "[^/]"
- ],
- // leading slash
- [
- // > A leading slash matches the beginning of the pathname.
- // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
- // A leading slash matches the beginning of the pathname
- /^\//,
- () => "^"
- ],
- // replace special metacharacter slash after the leading slash
- [
- /\//g,
- () => "\\/"
- ],
- [
- // > A leading "**" followed by a slash means match in all directories.
- // > For example, "**/foo" matches file or directory "foo" anywhere,
- // > the same as pattern "foo".
- // > "**/foo/bar" matches file or directory "bar" anywhere that is directly
- // > under directory "foo".
- // Notice that the '*'s have been replaced as '\\*'
- /^\^*\\\*\\\*\\\//,
- // '**/foo' <-> 'foo'
- () => "^(?:.*\\/)?"
- ],
- // starting
- [
- // there will be no leading '/'
- // (which has been replaced by section "leading slash")
- // If starts with '**', adding a '^' to the regular expression also works
- /^(?=[^^])/,
- function startingReplacer() {
- return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^";
- }
- ],
- // two globstars
- [
- // Use lookahead assertions so that we could match more than one `'/**'`
- /\\\/\\\*\\\*(?=\\\/|$)/g,
- // Zero, one or several directories
- // should not use '*', or it will be replaced by the next replacer
- // Check if it is not the last `'/**'`
- (_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+"
- ],
- // normal intermediate wildcards
- [
- // Never replace escaped '*'
- // ignore rule '\*' will match the path '*'
- // 'abc.*/' -> go
- // 'abc.*' -> skip this rule,
- // coz trailing single wildcard will be handed by [trailing wildcard]
- /(^|[^\\]+)(\\\*)+(?=.+)/g,
- // '*.js' matches '.js'
- // '*.js' doesn't match 'abc'
- (_, p1, p2) => {
- const unescaped = p2.replace(/\\\*/g, "[^\\/]*");
- return p1 + unescaped;
- }
- ],
- [
- // unescape, revert step 3 except for back slash
- // For example, if a user escape a '\\*',
- // after step 3, the result will be '\\\\\\*'
- /\\\\\\(?=[$.|*+(){^])/g,
- () => ESCAPE
- ],
- [
- // '\\\\' -> '\\'
- /\\\\/g,
- () => ESCAPE
- ],
- [
- // > The range notation, e.g. [a-zA-Z],
- // > can be used to match one of the characters in a range.
- // `\` is escaped by step 3
- /(\\)?\[([^\]/]*?)(\\*)($|\])/g,
- (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]"
- ],
- // ending
- [
- // 'js' will not match 'js.'
- // 'ab' will not match 'abc'
- /(?:[^*])$/,
- // WTF!
- // https://git-scm.com/docs/gitignore
- // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
- // which re-fixes #24, #38
- // > If there is a separator at the end of the pattern then the pattern
- // > will only match directories, otherwise the pattern can match both
- // > files and directories.
- // 'js*' will not match 'a.js'
- // 'js/' will not match 'a.js'
- // 'js' will match 'a.js' and 'a.js/'
- (match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)`
- ],
- // trailing wildcard
- [
- /(\^|\\\/)?\\\*$/,
- (_, p1) => {
- const prefix = p1 ? `${p1}[^/]+` : "[^/]*";
- return `${prefix}(?=$|\\/$)`;
- }
- ]
- ];
- var regexCache = /* @__PURE__ */ Object.create(null);
- var makeRegex = (pattern, ignoreCase) => {
- let source = regexCache[pattern];
- if (!source) {
- source = REPLACERS.reduce(
- (prev, current) => prev.replace(current[0], current[1].bind(pattern)),
- pattern
- );
- regexCache[pattern] = source;
- }
- return ignoreCase ? new RegExp(source, "i") : new RegExp(source);
- };
- var isString = (subject) => typeof subject === "string";
- var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0;
- var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF);
- var IgnoreRule = class {
- constructor(origin, pattern, negative, regex) {
- this.origin = origin;
- this.pattern = pattern;
- this.negative = negative;
- this.regex = regex;
- }
- };
- var createRule = (pattern, ignoreCase) => {
- const origin = pattern;
- let negative = false;
- if (pattern.indexOf("!") === 0) {
- negative = true;
- pattern = pattern.substr(1);
+ map.set(key, value);
+ }
+ return map;
+}
+function createAutoChecklist() {
+ const map = /* @__PURE__ */ Object.create(null);
+ return (id) => {
+ const idString = JSON.stringify(id);
+ if (map[idString]) {
+ return true;
+ }
+ map[idString] = true;
+ return false;
+ };
+}
+function partition(array2, predicate) {
+ const trueArray = [];
+ const falseArray = [];
+ for (const value of array2) {
+ if (predicate(value)) {
+ trueArray.push(value);
+ } else {
+ falseArray.push(value);
+ }
+ }
+ return [trueArray, falseArray];
+}
+function isInt(value) {
+ return value === Math.floor(value);
+}
+function comparePrimitive(a, b) {
+ if (a === b) {
+ return 0;
+ }
+ const typeofA = typeof a;
+ const typeofB = typeof b;
+ const orders = [
+ "undefined",
+ "object",
+ "boolean",
+ "number",
+ "string"
+ ];
+ if (typeofA !== typeofB) {
+ return orders.indexOf(typeofA) - orders.indexOf(typeofB);
+ }
+ if (typeofA !== "string") {
+ return Number(a) - Number(b);
+ }
+ return a.localeCompare(b);
+}
+function normalizeInvalidHandler(invalidHandler) {
+ return (...args) => {
+ const errorMessageOrError = invalidHandler(...args);
+ return typeof errorMessageOrError === "string" ? new Error(errorMessageOrError) : errorMessageOrError;
+ };
+}
+function normalizeDefaultResult(result) {
+ return result === void 0 ? {} : result;
+}
+function normalizeExpectedResult(result) {
+ if (typeof result === "string") {
+ return { text: result };
+ }
+ const { text, list } = result;
+ assert((text || list) !== void 0, "Unexpected `expected` result, there should be at least one field.");
+ if (!list) {
+ return { text };
+ }
+ return {
+ text,
+ list: {
+ title: list.title,
+ values: list.values.map(normalizeExpectedResult)
+ }
+ };
+}
+function normalizeValidateResult(result, value) {
+ return result === true ? true : result === false ? { value } : result;
+}
+function normalizeDeprecatedResult(result, value, doNotNormalizeTrue = false) {
+ return result === false ? false : result === true ? doNotNormalizeTrue ? true : [{ value }] : "value" in result ? [result] : result.length === 0 ? false : result;
+}
+function normalizeTransferResult(result, value) {
+ return typeof result === "string" || "key" in result ? { from: value, to: result } : "from" in result ? { from: result.from, to: result.to } : { from: value, to: result.to };
+}
+function normalizeForwardResult(result, value) {
+ return result === void 0 ? [] : Array.isArray(result) ? result.map((transferResult) => normalizeTransferResult(transferResult, value)) : [normalizeTransferResult(result, value)];
+}
+function normalizeRedirectResult(result, value) {
+ const redirect = normalizeForwardResult(typeof result === "object" && "redirect" in result ? result.redirect : result, value);
+ return redirect.length === 0 ? { remain: value, redirect } : typeof result === "object" && "remain" in result ? { remain: result.remain, redirect } : { redirect };
+}
+function assert(isValid, message) {
+ if (!isValid) {
+ throw new Error(message);
+ }
+}
+
+// node_modules/vnopts/lib/schemas/choice.js
+var ChoiceSchema = class extends Schema {
+ constructor(parameters) {
+ super(parameters);
+ this._choices = mapFromArray(parameters.choices.map((choice) => choice && typeof choice === "object" ? choice : { value: choice }), "value");
+ }
+ expected({ descriptor }) {
+ const choiceDescriptions = Array.from(this._choices.keys()).map((value) => this._choices.get(value)).filter(({ hidden }) => !hidden).map((choiceInfo) => choiceInfo.value).sort(comparePrimitive).map(descriptor.value);
+ const head = choiceDescriptions.slice(0, -2);
+ const tail = choiceDescriptions.slice(-2);
+ const message = head.concat(tail.join(" or ")).join(", ");
+ return {
+ text: message,
+ list: {
+ title: "one of the following values",
+ values: choiceDescriptions
}
- pattern = pattern.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
- const regex = makeRegex(pattern, ignoreCase);
- return new IgnoreRule(
- origin,
- pattern,
- negative,
- regex
- );
};
- var throwError = (message, Ctor) => {
- throw new Ctor(message);
- };
- var checkPath = (path9, originalPath, doThrow) => {
- if (!isString(path9)) {
- return doThrow(
- `path must be a string, but got \`${originalPath}\``,
- TypeError
- );
+ }
+ validate(value) {
+ return this._choices.has(value);
+ }
+ deprecated(value) {
+ const choiceInfo = this._choices.get(value);
+ return choiceInfo && choiceInfo.deprecated ? { value } : false;
+ }
+ forward(value) {
+ const choiceInfo = this._choices.get(value);
+ return choiceInfo ? choiceInfo.forward : void 0;
+ }
+ redirect(value) {
+ const choiceInfo = this._choices.get(value);
+ return choiceInfo ? choiceInfo.redirect : void 0;
+ }
+};
+
+// node_modules/vnopts/lib/schemas/number.js
+var NumberSchema = class extends Schema {
+ expected() {
+ return "a number";
+ }
+ validate(value, _utils) {
+ return typeof value === "number";
+ }
+};
+
+// node_modules/vnopts/lib/schemas/integer.js
+var IntegerSchema = class extends NumberSchema {
+ expected() {
+ return "an integer";
+ }
+ validate(value, utils) {
+ return utils.normalizeValidateResult(super.validate(value, utils), value) === true && isInt(value);
+ }
+};
+
+// node_modules/vnopts/lib/schemas/string.js
+var StringSchema = class extends Schema {
+ expected() {
+ return "a string";
+ }
+ validate(value) {
+ return typeof value === "string";
+ }
+};
+
+// node_modules/vnopts/lib/defaults.js
+var defaultDescriptor = apiDescriptor;
+var defaultUnknownHandler = levenUnknownHandler;
+var defaultInvalidHandler = commonInvalidHandler;
+var defaultDeprecatedHandler = commonDeprecatedHandler;
+
+// node_modules/vnopts/lib/normalize.js
+var Normalizer = class {
+ constructor(schemas, opts) {
+ const { logger = console, loggerPrintWidth = 80, descriptor = defaultDescriptor, unknown = defaultUnknownHandler, invalid = defaultInvalidHandler, deprecated = defaultDeprecatedHandler, missing = () => false, required = () => false, preprocess = (x) => x, postprocess = () => VALUE_UNCHANGED } = opts || {};
+ this._utils = {
+ descriptor,
+ logger: (
+ /* c8 ignore next */
+ logger || { warn: () => {
+ } }
+ ),
+ loggerPrintWidth,
+ schemas: recordFromArray(schemas, "name"),
+ normalizeDefaultResult,
+ normalizeExpectedResult,
+ normalizeDeprecatedResult,
+ normalizeForwardResult,
+ normalizeRedirectResult,
+ normalizeValidateResult
+ };
+ this._unknownHandler = unknown;
+ this._invalidHandler = normalizeInvalidHandler(invalid);
+ this._deprecatedHandler = deprecated;
+ this._identifyMissing = (k, o) => !(k in o) || missing(k, o);
+ this._identifyRequired = required;
+ this._preprocess = preprocess;
+ this._postprocess = postprocess;
+ this.cleanHistory();
+ }
+ cleanHistory() {
+ this._hasDeprecationWarned = createAutoChecklist();
+ }
+ normalize(options8) {
+ const newOptions = {};
+ const preprocessed = this._preprocess(options8, this._utils);
+ const restOptionsArray = [preprocessed];
+ const applyNormalization = () => {
+ while (restOptionsArray.length !== 0) {
+ const currentOptions = restOptionsArray.shift();
+ const transferredOptionsArray = this._applyNormalization(currentOptions, newOptions);
+ restOptionsArray.push(...transferredOptionsArray);
+ }
+ };
+ applyNormalization();
+ for (const key of Object.keys(this._utils.schemas)) {
+ const schema = this._utils.schemas[key];
+ if (!(key in newOptions)) {
+ const defaultResult = normalizeDefaultResult(schema.default(this._utils));
+ if ("value" in defaultResult) {
+ restOptionsArray.push({ [key]: defaultResult.value });
+ }
+ }
+ }
+ applyNormalization();
+ for (const key of Object.keys(this._utils.schemas)) {
+ if (!(key in newOptions)) {
+ continue;
}
- if (!path9) {
- return doThrow(`path must not be empty`, TypeError);
+ const schema = this._utils.schemas[key];
+ const value = newOptions[key];
+ const newValue = schema.postprocess(value, this._utils);
+ if (newValue === VALUE_UNCHANGED) {
+ continue;
}
- if (checkPath.isNotRelative(path9)) {
- const r = "`path.relative()`d";
- return doThrow(
- `path should be a ${r} string, but got "${originalPath}"`,
- RangeError
+ this._applyValidation(newValue, key, schema);
+ newOptions[key] = newValue;
+ }
+ this._applyPostprocess(newOptions);
+ this._applyRequiredCheck(newOptions);
+ return newOptions;
+ }
+ _applyNormalization(options8, newOptions) {
+ const transferredOptionsArray = [];
+ const { knownKeys, unknownKeys } = this._partitionOptionKeys(options8);
+ for (const key of knownKeys) {
+ const schema = this._utils.schemas[key];
+ const value = schema.preprocess(options8[key], this._utils);
+ this._applyValidation(value, key, schema);
+ const appendTransferredOptions = ({ from, to }) => {
+ transferredOptionsArray.push(typeof to === "string" ? { [to]: from } : { [to.key]: to.value });
+ };
+ const warnDeprecated = ({ value: currentValue, redirectTo }) => {
+ const deprecatedResult = normalizeDeprecatedResult(
+ schema.deprecated(currentValue, this._utils),
+ value,
+ /* doNotNormalizeTrue */
+ true
);
- }
- return true;
- };
- var isNotRelative = (path9) => REGEX_TEST_INVALID_PATH.test(path9);
- checkPath.isNotRelative = isNotRelative;
- checkPath.convert = (p) => p;
- var Ignore = class {
- constructor({
- ignorecase = true,
- ignoreCase = ignorecase,
- allowRelativePaths = false
- } = {}) {
- define(this, KEY_IGNORE, true);
- this._rules = [];
- this._ignoreCase = ignoreCase;
- this._allowRelativePaths = allowRelativePaths;
- this._initCache();
- }
- _initCache() {
- this._ignoreCache = /* @__PURE__ */ Object.create(null);
- this._testCache = /* @__PURE__ */ Object.create(null);
- }
- _addPattern(pattern) {
- if (pattern && pattern[KEY_IGNORE]) {
- this._rules = this._rules.concat(pattern._rules);
- this._added = true;
+ if (deprecatedResult === false) {
return;
}
- if (checkPattern(pattern)) {
- const rule = createRule(pattern, this._ignoreCase);
- this._added = true;
- this._rules.push(rule);
- }
- }
- // @param {Array | string | Ignore} pattern
- add(pattern) {
- this._added = false;
- makeArray(
- isString(pattern) ? splitPattern(pattern) : pattern
- ).forEach(this._addPattern, this);
- if (this._added) {
- this._initCache();
- }
- return this;
- }
- // legacy
- addPattern(pattern) {
- return this.add(pattern);
- }
- // | ignored : unignored
- // negative | 0:0 | 0:1 | 1:0 | 1:1
- // -------- | ------- | ------- | ------- | --------
- // 0 | TEST | TEST | SKIP | X
- // 1 | TESTIF | SKIP | TEST | X
- // - SKIP: always skip
- // - TEST: always test
- // - TESTIF: only test if checkUnignored
- // - X: that never happen
- // @param {boolean} whether should check if the path is unignored,
- // setting `checkUnignored` to `false` could reduce additional
- // path matching.
- // @returns {TestResult} true if a file is ignored
- _testOne(path9, checkUnignored) {
- let ignored = false;
- let unignored = false;
- this._rules.forEach((rule) => {
- const { negative } = rule;
- if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
- return;
+ if (deprecatedResult === true) {
+ if (!this._hasDeprecationWarned(key)) {
+ this._utils.logger.warn(this._deprecatedHandler(key, redirectTo, this._utils));
}
- const matched = rule.regex.test(path9);
- if (matched) {
- ignored = !negative;
- unignored = negative;
+ } else {
+ for (const { value: deprecatedValue } of deprecatedResult) {
+ const pair = { key, value: deprecatedValue };
+ if (!this._hasDeprecationWarned(pair)) {
+ const redirectToPair = typeof redirectTo === "string" ? { key: redirectTo, value: deprecatedValue } : redirectTo;
+ this._utils.logger.warn(this._deprecatedHandler(pair, redirectToPair, this._utils));
+ }
}
- });
- return {
- ignored,
- unignored
- };
- }
- // @returns {TestResult}
- _test(originalPath, cache, checkUnignored, slices) {
- const path9 = originalPath && checkPath.convert(originalPath);
- checkPath(
- path9,
- originalPath,
- this._allowRelativePaths ? RETURN_FALSE : throwError
- );
- return this._t(path9, cache, checkUnignored, slices);
- }
- _t(path9, cache, checkUnignored, slices) {
- if (path9 in cache) {
- return cache[path9];
- }
- if (!slices) {
- slices = path9.split(SLASH);
}
- slices.pop();
- if (!slices.length) {
- return cache[path9] = this._testOne(path9, checkUnignored);
+ };
+ const forwardResult = normalizeForwardResult(schema.forward(value, this._utils), value);
+ forwardResult.forEach(appendTransferredOptions);
+ const redirectResult = normalizeRedirectResult(schema.redirect(value, this._utils), value);
+ redirectResult.redirect.forEach(appendTransferredOptions);
+ if ("remain" in redirectResult) {
+ const remainingValue = redirectResult.remain;
+ newOptions[key] = key in newOptions ? schema.overlap(newOptions[key], remainingValue, this._utils) : remainingValue;
+ warnDeprecated({ value: remainingValue });
+ }
+ for (const { from, to } of redirectResult.redirect) {
+ warnDeprecated({ value: from, redirectTo: to });
+ }
+ }
+ for (const key of unknownKeys) {
+ const value = options8[key];
+ this._applyUnknownHandler(key, value, newOptions, (knownResultKey, knownResultValue) => {
+ transferredOptionsArray.push({ [knownResultKey]: knownResultValue });
+ });
+ }
+ return transferredOptionsArray;
+ }
+ _applyRequiredCheck(options8) {
+ for (const key of Object.keys(this._utils.schemas)) {
+ if (this._identifyMissing(key, options8)) {
+ if (this._identifyRequired(key)) {
+ throw this._invalidHandler(key, VALUE_NOT_EXIST, this._utils);
}
- const parent = this._t(
- slices.join(SLASH) + SLASH,
- cache,
- checkUnignored,
- slices
- );
- return cache[path9] = parent.ignored ? parent : this._testOne(path9, checkUnignored);
}
- ignores(path9) {
- return this._test(path9, this._ignoreCache, false).ignored;
+ }
+ }
+ _partitionOptionKeys(options8) {
+ const [knownKeys, unknownKeys] = partition(Object.keys(options8).filter((key) => !this._identifyMissing(key, options8)), (key) => key in this._utils.schemas);
+ return { knownKeys, unknownKeys };
+ }
+ _applyValidation(value, key, schema) {
+ const validateResult = normalizeValidateResult(schema.validate(value, this._utils), value);
+ if (validateResult !== true) {
+ throw this._invalidHandler(key, validateResult.value, this._utils);
+ }
+ }
+ _applyUnknownHandler(key, value, newOptions, knownResultHandler) {
+ const unknownResult = this._unknownHandler(key, value, this._utils);
+ if (!unknownResult) {
+ return;
+ }
+ for (const resultKey of Object.keys(unknownResult)) {
+ if (this._identifyMissing(resultKey, unknownResult)) {
+ continue;
}
- createFilter() {
- return (path9) => !this.ignores(path9);
+ const resultValue = unknownResult[resultKey];
+ if (resultKey in this._utils.schemas) {
+ knownResultHandler(resultKey, resultValue);
+ } else {
+ newOptions[resultKey] = resultValue;
}
- filter(paths) {
- return makeArray(paths).filter(this.createFilter());
+ }
+ }
+ _applyPostprocess(options8) {
+ const postprocessed = this._postprocess(options8, this._utils);
+ if (postprocessed === VALUE_UNCHANGED) {
+ return;
+ }
+ if (postprocessed.delete) {
+ for (const deleteKey of postprocessed.delete) {
+ delete options8[deleteKey];
}
- // @returns {TestResult}
- test(path9) {
- return this._test(path9, this._testCache, true);
+ }
+ if (postprocessed.override) {
+ const { knownKeys, unknownKeys } = this._partitionOptionKeys(postprocessed.override);
+ for (const key of knownKeys) {
+ const value = postprocessed.override[key];
+ this._applyValidation(value, key, this._utils.schemas[key]);
+ options8[key] = value;
+ }
+ for (const key of unknownKeys) {
+ const value = postprocessed.override[key];
+ this._applyUnknownHandler(key, value, options8, (knownResultKey, knownResultValue) => {
+ const schema = this._utils.schemas[knownResultKey];
+ this._applyValidation(knownResultValue, knownResultKey, schema);
+ options8[knownResultKey] = knownResultValue;
+ });
}
- };
- var factory = (options8) => new Ignore(options8);
- var isPathValid = (path9) => checkPath(path9 && checkPath.convert(path9), path9, RETURN_FALSE);
- factory.isPathValid = isPathValid;
- factory.default = factory;
- module.exports = factory;
- if (
- // Detect `process` so that it can run in browsers.
- typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32")
- ) {
- const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/");
- checkPath.convert = makePosix;
- const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
- checkPath.isNotRelative = (path9) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path9) || isNotRelative(path9);
}
}
-});
+};
// src/index.js
-var src_exports = {};
-__export(src_exports, {
- __debug: () => debugApis,
- __internal: () => sharedWithCli,
- check: () => check,
- clearConfigCache: () => clearCache3,
- doc: () => doc,
- format: () => format2,
- formatWithCursor: () => formatWithCursor2,
- getFileInfo: () => getFileInfo2,
- getSupportInfo: () => getSupportInfo2,
- resolveConfig: () => resolveConfig,
- resolveConfigFile: () => resolveConfigFile,
- util: () => public_exports,
- version: () => version_evaluate_default
-});
-var import_vnopts2 = __toESM(require_lib(), 1);
var import_fast_glob = __toESM(require_out4(), 1);
// scripts/build/shims/string-replace-all.js
-var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => {
+var stringReplaceAll2 = (isOptionalObject, original, pattern, replacement) => {
if (isOptionalObject && (original === void 0 || original === null)) {
return;
}
@@ -15002,10 +14709,10 @@ var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => {
}
return original.split(pattern).join(replacement);
};
-var string_replace_all_default = stringReplaceAll;
+var string_replace_all_default = stringReplaceAll2;
// src/main/core.js
-var import_diff = __toESM(require_array3(), 1);
+var import_diff = __toESM(require_array2(), 1);
// src/document/constants.js
var DOC_TYPE_STRING = "string";
@@ -15340,11 +15047,11 @@ function mapDoc(doc2, cb) {
if (mapped.has(doc3)) {
return mapped.get(doc3);
}
- const result = process4(doc3);
+ const result = process5(doc3);
mapped.set(doc3, result);
return result;
}
- function process4(doc3) {
+ function process5(doc3) {
switch (get_doc_type_default(doc3)) {
case DOC_TYPE_ARRAY:
return cb(doc3.map(rec));
@@ -16729,7 +16436,6 @@ function inferParser(options8, fileInfo) {
var infer_parser_default = inferParser;
// src/main/normalize-options.js
-var import_vnopts = __toESM(require_lib(), 1);
var hasDeprecationWarned;
function normalizeOptions(options8, optionInfos, {
logger = false,
@@ -16746,14 +16452,14 @@ function normalizeOptions(options8, optionInfos, {
throw new Error("'descriptor' option is required.");
}
} else {
- descriptor = import_vnopts.default.apiDescriptor;
+ descriptor = apiDescriptor;
}
const unknown = !passThrough ? (key, value, options9) => {
const {
_,
...schemas2
} = options9.schemas;
- return import_vnopts.default.levenUnknownHandler(key, value, {
+ return levenUnknownHandler(key, value, {
...options9,
schemas: schemas2
});
@@ -16766,7 +16472,7 @@ function normalizeOptions(options8, optionInfos, {
isCLI,
FlagSchema
});
- const normalizer = new import_vnopts.default.Normalizer(schemas, {
+ const normalizer = new Normalizer(schemas, {
logger,
unknown,
descriptor
@@ -16787,7 +16493,7 @@ function optionInfosToSchemas(optionInfos, {
}) {
const schemas = [];
if (isCLI) {
- schemas.push(import_vnopts.default.AnySchema.create({
+ schemas.push(AnySchema.create({
name: "_"
}));
}
@@ -16798,7 +16504,7 @@ function optionInfosToSchemas(optionInfos, {
FlagSchema
}));
if (optionInfo.alias && isCLI) {
- schemas.push(import_vnopts.default.AliasSchema.create({
+ schemas.push(AliasSchema.create({
// @ts-expect-error
name: optionInfo.alias,
sourceName: optionInfo.name
@@ -16822,16 +16528,16 @@ function optionInfoToSchema(optionInfo, {
const handlers = {};
switch (optionInfo.type) {
case "int":
- SchemaConstructor = import_vnopts.default.IntegerSchema;
+ SchemaConstructor = IntegerSchema;
if (isCLI) {
parameters.preprocess = Number;
}
break;
case "string":
- SchemaConstructor = import_vnopts.default.StringSchema;
+ SchemaConstructor = StringSchema;
break;
case "choice":
- SchemaConstructor = import_vnopts.default.ChoiceSchema;
+ SchemaConstructor = ChoiceSchema;
parameters.choices = optionInfo.choices.map((choiceInfo) => (choiceInfo == null ? void 0 : choiceInfo.redirect) ? {
...choiceInfo,
redirect: {
@@ -16843,14 +16549,14 @@ function optionInfoToSchema(optionInfo, {
} : choiceInfo);
break;
case "boolean":
- SchemaConstructor = import_vnopts.default.BooleanSchema;
+ SchemaConstructor = BooleanSchema;
break;
case "flag":
SchemaConstructor = FlagSchema;
parameters.flags = optionInfos.flatMap((optionInfo2) => [optionInfo2.alias, optionInfo2.description && optionInfo2.name, optionInfo2.oppositeDescription && `no-${optionInfo2.name}`].filter(Boolean));
break;
case "path":
- SchemaConstructor = import_vnopts.default.StringSchema;
+ SchemaConstructor = StringSchema;
break;
default:
throw new Error(`Unexpected type ${optionInfo.type}`);
@@ -16880,7 +16586,7 @@ function optionInfoToSchema(optionInfo, {
-1
) : value), utils);
}
- return optionInfo.array ? import_vnopts.default.ArraySchema.create({
+ return optionInfo.array ? ArraySchema.create({
...isCLI ? {
preprocess: (v) => Array.isArray(v) ? v : [v]
} : {},
@@ -17070,7 +16776,7 @@ function massageAst(ast, options8) {
var massage_ast_default = massageAst;
// src/main/parse.js
-var import_code_frame = __toESM(require_lib4(), 1);
+var import_code_frame = __toESM(require_lib3(), 1);
async function parse(originalText, options8) {
const parser = await resolveParser(options8);
const text = parser.preprocess ? parser.preprocess(originalText, options8) : originalText;
@@ -17403,7 +17109,7 @@ getAncestors_fn = function* () {
var ast_path_default = AstPath;
// src/main/comments/attach.js
-import assert from "assert";
+import assert2 from "assert";
// src/utils/skip.js
function skip(characters) {
@@ -17791,8 +17497,8 @@ function breakTies(tiesToBreak, options8) {
precedingNode: currentCommentPrecedingNode,
followingNode: currentCommentFollowingNode
} = tiesToBreak[indexOfFirstLeadingComment - 1];
- assert.strictEqual(currentCommentPrecedingNode, precedingNode);
- assert.strictEqual(currentCommentFollowingNode, followingNode);
+ assert2.strictEqual(currentCommentPrecedingNode, precedingNode);
+ assert2.strictEqual(currentCommentFollowingNode, followingNode);
const gap = options8.originalText.slice(options8.locEnd(comment), gapEndPos);
if (((_b = (_a = options8.printer).isGap) == null ? void 0 : _b.call(_a, gap, options8)) ?? /^[\s(]*$/.test(gap)) {
gapEndPos = options8.locStart(comment);
@@ -18139,12 +17845,12 @@ function callPluginPrintFunction(path9, options8, printPath, args, embeds) {
} else {
doc2 = printer.print(path9, options8, printPath, args);
}
- if (printer.printComment && (!printer.willPrintOwnComments || !printer.willPrintOwnComments(path9, options8))) {
- doc2 = printComments(path9, doc2, options8);
- }
if (node === options8.cursorNode) {
doc2 = inheritLabel(doc2, (doc3) => [cursor, doc3, cursor]);
}
+ if (printer.printComment && (!printer.willPrintOwnComments || !printer.willPrintOwnComments(path9, options8))) {
+ doc2 = printComments(path9, doc2, options8);
+ }
return doc2;
}
async function prepareToPrint(ast, options8) {
@@ -18161,7 +17867,7 @@ async function prepareToPrint(ast, options8) {
}
// src/main/range-util.js
-import assert2 from "assert";
+import assert3 from "assert";
var isJsonParser = ({ parser }) => parser === "json" || parser === "json5" || parser === "json-stringify";
function findCommonAncestor(startNodeAndParents, endNodeAndParents) {
const startNodeAndAncestors = [
@@ -18308,7 +18014,7 @@ function isSourceElement(opts, node, parentNode) {
}
function calculateRange(text, opts, ast) {
let { rangeStart: start, rangeEnd: end, locStart, locEnd } = opts;
- assert2.ok(end > start);
+ assert3.ok(end > start);
const firstNonWhitespaceCharacterIndex = text.slice(start, end).search(/\S/);
const isAllWhitespace = firstNonWhitespaceCharacterIndex === -1;
if (!isAllWhitespace) {
@@ -18739,14 +18445,14 @@ function memClear(fn) {
}
// src/utils/partition.js
-function partition(array, predicate) {
+function partition2(array2, predicate) {
const result = [[], []];
- for (const value of array) {
+ for (const value of array2) {
result[predicate(value) ? 0 : 1].push(value);
}
return result;
}
-var partition_default = partition;
+var partition_default = partition2;
// src/config/resolve-editorconfig.js
var import_editorconfig = __toESM(require_src(), 1);
@@ -18800,9 +18506,9 @@ var require_from_file_default = requireFromFile;
import { pathToFileURL as pathToFileURL2 } from "url";
// node_modules/import-meta-resolve/lib/resolve.js
-import assert4 from "assert";
+import assert5 from "assert";
import { Stats, statSync, realpathSync } from "fs";
-import process3 from "process";
+import process4 from "process";
import { URL as URL3, fileURLToPath as fileURLToPath3, pathToFileURL } from "url";
import path4 from "path";
import { builtinModules } from "module";
@@ -18815,10 +18521,10 @@ import { URL, fileURLToPath } from "url";
// node_modules/import-meta-resolve/lib/errors.js
import v8 from "v8";
-import process2 from "process";
-import assert3 from "assert";
+import process3 from "process";
+import assert4 from "assert";
import { format, inspect } from "util";
-var isWindows = process2.platform === "win32";
+var isWindows = process3.platform === "win32";
var own = {}.hasOwnProperty;
var classRegExp = /^([A-Z][a-z\d]*)+$/;
var kTypes = /* @__PURE__ */ new Set([
@@ -18834,8 +18540,8 @@ var kTypes = /* @__PURE__ */ new Set([
"symbol"
]);
var codes = {};
-function formatList(array, type = "and") {
- return array.length < 3 ? array.join(` ${type} `) : `${array.slice(0, -1).join(", ")}, ${type} ${array[array.length - 1]}`;
+function formatList(array2, type = "and") {
+ return array2.length < 3 ? array2.join(` ${type} `) : `${array2.slice(0, -1).join(", ")}, ${type} ${array2[array2.length - 1]}`;
}
var messages = /* @__PURE__ */ new Map();
var nodeInternalPrefix = "__node_internal_";
@@ -18848,7 +18554,7 @@ codes.ERR_INVALID_ARG_TYPE = createError(
* @param {unknown} actual
*/
(name, expected, actual) => {
- assert3(typeof name === "string", "'name' must be a string");
+ assert4(typeof name === "string", "'name' must be a string");
if (!Array.isArray(expected)) {
expected = [expected];
}
@@ -18864,14 +18570,14 @@ codes.ERR_INVALID_ARG_TYPE = createError(
const instances = [];
const other = [];
for (const value of expected) {
- assert3(
+ assert4(
typeof value === "string",
"All expected entries have to be of type string"
);
if (kTypes.has(value)) {
types.push(value.toLowerCase());
} else if (classRegExp.exec(value) === null) {
- assert3(
+ assert4(
value !== "object",
'The value "object" should be written as "Object"'
);
@@ -18950,7 +18656,7 @@ codes.ERR_INVALID_PACKAGE_TARGET = createError(
(pkgPath, key, target, isImport = false, base = void 0) => {
const relError = typeof target === "string" && !isImport && target.length > 0 && !target.startsWith("./");
if (key === ".") {
- assert3(isImport === false);
+ assert4(isImport === false);
return `Invalid "exports" main target ${JSON.stringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ""}${relError ? '; targets must start with "./"' : ""}`;
}
return `Invalid "${isImport ? "imports" : "exports"}" target ${JSON.stringify(
@@ -19131,9 +18837,9 @@ var captureLargerStackTrace = hideStackFrames(
);
function getMessage(key, args, self) {
const message = messages.get(key);
- assert3(message !== void 0, "expected `message` to be found");
+ assert4(message !== void 0, "expected `message` to be found");
if (typeof message === "function") {
- assert3(
+ assert4(
message.length <= args.length,
// Default options do not count.
`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${message.length}).`
@@ -19144,7 +18850,7 @@ function getMessage(key, args, self) {
let expectedLength = 0;
while (regex.exec(message) !== null)
expectedLength++;
- assert3(
+ assert4(
expectedLength === args.length,
`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
);
@@ -19406,7 +19112,7 @@ var doubleSlashRegEx = /[/\\]{2}/;
function emitInvalidSegmentDeprecation(target, request, match, packageJsonUrl, internal, base, isTarget) {
const pjsonPath = fileURLToPath3(packageJsonUrl);
const double = doubleSlashRegEx.exec(isTarget ? target : request) !== null;
- process3.emitWarning(
+ process4.emitWarning(
`Use of deprecated ${double ? "double slash" : "leading or trailing slash matching"} resolving "${target}" for module request "${request}" ${request === match ? "" : `matched to "${match}" `}in the "${internal ? "imports" : "exports"}" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath3(base)}` : ""}.`,
"DeprecationWarning",
"DEP0166"
@@ -19420,7 +19126,7 @@ function emitLegacyIndexDeprecation(url, packageJsonUrl, base, main) {
const pkgPath = fileURLToPath3(new URL3(".", packageJsonUrl));
const basePath = fileURLToPath3(base);
if (main)
- process3.emitWarning(
+ process4.emitWarning(
`Package ${pkgPath} has a "main" field set to ${JSON.stringify(main)}, excluding the full filename and extension to the resolved file at "${path9.slice(
pkgPath.length
)}", imported from ${basePath}.
@@ -19429,7 +19135,7 @@ function emitLegacyIndexDeprecation(url, packageJsonUrl, base, main) {
"DEP0151"
);
else
- process3.emitWarning(
+ process4.emitWarning(
`No "main" or "exports" field defined in the package.json for ${pkgPath} resolving the main entry point "${path9.slice(
pkgPath.length
)}", imported from ${basePath}.
@@ -19791,7 +19497,7 @@ function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) {
if (emittedPackageWarnings.has(pjsonPath + "|" + match))
return;
emittedPackageWarnings.add(pjsonPath + "|" + match);
- process3.emitWarning(
+ process4.emitWarning(
`Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath3(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`,
"DeprecationWarning",
"DEP0155"
@@ -20069,7 +19775,7 @@ function moduleResolve(specifier, base, conditions, preserveSymlinks) {
}
}
}
- assert4(resolved !== void 0, "expected to be defined");
+ assert5(resolved !== void 0, "expected to be defined");
if (resolved.protocol !== "file:") {
return resolved;
}
@@ -20141,7 +19847,7 @@ function throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports2) {
}
function defaultResolve(specifier, context = {}) {
const { parentURL } = context;
- assert4(parentURL !== void 0, "expected `parentURL` to be defined");
+ assert5(parentURL !== void 0, "expected `parentURL` to be defined");
throwIfInvalidParentURL(parentURL);
let parsedParentURL;
if (parentURL) {
@@ -20209,11 +19915,16 @@ function importFromFile(specifier, parent) {
var import_from_file_default = importFromFile;
// src/config/load-external-config.js
+var requireErrorCodesShouldBeIgnored = /* @__PURE__ */ new Set([
+ "MODULE_NOT_FOUND",
+ "ERR_REQUIRE_ESM",
+ "ERR_PACKAGE_PATH_NOT_EXPORTED"
+]);
async function loadExternalConfig(config, filepath) {
try {
return require_from_file_default(config, filepath);
} catch (error) {
- if ((error == null ? void 0 : error.code) !== "MODULE_NOT_FOUND" && (error == null ? void 0 : error.code) !== "ERR_REQUIRE_ESM") {
+ if (!requireErrorCodesShouldBeIgnored.has(error == null ? void 0 : error.code)) {
throw error;
}
}
@@ -21164,6 +20875,7 @@ var languages_evaluate_default6 = [
".yyp"
],
"filenames": [
+ ".all-contributorsrc",
".arcconfig",
".auto-changelog",
".c8rc",
@@ -21175,6 +20887,7 @@ var languages_evaluate_default6 = [
".watchmanconfig",
"Pipfile.lock",
"composer.lock",
+ "flake.lock",
"mcmod.info"
],
"parsers": [
@@ -21221,14 +20934,14 @@ var languages_evaluate_default6 = [
".jscsrc",
".jshintrc",
".jslintrc",
+ ".swcrc",
"api-extractor.json",
"devcontainer.json",
"jsconfig.json",
"language-configuration.json",
"tsconfig.json",
"tslint.json",
- ".eslintrc",
- ".swcrc"
+ ".eslintrc"
],
"parsers": [
"json"
@@ -21273,6 +20986,7 @@ var languages_evaluate_default7 = [
"type": "prose",
"color": "#083fa1",
"aliases": [
+ "md",
"pandoc"
],
"aceMode": "markdown",
@@ -21296,7 +21010,7 @@ var languages_evaluate_default7 = [
"contents.lr",
"README"
],
- "tmScope": "source.gfm",
+ "tmScope": "text.md",
"parsers": [
"markdown"
],
@@ -21310,6 +21024,7 @@ var languages_evaluate_default7 = [
"type": "prose",
"color": "#083fa1",
"aliases": [
+ "md",
"pandoc"
],
"aceMode": "markdown",
@@ -21320,7 +21035,7 @@ var languages_evaluate_default7 = [
".mdx"
],
"filenames": [],
- "tmScope": "source.gfm",
+ "tmScope": "text.md",
"parsers": [
"mdx"
],
@@ -21766,7 +21481,7 @@ function isNextLineEmpty2(text, startIndex) {
import * as doc from "./doc.mjs";
// src/main/version.evaluate.cjs
-var version_evaluate_default = "3.0.0";
+var version_evaluate_default = "3.0.3";
// src/index.js
function withPlugins(fn, optionsArgumentIndex = 1) {
@@ -21809,7 +21524,10 @@ var sharedWithCli = {
normalizeOptions: normalize_options_default,
getSupportInfoWithoutPlugins: getSupportInfo,
normalizeOptionSettings,
- vnopts: import_vnopts2.default,
+ vnopts: {
+ ChoiceSchema,
+ apiDescriptor
+ },
fastGlob: import_fast_glob.default,
utils: {
isNonEmptyArray: is_non_empty_array_default,
diff --git a/node_modules/prettier/internal/cli.mjs b/node_modules/prettier/internal/cli.mjs
index a78a01a..d800213 100644
--- a/node_modules/prettier/internal/cli.mjs
+++ b/node_modules/prettier/internal/cli.mjs
@@ -1197,6 +1197,264 @@ var require_common_path_prefix = __commonJS({
}
});
+// node_modules/json-buffer/index.js
+var require_json_buffer = __commonJS({
+ "node_modules/json-buffer/index.js"(exports) {
+ exports.stringify = function stringify4(o) {
+ if ("undefined" == typeof o)
+ return o;
+ if (o && Buffer.isBuffer(o))
+ return JSON.stringify(":base64:" + o.toString("base64"));
+ if (o && o.toJSON)
+ o = o.toJSON();
+ if (o && "object" === typeof o) {
+ var s = "";
+ var array2 = Array.isArray(o);
+ s = array2 ? "[" : "{";
+ var first = true;
+ for (var k in o) {
+ var ignore = "function" == typeof o[k] || !array2 && "undefined" === typeof o[k];
+ if (Object.hasOwnProperty.call(o, k) && !ignore) {
+ if (!first)
+ s += ",";
+ first = false;
+ if (array2) {
+ if (o[k] == void 0)
+ s += "null";
+ else
+ s += stringify4(o[k]);
+ } else if (o[k] !== void 0) {
+ s += stringify4(k) + ":" + stringify4(o[k]);
+ }
+ }
+ }
+ s += array2 ? "]" : "}";
+ return s;
+ } else if ("string" === typeof o) {
+ return JSON.stringify(/^:/.test(o) ? ":" + o : o);
+ } else if ("undefined" === typeof o) {
+ return "null";
+ } else
+ return JSON.stringify(o);
+ };
+ exports.parse = function(s) {
+ return JSON.parse(s, function(key, value) {
+ if ("string" === typeof value) {
+ if (/^:base64:/.test(value))
+ return Buffer.from(value.substring(8), "base64");
+ else
+ return /^:/.test(value) ? value.substring(1) : value;
+ }
+ return value;
+ });
+ };
+ }
+});
+
+// node_modules/keyv/src/index.js
+var require_src = __commonJS({
+ "node_modules/keyv/src/index.js"(exports, module) {
+ "use strict";
+ var EventEmitter = __require("events");
+ var JSONB = require_json_buffer();
+ var loadStore = (options) => {
+ const adapters = {
+ redis: "@keyv/redis",
+ rediss: "@keyv/redis",
+ mongodb: "@keyv/mongo",
+ mongo: "@keyv/mongo",
+ sqlite: "@keyv/sqlite",
+ postgresql: "@keyv/postgres",
+ postgres: "@keyv/postgres",
+ mysql: "@keyv/mysql",
+ etcd: "@keyv/etcd",
+ offline: "@keyv/offline",
+ tiered: "@keyv/tiered"
+ };
+ if (options.adapter || options.uri) {
+ const adapter = options.adapter || /^[^:+]*/.exec(options.uri)[0];
+ return new (__require(adapters[adapter]))(options);
+ }
+ return /* @__PURE__ */ new Map();
+ };
+ var iterableAdapters = [
+ "sqlite",
+ "postgres",
+ "mysql",
+ "mongo",
+ "redis",
+ "tiered"
+ ];
+ var Keyv = class extends EventEmitter {
+ constructor(uri, { emitErrors = true, ...options } = {}) {
+ super();
+ this.opts = {
+ namespace: "keyv",
+ serialize: JSONB.stringify,
+ deserialize: JSONB.parse,
+ ...typeof uri === "string" ? { uri } : uri,
+ ...options
+ };
+ if (!this.opts.store) {
+ const adapterOptions = { ...this.opts };
+ this.opts.store = loadStore(adapterOptions);
+ }
+ if (this.opts.compression) {
+ const compression = this.opts.compression;
+ this.opts.serialize = compression.serialize.bind(compression);
+ this.opts.deserialize = compression.deserialize.bind(compression);
+ }
+ if (typeof this.opts.store.on === "function" && emitErrors) {
+ this.opts.store.on("error", (error) => this.emit("error", error));
+ }
+ this.opts.store.namespace = this.opts.namespace;
+ const generateIterator = (iterator) => async function* () {
+ for await (const [key, raw] of typeof iterator === "function" ? iterator(this.opts.store.namespace) : iterator) {
+ const data = await this.opts.deserialize(raw);
+ if (this.opts.store.namespace && !key.includes(this.opts.store.namespace)) {
+ continue;
+ }
+ if (typeof data.expires === "number" && Date.now() > data.expires) {
+ this.delete(key);
+ continue;
+ }
+ yield [this._getKeyUnprefix(key), data.value];
+ }
+ };
+ if (typeof this.opts.store[Symbol.iterator] === "function" && this.opts.store instanceof Map) {
+ this.iterator = generateIterator(this.opts.store);
+ } else if (typeof this.opts.store.iterator === "function" && this.opts.store.opts && this._checkIterableAdaptar()) {
+ this.iterator = generateIterator(this.opts.store.iterator.bind(this.opts.store));
+ }
+ }
+ _checkIterableAdaptar() {
+ return iterableAdapters.includes(this.opts.store.opts.dialect) || iterableAdapters.findIndex((element) => this.opts.store.opts.url.includes(element)) >= 0;
+ }
+ _getKeyPrefix(key) {
+ return `${this.opts.namespace}:${key}`;
+ }
+ _getKeyPrefixArray(keys) {
+ return keys.map((key) => `${this.opts.namespace}:${key}`);
+ }
+ _getKeyUnprefix(key) {
+ return key.split(":").splice(1).join(":");
+ }
+ get(key, options) {
+ const { store } = this.opts;
+ const isArray = Array.isArray(key);
+ const keyPrefixed = isArray ? this._getKeyPrefixArray(key) : this._getKeyPrefix(key);
+ if (isArray && store.getMany === void 0) {
+ const promises = [];
+ for (const key2 of keyPrefixed) {
+ promises.push(
+ Promise.resolve().then(() => store.get(key2)).then((data) => typeof data === "string" ? this.opts.deserialize(data) : this.opts.compression ? this.opts.deserialize(data) : data).then((data) => {
+ if (data === void 0 || data === null) {
+ return void 0;
+ }
+ if (typeof data.expires === "number" && Date.now() > data.expires) {
+ return this.delete(key2).then(() => void 0);
+ }
+ return options && options.raw ? data : data.value;
+ })
+ );
+ }
+ return Promise.allSettled(promises).then((values) => {
+ const data = [];
+ for (const value of values) {
+ data.push(value.value);
+ }
+ return data;
+ });
+ }
+ return Promise.resolve().then(() => isArray ? store.getMany(keyPrefixed) : store.get(keyPrefixed)).then((data) => typeof data === "string" ? this.opts.deserialize(data) : this.opts.compression ? this.opts.deserialize(data) : data).then((data) => {
+ if (data === void 0 || data === null) {
+ return void 0;
+ }
+ if (isArray) {
+ const result = [];
+ for (let row of data) {
+ if (typeof row === "string") {
+ row = this.opts.deserialize(row);
+ }
+ if (row === void 0 || row === null) {
+ result.push(void 0);
+ continue;
+ }
+ if (typeof row.expires === "number" && Date.now() > row.expires) {
+ this.delete(key).then(() => void 0);
+ result.push(void 0);
+ } else {
+ result.push(options && options.raw ? row : row.value);
+ }
+ }
+ return result;
+ }
+ if (typeof data.expires === "number" && Date.now() > data.expires) {
+ return this.delete(key).then(() => void 0);
+ }
+ return options && options.raw ? data : data.value;
+ });
+ }
+ set(key, value, ttl) {
+ const keyPrefixed = this._getKeyPrefix(key);
+ if (typeof ttl === "undefined") {
+ ttl = this.opts.ttl;
+ }
+ if (ttl === 0) {
+ ttl = void 0;
+ }
+ const { store } = this.opts;
+ return Promise.resolve().then(() => {
+ const expires = typeof ttl === "number" ? Date.now() + ttl : null;
+ if (typeof value === "symbol") {
+ this.emit("error", "symbol cannot be serialized");
+ }
+ value = { value, expires };
+ return this.opts.serialize(value);
+ }).then((value2) => store.set(keyPrefixed, value2, ttl)).then(() => true);
+ }
+ delete(key) {
+ const { store } = this.opts;
+ if (Array.isArray(key)) {
+ const keyPrefixed2 = this._getKeyPrefixArray(key);
+ if (store.deleteMany === void 0) {
+ const promises = [];
+ for (const key2 of keyPrefixed2) {
+ promises.push(store.delete(key2));
+ }
+ return Promise.allSettled(promises).then((values) => values.every((x) => x.value === true));
+ }
+ return Promise.resolve().then(() => store.deleteMany(keyPrefixed2));
+ }
+ const keyPrefixed = this._getKeyPrefix(key);
+ return Promise.resolve().then(() => store.delete(keyPrefixed));
+ }
+ clear() {
+ const { store } = this.opts;
+ return Promise.resolve().then(() => store.clear());
+ }
+ has(key) {
+ const keyPrefixed = this._getKeyPrefix(key);
+ const { store } = this.opts;
+ return Promise.resolve().then(async () => {
+ if (typeof store.has === "function") {
+ return store.has(keyPrefixed);
+ }
+ const value = await store.get(keyPrefixed);
+ return value !== void 0;
+ });
+ }
+ disconnect() {
+ const { store } = this.opts;
+ if (typeof store.disconnect === "function") {
+ return store.disconnect();
+ }
+ }
+ };
+ module.exports = Keyv;
+ }
+});
+
// node_modules/flatted/cjs/index.js
var require_cjs = __commonJS({
"node_modules/flatted/cjs/index.js"(exports) {
@@ -4008,6 +4266,7 @@ var require_cache = __commonJS({
"node_modules/flat-cache/src/cache.js"(exports, module) {
var path10 = __require("path");
var fs6 = __require("fs");
+ var Keyv = require_src();
var utils = require_utils();
var del = require_del();
var writeJSON = utils.writeJSON;
@@ -4023,13 +4282,28 @@ var require_cache = __commonJS({
*/
load: function(docId, cacheDir) {
var me = this;
- me._visited = {};
- me._persisted = {};
+ me.keyv = new Keyv();
+ me.__visited = {};
+ me.__persisted = {};
me._pathToFile = cacheDir ? path10.resolve(cacheDir, docId) : path10.resolve(__dirname, "../.cache/", docId);
if (fs6.existsSync(me._pathToFile)) {
me._persisted = utils.tryParse(me._pathToFile, {});
}
},
+ get _persisted() {
+ return this.__persisted;
+ },
+ set _persisted(value) {
+ this.__persisted = value;
+ this.keyv.set("persisted", value);
+ },
+ get _visited() {
+ return this.__visited;
+ },
+ set _visited(value) {
+ this.__visited = value;
+ this.keyv.set("visited", value);
+ },
/**
* Load the cache from the provided file
* @method loadFile
@@ -4777,7 +5051,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
return 1;
}
if ("CI" in env) {
- if ("GITHUB_ACTIONS" in env) {
+ if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) {
return 3;
}
if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
@@ -5006,7 +5280,7 @@ var chalk = createChalk();
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
var source_default = chalk;
-// node_modules/strip-ansi/node_modules/ansi-regex/index.js
+// node_modules/ansi-regex/index.js
function ansiRegex({ onlyFirst = false } = {}) {
const pattern = [
"[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
@@ -5404,12 +5678,30 @@ var preserveCamelCase = (string, toLowerCase, toUpperCase, preserveConsecutiveUp
};
var preserveConsecutiveUppercase = (input, toLowerCase) => {
LEADING_CAPITAL.lastIndex = 0;
- return input.replace(LEADING_CAPITAL, (m1) => toLowerCase(m1));
+ return string_replace_all_default(
+ /* isOptionalObject*/
+ false,
+ input,
+ LEADING_CAPITAL,
+ (match) => toLowerCase(match)
+ );
};
var postProcess = (input, toUpperCase) => {
SEPARATORS_AND_IDENTIFIER.lastIndex = 0;
NUMBERS_AND_IDENTIFIER.lastIndex = 0;
- return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier)).replace(NUMBERS_AND_IDENTIFIER, (m) => toUpperCase(m));
+ return string_replace_all_default(
+ /* isOptionalObject*/
+ false,
+ string_replace_all_default(
+ /* isOptionalObject*/
+ false,
+ input,
+ NUMBERS_AND_IDENTIFIER,
+ (match, pattern, offset) => ["_", "-"].includes(input.charAt(offset + match.length)) ? match : toUpperCase(match)
+ ),
+ SEPARATORS_AND_IDENTIFIER,
+ (_, identifier) => toUpperCase(identifier)
+ );
};
function camelCase(input, options) {
if (!(typeof input === "string" || Array.isArray(input))) {
@@ -5963,9 +6255,10 @@ async function* expandPatternsInternal(context) {
});
} else if (stat.isDirectory()) {
const relativePath = path2.relative(cwd2, absolutePath) || ".";
+ const prefix = escapePathForGlob(fixWindowsSlashes(relativePath));
entries.push({
type: "dir",
- glob: escapePathForGlob(fixWindowsSlashes(relativePath)) + "/" + getSupportedFilesGlob(),
+ glob: getSupportedFilesGlob().map((pattern2) => `${prefix}/**/${pattern2}`),
input: pattern
});
}
@@ -6007,13 +6300,20 @@ ${message}`
}
}
function getSupportedFilesGlob() {
- if (!supportedFilesGlob) {
- const extensions = context.languages.flatMap((lang) => lang.extensions || []);
- const filenames = context.languages.flatMap((lang) => lang.filenames || []);
- supportedFilesGlob = `**/{${[...extensions.map((ext) => "*" + (ext[0] === "." ? ext : "." + ext)), ...filenames]}}`;
- }
+ supportedFilesGlob ?? (supportedFilesGlob = [...getSupportedFilesGlobWithoutCache()]);
return supportedFilesGlob;
}
+ function* getSupportedFilesGlobWithoutCache() {
+ for (const {
+ extensions = [],
+ filenames = []
+ } of context.languages) {
+ yield* filenames;
+ for (const extension of extensions) {
+ yield `*${extension.startsWith(".") ? extension : `.${extension}`}`;
+ }
+ }
+ }
}
var errorMessages = {
globError: {
@@ -6646,7 +6946,11 @@ async function format2(context, input, opt) {
ms: averageMs
};
context.logger.debug(
- `'${performanceTestFlag.name}' measurements for formatWithCursor: ${JSON.stringify(results, null, 2)}`
+ `'${performanceTestFlag.name}' measurements for formatWithCursor: ${JSON.stringify(
+ results,
+ null,
+ 2
+ )}`
);
}
return prettier.formatWithCursor(input, opt);
diff --git a/node_modules/prettier/internal/internal.mjs b/node_modules/prettier/internal/internal.mjs
index 21d430d..093f407 100644
--- a/node_modules/prettier/internal/internal.mjs
+++ b/node_modules/prettier/internal/internal.mjs
@@ -673,9 +673,9 @@ var require_lib = __commonJS({
}
});
-// node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js
+// node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js
var require_escape_string_regexp = __commonJS({
- "node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js"(exports, module) {
+ "node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js"(exports, module) {
"use strict";
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
module.exports = function(str) {
@@ -1829,9 +1829,9 @@ var require_ansi_styles = __commonJS({
}
});
-// node_modules/@babel/highlight/node_modules/has-flag/index.js
+// node_modules/@babel/code-frame/node_modules/has-flag/index.js
var require_has_flag = __commonJS({
- "node_modules/@babel/highlight/node_modules/has-flag/index.js"(exports, module) {
+ "node_modules/@babel/code-frame/node_modules/has-flag/index.js"(exports, module) {
"use strict";
module.exports = (flag, argv) => {
argv = argv || process.argv;
@@ -1843,9 +1843,9 @@ var require_has_flag = __commonJS({
}
});
-// node_modules/@babel/highlight/node_modules/supports-color/index.js
+// node_modules/@babel/code-frame/node_modules/supports-color/index.js
var require_supports_color = __commonJS({
- "node_modules/@babel/highlight/node_modules/supports-color/index.js"(exports, module) {
+ "node_modules/@babel/code-frame/node_modules/supports-color/index.js"(exports, module) {
"use strict";
var os = __require("os");
var hasFlag = require_has_flag();
@@ -1938,9 +1938,9 @@ var require_supports_color = __commonJS({
}
});
-// node_modules/@babel/highlight/node_modules/chalk/templates.js
+// node_modules/@babel/code-frame/node_modules/chalk/templates.js
var require_templates = __commonJS({
- "node_modules/@babel/highlight/node_modules/chalk/templates.js"(exports, module) {
+ "node_modules/@babel/code-frame/node_modules/chalk/templates.js"(exports, module) {
"use strict";
var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
@@ -2049,9 +2049,9 @@ var require_templates = __commonJS({
}
});
-// node_modules/@babel/highlight/node_modules/chalk/index.js
+// node_modules/@babel/code-frame/node_modules/chalk/index.js
var require_chalk = __commonJS({
- "node_modules/@babel/highlight/node_modules/chalk/index.js"(exports, module) {
+ "node_modules/@babel/code-frame/node_modules/chalk/index.js"(exports, module) {
"use strict";
var escapeStringRegexp = require_escape_string_regexp();
var ansiStyles = require_ansi_styles();
@@ -2224,23 +2224,23 @@ var require_lib2 = __commonJS({
value: true
});
exports.default = highlight;
- exports.getChalk = getChalk;
exports.shouldHighlight = shouldHighlight;
var _jsTokens = require_js_tokens();
var _helperValidatorIdentifier = require_lib();
- var _chalk = require_chalk();
+ var _chalk2 = require_chalk();
+ var chalk = _chalk2;
var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]);
- function getDefs(chalk) {
+ function getDefs(chalk2) {
return {
- keyword: chalk.cyan,
- capitalized: chalk.yellow,
- jsxIdentifier: chalk.yellow,
- punctuator: chalk.yellow,
- number: chalk.magenta,
- string: chalk.green,
- regex: chalk.magenta,
- comment: chalk.grey,
- invalid: chalk.white.bgRed.bold
+ keyword: chalk2.cyan,
+ capitalized: chalk2.yellow,
+ jsxIdentifier: chalk2.yellow,
+ punctuator: chalk2.yellow,
+ number: chalk2.magenta,
+ string: chalk2.green,
+ regex: chalk2.magenta,
+ comment: chalk2.grey,
+ invalid: chalk2.white.bgRed.bold
};
}
var NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
@@ -2295,18 +2295,28 @@ var require_lib2 = __commonJS({
return highlighted;
}
function shouldHighlight(options) {
- return !!_chalk.supportsColor || options.forceColor;
+ return !!chalk.supportsColor || options.forceColor;
+ }
+ var chalkWithForcedColor = void 0;
+ function getChalk(forceColor) {
+ if (forceColor) {
+ var _chalkWithForcedColor;
+ (_chalkWithForcedColor = chalkWithForcedColor) != null ? _chalkWithForcedColor : chalkWithForcedColor = new chalk.constructor({
+ enabled: true,
+ level: 1
+ });
+ return chalkWithForcedColor;
+ }
+ return chalk;
}
- function getChalk(options) {
- return options.forceColor ? new _chalk.constructor({
- enabled: true,
- level: 1
- }) : _chalk;
+ {
+ {
+ exports.getChalk = (options) => getChalk(options.forceColor);
+ }
}
function highlight(code, options = {}) {
if (code !== "" && shouldHighlight(options)) {
- const chalk = getChalk(options);
- const defs = getDefs(chalk);
+ const defs = getDefs(getChalk(options.forceColor));
return highlightTokens(defs, code);
} else {
return code;
@@ -2325,12 +2335,26 @@ var require_lib3 = __commonJS({
exports.codeFrameColumns = codeFrameColumns;
exports.default = _default;
var _highlight = require_lib2();
+ var _chalk2 = require_chalk();
+ var chalk = _chalk2;
+ var chalkWithForcedColor = void 0;
+ function getChalk(forceColor) {
+ if (forceColor) {
+ var _chalkWithForcedColor;
+ (_chalkWithForcedColor = chalkWithForcedColor) != null ? _chalkWithForcedColor : chalkWithForcedColor = new chalk.constructor({
+ enabled: true,
+ level: 1
+ });
+ return chalkWithForcedColor;
+ }
+ return chalk;
+ }
var deprecationWarningShown = false;
- function getDefs(chalk) {
+ function getDefs(chalk2) {
return {
- gutter: chalk.grey,
- marker: chalk.red.bold,
- message: chalk.red.bold
+ gutter: chalk2.grey,
+ marker: chalk2.red.bold,
+ message: chalk2.red.bold
};
}
var NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
@@ -2392,8 +2416,8 @@ var require_lib3 = __commonJS({
}
function codeFrameColumns(rawLines, loc, opts = {}) {
const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts);
- const chalk = (0, _highlight.getChalk)(opts);
- const defs = getDefs(chalk);
+ const chalk2 = getChalk(opts.forceColor);
+ const defs = getDefs(chalk2);
const maybeHighlight = (chalkFn, string) => {
return highlighted ? chalkFn(string) : string;
};
@@ -2432,7 +2456,7 @@ var require_lib3 = __commonJS({
${frame}`;
}
if (highlighted) {
- return chalk.reset(frame);
+ return chalk2.reset(frame);
} else {
return frame;
}
diff --git a/node_modules/prettier/package.json b/node_modules/prettier/package.json
index 21ed6b5..2f94d4c 100644
--- a/node_modules/prettier/package.json
+++ b/node_modules/prettier/package.json
@@ -1,6 +1,6 @@
{
"name": "prettier",
- "version": "3.0.0",
+ "version": "3.0.3",
"description": "Prettier is an opinionated code formatter",
"bin": "./bin/prettier.cjs",
"repository": "prettier/prettier",
@@ -190,5 +190,6 @@
"standalone.d.ts",
"standalone.js",
"standalone.mjs"
- ]
+ ],
+ "preferUnplugged": true
}
\ No newline at end of file
diff --git a/node_modules/prettier/plugins/acorn.js b/node_modules/prettier/plugins/acorn.js
index 333221a..9ba5b0b 100644
--- a/node_modules/prettier/plugins/acorn.js
+++ b/node_modules/prettier/plugins/acorn.js
@@ -1,13 +1,13 @@
-(function(n){function e(){var i=n();return i.default||i}if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var t=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};t.prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.acorn=e()}})(function(){"use strict";var Zi=Object.create;var Be=Object.defineProperty;var es=Object.getOwnPropertyDescriptor;var ts=Object.getOwnPropertyNames;var is=Object.getPrototypeOf,ss=Object.prototype.hasOwnProperty;var Se=(a,u)=>()=>(u||a((u={exports:{}}).exports,u),u.exports),rs=(a,u)=>{for(var c in u)Be(a,c,{get:u[c],enumerable:!0})},Qt=(a,u,c,h)=>{if(u&&typeof u=="object"||typeof u=="function")for(let l of ts(u))!ss.call(a,l)&&l!==c&&Be(a,l,{get:()=>u[l],enumerable:!(h=es(u,l))||h.enumerable});return a};var as=(a,u,c)=>(c=a!=null?Zi(is(a)):{},Qt(u||!a||!a.__esModule?Be(c,"default",{value:a,enumerable:!0}):c,a)),ns=a=>Qt(Be({},"__esModule",{value:!0}),a);var si=Se(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.extract=ds;se.parse=xs;se.parseWithComments=ii;se.print=ys;se.strip=ms;var hs=/\*\/$/,ps=/^\/\*\*?/,ei=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,cs=/(^|\s+)\/\/([^\r\n]*)/g,Yt=/^(\r?\n)+/,ls=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,$t=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,fs=/(\r?\n|^) *\* ?/g,ti=[];function ds(a){let u=a.match(ei);return u?u[0].trimLeft():""}function ms(a){let u=a.match(ei);return u&&u[0]?a.substring(u[0].length):a}function xs(a){return ii(a).pragmas}function ii(a){let u=`
-`;a=a.replace(ps,"").replace(hs,"").replace(fs,"$1");let c="";for(;c!==a;)c=a,a=a.replace(ls,`${u}$1 $2${u}`);a=a.replace(Yt,"").trimRight();let h=Object.create(null),l=a.replace($t,"").replace(Yt,"").trimRight(),f;for(;f=$t.exec(a);){let m=f[2].replace(cs,"");typeof h[f[1]]=="string"||Array.isArray(h[f[1]])?h[f[1]]=ti.concat(h[f[1]],m):h[f[1]]=m}return{comments:l,pragmas:h}}function ys({comments:a="",pragmas:u={}}){let c=`
-`,h="/**",l=" *",f=" */",m=Object.keys(u),_=m.map(P=>Zt(P,u[P])).reduce((P,D)=>P.concat(D),[]).map(P=>`${l} ${P}${c}`).join("");if(!a){if(m.length===0)return"";if(m.length===1&&!Array.isArray(u[m[0]])){let P=u[m[0]];return`${h} ${Zt(m[0],P)[0]}${f}`}}let L=a.split(c).map(P=>`${l} ${P}`).join(c)+c;return h+c+(a?L:"")+(a&&m.length?l+c:"")+_+f}function Zt(a,u){return ti.concat(u).map(c=>`@${a} ${c}`.trim())}});var Ee=Se((Ke,li)=>{(function(a,u){typeof Ke=="object"&&typeof li<"u"?u(Ke):typeof define=="function"&&define.amd?define(["exports"],u):(a=typeof globalThis<"u"?globalThis:a||self,u(a.acorn={}))})(Ke,function(a){"use strict";var u=[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],c=[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,3104,541,1507,4938,6,4191],h="\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\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\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",l="\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",f={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},m="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",_={5:m,"5module":m+" export import",6:m+" const class extends export import super"},L=/^in(stanceof)?$/,P=new RegExp("["+l+"]"),D=new RegExp("["+l+h+"]");function G(e,t){for(var i=65536,s=0;se)return!1;if(i+=t[s+1],i>=e)return!0}return!1}function F(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&P.test(String.fromCharCode(e)):t===!1?!1:G(e,c)}function d(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&D.test(String.fromCharCode(e)):t===!1?!1:G(e,c)||G(e,u)}var y=function(t,i){i===void 0&&(i={}),this.label=t,this.keyword=i.keyword,this.beforeExpr=!!i.beforeExpr,this.startsExpr=!!i.startsExpr,this.isLoop=!!i.isLoop,this.isAssign=!!i.isAssign,this.prefix=!!i.prefix,this.postfix=!!i.postfix,this.binop=i.binop||null,this.updateContext=null};function b(e,t){return new y(e,{beforeExpr:!0,binop:t})}var k={beforeExpr:!0},N={startsExpr:!0},H={};function E(e,t){return t===void 0&&(t={}),t.keyword=e,H[e]=new y(e,t)}var r={num:new y("num",N),regexp:new y("regexp",N),string:new y("string",N),name:new y("name",N),privateId:new y("privateId",N),eof:new y("eof"),bracketL:new y("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new y("]"),braceL:new y("{",{beforeExpr:!0,startsExpr:!0}),braceR:new y("}"),parenL:new y("(",{beforeExpr:!0,startsExpr:!0}),parenR:new y(")"),comma:new y(",",k),semi:new y(";",k),colon:new y(":",k),dot:new y("."),question:new y("?",k),questionDot:new y("?."),arrow:new y("=>",k),template:new y("template"),invalidTemplate:new y("invalidTemplate"),ellipsis:new y("...",k),backQuote:new y("`",N),dollarBraceL:new y("${",{beforeExpr:!0,startsExpr:!0}),eq:new y("=",{beforeExpr:!0,isAssign:!0}),assign:new y("_=",{beforeExpr:!0,isAssign:!0}),incDec:new y("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new y("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:b("||",1),logicalAND:b("&&",2),bitwiseOR:b("|",3),bitwiseXOR:b("^",4),bitwiseAND:b("&",5),equality:b("==/!=/===/!==",6),relational:b(">/<=/>=",7),bitShift:b("<>>/>>>",8),plusMin:new y("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:b("%",10),star:b("*",10),slash:b("/",10),starstar:new y("**",{beforeExpr:!0}),coalesce:b("??",1),_break:E("break"),_case:E("case",k),_catch:E("catch"),_continue:E("continue"),_debugger:E("debugger"),_default:E("default",k),_do:E("do",{isLoop:!0,beforeExpr:!0}),_else:E("else",k),_finally:E("finally"),_for:E("for",{isLoop:!0}),_function:E("function",N),_if:E("if"),_return:E("return",k),_switch:E("switch"),_throw:E("throw",k),_try:E("try"),_var:E("var"),_const:E("const"),_while:E("while",{isLoop:!0}),_with:E("with"),_new:E("new",{beforeExpr:!0,startsExpr:!0}),_this:E("this",N),_super:E("super",N),_class:E("class",N),_extends:E("extends",k),_export:E("export"),_import:E("import",N),_null:E("null",N),_true:E("true",N),_false:E("false",N),_in:E("in",{beforeExpr:!0,binop:7}),_instanceof:E("instanceof",{beforeExpr:!0,binop:7}),_typeof:E("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:E("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:E("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},j=/\r\n?|\n|\u2028|\u2029/,lt=new RegExp(j.source,"g");function te(e){return e===10||e===13||e===8232||e===8233}function ft(e,t,i){i===void 0&&(i=e.length);for(var s=t;s>10)+55296,(e&1023)+56320))}var ki=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,ae=function(t,i){this.line=t,this.column=i};ae.prototype.offset=function(t){return new ae(this.line,this.column+t)};var de=function(t,i,s){this.start=i,this.end=s,t.sourceFile!==null&&(this.source=t.sourceFile)};function ze(e,t){for(var i=1,s=0;;){var n=ft(e,s,t);if(n<0)return new ae(i,t-s);++i,s=n}}var Ae={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},xt=!1;function Ti(e){var t={};for(var i in Ae)t[i]=e&&fe(e,i)?e[i]:Ae[i];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!xt&&typeof console=="object"&&console.warn&&(xt=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
-Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),mt(t.onToken)){var s=t.onToken;t.onToken=function(n){return s.push(n)}}return mt(t.onComment)&&(t.onComment=Ei(t,t.onComment)),t}function Ei(e,t){return function(i,s,n,o,p,x){var g={type:i?"Block":"Line",value:s,start:n,end:o};e.locations&&(g.loc=new de(this,p,x)),e.ranges&&(g.range=[n,o]),t.push(g)}}var me=1,ne=2,We=4,yt=8,gt=16,vt=32,Xe=64,bt=128,xe=256,He=me|ne|xe;function Qe(e,t){return ne|(e?We:0)|(t?yt:0)}var Pe=0,Ye=1,Q=2,St=3,_t=4,Ct=5,V=function(t,i,s){this.options=t=Ti(t),this.sourceFile=t.sourceFile,this.keywords=$(_[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var n="";t.allowReserved!==!0&&(n=f[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(n+=" await")),this.reservedWords=$(n);var o=(n?n+" ":"")+f.strict;this.reservedWordsStrict=$(o),this.reservedWordsStrictBind=$(o+" "+f.strictBind),this.input=String(i),this.containsEsc=!1,s?(this.pos=s,this.lineStart=this.input.lastIndexOf(`
-`,s-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(j).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=r.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(me),this.regexpState=null,this.privateNameStack=[]},z={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};V.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},z.inFunction.get=function(){return(this.currentVarScope().flags&ne)>0},z.inGenerator.get=function(){return(this.currentVarScope().flags&yt)>0&&!this.currentVarScope().inClassFieldInit},z.inAsync.get=function(){return(this.currentVarScope().flags&We)>0&&!this.currentVarScope().inClassFieldInit},z.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&xe)return!1;if(t.flags&ne)return(t.flags&We)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},z.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&Xe)>0||i||this.options.allowSuperOutsideMethod},z.allowDirectSuper.get=function(){return(this.currentThisScope().flags&bt)>0},z.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},z.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&(ne|xe))>0||i},z.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&xe)>0},V.extend=function(){for(var t=[],i=arguments.length;i--;)t[i]=arguments[i];for(var s=this,n=0;n=,?^&]/.test(n)||n==="!"&&this.input.charAt(s+1)==="=")}e+=t[0].length,U.lastIndex=e,e+=U.exec(this.input)[0].length,this.input[e]===";"&&e++}},O.eat=function(e){return this.type===e?(this.next(),!0):!1},O.isContextual=function(e){return this.type===r.name&&this.value===e&&!this.containsEsc},O.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},O.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},O.canInsertSemicolon=function(){return this.type===r.eof||this.type===r.braceR||j.test(this.input.slice(this.lastTokEnd,this.start))},O.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},O.semicolon=function(){!this.eat(r.semi)&&!this.insertSemicolon()&&this.unexpected()},O.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},O.expect=function(e){this.eat(e)||this.unexpected()},O.unexpected=function(e){this.raise(e??this.start,"Unexpected token")};var Ie=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};O.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var i=t?e.parenthesizedAssign:e.parenthesizedBind;i>-1&&this.raiseRecoverable(i,t?"Assigning to rvalue":"Parenthesized pattern")}},O.checkExpressionErrors=function(e,t){if(!e)return!1;var i=e.shorthandAssign,s=e.doubleProto;if(!t)return i>=0||s>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},O.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&s<56320)return!0;if(F(s,!0)){for(var n=i+1;d(s=this.input.charCodeAt(n),!0);)++n;if(s===92||s>55295&&s<56320)return!0;var o=this.input.slice(i,n);if(!L.test(o))return!0}return!1},S.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;U.lastIndex=this.pos;var e=U.exec(this.input),t=this.pos+e[0].length,i;return!j.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(d(i=this.input.charCodeAt(t+8))||i>55295&&i<56320))},S.parseStatement=function(e,t,i){var s=this.type,n=this.startNode(),o;switch(this.isLet(e)&&(s=r._var,o="let"),s){case r._break:case r._continue:return this.parseBreakContinueStatement(n,s.keyword);case r._debugger:return this.parseDebuggerStatement(n);case r._do:return this.parseDoStatement(n);case r._for:return this.parseForStatement(n);case r._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!e);case r._class:return e&&this.unexpected(),this.parseClass(n,!0);case r._if:return this.parseIfStatement(n);case r._return:return this.parseReturnStatement(n);case r._switch:return this.parseSwitchStatement(n);case r._throw:return this.parseThrowStatement(n);case r._try:return this.parseTryStatement(n);case r._const:case r._var:return o=o||this.value,e&&o!=="var"&&this.unexpected(),this.parseVarStatement(n,o);case r._while:return this.parseWhileStatement(n);case r._with:return this.parseWithStatement(n);case r.braceL:return this.parseBlock(!0,n);case r.semi:return this.parseEmptyStatement(n);case r._export:case r._import:if(this.options.ecmaVersion>10&&s===r._import){U.lastIndex=this.pos;var p=U.exec(this.input),x=this.pos+p[0].length,g=this.input.charCodeAt(x);if(g===40||g===46)return this.parseExpressionStatement(n,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),s===r._import?this.parseImport(n):this.parseExport(n,i);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!e);var T=this.value,w=this.parseExpression();return s===r.name&&w.type==="Identifier"&&this.eat(r.colon)?this.parseLabeledStatement(n,T,w,e):this.parseExpressionStatement(n,w)}},S.parseBreakContinueStatement=function(e,t){var i=t==="break";this.next(),this.eat(r.semi)||this.insertSemicolon()?e.label=null:this.type!==r.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(r.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},S.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push($e),this.enterScope(0),this.expect(r.parenL),this.type===r.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var i=this.isLet();if(this.type===r._var||this.type===r._const||i){var s=this.startNode(),n=i?"let":this.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.type===r._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&s.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===r._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,s)):(t>-1&&this.unexpected(t),this.parseFor(e,s))}var o=this.isContextual("let"),p=!1,x=new Ie,g=this.parseExpression(t>-1?"await":!0,x);return this.type===r._in||(p=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===r._in?t>-1&&this.unexpected(t):e.await=t>-1),o&&p&&this.raise(g.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(g,!1,x),this.checkLValPattern(g),this.parseForIn(e,g)):(this.checkExpressionErrors(x,!0),t>-1&&this.unexpected(t),this.parseFor(e,g))},S.parseFunctionStatement=function(e,t,i){return this.next(),this.parseFunction(e,ye|(i?0:Ze),!1,t)},S.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(r._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},S.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(r.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},S.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(r.braceL),this.labels.push(Ai),this.enterScope(0);for(var t,i=!1;this.type!==r.braceR;)if(this.type===r._case||this.type===r._default){var s=this.type===r._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),s?t.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,t.test=null),this.expect(r.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},S.parseThrowStatement=function(e){return this.next(),j.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Pi=[];S.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type==="Identifier";return this.enterScope(t?vt:0),this.checkLValPattern(e,t?_t:Q),this.expect(r.parenR),e},S.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===r._catch){var t=this.startNode();this.next(),this.eat(r.parenL)?t.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0)),t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(r._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},S.parseVarStatement=function(e,t,i){return this.next(),this.parseVar(e,!1,t,i),this.semicolon(),this.finishNode(e,"VariableDeclaration")},S.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push($e),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},S.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},S.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},S.parseLabeledStatement=function(e,t,i,s){for(var n=0,o=this.labels;n=0;g--){var T=this.labels[g];if(T.statementStart===e.start)T.statementStart=this.start,T.kind=x;else break}return this.labels.push({name:t,kind:x,statementStart:this.start}),e.body=this.parseStatement(s?s.indexOf("label")===-1?s+"label":s:"label"),this.labels.pop(),e.label=i,this.finishNode(e,"LabeledStatement")},S.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},S.parseBlock=function(e,t,i){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(r.braceL),e&&this.enterScope(0);this.type!==r.braceR;){var s=this.parseStatement(null);t.body.push(s)}return i&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},S.parseFor=function(e,t){return e.init=t,this.expect(r.semi),e.test=this.type===r.semi?null:this.parseExpression(),this.expect(r.semi),e.update=this.type===r.parenR?null:this.parseExpression(),this.expect(r.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},S.parseForIn=function(e,t){var i=this.type===r._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!i||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(i?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=i?this.parseExpression():this.parseMaybeAssign(),this.expect(r.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,i?"ForInStatement":"ForOfStatement")},S.parseVar=function(e,t,i,s){for(e.declarations=[],e.kind=i;;){var n=this.startNode();if(this.parseVarId(n,i),this.eat(r.eq)?n.init=this.parseMaybeAssign(t):!s&&i==="const"&&!(this.type===r._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():!s&&n.id.type!=="Identifier"&&!(t&&(this.type===r._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):n.init=null,e.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(r.comma))break}return e},S.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?Ye:Q,!1)};var ye=1,Ze=2,kt=4;S.parseFunction=function(e,t,i,s,n){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(this.type===r.star&&t&Ze&&this.unexpected(),e.generator=this.eat(r.star)),this.options.ecmaVersion>=8&&(e.async=!!s),t&ye&&(e.id=t&kt&&this.type!==r.name?null:this.parseIdent(),e.id&&!(t&Ze)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Ye:Q:St));var o=this.yieldPos,p=this.awaitPos,x=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Qe(e.async,e.generator)),t&ye||(e.id=this.type===r.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,i,!1,n),this.yieldPos=o,this.awaitPos=p,this.awaitIdentPos=x,this.finishNode(e,t&ye?"FunctionDeclaration":"FunctionExpression")},S.parseFunctionParams=function(e){this.expect(r.parenL),e.params=this.parseBindingList(r.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},S.parseClass=function(e,t){this.next();var i=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var s=this.enterClassBody(),n=this.startNode(),o=!1;for(n.body=[],this.expect(r.braceL);this.type!==r.braceR;){var p=this.parseClassElement(e.superClass!==null);p&&(n.body.push(p),p.type==="MethodDefinition"&&p.kind==="constructor"?(o&&this.raiseRecoverable(p.start,"Duplicate constructor in the same class"),o=!0):p.key&&p.key.type==="PrivateIdentifier"&&Ii(s,p)&&this.raiseRecoverable(p.key.start,"Identifier '#"+p.key.name+"' has already been declared"))}return this.strict=i,this.next(),e.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},S.parseClassElement=function(e){if(this.eat(r.semi))return null;var t=this.options.ecmaVersion,i=this.startNode(),s="",n=!1,o=!1,p="method",x=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(r.braceL))return this.parseClassStaticBlock(i),i;this.isClassElementNameStart()||this.type===r.star?x=!0:s="static"}if(i.static=x,!s&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===r.star)&&!this.canInsertSemicolon()?o=!0:s="async"),!s&&(t>=9||!o)&&this.eat(r.star)&&(n=!0),!s&&!o&&!n){var g=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?p=g:s=g)}if(s?(i.computed=!1,i.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),i.key.name=s,this.finishNode(i.key,"Identifier")):this.parseClassElementName(i),t<13||this.type===r.parenL||p!=="method"||n||o){var T=!i.static&&Ne(i,"constructor"),w=T&&e;T&&p!=="method"&&this.raise(i.key.start,"Constructor can't have get/set modifier"),i.kind=T?"constructor":p,this.parseClassMethod(i,n,o,w)}else this.parseClassField(i);return i},S.isClassElementNameStart=function(){return this.type===r.name||this.type===r.privateId||this.type===r.num||this.type===r.string||this.type===r.bracketL||this.type.keyword},S.parseClassElementName=function(e){this.type===r.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},S.parseClassMethod=function(e,t,i,s){var n=e.key;e.kind==="constructor"?(t&&this.raise(n.start,"Constructor can't be a generator"),i&&this.raise(n.start,"Constructor can't be an async method")):e.static&&Ne(e,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var o=e.value=this.parseMethod(t,i,s);return e.kind==="get"&&o.params.length!==0&&this.raiseRecoverable(o.start,"getter should have no params"),e.kind==="set"&&o.params.length!==1&&this.raiseRecoverable(o.start,"setter should have exactly one param"),e.kind==="set"&&o.params[0].type==="RestElement"&&this.raiseRecoverable(o.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},S.parseClassField=function(e){if(Ne(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Ne(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(r.eq)){var t=this.currentThisScope(),i=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=i}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},S.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(xe|Xe);this.type!==r.braceR;){var i=this.parseStatement(null);e.body.push(i)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},S.parseClassId=function(e,t){this.type===r.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Q,!1)):(t===!0&&this.unexpected(),e.id=null)},S.parseClassSuper=function(e){e.superClass=this.eat(r._extends)?this.parseExprSubscripts(null,!1):null},S.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},S.exitClassBody=function(){for(var e=this.privateNameStack.pop(),t=e.declared,i=e.used,s=this.privateNameStack.length,n=s===0?null:this.privateNameStack[s-1],o=0;o=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==r.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration")},S.parseExport=function(e,t){if(this.next(),this.eat(r.star))return this.parseExportAllDeclaration(e,t);if(this.eat(r._default))return this.checkExport(t,"default",this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==r.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var i=0,s=e.specifiers;i=13&&this.type===r.string){var e=this.parseLiteral(this.value);return ki.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},S.adaptDirectivePrologue=function(e){for(var t=0;t=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var q=V.prototype;q.toAssignable=function(e,t,i){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var s=0,n=e.properties;s=6)switch(this.type){case r.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(r.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case r.braceL:return this.parseObj(!0)}return this.parseIdent()},q.parseBindingList=function(e,t,i,s){for(var n=[],o=!0;!this.eat(e);)if(o?o=!1:this.expect(r.comma),t&&this.type===r.comma)n.push(null);else{if(i&&this.afterTrailingComma(e))break;if(this.type===r.ellipsis){var p=this.parseRestBinding();this.parseBindingListItem(p),n.push(p),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}else n.push(this.parseAssignableListItem(s))}return n},q.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},q.parseBindingListItem=function(e){return e},q.parseMaybeDefault=function(e,t,i){if(i=i||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(r.eq))return i;var s=this.startNodeAt(e,t);return s.left=i,s.right=this.parseMaybeAssign(),this.finishNode(s,"AssignmentPattern")},q.checkLValSimple=function(e,t,i){t===void 0&&(t=Pe);var s=t!==Pe;switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(s?"Binding ":"Assigning to ")+e.name+" in strict mode"),s&&(t===Q&&e.name==="let"&&this.raiseRecoverable(e.start,"let is disallowed as a lexically bound name"),i&&(fe(i,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),i[e.name]=!0),t!==Ct&&this.declareName(e.name,t,e.start));break;case"ChainExpression":this.raiseRecoverable(e.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":s&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ParenthesizedExpression":return s&&this.raiseRecoverable(e.start,"Binding parenthesized expression"),this.checkLValSimple(e.expression,t,i);default:this.raise(e.start,(s?"Binding":"Assigning to")+" rvalue")}},q.checkLValPattern=function(e,t,i){switch(t===void 0&&(t=Pe),e.type){case"ObjectPattern":for(var s=0,n=e.properties;s=1;e--){var t=this.context[e];if(t.token==="function")return t.generator}return!1},oe.updateContext=function(e){var t,i=this.type;i.keyword&&e===r.dot?this.exprAllowed=!1:(t=i.updateContext)?t.call(this,e):this.exprAllowed=i.beforeExpr},oe.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},r.parenR.updateContext=r.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===I.b_stat&&this.curContext().token==="function"&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},r.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?I.b_stat:I.b_expr),this.exprAllowed=!0},r.dollarBraceL.updateContext=function(){this.context.push(I.b_tmpl),this.exprAllowed=!0},r.parenL.updateContext=function(e){var t=e===r._if||e===r._for||e===r._with||e===r._while;this.context.push(t?I.p_stat:I.p_expr),this.exprAllowed=!0},r.incDec.updateContext=function(){},r._function.updateContext=r._class.updateContext=function(e){e.beforeExpr&&e!==r._else&&!(e===r.semi&&this.curContext()!==I.p_stat)&&!(e===r._return&&j.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===r.colon||e===r.braceL)&&this.curContext()===I.b_stat)?this.context.push(I.f_expr):this.context.push(I.f_stat),this.exprAllowed=!1},r.backQuote.updateContext=function(){this.curContext()===I.q_tmpl?this.context.pop():this.context.push(I.q_tmpl),this.exprAllowed=!1},r.star.updateContext=function(e){if(e===r._function){var t=this.context.length-1;this.context[t]===I.f_expr?this.context[t]=I.f_expr_gen:this.context[t]=I.f_gen}this.exprAllowed=!0},r.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==r.dot&&(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var C=V.prototype;C.checkPropClash=function(e,t,i){if(!(this.options.ecmaVersion>=9&&e.type==="SpreadElement")&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var s=e.key,n;switch(s.type){case"Identifier":n=s.name;break;case"Literal":n=String(s.value);break;default:return}var o=e.kind;if(this.options.ecmaVersion>=6){n==="__proto__"&&o==="init"&&(t.proto&&(i?i.doubleProto<0&&(i.doubleProto=s.start):this.raiseRecoverable(s.start,"Redefinition of __proto__ property")),t.proto=!0);return}n="$"+n;var p=t[n];if(p){var x;o==="init"?x=this.strict&&p.init||p.get||p.set:x=p.init||p[o],x&&this.raiseRecoverable(s.start,"Redefinition of property")}else p=t[n]={init:!1,get:!1,set:!1};p[o]=!0}},C.parseExpression=function(e,t){var i=this.start,s=this.startLoc,n=this.parseMaybeAssign(e,t);if(this.type===r.comma){var o=this.startNodeAt(i,s);for(o.expressions=[n];this.eat(r.comma);)o.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(o,"SequenceExpression")}return n},C.parseMaybeAssign=function(e,t,i){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var s=!1,n=-1,o=-1,p=-1;t?(n=t.parenthesizedAssign,o=t.trailingComma,p=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new Ie,s=!0);var x=this.start,g=this.startLoc;(this.type===r.parenL||this.type===r.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e==="await");var T=this.parseMaybeConditional(e,t);if(i&&(T=i.call(this,T,x,g)),this.type.isAssign){var w=this.startNodeAt(x,g);return w.operator=this.value,this.type===r.eq&&(T=this.toAssignable(T,!1,t)),s||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=T.start&&(t.shorthandAssign=-1),this.type===r.eq?this.checkLValPattern(T):this.checkLValSimple(T),w.left=T,this.next(),w.right=this.parseMaybeAssign(e),p>-1&&(t.doubleProto=p),this.finishNode(w,"AssignmentExpression")}else s&&this.checkExpressionErrors(t,!0);return n>-1&&(t.parenthesizedAssign=n),o>-1&&(t.trailingComma=o),T},C.parseMaybeConditional=function(e,t){var i=this.start,s=this.startLoc,n=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return n;if(this.eat(r.question)){var o=this.startNodeAt(i,s);return o.test=n,o.consequent=this.parseMaybeAssign(),this.expect(r.colon),o.alternate=this.parseMaybeAssign(e),this.finishNode(o,"ConditionalExpression")}return n},C.parseExprOps=function(e,t){var i=this.start,s=this.startLoc,n=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||n.start===i&&n.type==="ArrowFunctionExpression"?n:this.parseExprOp(n,i,s,-1,e)},C.parseExprOp=function(e,t,i,s,n){var o=this.type.binop;if(o!=null&&(!n||this.type!==r._in)&&o>s){var p=this.type===r.logicalOR||this.type===r.logicalAND,x=this.type===r.coalesce;x&&(o=r.logicalAND.binop);var g=this.value;this.next();var T=this.start,w=this.startLoc,R=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,n),T,w,o,n),ie=this.buildBinary(t,i,e,R,g,p||x);return(p&&this.type===r.coalesce||x&&(this.type===r.logicalOR||this.type===r.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(ie,t,i,s,n)}return e},C.buildBinary=function(e,t,i,s,n,o){s.type==="PrivateIdentifier"&&this.raise(s.start,"Private identifier can only be left side of binary expression");var p=this.startNodeAt(e,t);return p.left=i,p.operator=n,p.right=s,this.finishNode(p,o?"LogicalExpression":"BinaryExpression")},C.parseMaybeUnary=function(e,t,i,s){var n=this.start,o=this.startLoc,p;if(this.isContextual("await")&&this.canAwait)p=this.parseAwait(s),t=!0;else if(this.type.prefix){var x=this.startNode(),g=this.type===r.incDec;x.operator=this.value,x.prefix=!0,this.next(),x.argument=this.parseMaybeUnary(null,!0,g,s),this.checkExpressionErrors(e,!0),g?this.checkLValSimple(x.argument):this.strict&&x.operator==="delete"&&x.argument.type==="Identifier"?this.raiseRecoverable(x.start,"Deleting local variable in strict mode"):x.operator==="delete"&&Tt(x.argument)?this.raiseRecoverable(x.start,"Private fields can not be deleted"):t=!0,p=this.finishNode(x,g?"UpdateExpression":"UnaryExpression")}else if(!t&&this.type===r.privateId)(s||this.privateNameStack.length===0)&&this.unexpected(),p=this.parsePrivateIdent(),this.type!==r._in&&this.unexpected();else{if(p=this.parseExprSubscripts(e,s),this.checkExpressionErrors(e))return p;for(;this.type.postfix&&!this.canInsertSemicolon();){var T=this.startNodeAt(n,o);T.operator=this.value,T.prefix=!1,T.argument=p,this.checkLValSimple(p),this.next(),p=this.finishNode(T,"UpdateExpression")}}if(!i&&this.eat(r.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(n,o,p,this.parseMaybeUnary(null,!1,!1,s),"**",!1);else return p};function Tt(e){return e.type==="MemberExpression"&&e.property.type==="PrivateIdentifier"||e.type==="ChainExpression"&&Tt(e.expression)}C.parseExprSubscripts=function(e,t){var i=this.start,s=this.startLoc,n=this.parseExprAtom(e,t);if(n.type==="ArrowFunctionExpression"&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==")")return n;var o=this.parseSubscripts(n,i,s,!1,t);return e&&o.type==="MemberExpression"&&(e.parenthesizedAssign>=o.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=o.start&&(e.parenthesizedBind=-1),e.trailingComma>=o.start&&(e.trailingComma=-1)),o},C.parseSubscripts=function(e,t,i,s,n){for(var o=this.options.ecmaVersion>=8&&e.type==="Identifier"&&e.name==="async"&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,p=!1;;){var x=this.parseSubscript(e,t,i,s,o,p,n);if(x.optional&&(p=!0),x===e||x.type==="ArrowFunctionExpression"){if(p){var g=this.startNodeAt(t,i);g.expression=x,x=this.finishNode(g,"ChainExpression")}return x}e=x}},C.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(r.arrow)},C.parseSubscriptAsyncArrow=function(e,t,i,s){return this.parseArrowExpression(this.startNodeAt(e,t),i,!0,s)},C.parseSubscript=function(e,t,i,s,n,o,p){var x=this.options.ecmaVersion>=11,g=x&&this.eat(r.questionDot);s&&g&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var T=this.eat(r.bracketL);if(T||g&&this.type!==r.parenL&&this.type!==r.backQuote||this.eat(r.dot)){var w=this.startNodeAt(t,i);w.object=e,T?(w.property=this.parseExpression(),this.expect(r.bracketR)):this.type===r.privateId&&e.type!=="Super"?w.property=this.parsePrivateIdent():w.property=this.parseIdent(this.options.allowReserved!=="never"),w.computed=!!T,x&&(w.optional=g),e=this.finishNode(w,"MemberExpression")}else if(!s&&this.eat(r.parenL)){var R=new Ie,ie=this.yieldPos,be=this.awaitPos,ue=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var Oe=this.parseExprList(r.parenR,this.options.ecmaVersion>=8,!1,R);if(n&&!g&&this.shouldParseAsyncArrow())return this.checkPatternErrors(R,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=ie,this.awaitPos=be,this.awaitIdentPos=ue,this.parseSubscriptAsyncArrow(t,i,Oe,p);this.checkExpressionErrors(R,!0),this.yieldPos=ie||this.yieldPos,this.awaitPos=be||this.awaitPos,this.awaitIdentPos=ue||this.awaitIdentPos;var he=this.startNodeAt(t,i);he.callee=e,he.arguments=Oe,x&&(he.optional=g),e=this.finishNode(he,"CallExpression")}else if(this.type===r.backQuote){(g||o)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var pe=this.startNodeAt(t,i);pe.tag=e,pe.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(pe,"TaggedTemplateExpression")}return e},C.parseExprAtom=function(e,t,i){this.type===r.slash&&this.readRegexp();var s,n=this.potentialArrowAt===this.start;switch(this.type){case r._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),s=this.startNode(),this.next(),this.type===r.parenL&&!this.allowDirectSuper&&this.raise(s.start,"super() call outside constructor of a subclass"),this.type!==r.dot&&this.type!==r.bracketL&&this.type!==r.parenL&&this.unexpected(),this.finishNode(s,"Super");case r._this:return s=this.startNode(),this.next(),this.finishNode(s,"ThisExpression");case r.name:var o=this.start,p=this.startLoc,x=this.containsEsc,g=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!x&&g.name==="async"&&!this.canInsertSemicolon()&&this.eat(r._function))return this.overrideContext(I.f_expr),this.parseFunction(this.startNodeAt(o,p),0,!1,!0,t);if(n&&!this.canInsertSemicolon()){if(this.eat(r.arrow))return this.parseArrowExpression(this.startNodeAt(o,p),[g],!1,t);if(this.options.ecmaVersion>=8&&g.name==="async"&&this.type===r.name&&!x&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return g=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(r.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(o,p),[g],!0,t)}return g;case r.regexp:var T=this.value;return s=this.parseLiteral(T.value),s.regex={pattern:T.pattern,flags:T.flags},s;case r.num:case r.string:return this.parseLiteral(this.value);case r._null:case r._true:case r._false:return s=this.startNode(),s.value=this.type===r._null?null:this.type===r._true,s.raw=this.type.keyword,this.next(),this.finishNode(s,"Literal");case r.parenL:var w=this.start,R=this.parseParenAndDistinguishExpression(n,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(R)&&(e.parenthesizedAssign=w),e.parenthesizedBind<0&&(e.parenthesizedBind=w)),R;case r.bracketL:return s=this.startNode(),this.next(),s.elements=this.parseExprList(r.bracketR,!0,!0,e),this.finishNode(s,"ArrayExpression");case r.braceL:return this.overrideContext(I.b_expr),this.parseObj(!1,e);case r._function:return s=this.startNode(),this.next(),this.parseFunction(s,0);case r._class:return this.parseClass(this.startNode(),!1);case r._new:return this.parseNew();case r.backQuote:return this.parseTemplate();case r._import:return this.options.ecmaVersion>=11?this.parseExprImport(i):this.unexpected();default:return this.parseExprAtomDefault()}},C.parseExprAtomDefault=function(){this.unexpected()},C.parseExprImport=function(e){var t=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var i=this.parseIdent(!0);if(this.type===r.parenL&&!e)return this.parseDynamicImport(t);if(this.type===r.dot)return t.meta=i,this.parseImportMeta(t);this.unexpected()},C.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(r.parenR)){var t=this.start;this.eat(r.comma)&&this.eat(r.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},C.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},C.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},C.parseParenExpression=function(){this.expect(r.parenL);var e=this.parseExpression();return this.expect(r.parenR),e},C.shouldParseArrow=function(e){return!this.canInsertSemicolon()},C.parseParenAndDistinguishExpression=function(e,t){var i=this.start,s=this.startLoc,n,o=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var p=this.start,x=this.startLoc,g=[],T=!0,w=!1,R=new Ie,ie=this.yieldPos,be=this.awaitPos,ue;for(this.yieldPos=0,this.awaitPos=0;this.type!==r.parenR;)if(T?T=!1:this.expect(r.comma),o&&this.afterTrailingComma(r.parenR,!0)){w=!0;break}else if(this.type===r.ellipsis){ue=this.start,g.push(this.parseParenItem(this.parseRestBinding())),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}else g.push(this.parseMaybeAssign(!1,R,this.parseParenItem));var Oe=this.lastTokEnd,he=this.lastTokEndLoc;if(this.expect(r.parenR),e&&this.shouldParseArrow(g)&&this.eat(r.arrow))return this.checkPatternErrors(R,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=ie,this.awaitPos=be,this.parseParenArrowList(i,s,g,t);(!g.length||w)&&this.unexpected(this.lastTokStart),ue&&this.unexpected(ue),this.checkExpressionErrors(R,!0),this.yieldPos=ie||this.yieldPos,this.awaitPos=be||this.awaitPos,g.length>1?(n=this.startNodeAt(p,x),n.expressions=g,this.finishNodeAt(n,"SequenceExpression",Oe,he)):n=g[0]}else n=this.parseParenExpression();if(this.options.preserveParens){var pe=this.startNodeAt(i,s);return pe.expression=n,this.finishNode(pe,"ParenthesizedExpression")}else return n},C.parseParenItem=function(e){return e},C.parseParenArrowList=function(e,t,i,s){return this.parseArrowExpression(this.startNodeAt(e,t),i,!1,s)};var Ni=[];C.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(r.dot)){e.meta=t;var i=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),i&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var s=this.start,n=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),s,n,!0,!1),this.eat(r.parenL)?e.arguments=this.parseExprList(r.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ni,this.finishNode(e,"NewExpression")},C.parseTemplateElement=function(e){var t=e.isTagged,i=this.startNode();return this.type===r.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value,cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,`
-`),cooked:this.value},this.next(),i.tail=this.type===r.backQuote,this.finishNode(i,"TemplateElement")},C.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var i=this.startNode();this.next(),i.expressions=[];var s=this.parseTemplateElement({isTagged:t});for(i.quasis=[s];!s.tail;)this.type===r.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(r.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(r.braceR),i.quasis.push(s=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(i,"TemplateLiteral")},C.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===r.name||this.type===r.num||this.type===r.string||this.type===r.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===r.star)&&!j.test(this.input.slice(this.lastTokEnd,this.start))},C.parseObj=function(e,t){var i=this.startNode(),s=!0,n={};for(i.properties=[],this.next();!this.eat(r.braceR);){if(s)s=!1;else if(this.expect(r.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(r.braceR))break;var o=this.parseProperty(e,t);e||this.checkPropClash(o,n,t),i.properties.push(o)}return this.finishNode(i,e?"ObjectPattern":"ObjectExpression")},C.parseProperty=function(e,t){var i=this.startNode(),s,n,o,p;if(this.options.ecmaVersion>=9&&this.eat(r.ellipsis))return e?(i.argument=this.parseIdent(!1),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(i,"RestElement")):(i.argument=this.parseMaybeAssign(!1,t),this.type===r.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(i,"SpreadElement"));this.options.ecmaVersion>=6&&(i.method=!1,i.shorthand=!1,(e||t)&&(o=this.start,p=this.startLoc),e||(s=this.eat(r.star)));var x=this.containsEsc;return this.parsePropertyName(i),!e&&!x&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(i)?(n=!0,s=this.options.ecmaVersion>=9&&this.eat(r.star),this.parsePropertyName(i)):n=!1,this.parsePropertyValue(i,e,s,n,o,p,t,x),this.finishNode(i,"Property")},C.parseGetterSetter=function(e){e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var t=e.kind==="get"?0:1;if(e.value.params.length!==t){var i=e.value.start;e.kind==="get"?this.raiseRecoverable(i,"getter should have no params"):this.raiseRecoverable(i,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")},C.parsePropertyValue=function(e,t,i,s,n,o,p,x){(i||s)&&this.type===r.colon&&this.unexpected(),this.eat(r.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,p),e.kind="init"):this.options.ecmaVersion>=6&&this.type===r.parenL?(t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(i,s)):!t&&!x&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==r.comma&&this.type!==r.braceR&&this.type!==r.eq?((i||s)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((i||s)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,o,this.copyNode(e.key)):this.type===r.eq&&p?(p.shorthandAssign<0&&(p.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,o,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()},C.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(r.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(r.bracketR),e.key;e.computed=!1}return e.key=this.type===r.num||this.type===r.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},C.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},C.parseMethod=function(e,t,i){var s=this.startNode(),n=this.yieldPos,o=this.awaitPos,p=this.awaitIdentPos;return this.initFunction(s),this.options.ecmaVersion>=6&&(s.generator=e),this.options.ecmaVersion>=8&&(s.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Qe(t,s.generator)|Xe|(i?bt:0)),this.expect(r.parenL),s.params=this.parseBindingList(r.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(s,!1,!0,!1),this.yieldPos=n,this.awaitPos=o,this.awaitIdentPos=p,this.finishNode(s,"FunctionExpression")},C.parseArrowExpression=function(e,t,i,s){var n=this.yieldPos,o=this.awaitPos,p=this.awaitIdentPos;return this.enterScope(Qe(i,!1)|gt),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!i),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,s),this.yieldPos=n,this.awaitPos=o,this.awaitIdentPos=p,this.finishNode(e,"ArrowFunctionExpression")},C.parseFunctionBody=function(e,t,i,s){var n=t&&this.type!==r.braceL,o=this.strict,p=!1;if(n)e.body=this.parseMaybeAssign(s),e.expression=!0,this.checkParams(e,!1);else{var x=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!o||x)&&(p=this.strictDirective(this.end),p&&x&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var g=this.labels;this.labels=[],p&&(this.strict=!0),this.checkParams(e,!o&&!p&&!t&&!i&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Ct),e.body=this.parseBlock(!1,void 0,p&&!o),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=g}this.exitScope()},C.isSimpleParamList=function(e){for(var t=0,i=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&n.flags&me&&delete this.undefinedExports[e]}else if(t===_t){var o=this.currentScope();o.lexical.push(e)}else if(t===St){var p=this.currentScope();this.treatFunctionsAsVar?s=p.lexical.indexOf(e)>-1:s=p.lexical.indexOf(e)>-1||p.var.indexOf(e)>-1,p.functions.push(e)}else for(var x=this.scopeStack.length-1;x>=0;--x){var g=this.scopeStack[x];if(g.lexical.indexOf(e)>-1&&!(g.flags&vt&&g.lexical[0]===e)||!this.treatFunctionsAsVarInScope(g)&&g.functions.indexOf(e)>-1){s=!0;break}if(g.var.push(e),this.inModule&&g.flags&me&&delete this.undefinedExports[e],g.flags&He)break}s&&this.raiseRecoverable(i,"Identifier '"+e+"' has already been declared")},ee.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},ee.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},ee.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&He)return t}},ee.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&He&&!(t.flags>))return t}};var ge=function(t,i,s){this.type="",this.start=i,this.end=0,t.options.locations&&(this.loc=new de(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[i,0])},ve=V.prototype;ve.startNode=function(){return new ge(this,this.start,this.startLoc)},ve.startNodeAt=function(e,t){return new ge(this,e,t)};function Et(e,t,i,s){return e.type=t,e.end=i,this.options.locations&&(e.loc.end=s),this.options.ranges&&(e.range[1]=i),e}ve.finishNode=function(e,t){return Et.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},ve.finishNodeAt=function(e,t,i,s){return Et.call(this,e,t,i,s)},ve.copyNode=function(e){var t=new ge(this,e.start,this.startLoc);for(var i in e)t[i]=e[i];return t};var wt="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",At=wt+" Extended_Pictographic",Pt=At,It=Pt+" EBase EComp EMod EPres ExtPict",Nt=It,Li=Nt,Ri={9:wt,10:At,11:Pt,12:It,13:Nt,14:Li},Oi="Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji",Bi={9:"",10:"",11:"",12:"",13:"",14:Oi},Vt="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Lt="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Rt=Lt+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Ot=Rt+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Bt=Ot+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",Dt=Bt+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",Di=Dt+" Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz",Fi={9:Lt,10:Rt,11:Ot,12:Bt,13:Dt,14:Di},Ft={};function ji(e){var t=Ft[e]={binary:$(Ri[e]+" "+Vt),binaryOfStrings:$(Bi[e]),nonBinary:{General_Category:$(Vt),Script:$(Fi[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var et=0,jt=[9,10,11,12,13,14];et=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=Ft[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};W.prototype.reset=function(t,i,s){var n=s.indexOf("v")!==-1,o=s.indexOf("u")!==-1;this.start=t|0,this.source=i+"",this.flags=s,n&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=o&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=o&&this.parser.options.ecmaVersion>=9)},W.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},W.prototype.at=function(t,i){i===void 0&&(i=!1);var s=this.source,n=s.length;if(t>=n)return-1;var o=s.charCodeAt(t);if(!(i||this.switchU)||o<=55295||o>=57344||t+1>=n)return o;var p=s.charCodeAt(t+1);return p>=56320&&p<=57343?(o<<10)+p-56613888:o},W.prototype.nextIndex=function(t,i){i===void 0&&(i=!1);var s=this.source,n=s.length;if(t>=n)return n;var o=s.charCodeAt(t),p;return!(i||this.switchU)||o<=55295||o>=57344||t+1>=n||(p=s.charCodeAt(t+1))<56320||p>57343?t+1:t+2},W.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)},W.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},W.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)},W.prototype.eat=function(t,i){return i===void 0&&(i=!1),this.current(i)===t?(this.advance(i),!0):!1},W.prototype.eatChars=function(t,i){i===void 0&&(i=!1);for(var s=this.pos,n=0,o=t;n-1&&this.raise(e.start,"Duplicate regular expression flag"),p==="u"&&(s=!0),p==="v"&&(n=!0)}this.options.ecmaVersion>=15&&s&&n&&this.raise(e.start,"Invalid regular expression flag")},v.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},v.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,i=e.backReferenceNames;t=9&&(i=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!i,!0}return e.pos=t,!1},v.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},v.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},v.regexp_eatBracedQuantifier=function(e,t){var i=e.pos;if(e.eat(123)){var s=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(s=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return n!==-1&&n=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},v.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},v.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},v.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Mt(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Mt(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}v.regexp_eatPatternCharacters=function(e){for(var t=e.pos,i=0;(i=e.current())!==-1&&!Mt(i);)e.advance();return e.pos!==t},v.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},v.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise("Duplicate capture group name"),e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}},v.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},v.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Z(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Z(e.lastIntValue);return!0}return!1},v.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,s=e.current(i);return e.advance(i),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(s=e.lastIntValue),Ui(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function Ui(e){return F(e,!0)||e===36||e===95}v.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,s=e.current(i);return e.advance(i),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(s=e.lastIntValue),qi(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function qi(e){return d(e,!0)||e===36||e===95||e===8204||e===8205}v.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},v.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var i=e.lastIntValue;if(e.switchU)return i>e.maxBackReference&&(e.maxBackReference=i),!0;if(i<=e.numCapturingParens)return!0;e.pos=t}return!1},v.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},v.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},v.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},v.regexp_eatZero=function(e){return e.current()===48&&!Le(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},v.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},v.regexp_eatControlLetter=function(e){var t=e.current();return Ut(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function Ut(e){return e>=65&&e<=90||e>=97&&e<=122}v.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var i=e.pos,s=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(s&&n>=55296&&n<=56319){var o=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var p=e.lastIntValue;if(p>=56320&&p<=57343)return e.lastIntValue=(n-55296)*1024+(p-56320)+65536,!0}e.pos=o,e.lastIntValue=n}return!0}if(s&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Ki(e.lastIntValue))return!0;s&&e.raise("Invalid unicode escape"),e.pos=i}return!1};function Ki(e){return e>=0&&e<=1114111}v.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},v.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};var qt=0,Y=1,J=2;v.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Ji(t))return e.lastIntValue=-1,e.advance(),Y;var i=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((i=t===80)||t===112)){e.lastIntValue=-1,e.advance();var s;if(e.eat(123)&&(s=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return i&&s===J&&e.raise("Invalid property name"),s;e.raise("Invalid property name")}return qt};function Ji(e){return e===100||e===68||e===115||e===83||e===119||e===87}v.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var i=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var s=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,i,s),Y}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n)}return qt},v.regexp_validateUnicodePropertyNameAndValue=function(e,t,i){fe(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(i)||e.raise("Invalid property value")},v.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return Y;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return J;e.raise("Invalid property name")},v.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Kt(t=e.current());)e.lastStringValue+=Z(t),e.advance();return e.lastStringValue!==""};function Kt(e){return Ut(e)||e===95}v.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";Gi(t=e.current());)e.lastStringValue+=Z(t),e.advance();return e.lastStringValue!==""};function Gi(e){return Kt(e)||Le(e)}v.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},v.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),i=this.regexp_classContents(e);return e.eat(93)||e.raise("Unterminated character class"),t&&i===J&&e.raise("Negated character class may contain strings"),!0}return!1},v.regexp_classContents=function(e){return e.current()===93?Y:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),Y)},v.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var i=e.lastIntValue;e.switchU&&(t===-1||i===-1)&&e.raise("Invalid character class"),t!==-1&&i!==-1&&t>i&&e.raise("Range out of order in character class")}}},v.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var i=e.current();(i===99||zt(i))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var s=e.current();return s!==93?(e.lastIntValue=s,e.advance(),!0):!1},v.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},v.regexp_classSetExpression=function(e){var t=Y,i;if(!this.regexp_eatClassSetRange(e))if(i=this.regexp_eatClassSetOperand(e)){i===J&&(t=J);for(var s=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(i=this.regexp_eatClassSetOperand(e))){i!==J&&(t=Y);continue}e.raise("Invalid character in character class")}if(s!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise("Invalid character in character class");if(s!==e.pos)return t}else e.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(e)){if(i=this.regexp_eatClassSetOperand(e),!i)return t;i===J&&(t=J)}},v.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var i=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var s=e.lastIntValue;return i!==-1&&s!==-1&&i>s&&e.raise("Range out of order in character class"),!0}e.pos=t}return!1},v.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?Y:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},v.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var i=e.eat(94),s=this.regexp_classContents(e);if(e.eat(93))return i&&s===J&&e.raise("Negated character class may contain strings"),s;e.pos=t}if(e.eat(92)){var n=this.regexp_eatCharacterClassEscape(e);if(n)return n;e.pos=t}return null},v.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var i=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return i}else e.raise("Invalid escape");e.pos=t}return null},v.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===J&&(t=J);return t},v.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?Y:J},v.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var i=e.current();return i<0||i===e.lookahead()&&zi(i)||Wi(i)?!1:(e.advance(),e.lastIntValue=i,!0)};function zi(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function Wi(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}v.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return Xi(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Xi(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}v.regexp_eatClassControlLetter=function(e){var t=e.current();return Le(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},v.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},v.regexp_eatDecimalDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Le(i=e.current());)e.lastIntValue=10*e.lastIntValue+(i-48),e.advance();return e.pos!==t};function Le(e){return e>=48&&e<=57}v.regexp_eatHexDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Jt(i=e.current());)e.lastIntValue=16*e.lastIntValue+Gt(i),e.advance();return e.pos!==t};function Jt(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Gt(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}v.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var i=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+i*8+e.lastIntValue:e.lastIntValue=t*8+i}else e.lastIntValue=t;return!0}return!1},v.regexp_eatOctalDigit=function(e){var t=e.current();return zt(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function zt(e){return e>=48&&e<=55}v.regexp_eatFixedHexDigits=function(e,t){var i=e.pos;e.lastIntValue=0;for(var s=0;s=this.input.length)return this.finishToken(r.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},A.readToken=function(e){return F(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},A.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},A.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(i===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(var s=void 0,n=t;(s=ft(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=s;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,i),t,this.pos,e,this.curPosition())},A.skipLineComment=function(e){for(var t=this.pos,i=this.options.onComment&&this.curPosition(),s=this.input.charCodeAt(this.pos+=e);this.pos8&&e<14||e>=5760&&Ge.test(String.fromCharCode(e)))++this.pos;else break e}}},A.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=e,this.value=t,this.updateContext(i)},A.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(r.ellipsis)):(++this.pos,this.finishToken(r.dot))},A.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(r.assign,2):this.finishOp(r.slash,1)},A.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),i=1,s=e===42?r.star:r.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++i,s=r.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(r.assign,i+1):this.finishOp(s,i)},A.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var i=this.input.charCodeAt(this.pos+2);if(i===61)return this.finishOp(r.assign,3)}return this.finishOp(e===124?r.logicalOR:r.logicalAND,2)}return t===61?this.finishOp(r.assign,2):this.finishOp(e===124?r.bitwiseOR:r.bitwiseAND,1)},A.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(r.assign,2):this.finishOp(r.bitwiseXOR,1)},A.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||j.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(r.incDec,2):t===61?this.finishOp(r.assign,2):this.finishOp(r.plusMin,1)},A.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),i=1;return t===e?(i=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+i)===61?this.finishOp(r.assign,i+1):this.finishOp(r.bitShift,i)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(i=2),this.finishOp(r.relational,i))},A.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(r.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(r.arrow)):this.finishOp(e===61?r.eq:r.prefix,1)},A.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var i=this.input.charCodeAt(this.pos+2);if(i<48||i>57)return this.finishOp(r.questionDot,2)}if(t===63){if(e>=12){var s=this.input.charCodeAt(this.pos+2);if(s===61)return this.finishOp(r.assign,3)}return this.finishOp(r.coalesce,2)}}return this.finishOp(r.question,1)},A.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),F(t,!0)||t===92))return this.finishToken(r.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Z(t)+"'")},A.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(r.parenL);case 41:return++this.pos,this.finishToken(r.parenR);case 59:return++this.pos,this.finishToken(r.semi);case 44:return++this.pos,this.finishToken(r.comma);case 91:return++this.pos,this.finishToken(r.bracketL);case 93:return++this.pos,this.finishToken(r.bracketR);case 123:return++this.pos,this.finishToken(r.braceL);case 125:return++this.pos,this.finishToken(r.braceR);case 58:return++this.pos,this.finishToken(r.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(r.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(r.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Z(e)+"'")},A.finishOp=function(e,t){var i=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,i)},A.readRegexp=function(){for(var e,t,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(j.test(s)&&this.raise(i,"Unterminated regular expression"),e)e=!1;else{if(s==="[")t=!0;else if(s==="]"&&t)t=!1;else if(s==="/"&&!t)break;e=s==="\\"}++this.pos}var n=this.input.slice(i,this.pos);++this.pos;var o=this.pos,p=this.readWord1();this.containsEsc&&this.unexpected(o);var x=this.regexpState||(this.regexpState=new W(this));x.reset(i,n,p),this.validateRegExpFlags(x),this.validateRegExpPattern(x);var g=null;try{g=new RegExp(n,p)}catch{}return this.finishToken(r.regexp,{pattern:n,flags:p,value:g})},A.readInt=function(e,t,i){for(var s=this.options.ecmaVersion>=12&&t===void 0,n=i&&this.input.charCodeAt(this.pos)===48,o=this.pos,p=0,x=0,g=0,T=t??1/0;g=97?R=w-97+10:w>=65?R=w-65+10:w>=48&&w<=57?R=w-48:R=1/0,R>=e)break;x=w,p=p*e+R}return s&&x===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===o||t!=null&&this.pos-o!==t?null:p};function Hi(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function Wt(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}A.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var i=this.readInt(e);return i==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(i=Wt(this.input.slice(t,this.pos)),++this.pos):F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(r.num,i)},A.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var i=this.pos-t>=2&&this.input.charCodeAt(t)===48;i&&this.strict&&this.raise(t,"Invalid number");var s=this.input.charCodeAt(this.pos);if(!i&&!e&&this.options.ecmaVersion>=11&&s===110){var n=Wt(this.input.slice(t,this.pos));return++this.pos,F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(r.num,n)}i&&/[89]/.test(this.input.slice(t,this.pos))&&(i=!1),s===46&&!i&&(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),(s===69||s===101)&&!i&&(s=this.input.charCodeAt(++this.pos),(s===43||s===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var o=Hi(this.input.slice(t,this.pos),i);return this.finishToken(r.num,o)},A.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var i=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(i,"Code point out of bounds")}else t=this.readHexChar(4);return t},A.readString=function(e){for(var t="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===e)break;s===92?(t+=this.input.slice(i,this.pos),t+=this.readEscapedChar(!1),i=this.pos):s===8232||s===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(te(s)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(i,this.pos++),this.finishToken(r.string,t)};var Xt={};A.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===Xt)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},A.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Xt;this.raise(e,t)},A.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(i===96||i===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===r.template||this.type===r.invalidTemplate)?i===36?(this.pos+=2,this.finishToken(r.dollarBraceL)):(++this.pos,this.finishToken(r.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(r.template,e));if(i===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(te(i)){switch(e+=this.input.slice(t,this.pos),++this.pos,i){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`
+(function(n){function e(){var i=n();return i.default||i}if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var t=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};t.prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.acorn=e()}})(function(){"use strict";var $i=Object.create;var Re=Object.defineProperty;var Zi=Object.getOwnPropertyDescriptor;var es=Object.getOwnPropertyNames;var ts=Object.getPrototypeOf,is=Object.prototype.hasOwnProperty;var be=(a,u)=>()=>(u||a((u={exports:{}}).exports,u),u.exports),ss=(a,u)=>{for(var c in u)Re(a,c,{get:u[c],enumerable:!0})},Ht=(a,u,c,h)=>{if(u&&typeof u=="object"||typeof u=="function")for(let l of es(u))!is.call(a,l)&&l!==c&&Re(a,l,{get:()=>u[l],enumerable:!(h=Zi(u,l))||h.enumerable});return a};var rs=(a,u,c)=>(c=a!=null?$i(ts(a)):{},Ht(u||!a||!a.__esModule?Re(c,"default",{value:a,enumerable:!0}):c,a)),as=a=>Ht(Re({},"__esModule",{value:!0}),a);var ii=be(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.extract=fs;se.parse=ms;se.parseWithComments=ti;se.print=xs;se.strip=ds;var us=/\*\/$/,hs=/^\/\*\*?/,Zt=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,ps=/(^|\s+)\/\/([^\r\n]*)/g,Qt=/^(\r?\n)+/,cs=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Yt=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,ls=/(\r?\n|^) *\* ?/g,ei=[];function fs(a){let u=a.match(Zt);return u?u[0].trimLeft():""}function ds(a){let u=a.match(Zt);return u&&u[0]?a.substring(u[0].length):a}function ms(a){return ti(a).pragmas}function ti(a){let u=`
+`;a=a.replace(hs,"").replace(us,"").replace(ls,"$1");let c="";for(;c!==a;)c=a,a=a.replace(cs,`${u}$1 $2${u}`);a=a.replace(Qt,"").trimRight();let h=Object.create(null),l=a.replace(Yt,"").replace(Qt,"").trimRight(),f;for(;f=Yt.exec(a);){let y=f[2].replace(ps,"");typeof h[f[1]]=="string"||Array.isArray(h[f[1]])?h[f[1]]=ei.concat(h[f[1]],y):h[f[1]]=y}return{comments:l,pragmas:h}}function xs({comments:a="",pragmas:u={}}){let c=`
+`,h="/**",l=" *",f=" */",y=Object.keys(u),_=y.map(P=>$t(P,u[P])).reduce((P,D)=>P.concat(D),[]).map(P=>`${l} ${P}${c}`).join("");if(!a){if(y.length===0)return"";if(y.length===1&&!Array.isArray(u[y[0]])){let P=u[y[0]];return`${h} ${$t(y[0],P)[0]}${f}`}}let L=a.split(c).map(P=>`${l} ${P}`).join(c)+c;return h+c+(a?L:"")+(a&&y.length?l+c:"")+_+f}function $t(a,u){return ei.concat(u).map(c=>`@${a} ${c}`.trim())}});var ke=be((qe,ci)=>{(function(a,u){typeof qe=="object"&&typeof ci<"u"?u(qe):typeof define=="function"&&define.amd?define(["exports"],u):(a=typeof globalThis<"u"?globalThis:a||self,u(a.acorn={}))})(qe,function(a){"use strict";var u=[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],c=[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,3104,541,1507,4938,6,4191],h="\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\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\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",l="\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",f={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},y="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",_={5:y,"5module":y+" export import",6:y+" const class extends export import super"},L=/^in(stanceof)?$/,P=new RegExp("["+l+"]"),D=new RegExp("["+l+h+"]");function G(e,t){for(var i=65536,s=0;se)return!1;if(i+=t[s+1],i>=e)return!0}return!1}function F(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&P.test(String.fromCharCode(e)):t===!1?!1:G(e,c)}function d(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&D.test(String.fromCharCode(e)):t===!1?!1:G(e,c)||G(e,u)}var x=function(t,i){i===void 0&&(i={}),this.label=t,this.keyword=i.keyword,this.beforeExpr=!!i.beforeExpr,this.startsExpr=!!i.startsExpr,this.isLoop=!!i.isLoop,this.isAssign=!!i.isAssign,this.prefix=!!i.prefix,this.postfix=!!i.postfix,this.binop=i.binop||null,this.updateContext=null};function b(e,t){return new x(e,{beforeExpr:!0,binop:t})}var k={beforeExpr:!0},N={startsExpr:!0},H={};function w(e,t){return t===void 0&&(t={}),t.keyword=e,H[e]=new x(e,t)}var r={num:new x("num",N),regexp:new x("regexp",N),string:new x("string",N),name:new x("name",N),privateId:new x("privateId",N),eof:new x("eof"),bracketL:new x("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new x("]"),braceL:new x("{",{beforeExpr:!0,startsExpr:!0}),braceR:new x("}"),parenL:new x("(",{beforeExpr:!0,startsExpr:!0}),parenR:new x(")"),comma:new x(",",k),semi:new x(";",k),colon:new x(":",k),dot:new x("."),question:new x("?",k),questionDot:new x("?."),arrow:new x("=>",k),template:new x("template"),invalidTemplate:new x("invalidTemplate"),ellipsis:new x("...",k),backQuote:new x("`",N),dollarBraceL:new x("${",{beforeExpr:!0,startsExpr:!0}),eq:new x("=",{beforeExpr:!0,isAssign:!0}),assign:new x("_=",{beforeExpr:!0,isAssign:!0}),incDec:new x("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new x("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:b("||",1),logicalAND:b("&&",2),bitwiseOR:b("|",3),bitwiseXOR:b("^",4),bitwiseAND:b("&",5),equality:b("==/!=/===/!==",6),relational:b(">/<=/>=",7),bitShift:b("<>>/>>>",8),plusMin:new x("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:b("%",10),star:b("*",10),slash:b("/",10),starstar:new x("**",{beforeExpr:!0}),coalesce:b("??",1),_break:w("break"),_case:w("case",k),_catch:w("catch"),_continue:w("continue"),_debugger:w("debugger"),_default:w("default",k),_do:w("do",{isLoop:!0,beforeExpr:!0}),_else:w("else",k),_finally:w("finally"),_for:w("for",{isLoop:!0}),_function:w("function",N),_if:w("if"),_return:w("return",k),_switch:w("switch"),_throw:w("throw",k),_try:w("try"),_var:w("var"),_const:w("const"),_while:w("while",{isLoop:!0}),_with:w("with"),_new:w("new",{beforeExpr:!0,startsExpr:!0}),_this:w("this",N),_super:w("super",N),_class:w("class",N),_extends:w("extends",k),_export:w("export"),_import:w("import",N),_null:w("null",N),_true:w("true",N),_false:w("false",N),_in:w("in",{beforeExpr:!0,binop:7}),_instanceof:w("instanceof",{beforeExpr:!0,binop:7}),_typeof:w("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:w("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:w("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},j=/\r\n?|\n|\u2028|\u2029/,ct=new RegExp(j.source,"g");function te(e){return e===10||e===13||e===8232||e===8233}function lt(e,t,i){i===void 0&&(i=e.length);for(var s=t;s>10)+55296,(e&1023)+56320))}var Ci=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,ae=function(t,i){this.line=t,this.column=i};ae.prototype.offset=function(t){return new ae(this.line,this.column+t)};var fe=function(t,i,s){this.start=i,this.end=s,t.sourceFile!==null&&(this.source=t.sourceFile)};function Ge(e,t){for(var i=1,s=0;;){var n=lt(e,s,t);if(n<0)return new ae(i,t-s);++i,s=n}}var we={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},mt=!1;function ki(e){var t={};for(var i in we)t[i]=e&&le(e,i)?e[i]:we[i];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!mt&&typeof console=="object"&&console.warn&&(mt=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
+Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),dt(t.onToken)){var s=t.onToken;t.onToken=function(n){return s.push(n)}}return dt(t.onComment)&&(t.onComment=Ti(t,t.onComment)),t}function Ti(e,t){return function(i,s,n,o,p,m){var g={type:i?"Block":"Line",value:s,start:n,end:o};e.locations&&(g.loc=new fe(this,p,m)),e.ranges&&(g.range=[n,o]),t.push(g)}}var de=1,ne=2,We=4,xt=8,yt=16,gt=32,Xe=64,vt=128,me=256,ze=de|ne|me;function He(e,t){return ne|(e?We:0)|(t?xt:0)}var Ee=0,Qe=1,Q=2,bt=3,St=4,_t=5,V=function(t,i,s){this.options=t=ki(t),this.sourceFile=t.sourceFile,this.keywords=$(_[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var n="";t.allowReserved!==!0&&(n=f[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(n+=" await")),this.reservedWords=$(n);var o=(n?n+" ":"")+f.strict;this.reservedWordsStrict=$(o),this.reservedWordsStrictBind=$(o+" "+f.strictBind),this.input=String(i),this.containsEsc=!1,s?(this.pos=s,this.lineStart=this.input.lastIndexOf(`
+`,s-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(j).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=r.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(de),this.regexpState=null,this.privateNameStack=[]},W={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};V.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},W.inFunction.get=function(){return(this.currentVarScope().flags&ne)>0},W.inGenerator.get=function(){return(this.currentVarScope().flags&xt)>0&&!this.currentVarScope().inClassFieldInit},W.inAsync.get=function(){return(this.currentVarScope().flags&We)>0&&!this.currentVarScope().inClassFieldInit},W.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&me)return!1;if(t.flags&ne)return(t.flags&We)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},W.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&Xe)>0||i||this.options.allowSuperOutsideMethod},W.allowDirectSuper.get=function(){return(this.currentThisScope().flags&vt)>0},W.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},W.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&(ne|me))>0||i},W.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&me)>0},V.extend=function(){for(var t=[],i=arguments.length;i--;)t[i]=arguments[i];for(var s=this,n=0;n=,?^&]/.test(n)||n==="!"&&this.input.charAt(s+1)==="=")}e+=t[0].length,U.lastIndex=e,e+=U.exec(this.input)[0].length,this.input[e]===";"&&e++}},O.eat=function(e){return this.type===e?(this.next(),!0):!1},O.isContextual=function(e){return this.type===r.name&&this.value===e&&!this.containsEsc},O.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},O.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},O.canInsertSemicolon=function(){return this.type===r.eof||this.type===r.braceR||j.test(this.input.slice(this.lastTokEnd,this.start))},O.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},O.semicolon=function(){!this.eat(r.semi)&&!this.insertSemicolon()&&this.unexpected()},O.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},O.expect=function(e){this.eat(e)||this.unexpected()},O.unexpected=function(e){this.raise(e??this.start,"Unexpected token")};var Ae=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};O.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var i=t?e.parenthesizedAssign:e.parenthesizedBind;i>-1&&this.raiseRecoverable(i,t?"Assigning to rvalue":"Parenthesized pattern")}},O.checkExpressionErrors=function(e,t){if(!e)return!1;var i=e.shorthandAssign,s=e.doubleProto;if(!t)return i>=0||s>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},O.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&s<56320)return!0;if(F(s,!0)){for(var n=i+1;d(s=this.input.charCodeAt(n),!0);)++n;if(s===92||s>55295&&s<56320)return!0;var o=this.input.slice(i,n);if(!L.test(o))return!0}return!1},S.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;U.lastIndex=this.pos;var e=U.exec(this.input),t=this.pos+e[0].length,i;return!j.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(d(i=this.input.charCodeAt(t+8))||i>55295&&i<56320))},S.parseStatement=function(e,t,i){var s=this.type,n=this.startNode(),o;switch(this.isLet(e)&&(s=r._var,o="let"),s){case r._break:case r._continue:return this.parseBreakContinueStatement(n,s.keyword);case r._debugger:return this.parseDebuggerStatement(n);case r._do:return this.parseDoStatement(n);case r._for:return this.parseForStatement(n);case r._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!e);case r._class:return e&&this.unexpected(),this.parseClass(n,!0);case r._if:return this.parseIfStatement(n);case r._return:return this.parseReturnStatement(n);case r._switch:return this.parseSwitchStatement(n);case r._throw:return this.parseThrowStatement(n);case r._try:return this.parseTryStatement(n);case r._const:case r._var:return o=o||this.value,e&&o!=="var"&&this.unexpected(),this.parseVarStatement(n,o);case r._while:return this.parseWhileStatement(n);case r._with:return this.parseWithStatement(n);case r.braceL:return this.parseBlock(!0,n);case r.semi:return this.parseEmptyStatement(n);case r._export:case r._import:if(this.options.ecmaVersion>10&&s===r._import){U.lastIndex=this.pos;var p=U.exec(this.input),m=this.pos+p[0].length,g=this.input.charCodeAt(m);if(g===40||g===46)return this.parseExpressionStatement(n,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),s===r._import?this.parseImport(n):this.parseExport(n,i);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!e);var T=this.value,E=this.parseExpression();return s===r.name&&E.type==="Identifier"&&this.eat(r.colon)?this.parseLabeledStatement(n,T,E,e):this.parseExpressionStatement(n,E)}},S.parseBreakContinueStatement=function(e,t){var i=t==="break";this.next(),this.eat(r.semi)||this.insertSemicolon()?e.label=null:this.type!==r.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(r.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},S.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Ye),this.enterScope(0),this.expect(r.parenL),this.type===r.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var i=this.isLet();if(this.type===r._var||this.type===r._const||i){var s=this.startNode(),n=i?"let":this.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.type===r._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&s.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===r._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,s)):(t>-1&&this.unexpected(t),this.parseFor(e,s))}var o=this.isContextual("let"),p=!1,m=new Ae,g=this.parseExpression(t>-1?"await":!0,m);return this.type===r._in||(p=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===r._in?t>-1&&this.unexpected(t):e.await=t>-1),o&&p&&this.raise(g.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(g,!1,m),this.checkLValPattern(g),this.parseForIn(e,g)):(this.checkExpressionErrors(m,!0),t>-1&&this.unexpected(t),this.parseFor(e,g))},S.parseFunctionStatement=function(e,t,i){return this.next(),this.parseFunction(e,xe|(i?0:$e),!1,t)},S.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(r._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},S.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(r.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},S.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(r.braceL),this.labels.push(Ei),this.enterScope(0);for(var t,i=!1;this.type!==r.braceR;)if(this.type===r._case||this.type===r._default){var s=this.type===r._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),s?t.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,t.test=null),this.expect(r.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},S.parseThrowStatement=function(e){return this.next(),j.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Ai=[];S.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type==="Identifier";return this.enterScope(t?gt:0),this.checkLValPattern(e,t?St:Q),this.expect(r.parenR),e},S.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===r._catch){var t=this.startNode();this.next(),this.eat(r.parenL)?t.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0)),t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(r._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},S.parseVarStatement=function(e,t,i){return this.next(),this.parseVar(e,!1,t,i),this.semicolon(),this.finishNode(e,"VariableDeclaration")},S.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Ye),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},S.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},S.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},S.parseLabeledStatement=function(e,t,i,s){for(var n=0,o=this.labels;n=0;g--){var T=this.labels[g];if(T.statementStart===e.start)T.statementStart=this.start,T.kind=m;else break}return this.labels.push({name:t,kind:m,statementStart:this.start}),e.body=this.parseStatement(s?s.indexOf("label")===-1?s+"label":s:"label"),this.labels.pop(),e.label=i,this.finishNode(e,"LabeledStatement")},S.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},S.parseBlock=function(e,t,i){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(r.braceL),e&&this.enterScope(0);this.type!==r.braceR;){var s=this.parseStatement(null);t.body.push(s)}return i&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},S.parseFor=function(e,t){return e.init=t,this.expect(r.semi),e.test=this.type===r.semi?null:this.parseExpression(),this.expect(r.semi),e.update=this.type===r.parenR?null:this.parseExpression(),this.expect(r.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},S.parseForIn=function(e,t){var i=this.type===r._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!i||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(i?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=i?this.parseExpression():this.parseMaybeAssign(),this.expect(r.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,i?"ForInStatement":"ForOfStatement")},S.parseVar=function(e,t,i,s){for(e.declarations=[],e.kind=i;;){var n=this.startNode();if(this.parseVarId(n,i),this.eat(r.eq)?n.init=this.parseMaybeAssign(t):!s&&i==="const"&&!(this.type===r._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():!s&&n.id.type!=="Identifier"&&!(t&&(this.type===r._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):n.init=null,e.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(r.comma))break}return e},S.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?Qe:Q,!1)};var xe=1,$e=2,Ct=4;S.parseFunction=function(e,t,i,s,n){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(this.type===r.star&&t&$e&&this.unexpected(),e.generator=this.eat(r.star)),this.options.ecmaVersion>=8&&(e.async=!!s),t&xe&&(e.id=t&Ct&&this.type!==r.name?null:this.parseIdent(),e.id&&!(t&$e)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Qe:Q:bt));var o=this.yieldPos,p=this.awaitPos,m=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(He(e.async,e.generator)),t&xe||(e.id=this.type===r.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,i,!1,n),this.yieldPos=o,this.awaitPos=p,this.awaitIdentPos=m,this.finishNode(e,t&xe?"FunctionDeclaration":"FunctionExpression")},S.parseFunctionParams=function(e){this.expect(r.parenL),e.params=this.parseBindingList(r.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},S.parseClass=function(e,t){this.next();var i=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var s=this.enterClassBody(),n=this.startNode(),o=!1;for(n.body=[],this.expect(r.braceL);this.type!==r.braceR;){var p=this.parseClassElement(e.superClass!==null);p&&(n.body.push(p),p.type==="MethodDefinition"&&p.kind==="constructor"?(o&&this.raiseRecoverable(p.start,"Duplicate constructor in the same class"),o=!0):p.key&&p.key.type==="PrivateIdentifier"&&Pi(s,p)&&this.raiseRecoverable(p.key.start,"Identifier '#"+p.key.name+"' has already been declared"))}return this.strict=i,this.next(),e.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},S.parseClassElement=function(e){if(this.eat(r.semi))return null;var t=this.options.ecmaVersion,i=this.startNode(),s="",n=!1,o=!1,p="method",m=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(r.braceL))return this.parseClassStaticBlock(i),i;this.isClassElementNameStart()||this.type===r.star?m=!0:s="static"}if(i.static=m,!s&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===r.star)&&!this.canInsertSemicolon()?o=!0:s="async"),!s&&(t>=9||!o)&&this.eat(r.star)&&(n=!0),!s&&!o&&!n){var g=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?p=g:s=g)}if(s?(i.computed=!1,i.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),i.key.name=s,this.finishNode(i.key,"Identifier")):this.parseClassElementName(i),t<13||this.type===r.parenL||p!=="method"||n||o){var T=!i.static&&Pe(i,"constructor"),E=T&&e;T&&p!=="method"&&this.raise(i.key.start,"Constructor can't have get/set modifier"),i.kind=T?"constructor":p,this.parseClassMethod(i,n,o,E)}else this.parseClassField(i);return i},S.isClassElementNameStart=function(){return this.type===r.name||this.type===r.privateId||this.type===r.num||this.type===r.string||this.type===r.bracketL||this.type.keyword},S.parseClassElementName=function(e){this.type===r.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},S.parseClassMethod=function(e,t,i,s){var n=e.key;e.kind==="constructor"?(t&&this.raise(n.start,"Constructor can't be a generator"),i&&this.raise(n.start,"Constructor can't be an async method")):e.static&&Pe(e,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var o=e.value=this.parseMethod(t,i,s);return e.kind==="get"&&o.params.length!==0&&this.raiseRecoverable(o.start,"getter should have no params"),e.kind==="set"&&o.params.length!==1&&this.raiseRecoverable(o.start,"setter should have exactly one param"),e.kind==="set"&&o.params[0].type==="RestElement"&&this.raiseRecoverable(o.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},S.parseClassField=function(e){if(Pe(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Pe(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(r.eq)){var t=this.currentThisScope(),i=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=i}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},S.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(me|Xe);this.type!==r.braceR;){var i=this.parseStatement(null);e.body.push(i)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},S.parseClassId=function(e,t){this.type===r.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Q,!1)):(t===!0&&this.unexpected(),e.id=null)},S.parseClassSuper=function(e){e.superClass=this.eat(r._extends)?this.parseExprSubscripts(null,!1):null},S.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},S.exitClassBody=function(){var e=this.privateNameStack.pop(),t=e.declared,i=e.used;if(this.options.checkPrivateFields)for(var s=this.privateNameStack.length,n=s===0?null:this.privateNameStack[s-1],o=0;o=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==r.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration")},S.parseExport=function(e,t){if(this.next(),this.eat(r.star))return this.parseExportAllDeclaration(e,t);if(this.eat(r._default))return this.checkExport(t,"default",this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==r.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var i=0,s=e.specifiers;i=13&&this.type===r.string){var e=this.parseLiteral(this.value);return Ci.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},S.adaptDirectivePrologue=function(e){for(var t=0;t=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var q=V.prototype;q.toAssignable=function(e,t,i){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var s=0,n=e.properties;s=6)switch(this.type){case r.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(r.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case r.braceL:return this.parseObj(!0)}return this.parseIdent()},q.parseBindingList=function(e,t,i,s){for(var n=[],o=!0;!this.eat(e);)if(o?o=!1:this.expect(r.comma),t&&this.type===r.comma)n.push(null);else{if(i&&this.afterTrailingComma(e))break;if(this.type===r.ellipsis){var p=this.parseRestBinding();this.parseBindingListItem(p),n.push(p),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}else n.push(this.parseAssignableListItem(s))}return n},q.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},q.parseBindingListItem=function(e){return e},q.parseMaybeDefault=function(e,t,i){if(i=i||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(r.eq))return i;var s=this.startNodeAt(e,t);return s.left=i,s.right=this.parseMaybeAssign(),this.finishNode(s,"AssignmentPattern")},q.checkLValSimple=function(e,t,i){t===void 0&&(t=Ee);var s=t!==Ee;switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(s?"Binding ":"Assigning to ")+e.name+" in strict mode"),s&&(t===Q&&e.name==="let"&&this.raiseRecoverable(e.start,"let is disallowed as a lexically bound name"),i&&(le(i,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),i[e.name]=!0),t!==_t&&this.declareName(e.name,t,e.start));break;case"ChainExpression":this.raiseRecoverable(e.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":s&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ParenthesizedExpression":return s&&this.raiseRecoverable(e.start,"Binding parenthesized expression"),this.checkLValSimple(e.expression,t,i);default:this.raise(e.start,(s?"Binding":"Assigning to")+" rvalue")}},q.checkLValPattern=function(e,t,i){switch(t===void 0&&(t=Ee),e.type){case"ObjectPattern":for(var s=0,n=e.properties;s=1;e--){var t=this.context[e];if(t.token==="function")return t.generator}return!1},oe.updateContext=function(e){var t,i=this.type;i.keyword&&e===r.dot?this.exprAllowed=!1:(t=i.updateContext)?t.call(this,e):this.exprAllowed=i.beforeExpr},oe.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},r.parenR.updateContext=r.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===I.b_stat&&this.curContext().token==="function"&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},r.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?I.b_stat:I.b_expr),this.exprAllowed=!0},r.dollarBraceL.updateContext=function(){this.context.push(I.b_tmpl),this.exprAllowed=!0},r.parenL.updateContext=function(e){var t=e===r._if||e===r._for||e===r._with||e===r._while;this.context.push(t?I.p_stat:I.p_expr),this.exprAllowed=!0},r.incDec.updateContext=function(){},r._function.updateContext=r._class.updateContext=function(e){e.beforeExpr&&e!==r._else&&!(e===r.semi&&this.curContext()!==I.p_stat)&&!(e===r._return&&j.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===r.colon||e===r.braceL)&&this.curContext()===I.b_stat)?this.context.push(I.f_expr):this.context.push(I.f_stat),this.exprAllowed=!1},r.backQuote.updateContext=function(){this.curContext()===I.q_tmpl?this.context.pop():this.context.push(I.q_tmpl),this.exprAllowed=!1},r.star.updateContext=function(e){if(e===r._function){var t=this.context.length-1;this.context[t]===I.f_expr?this.context[t]=I.f_expr_gen:this.context[t]=I.f_gen}this.exprAllowed=!0},r.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==r.dot&&(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var C=V.prototype;C.checkPropClash=function(e,t,i){if(!(this.options.ecmaVersion>=9&&e.type==="SpreadElement")&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var s=e.key,n;switch(s.type){case"Identifier":n=s.name;break;case"Literal":n=String(s.value);break;default:return}var o=e.kind;if(this.options.ecmaVersion>=6){n==="__proto__"&&o==="init"&&(t.proto&&(i?i.doubleProto<0&&(i.doubleProto=s.start):this.raiseRecoverable(s.start,"Redefinition of __proto__ property")),t.proto=!0);return}n="$"+n;var p=t[n];if(p){var m;o==="init"?m=this.strict&&p.init||p.get||p.set:m=p.init||p[o],m&&this.raiseRecoverable(s.start,"Redefinition of property")}else p=t[n]={init:!1,get:!1,set:!1};p[o]=!0}},C.parseExpression=function(e,t){var i=this.start,s=this.startLoc,n=this.parseMaybeAssign(e,t);if(this.type===r.comma){var o=this.startNodeAt(i,s);for(o.expressions=[n];this.eat(r.comma);)o.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(o,"SequenceExpression")}return n},C.parseMaybeAssign=function(e,t,i){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var s=!1,n=-1,o=-1,p=-1;t?(n=t.parenthesizedAssign,o=t.trailingComma,p=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new Ae,s=!0);var m=this.start,g=this.startLoc;(this.type===r.parenL||this.type===r.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e==="await");var T=this.parseMaybeConditional(e,t);if(i&&(T=i.call(this,T,m,g)),this.type.isAssign){var E=this.startNodeAt(m,g);return E.operator=this.value,this.type===r.eq&&(T=this.toAssignable(T,!1,t)),s||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=T.start&&(t.shorthandAssign=-1),this.type===r.eq?this.checkLValPattern(T):this.checkLValSimple(T),E.left=T,this.next(),E.right=this.parseMaybeAssign(e),p>-1&&(t.doubleProto=p),this.finishNode(E,"AssignmentExpression")}else s&&this.checkExpressionErrors(t,!0);return n>-1&&(t.parenthesizedAssign=n),o>-1&&(t.trailingComma=o),T},C.parseMaybeConditional=function(e,t){var i=this.start,s=this.startLoc,n=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return n;if(this.eat(r.question)){var o=this.startNodeAt(i,s);return o.test=n,o.consequent=this.parseMaybeAssign(),this.expect(r.colon),o.alternate=this.parseMaybeAssign(e),this.finishNode(o,"ConditionalExpression")}return n},C.parseExprOps=function(e,t){var i=this.start,s=this.startLoc,n=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||n.start===i&&n.type==="ArrowFunctionExpression"?n:this.parseExprOp(n,i,s,-1,e)},C.parseExprOp=function(e,t,i,s,n){var o=this.type.binop;if(o!=null&&(!n||this.type!==r._in)&&o>s){var p=this.type===r.logicalOR||this.type===r.logicalAND,m=this.type===r.coalesce;m&&(o=r.logicalAND.binop);var g=this.value;this.next();var T=this.start,E=this.startLoc,R=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,n),T,E,o,n),ie=this.buildBinary(t,i,e,R,g,p||m);return(p&&this.type===r.coalesce||m&&(this.type===r.logicalOR||this.type===r.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(ie,t,i,s,n)}return e},C.buildBinary=function(e,t,i,s,n,o){s.type==="PrivateIdentifier"&&this.raise(s.start,"Private identifier can only be left side of binary expression");var p=this.startNodeAt(e,t);return p.left=i,p.operator=n,p.right=s,this.finishNode(p,o?"LogicalExpression":"BinaryExpression")},C.parseMaybeUnary=function(e,t,i,s){var n=this.start,o=this.startLoc,p;if(this.isContextual("await")&&this.canAwait)p=this.parseAwait(s),t=!0;else if(this.type.prefix){var m=this.startNode(),g=this.type===r.incDec;m.operator=this.value,m.prefix=!0,this.next(),m.argument=this.parseMaybeUnary(null,!0,g,s),this.checkExpressionErrors(e,!0),g?this.checkLValSimple(m.argument):this.strict&&m.operator==="delete"&&m.argument.type==="Identifier"?this.raiseRecoverable(m.start,"Deleting local variable in strict mode"):m.operator==="delete"&&kt(m.argument)?this.raiseRecoverable(m.start,"Private fields can not be deleted"):t=!0,p=this.finishNode(m,g?"UpdateExpression":"UnaryExpression")}else if(!t&&this.type===r.privateId)(s||this.privateNameStack.length===0)&&this.options.checkPrivateFields&&this.unexpected(),p=this.parsePrivateIdent(),this.type!==r._in&&this.unexpected();else{if(p=this.parseExprSubscripts(e,s),this.checkExpressionErrors(e))return p;for(;this.type.postfix&&!this.canInsertSemicolon();){var T=this.startNodeAt(n,o);T.operator=this.value,T.prefix=!1,T.argument=p,this.checkLValSimple(p),this.next(),p=this.finishNode(T,"UpdateExpression")}}if(!i&&this.eat(r.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(n,o,p,this.parseMaybeUnary(null,!1,!1,s),"**",!1);else return p};function kt(e){return e.type==="MemberExpression"&&e.property.type==="PrivateIdentifier"||e.type==="ChainExpression"&&kt(e.expression)}C.parseExprSubscripts=function(e,t){var i=this.start,s=this.startLoc,n=this.parseExprAtom(e,t);if(n.type==="ArrowFunctionExpression"&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==")")return n;var o=this.parseSubscripts(n,i,s,!1,t);return e&&o.type==="MemberExpression"&&(e.parenthesizedAssign>=o.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=o.start&&(e.parenthesizedBind=-1),e.trailingComma>=o.start&&(e.trailingComma=-1)),o},C.parseSubscripts=function(e,t,i,s,n){for(var o=this.options.ecmaVersion>=8&&e.type==="Identifier"&&e.name==="async"&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,p=!1;;){var m=this.parseSubscript(e,t,i,s,o,p,n);if(m.optional&&(p=!0),m===e||m.type==="ArrowFunctionExpression"){if(p){var g=this.startNodeAt(t,i);g.expression=m,m=this.finishNode(g,"ChainExpression")}return m}e=m}},C.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(r.arrow)},C.parseSubscriptAsyncArrow=function(e,t,i,s){return this.parseArrowExpression(this.startNodeAt(e,t),i,!0,s)},C.parseSubscript=function(e,t,i,s,n,o,p){var m=this.options.ecmaVersion>=11,g=m&&this.eat(r.questionDot);s&&g&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var T=this.eat(r.bracketL);if(T||g&&this.type!==r.parenL&&this.type!==r.backQuote||this.eat(r.dot)){var E=this.startNodeAt(t,i);E.object=e,T?(E.property=this.parseExpression(),this.expect(r.bracketR)):this.type===r.privateId&&e.type!=="Super"?E.property=this.parsePrivateIdent():E.property=this.parseIdent(this.options.allowReserved!=="never"),E.computed=!!T,m&&(E.optional=g),e=this.finishNode(E,"MemberExpression")}else if(!s&&this.eat(r.parenL)){var R=new Ae,ie=this.yieldPos,ve=this.awaitPos,ue=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var Le=this.parseExprList(r.parenR,this.options.ecmaVersion>=8,!1,R);if(n&&!g&&this.shouldParseAsyncArrow())return this.checkPatternErrors(R,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=ie,this.awaitPos=ve,this.awaitIdentPos=ue,this.parseSubscriptAsyncArrow(t,i,Le,p);this.checkExpressionErrors(R,!0),this.yieldPos=ie||this.yieldPos,this.awaitPos=ve||this.awaitPos,this.awaitIdentPos=ue||this.awaitIdentPos;var he=this.startNodeAt(t,i);he.callee=e,he.arguments=Le,m&&(he.optional=g),e=this.finishNode(he,"CallExpression")}else if(this.type===r.backQuote){(g||o)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var pe=this.startNodeAt(t,i);pe.tag=e,pe.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(pe,"TaggedTemplateExpression")}return e},C.parseExprAtom=function(e,t,i){this.type===r.slash&&this.readRegexp();var s,n=this.potentialArrowAt===this.start;switch(this.type){case r._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),s=this.startNode(),this.next(),this.type===r.parenL&&!this.allowDirectSuper&&this.raise(s.start,"super() call outside constructor of a subclass"),this.type!==r.dot&&this.type!==r.bracketL&&this.type!==r.parenL&&this.unexpected(),this.finishNode(s,"Super");case r._this:return s=this.startNode(),this.next(),this.finishNode(s,"ThisExpression");case r.name:var o=this.start,p=this.startLoc,m=this.containsEsc,g=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!m&&g.name==="async"&&!this.canInsertSemicolon()&&this.eat(r._function))return this.overrideContext(I.f_expr),this.parseFunction(this.startNodeAt(o,p),0,!1,!0,t);if(n&&!this.canInsertSemicolon()){if(this.eat(r.arrow))return this.parseArrowExpression(this.startNodeAt(o,p),[g],!1,t);if(this.options.ecmaVersion>=8&&g.name==="async"&&this.type===r.name&&!m&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return g=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(r.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(o,p),[g],!0,t)}return g;case r.regexp:var T=this.value;return s=this.parseLiteral(T.value),s.regex={pattern:T.pattern,flags:T.flags},s;case r.num:case r.string:return this.parseLiteral(this.value);case r._null:case r._true:case r._false:return s=this.startNode(),s.value=this.type===r._null?null:this.type===r._true,s.raw=this.type.keyword,this.next(),this.finishNode(s,"Literal");case r.parenL:var E=this.start,R=this.parseParenAndDistinguishExpression(n,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(R)&&(e.parenthesizedAssign=E),e.parenthesizedBind<0&&(e.parenthesizedBind=E)),R;case r.bracketL:return s=this.startNode(),this.next(),s.elements=this.parseExprList(r.bracketR,!0,!0,e),this.finishNode(s,"ArrayExpression");case r.braceL:return this.overrideContext(I.b_expr),this.parseObj(!1,e);case r._function:return s=this.startNode(),this.next(),this.parseFunction(s,0);case r._class:return this.parseClass(this.startNode(),!1);case r._new:return this.parseNew();case r.backQuote:return this.parseTemplate();case r._import:return this.options.ecmaVersion>=11?this.parseExprImport(i):this.unexpected();default:return this.parseExprAtomDefault()}},C.parseExprAtomDefault=function(){this.unexpected()},C.parseExprImport=function(e){var t=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var i=this.parseIdent(!0);if(this.type===r.parenL&&!e)return this.parseDynamicImport(t);if(this.type===r.dot)return t.meta=i,this.parseImportMeta(t);this.unexpected()},C.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(r.parenR)){var t=this.start;this.eat(r.comma)&&this.eat(r.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},C.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},C.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},C.parseParenExpression=function(){this.expect(r.parenL);var e=this.parseExpression();return this.expect(r.parenR),e},C.shouldParseArrow=function(e){return!this.canInsertSemicolon()},C.parseParenAndDistinguishExpression=function(e,t){var i=this.start,s=this.startLoc,n,o=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var p=this.start,m=this.startLoc,g=[],T=!0,E=!1,R=new Ae,ie=this.yieldPos,ve=this.awaitPos,ue;for(this.yieldPos=0,this.awaitPos=0;this.type!==r.parenR;)if(T?T=!1:this.expect(r.comma),o&&this.afterTrailingComma(r.parenR,!0)){E=!0;break}else if(this.type===r.ellipsis){ue=this.start,g.push(this.parseParenItem(this.parseRestBinding())),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}else g.push(this.parseMaybeAssign(!1,R,this.parseParenItem));var Le=this.lastTokEnd,he=this.lastTokEndLoc;if(this.expect(r.parenR),e&&this.shouldParseArrow(g)&&this.eat(r.arrow))return this.checkPatternErrors(R,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=ie,this.awaitPos=ve,this.parseParenArrowList(i,s,g,t);(!g.length||E)&&this.unexpected(this.lastTokStart),ue&&this.unexpected(ue),this.checkExpressionErrors(R,!0),this.yieldPos=ie||this.yieldPos,this.awaitPos=ve||this.awaitPos,g.length>1?(n=this.startNodeAt(p,m),n.expressions=g,this.finishNodeAt(n,"SequenceExpression",Le,he)):n=g[0]}else n=this.parseParenExpression();if(this.options.preserveParens){var pe=this.startNodeAt(i,s);return pe.expression=n,this.finishNode(pe,"ParenthesizedExpression")}else return n},C.parseParenItem=function(e){return e},C.parseParenArrowList=function(e,t,i,s){return this.parseArrowExpression(this.startNodeAt(e,t),i,!1,s)};var Ii=[];C.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(r.dot)){e.meta=t;var i=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),i&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var s=this.start,n=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),s,n,!0,!1),this.eat(r.parenL)?e.arguments=this.parseExprList(r.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ii,this.finishNode(e,"NewExpression")},C.parseTemplateElement=function(e){var t=e.isTagged,i=this.startNode();return this.type===r.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value,cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,`
+`),cooked:this.value},this.next(),i.tail=this.type===r.backQuote,this.finishNode(i,"TemplateElement")},C.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var i=this.startNode();this.next(),i.expressions=[];var s=this.parseTemplateElement({isTagged:t});for(i.quasis=[s];!s.tail;)this.type===r.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(r.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(r.braceR),i.quasis.push(s=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(i,"TemplateLiteral")},C.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===r.name||this.type===r.num||this.type===r.string||this.type===r.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===r.star)&&!j.test(this.input.slice(this.lastTokEnd,this.start))},C.parseObj=function(e,t){var i=this.startNode(),s=!0,n={};for(i.properties=[],this.next();!this.eat(r.braceR);){if(s)s=!1;else if(this.expect(r.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(r.braceR))break;var o=this.parseProperty(e,t);e||this.checkPropClash(o,n,t),i.properties.push(o)}return this.finishNode(i,e?"ObjectPattern":"ObjectExpression")},C.parseProperty=function(e,t){var i=this.startNode(),s,n,o,p;if(this.options.ecmaVersion>=9&&this.eat(r.ellipsis))return e?(i.argument=this.parseIdent(!1),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(i,"RestElement")):(i.argument=this.parseMaybeAssign(!1,t),this.type===r.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(i,"SpreadElement"));this.options.ecmaVersion>=6&&(i.method=!1,i.shorthand=!1,(e||t)&&(o=this.start,p=this.startLoc),e||(s=this.eat(r.star)));var m=this.containsEsc;return this.parsePropertyName(i),!e&&!m&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(i)?(n=!0,s=this.options.ecmaVersion>=9&&this.eat(r.star),this.parsePropertyName(i)):n=!1,this.parsePropertyValue(i,e,s,n,o,p,t,m),this.finishNode(i,"Property")},C.parseGetterSetter=function(e){e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var t=e.kind==="get"?0:1;if(e.value.params.length!==t){var i=e.value.start;e.kind==="get"?this.raiseRecoverable(i,"getter should have no params"):this.raiseRecoverable(i,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")},C.parsePropertyValue=function(e,t,i,s,n,o,p,m){(i||s)&&this.type===r.colon&&this.unexpected(),this.eat(r.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,p),e.kind="init"):this.options.ecmaVersion>=6&&this.type===r.parenL?(t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(i,s)):!t&&!m&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==r.comma&&this.type!==r.braceR&&this.type!==r.eq?((i||s)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((i||s)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,o,this.copyNode(e.key)):this.type===r.eq&&p?(p.shorthandAssign<0&&(p.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,o,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()},C.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(r.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(r.bracketR),e.key;e.computed=!1}return e.key=this.type===r.num||this.type===r.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},C.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},C.parseMethod=function(e,t,i){var s=this.startNode(),n=this.yieldPos,o=this.awaitPos,p=this.awaitIdentPos;return this.initFunction(s),this.options.ecmaVersion>=6&&(s.generator=e),this.options.ecmaVersion>=8&&(s.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(He(t,s.generator)|Xe|(i?vt:0)),this.expect(r.parenL),s.params=this.parseBindingList(r.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(s,!1,!0,!1),this.yieldPos=n,this.awaitPos=o,this.awaitIdentPos=p,this.finishNode(s,"FunctionExpression")},C.parseArrowExpression=function(e,t,i,s){var n=this.yieldPos,o=this.awaitPos,p=this.awaitIdentPos;return this.enterScope(He(i,!1)|yt),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!i),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,s),this.yieldPos=n,this.awaitPos=o,this.awaitIdentPos=p,this.finishNode(e,"ArrowFunctionExpression")},C.parseFunctionBody=function(e,t,i,s){var n=t&&this.type!==r.braceL,o=this.strict,p=!1;if(n)e.body=this.parseMaybeAssign(s),e.expression=!0,this.checkParams(e,!1);else{var m=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!o||m)&&(p=this.strictDirective(this.end),p&&m&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var g=this.labels;this.labels=[],p&&(this.strict=!0),this.checkParams(e,!o&&!p&&!t&&!i&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,_t),e.body=this.parseBlock(!1,void 0,p&&!o),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=g}this.exitScope()},C.isSimpleParamList=function(e){for(var t=0,i=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&n.flags&de&&delete this.undefinedExports[e]}else if(t===St){var o=this.currentScope();o.lexical.push(e)}else if(t===bt){var p=this.currentScope();this.treatFunctionsAsVar?s=p.lexical.indexOf(e)>-1:s=p.lexical.indexOf(e)>-1||p.var.indexOf(e)>-1,p.functions.push(e)}else for(var m=this.scopeStack.length-1;m>=0;--m){var g=this.scopeStack[m];if(g.lexical.indexOf(e)>-1&&!(g.flags>&&g.lexical[0]===e)||!this.treatFunctionsAsVarInScope(g)&&g.functions.indexOf(e)>-1){s=!0;break}if(g.var.push(e),this.inModule&&g.flags&de&&delete this.undefinedExports[e],g.flags&ze)break}s&&this.raiseRecoverable(i,"Identifier '"+e+"' has already been declared")},ee.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},ee.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},ee.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&ze)return t}},ee.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&ze&&!(t.flags&yt))return t}};var ye=function(t,i,s){this.type="",this.start=i,this.end=0,t.options.locations&&(this.loc=new fe(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[i,0])},ge=V.prototype;ge.startNode=function(){return new ye(this,this.start,this.startLoc)},ge.startNodeAt=function(e,t){return new ye(this,e,t)};function Tt(e,t,i,s){return e.type=t,e.end=i,this.options.locations&&(e.loc.end=s),this.options.ranges&&(e.range[1]=i),e}ge.finishNode=function(e,t){return Tt.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},ge.finishNodeAt=function(e,t,i,s){return Tt.call(this,e,t,i,s)},ge.copyNode=function(e){var t=new ye(this,e.start,this.startLoc);for(var i in e)t[i]=e[i];return t};var wt="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Et=wt+" Extended_Pictographic",At=Et,Pt=At+" EBase EComp EMod EPres ExtPict",It=Pt,Vi=It,Li={9:wt,10:Et,11:At,12:Pt,13:It,14:Vi},Ri="Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji",Oi={9:"",10:"",11:"",12:"",13:"",14:Ri},Nt="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Vt="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Lt=Vt+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Rt=Lt+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Ot=Rt+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",Bt=Ot+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",Bi=Bt+" Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz",Di={9:Vt,10:Lt,11:Rt,12:Ot,13:Bt,14:Bi},Dt={};function Fi(e){var t=Dt[e]={binary:$(Li[e]+" "+Nt),binaryOfStrings:$(Oi[e]),nonBinary:{General_Category:$(Nt),Script:$(Di[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var Ze=0,Ft=[9,10,11,12,13,14];Ze=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=Dt[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};X.prototype.reset=function(t,i,s){var n=s.indexOf("v")!==-1,o=s.indexOf("u")!==-1;this.start=t|0,this.source=i+"",this.flags=s,n&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=o&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=o&&this.parser.options.ecmaVersion>=9)},X.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},X.prototype.at=function(t,i){i===void 0&&(i=!1);var s=this.source,n=s.length;if(t>=n)return-1;var o=s.charCodeAt(t);if(!(i||this.switchU)||o<=55295||o>=57344||t+1>=n)return o;var p=s.charCodeAt(t+1);return p>=56320&&p<=57343?(o<<10)+p-56613888:o},X.prototype.nextIndex=function(t,i){i===void 0&&(i=!1);var s=this.source,n=s.length;if(t>=n)return n;var o=s.charCodeAt(t),p;return!(i||this.switchU)||o<=55295||o>=57344||t+1>=n||(p=s.charCodeAt(t+1))<56320||p>57343?t+1:t+2},X.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)},X.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},X.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)},X.prototype.eat=function(t,i){return i===void 0&&(i=!1),this.current(i)===t?(this.advance(i),!0):!1},X.prototype.eatChars=function(t,i){i===void 0&&(i=!1);for(var s=this.pos,n=0,o=t;n-1&&this.raise(e.start,"Duplicate regular expression flag"),p==="u"&&(s=!0),p==="v"&&(n=!0)}this.options.ecmaVersion>=15&&s&&n&&this.raise(e.start,"Invalid regular expression flag")},v.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},v.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,i=e.backReferenceNames;t=9&&(i=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!i,!0}return e.pos=t,!1},v.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},v.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},v.regexp_eatBracedQuantifier=function(e,t){var i=e.pos;if(e.eat(123)){var s=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(s=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return n!==-1&&n=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},v.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},v.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},v.regexp_eatSyntaxCharacter=function(e){var t=e.current();return jt(t)?(e.lastIntValue=t,e.advance(),!0):!1};function jt(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}v.regexp_eatPatternCharacters=function(e){for(var t=e.pos,i=0;(i=e.current())!==-1&&!jt(i);)e.advance();return e.pos!==t},v.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},v.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise("Duplicate capture group name"),e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}},v.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},v.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Z(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Z(e.lastIntValue);return!0}return!1},v.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,s=e.current(i);return e.advance(i),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(s=e.lastIntValue),Mi(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function Mi(e){return F(e,!0)||e===36||e===95}v.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,s=e.current(i);return e.advance(i),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(s=e.lastIntValue),Ui(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function Ui(e){return d(e,!0)||e===36||e===95||e===8204||e===8205}v.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},v.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var i=e.lastIntValue;if(e.switchU)return i>e.maxBackReference&&(e.maxBackReference=i),!0;if(i<=e.numCapturingParens)return!0;e.pos=t}return!1},v.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},v.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},v.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},v.regexp_eatZero=function(e){return e.current()===48&&!Ne(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},v.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},v.regexp_eatControlLetter=function(e){var t=e.current();return Mt(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function Mt(e){return e>=65&&e<=90||e>=97&&e<=122}v.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var i=e.pos,s=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(s&&n>=55296&&n<=56319){var o=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var p=e.lastIntValue;if(p>=56320&&p<=57343)return e.lastIntValue=(n-55296)*1024+(p-56320)+65536,!0}e.pos=o,e.lastIntValue=n}return!0}if(s&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&qi(e.lastIntValue))return!0;s&&e.raise("Invalid unicode escape"),e.pos=i}return!1};function qi(e){return e>=0&&e<=1114111}v.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},v.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};var Ut=0,Y=1,J=2;v.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Ki(t))return e.lastIntValue=-1,e.advance(),Y;var i=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((i=t===80)||t===112)){e.lastIntValue=-1,e.advance();var s;if(e.eat(123)&&(s=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return i&&s===J&&e.raise("Invalid property name"),s;e.raise("Invalid property name")}return Ut};function Ki(e){return e===100||e===68||e===115||e===83||e===119||e===87}v.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var i=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var s=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,i,s),Y}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n)}return Ut},v.regexp_validateUnicodePropertyNameAndValue=function(e,t,i){le(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(i)||e.raise("Invalid property value")},v.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return Y;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return J;e.raise("Invalid property name")},v.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";qt(t=e.current());)e.lastStringValue+=Z(t),e.advance();return e.lastStringValue!==""};function qt(e){return Mt(e)||e===95}v.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";Ji(t=e.current());)e.lastStringValue+=Z(t),e.advance();return e.lastStringValue!==""};function Ji(e){return qt(e)||Ne(e)}v.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},v.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),i=this.regexp_classContents(e);return e.eat(93)||e.raise("Unterminated character class"),t&&i===J&&e.raise("Negated character class may contain strings"),!0}return!1},v.regexp_classContents=function(e){return e.current()===93?Y:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),Y)},v.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var i=e.lastIntValue;e.switchU&&(t===-1||i===-1)&&e.raise("Invalid character class"),t!==-1&&i!==-1&&t>i&&e.raise("Range out of order in character class")}}},v.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var i=e.current();(i===99||Gt(i))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var s=e.current();return s!==93?(e.lastIntValue=s,e.advance(),!0):!1},v.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},v.regexp_classSetExpression=function(e){var t=Y,i;if(!this.regexp_eatClassSetRange(e))if(i=this.regexp_eatClassSetOperand(e)){i===J&&(t=J);for(var s=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(i=this.regexp_eatClassSetOperand(e))){i!==J&&(t=Y);continue}e.raise("Invalid character in character class")}if(s!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise("Invalid character in character class");if(s!==e.pos)return t}else e.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(e)){if(i=this.regexp_eatClassSetOperand(e),!i)return t;i===J&&(t=J)}},v.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var i=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var s=e.lastIntValue;return i!==-1&&s!==-1&&i>s&&e.raise("Range out of order in character class"),!0}e.pos=t}return!1},v.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?Y:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},v.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var i=e.eat(94),s=this.regexp_classContents(e);if(e.eat(93))return i&&s===J&&e.raise("Negated character class may contain strings"),s;e.pos=t}if(e.eat(92)){var n=this.regexp_eatCharacterClassEscape(e);if(n)return n;e.pos=t}return null},v.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var i=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return i}else e.raise("Invalid escape");e.pos=t}return null},v.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===J&&(t=J);return t},v.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?Y:J},v.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var i=e.current();return i<0||i===e.lookahead()&&Gi(i)||Wi(i)?!1:(e.advance(),e.lastIntValue=i,!0)};function Gi(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function Wi(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}v.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return Xi(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Xi(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}v.regexp_eatClassControlLetter=function(e){var t=e.current();return Ne(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},v.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},v.regexp_eatDecimalDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Ne(i=e.current());)e.lastIntValue=10*e.lastIntValue+(i-48),e.advance();return e.pos!==t};function Ne(e){return e>=48&&e<=57}v.regexp_eatHexDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Kt(i=e.current());)e.lastIntValue=16*e.lastIntValue+Jt(i),e.advance();return e.pos!==t};function Kt(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Jt(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}v.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var i=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+i*8+e.lastIntValue:e.lastIntValue=t*8+i}else e.lastIntValue=t;return!0}return!1},v.regexp_eatOctalDigit=function(e){var t=e.current();return Gt(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function Gt(e){return e>=48&&e<=55}v.regexp_eatFixedHexDigits=function(e,t){var i=e.pos;e.lastIntValue=0;for(var s=0;s=this.input.length)return this.finishToken(r.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},A.readToken=function(e){return F(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},A.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},A.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(i===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(var s=void 0,n=t;(s=lt(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=s;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,i),t,this.pos,e,this.curPosition())},A.skipLineComment=function(e){for(var t=this.pos,i=this.options.onComment&&this.curPosition(),s=this.input.charCodeAt(this.pos+=e);this.pos8&&e<14||e>=5760&&Je.test(String.fromCharCode(e)))++this.pos;else break e}}},A.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=e,this.value=t,this.updateContext(i)},A.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(r.ellipsis)):(++this.pos,this.finishToken(r.dot))},A.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(r.assign,2):this.finishOp(r.slash,1)},A.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),i=1,s=e===42?r.star:r.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++i,s=r.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(r.assign,i+1):this.finishOp(s,i)},A.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var i=this.input.charCodeAt(this.pos+2);if(i===61)return this.finishOp(r.assign,3)}return this.finishOp(e===124?r.logicalOR:r.logicalAND,2)}return t===61?this.finishOp(r.assign,2):this.finishOp(e===124?r.bitwiseOR:r.bitwiseAND,1)},A.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(r.assign,2):this.finishOp(r.bitwiseXOR,1)},A.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||j.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(r.incDec,2):t===61?this.finishOp(r.assign,2):this.finishOp(r.plusMin,1)},A.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),i=1;return t===e?(i=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+i)===61?this.finishOp(r.assign,i+1):this.finishOp(r.bitShift,i)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(i=2),this.finishOp(r.relational,i))},A.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(r.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(r.arrow)):this.finishOp(e===61?r.eq:r.prefix,1)},A.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var i=this.input.charCodeAt(this.pos+2);if(i<48||i>57)return this.finishOp(r.questionDot,2)}if(t===63){if(e>=12){var s=this.input.charCodeAt(this.pos+2);if(s===61)return this.finishOp(r.assign,3)}return this.finishOp(r.coalesce,2)}}return this.finishOp(r.question,1)},A.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),F(t,!0)||t===92))return this.finishToken(r.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Z(t)+"'")},A.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(r.parenL);case 41:return++this.pos,this.finishToken(r.parenR);case 59:return++this.pos,this.finishToken(r.semi);case 44:return++this.pos,this.finishToken(r.comma);case 91:return++this.pos,this.finishToken(r.bracketL);case 93:return++this.pos,this.finishToken(r.bracketR);case 123:return++this.pos,this.finishToken(r.braceL);case 125:return++this.pos,this.finishToken(r.braceR);case 58:return++this.pos,this.finishToken(r.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(r.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(r.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Z(e)+"'")},A.finishOp=function(e,t){var i=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,i)},A.readRegexp=function(){for(var e,t,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(j.test(s)&&this.raise(i,"Unterminated regular expression"),e)e=!1;else{if(s==="[")t=!0;else if(s==="]"&&t)t=!1;else if(s==="/"&&!t)break;e=s==="\\"}++this.pos}var n=this.input.slice(i,this.pos);++this.pos;var o=this.pos,p=this.readWord1();this.containsEsc&&this.unexpected(o);var m=this.regexpState||(this.regexpState=new X(this));m.reset(i,n,p),this.validateRegExpFlags(m),this.validateRegExpPattern(m);var g=null;try{g=new RegExp(n,p)}catch{}return this.finishToken(r.regexp,{pattern:n,flags:p,value:g})},A.readInt=function(e,t,i){for(var s=this.options.ecmaVersion>=12&&t===void 0,n=i&&this.input.charCodeAt(this.pos)===48,o=this.pos,p=0,m=0,g=0,T=t??1/0;g=97?R=E-97+10:E>=65?R=E-65+10:E>=48&&E<=57?R=E-48:R=1/0,R>=e)break;m=E,p=p*e+R}return s&&m===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===o||t!=null&&this.pos-o!==t?null:p};function zi(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function Wt(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}A.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var i=this.readInt(e);return i==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(i=Wt(this.input.slice(t,this.pos)),++this.pos):F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(r.num,i)},A.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var i=this.pos-t>=2&&this.input.charCodeAt(t)===48;i&&this.strict&&this.raise(t,"Invalid number");var s=this.input.charCodeAt(this.pos);if(!i&&!e&&this.options.ecmaVersion>=11&&s===110){var n=Wt(this.input.slice(t,this.pos));return++this.pos,F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(r.num,n)}i&&/[89]/.test(this.input.slice(t,this.pos))&&(i=!1),s===46&&!i&&(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),(s===69||s===101)&&!i&&(s=this.input.charCodeAt(++this.pos),(s===43||s===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var o=zi(this.input.slice(t,this.pos),i);return this.finishToken(r.num,o)},A.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var i=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(i,"Code point out of bounds")}else t=this.readHexChar(4);return t},A.readString=function(e){for(var t="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===e)break;s===92?(t+=this.input.slice(i,this.pos),t+=this.readEscapedChar(!1),i=this.pos):s===8232||s===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(te(s)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(i,this.pos++),this.finishToken(r.string,t)};var Xt={};A.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===Xt)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},A.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Xt;this.raise(e,t)},A.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(i===96||i===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===r.template||this.type===r.invalidTemplate)?i===36?(this.pos+=2,this.finishToken(r.dollarBraceL)):(++this.pos,this.finishToken(r.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(r.template,e));if(i===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(te(i)){switch(e+=this.input.slice(t,this.pos),++this.pos,i){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`
`;break;default:e+=String.fromCharCode(i);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},A.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var s=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(s,8);return n>255&&(s=s.slice(0,-1),n=parseInt(s,8)),this.pos+=s.length-1,t=this.input.charCodeAt(this.pos),(s!=="0"||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-s.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return te(t)?"":String.fromCharCode(t)}},A.readHexChar=function(e){var t=this.pos,i=this.readInt(16,e);return i===null&&this.invalidStringToken(t,"Bad character escape sequence"),i},A.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos{fi.exports={}});var ot=Se((ta,nt)=>{"use strict";var Ls=di(),Rs=/^[\da-fA-F]+$/,Os=/^\d+$/,mi=new WeakMap;function xi(a){a=a.Parser.acorn||a;let u=mi.get(a);if(!u){let c=a.tokTypes,h=a.TokContext,l=a.TokenType,f=new h("... ",!0,!0),L={tc_oTag:f,tc_cTag:m,tc_expr:_},P={jsxName:new l("jsxName"),jsxText:new l("jsxText",{beforeExpr:!0}),jsxTagStart:new l("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new l("jsxTagEnd")};P.jsxTagStart.updateContext=function(){this.context.push(_),this.context.push(f),this.exprAllowed=!1},P.jsxTagEnd.updateContext=function(D){let G=this.context.pop();G===f&&D===c.slash||G===m?(this.context.pop(),this.exprAllowed=this.curContext()===_):this.exprAllowed=!0},u={tokContexts:L,tokTypes:P},mi.set(a,u)}return u}function we(a){if(!a)return a;if(a.type==="JSXIdentifier")return a.name;if(a.type==="JSXNamespacedName")return a.namespace.name+":"+a.name.name;if(a.type==="JSXMemberExpression")return we(a.object)+"."+we(a.property)}nt.exports=function(a){return a=a||{},function(u){return Bs({allowNamespaces:a.allowNamespaces!==!1,allowNamespacedObjects:!!a.allowNamespacedObjects},u)}};Object.defineProperty(nt.exports,"tokTypes",{get:function(){return xi(Ee()).tokTypes},configurable:!0,enumerable:!0});function Bs(a,u){let c=u.acorn||Ee(),h=xi(c),l=c.tokTypes,f=h.tokTypes,m=c.tokContexts,_=h.tokContexts.tc_oTag,L=h.tokContexts.tc_cTag,P=h.tokContexts.tc_expr,D=c.isNewLine,G=c.isIdentifierStart,F=c.isIdentifierChar;return class extends u{static get acornJsx(){return h}jsx_readToken(){let d="",y=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let b=this.input.charCodeAt(this.pos);switch(b){case 60:case 123:return this.pos===this.start?b===60&&this.exprAllowed?(++this.pos,this.finishToken(f.jsxTagStart)):this.getTokenFromCode(b):(d+=this.input.slice(y,this.pos),this.finishToken(f.jsxText,d));case 38:d+=this.input.slice(y,this.pos),d+=this.jsx_readEntity(),y=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(b===62?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:D(b)?(d+=this.input.slice(y,this.pos),d+=this.jsx_readNewLine(!0),y=this.pos):++this.pos}}}jsx_readNewLine(d){let y=this.input.charCodeAt(this.pos),b;return++this.pos,y===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,b=d?`
+`;case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Z(this.readCodePoint());case 116:return" ";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),e){var i=this.pos-1;this.invalidStringToken(i,"Invalid escape sequence in template string")}default:if(t>=48&&t<=55){var s=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(s,8);return n>255&&(s=s.slice(0,-1),n=parseInt(s,8)),this.pos+=s.length-1,t=this.input.charCodeAt(this.pos),(s!=="0"||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-s.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return te(t)?"":String.fromCharCode(t)}},A.readHexChar=function(e){var t=this.pos,i=this.readInt(16,e);return i===null&&this.invalidStringToken(t,"Bad character escape sequence"),i},A.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos{li.exports={}});var nt=be((Qr,at)=>{"use strict";var Ns=fi(),Vs=/^[\da-fA-F]+$/,Ls=/^\d+$/,di=new WeakMap;function mi(a){a=a.Parser.acorn||a;let u=di.get(a);if(!u){let c=a.tokTypes,h=a.TokContext,l=a.TokenType,f=new h("... ",!0,!0),L={tc_oTag:f,tc_cTag:y,tc_expr:_},P={jsxName:new l("jsxName"),jsxText:new l("jsxText",{beforeExpr:!0}),jsxTagStart:new l("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new l("jsxTagEnd")};P.jsxTagStart.updateContext=function(){this.context.push(_),this.context.push(f),this.exprAllowed=!1},P.jsxTagEnd.updateContext=function(D){let G=this.context.pop();G===f&&D===c.slash||G===y?(this.context.pop(),this.exprAllowed=this.curContext()===_):this.exprAllowed=!0},u={tokContexts:L,tokTypes:P},di.set(a,u)}return u}function Te(a){if(!a)return a;if(a.type==="JSXIdentifier")return a.name;if(a.type==="JSXNamespacedName")return a.namespace.name+":"+a.name.name;if(a.type==="JSXMemberExpression")return Te(a.object)+"."+Te(a.property)}at.exports=function(a){return a=a||{},function(u){return Rs({allowNamespaces:a.allowNamespaces!==!1,allowNamespacedObjects:!!a.allowNamespacedObjects},u)}};Object.defineProperty(at.exports,"tokTypes",{get:function(){return mi(ke()).tokTypes},configurable:!0,enumerable:!0});function Rs(a,u){let c=u.acorn||ke(),h=mi(c),l=c.tokTypes,f=h.tokTypes,y=c.tokContexts,_=h.tokContexts.tc_oTag,L=h.tokContexts.tc_cTag,P=h.tokContexts.tc_expr,D=c.isNewLine,G=c.isIdentifierStart,F=c.isIdentifierChar;return class extends u{static get acornJsx(){return h}jsx_readToken(){let d="",x=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let b=this.input.charCodeAt(this.pos);switch(b){case 60:case 123:return this.pos===this.start?b===60&&this.exprAllowed?(++this.pos,this.finishToken(f.jsxTagStart)):this.getTokenFromCode(b):(d+=this.input.slice(x,this.pos),this.finishToken(f.jsxText,d));case 38:d+=this.input.slice(x,this.pos),d+=this.jsx_readEntity(),x=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(b===62?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:D(b)?(d+=this.input.slice(x,this.pos),d+=this.jsx_readNewLine(!0),x=this.pos):++this.pos}}}jsx_readNewLine(d){let x=this.input.charCodeAt(this.pos),b;return++this.pos,x===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,b=d?`
`:`\r
-`):b=String.fromCharCode(y),this.options.locations&&(++this.curLine,this.lineStart=this.pos),b}jsx_readString(d){let y="",b=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let k=this.input.charCodeAt(this.pos);if(k===d)break;k===38?(y+=this.input.slice(b,this.pos),y+=this.jsx_readEntity(),b=this.pos):D(k)?(y+=this.input.slice(b,this.pos),y+=this.jsx_readNewLine(!1),b=this.pos):++this.pos}return y+=this.input.slice(b,this.pos++),this.finishToken(l.string,y)}jsx_readEntity(){let d="",y=0,b,k=this.input[this.pos];k!=="&"&&this.raise(this.pos,"Entity must start with an ampersand");let N=++this.pos;for(;this.pos")}let E=N.name?"Element":"Fragment";return b["opening"+E]=N,b["closing"+E]=H,b.children=k,this.type===l.relational&&this.value==="<"&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(b,"JSX"+E)}jsx_parseText(){let d=this.parseLiteral(this.value);return d.type="JSXText",d}jsx_parseElement(){let d=this.start,y=this.startLoc;return this.next(),this.jsx_parseElementAt(d,y)}parseExprAtom(d){return this.type===f.jsxText?this.jsx_parseText():this.type===f.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(d)}readToken(d){let y=this.curContext();if(y===P)return this.jsx_readToken();if(y===_||y===L){if(G(d))return this.jsx_readWord();if(d==62)return++this.pos,this.finishToken(f.jsxTagEnd);if((d===34||d===39)&&y==_)return this.jsx_readString(d)}return d===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(f.jsxTagStart)):super.readToken(d)}updateContext(d){if(this.type==l.braceL){var y=this.curContext();y==_?this.context.push(m.b_expr):y==P?this.context.push(m.b_tmpl):super.updateContext(d),this.exprAllowed=!0}else if(this.type===l.slash&&d===f.jsxTagStart)this.context.length-=2,this.context.push(L),this.exprAllowed=!1;else return super.updateContext(d)}}}});var bi=Se(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});var qs=Ee(),Ks=ot();function Js(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}function Gs(a){if(a&&a.__esModule)return a;var u=Object.create(null);return a&&Object.keys(a).forEach(function(c){if(c!=="default"){var h=Object.getOwnPropertyDescriptor(a,c);Object.defineProperty(u,c,h.get?h:{enumerable:!0,get:function(){return a[c]}})}}),u.default=a,Object.freeze(u)}var gi=Gs(qs),zs=Js(Ks),B={Boolean:"Boolean",EOF:"",Identifier:"Identifier",PrivateIdentifier:"PrivateIdentifier",Keyword:"Keyword",Null:"Null",Numeric:"Numeric",Punctuator:"Punctuator",String:"String",RegularExpression:"RegularExpression",Template:"Template",JSXIdentifier:"JSXIdentifier",JSXText:"JSXText"};function Ws(a,u){let c=a[0],h=a[a.length-1],l={type:B.Template,value:u.slice(c.start,h.end)};return c.loc&&(l.loc={start:c.loc.start,end:h.loc.end}),c.range&&(l.start=c.range[0],l.end=h.range[1],l.range=[l.start,l.end]),l}function pt(a,u){this._acornTokTypes=a,this._tokens=[],this._curlyBrace=null,this._code=u}pt.prototype={constructor:pt,translate(a,u){let c=a.type,h=this._acornTokTypes;if(c===h.name)a.type=B.Identifier,a.value==="static"&&(a.type=B.Keyword),u.ecmaVersion>5&&(a.value==="yield"||a.value==="let")&&(a.type=B.Keyword);else if(c===h.privateId)a.type=B.PrivateIdentifier;else if(c===h.semi||c===h.comma||c===h.parenL||c===h.parenR||c===h.braceL||c===h.braceR||c===h.dot||c===h.bracketL||c===h.colon||c===h.question||c===h.bracketR||c===h.ellipsis||c===h.arrow||c===h.jsxTagStart||c===h.incDec||c===h.starstar||c===h.jsxTagEnd||c===h.prefix||c===h.questionDot||c.binop&&!c.keyword||c.isAssign)a.type=B.Punctuator,a.value=this._code.slice(a.start,a.end);else if(c===h.jsxName)a.type=B.JSXIdentifier;else if(c.label==="jsxText"||c===h.jsxAttrValueToken)a.type=B.JSXText;else if(c.keyword)c.keyword==="true"||c.keyword==="false"?a.type=B.Boolean:c.keyword==="null"?a.type=B.Null:a.type=B.Keyword;else if(c===h.num)a.type=B.Numeric,a.value=this._code.slice(a.start,a.end);else if(c===h.string)u.jsxAttrValueToken?(u.jsxAttrValueToken=!1,a.type=B.JSXText):a.type=B.String,a.value=this._code.slice(a.start,a.end);else if(c===h.regexp){a.type=B.RegularExpression;let l=a.value;a.regex={flags:l.flags,pattern:l.pattern},a.value=`/${l.pattern}/${l.flags}`}return a},onToken(a,u){let c=this,h=this._acornTokTypes,l=u.tokens,f=this._tokens;function m(){l.push(Ws(c._tokens,c._code)),c._tokens=[]}if(a.type===h.eof){this._curlyBrace&&l.push(this.translate(this._curlyBrace,u));return}if(a.type===h.backQuote){this._curlyBrace&&(l.push(this.translate(this._curlyBrace,u)),this._curlyBrace=null),f.push(a),f.length>1&&m();return}if(a.type===h.dollarBraceL){f.push(a),m();return}if(a.type===h.braceR){this._curlyBrace&&l.push(this.translate(this._curlyBrace,u)),this._curlyBrace=a;return}if(a.type===h.template||a.type===h.invalidTemplate){this._curlyBrace&&(f.push(this._curlyBrace),this._curlyBrace=null),f.push(a);return}this._curlyBrace&&(l.push(this.translate(this._curlyBrace,u)),this._curlyBrace=null),l.push(this.translate(a,u))}};var ct=[3,5,6,7,8,9,10,11,12,13,14,15];function Xs(){return ct[ct.length-1]}function Hs(a=5){let u=a==="latest"?Xs():a;if(typeof u!="number")throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof a} instead.`);if(u>=2015&&(u-=2009),!ct.includes(u))throw new Error("Invalid ecmaVersion.");return u}function Qs(a="script"){if(a==="script"||a==="module")return a;if(a==="commonjs")return"script";throw new Error("Invalid sourceType.")}function Ys(a){let u=Hs(a.ecmaVersion),c=Qs(a.sourceType),h=a.range===!0,l=a.loc===!0;if(u!==3&&a.allowReserved)throw new Error("`allowReserved` is only supported when ecmaVersion is 3");if(typeof a.allowReserved<"u"&&typeof a.allowReserved!="boolean")throw new Error("`allowReserved`, when present, must be `true` or `false`");let f=u===3?a.allowReserved||"never":!1,m=a.ecmaFeatures||{},_=a.sourceType==="commonjs"||!!m.globalReturn;if(c==="module"&&u<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},a,{ecmaVersion:u,sourceType:c,ranges:h,locations:l,allowReserved:f,allowReturnOutsideFunction:_})}var re=Symbol("espree's internal state"),ht=Symbol("espree's esprimaFinishNode");function $s(a,u,c,h,l,f,m){let _;a?_="Block":m.slice(c,c+2)==="#!"?_="Hashbang":_="Line";let L={type:_,value:u};return typeof c=="number"&&(L.start=c,L.end=h,L.range=[c,h]),typeof l=="object"&&(L.loc={start:l,end:f}),L}var vi=()=>a=>{let u=Object.assign({},a.acorn.tokTypes);return a.acornJsx&&Object.assign(u,a.acornJsx.tokTypes),class extends a{constructor(h,l){(typeof h!="object"||h===null)&&(h={}),typeof l!="string"&&!(l instanceof String)&&(l=String(l));let f=h.sourceType,m=Ys(h),_=m.ecmaFeatures||{},L=m.tokens===!0?new pt(u,l):null,P={originalSourceType:f||m.sourceType,tokens:L?[]:null,comments:m.comment===!0?[]:null,impliedStrict:_.impliedStrict===!0&&m.ecmaVersion>=5,ecmaVersion:m.ecmaVersion,jsxAttrValueToken:!1,lastToken:null,templateElements:[]};super({ecmaVersion:m.ecmaVersion,sourceType:m.sourceType,ranges:m.ranges,locations:m.locations,allowReserved:m.allowReserved,allowReturnOutsideFunction:m.allowReturnOutsideFunction,onToken:D=>{L&&L.onToken(D,P),D.type!==u.eof&&(P.lastToken=D)},onComment:(D,G,F,d,y,b)=>{if(P.comments){let k=$s(D,G,F,d,y,b,l);P.comments.push(k)}}},l),this[re]=P}tokenize(){do this.next();while(this.type!==u.eof);this.next();let h=this[re],l=h.tokens;return h.comments&&(l.comments=h.comments),l}finishNode(...h){let l=super.finishNode(...h);return this[ht](l)}finishNodeAt(...h){let l=super.finishNodeAt(...h);return this[ht](l)}parse(){let h=this[re],l=super.parse();if(l.sourceType=h.originalSourceType,h.comments&&(l.comments=h.comments),h.tokens&&(l.tokens=h.tokens),l.body.length){let[f]=l.body;l.range&&(l.range[0]=f.range[0]),l.loc&&(l.loc.start=f.loc.start),l.start=f.start}return h.lastToken&&(l.range&&(l.range[1]=h.lastToken.range[1]),l.loc&&(l.loc.end=h.lastToken.loc.end),l.end=h.lastToken.end),this[re].templateElements.forEach(f=>{let _=f.tail?1:2;f.start+=-1,f.end+=_,f.range&&(f.range[0]+=-1,f.range[1]+=_),f.loc&&(f.loc.start.column+=-1,f.loc.end.column+=_)}),l}parseTopLevel(h){return this[re].impliedStrict&&(this.strict=!0),super.parseTopLevel(h)}raise(h,l){let f=a.acorn.getLineInfo(this.input,h),m=new SyntaxError(l);throw m.index=h,m.lineNumber=f.line,m.column=f.column+1,m}raiseRecoverable(h,l){this.raise(h,l)}unexpected(h){let l="Unexpected token";if(h!=null){if(this.pos=h,this.options.locations)for(;this.posthis.start&&(l+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,l)}jsx_readString(h){let l=super.jsx_readString(h);return this.type===u.string&&(this[re].jsxAttrValueToken=!0),l}[ht](h){return h.type==="TemplateElement"&&this[re].templateElements.push(h),h.type.includes("Function")&&!h.generator&&(h.generator=!1),h}}},Zs={_regular:null,_jsx:null,get regular(){return this._regular===null&&(this._regular=gi.Parser.extend(vi())),this._regular},get jsx(){return this._jsx===null&&(this._jsx=gi.Parser.extend(zs.default(),vi())),this._jsx},get(a){return!!(a&&a.ecmaFeatures&&a.ecmaFeatures.jsx)?this.jsx:this.regular}};function er(a,u){let c=Zs.get(u);return new c(u,a).parse()}var tr="espree";Je.name=tr;Je.parse=er});var nr={};rs(nr,{parsers:()=>ar});function os(a,u){let c=new SyntaxError(a+" ("+u.loc.start.line+":"+u.loc.start.column+")");return Object.assign(c,u)}var ce=os;function us(a){let u=[];for(let c of a)try{return c()}catch(h){u.push(h)}throw Object.assign(new Error("All combinations failed"),{errors:u})}var De=us;var le=as(si(),1);function gs(a){if(!a.startsWith("#!"))return"";let u=a.indexOf(`
-`);return u===-1?a:a.slice(0,u)}var ri=gs;function vs(a){let u=ri(a);u&&(a=a.slice(u.length+1));let c=(0,le.extract)(a),{pragmas:h,comments:l}=(0,le.parseWithComments)(c);return{shebang:u,text:a,pragmas:h,comments:l}}function ai(a){let{pragmas:u}=vs(a);return Object.prototype.hasOwnProperty.call(u,"prettier")||Object.prototype.hasOwnProperty.call(u,"format")}function bs(a){return Array.isArray(a)&&a.length>0}var _e=bs;function M(a){var h;let u=a.range?a.range[0]:a.start,c=((h=a.declaration)==null?void 0:h.decorators)??a.decorators;return _e(c)?Math.min(M(c[0]),u):u}function X(a){return a.range?a.range[1]:a.end}function Ss(a){return a=typeof a=="function"?{parse:a}:a,{astFormat:"estree",hasPragma:ai,locStart:M,locEnd:X,...a}}var Fe=Ss;var _s=(a,u,c)=>{if(!(a&&u==null))return Array.isArray(u)||typeof u=="string"?u[c<0?u.length+c:c]:u.at(c)},tt=_s;function Cs(a){return a=new Set(a),u=>a.has(u==null?void 0:u.type)}var ni=Cs;var ks=ni(["Block","CommentBlock","MultiLine"]),Ce=ks;function Ts(a){return Ce(a)&&a.value[0]==="*"&&/@(?:type|satisfies)\b/.test(a.value)}var oi=Ts;function Es(a){let u=`*${a.value}*`.split(`
-`);return u.length>1&&u.every(c=>c.trimStart()[0]==="*")}var it=Es;var ke=null;function Te(a){if(ke!==null&&typeof ke.property){let u=ke;return ke=Te.prototype=null,u}return ke=Te.prototype=a??Object.create(null),new Te}var ws=10;for(let a=0;a<=ws;a++)Te();function st(a){return Te(a)}function As(a,u="type"){st(a);function c(h){let l=h[u],f=a[l];if(!Array.isArray(f))throw Object.assign(new Error(`Missing visitor keys for '${l}'.`),{node:h});return f}return c}var ui=As;var hi={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["test","body"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","params","body","returnType","typeParameters","predicate"],FunctionExpression:["id","params","body","returnType","typeParameters"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["key","params","body","decorators","returnType","typeParameters"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["params","body","returnType","typeParameters","predicate"],ClassBody:["body"],ClassExpression:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],ClassDeclaration:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],ExportAllDeclaration:["source","attributes","assertions","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes","assertions"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes","assertions"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["local","imported"],MetaProperty:["meta","property"],ClassMethod:["key","params","body","decorators","returnType","typeParameters"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","quasi","typeParameters"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],Import:[],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["key","value","typeAnnotation","decorators","variance"],ClassAccessorProperty:["key","value","typeAnnotation","decorators"],ClassPrivateProperty:["key","value","decorators","typeAnnotation","variance"],ClassPrivateMethod:["key","params","body","decorators","returnType","typeParameters"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source"],DeclareExportAllDeclaration:["source"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value","optional","static","method"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["id","key","value","variance"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["id","qualification"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],DecimalLiteral:[],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","typeAnnotation","nameType"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","parameter"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ImportExpression:["source","attributes"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareEnum:["id","body"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[]};var Ps=ui(hi),pi=Ps;function rt(a,u){if(!(a!==null&&typeof a=="object"))return a;if(Array.isArray(a)){for(let h=0;h{var _;(_=m.leadingComments)!=null&&_.some(oi)&&f.add(M(m))}),a=je(a,m=>{if(m.type==="ParenthesizedExpression"){let{expression:_}=m;if(_.type==="TypeCastExpression")return _.range=m.range,_;let L=M(m);if(!f.has(L))return _.extra={..._.extra,parenthesized:!0},_}})}if(a=je(a,f=>{switch(f.type){case"LogicalExpression":if(ci(f))return at(f);break;case"VariableDeclaration":{let m=tt(!1,f.declarations,-1);m!=null&&m.init&&l(f,m);break}case"TSParenthesizedType":return f.typeAnnotation;case"TSTypeParameter":if(typeof f.name=="string"){let m=M(f);f.name={type:"Identifier",name:f.name,range:[m,m+f.name.length]}}break;case"ObjectExpression":if(c==="typescript"){let m=f.properties.find(_=>_.type==="Property"&&_.value.type==="TSEmptyBodyFunctionExpression");m&&Me(m.value,"Unexpected token.")}break;case"TSInterfaceDeclaration":_e(f.implements)&&Me(f.implements[0],"Interface declaration cannot have 'implements' clause.");break;case"TSPropertySignature":f.initializer&&Me(f.initializer,"An interface property cannot have an initializer.");break;case"TopicReference":a.extra={...a.extra,__isUsingHackPipeline:!0};break;case"ExportAllDeclaration":{let{exported:m}=f;if(c==="meriyah"&&(m==null?void 0:m.type)==="Identifier"){let _=h.slice(M(m),X(m));(_.startsWith('"')||_.startsWith("'"))&&(f.exported={...f.exported,type:"Literal",value:f.exported.name,raw:_})}break}case"TSUnionType":case"TSIntersectionType":if(f.types.length===1)return f.types[0];break}}),_e(a.comments)){let f=tt(!1,a.comments,-1);for(let m=a.comments.length-2;m>=0;m--){let _=a.comments[m];X(_)===M(f)&&Ce(_)&&Ce(f)&&it(_)&&it(f)&&(a.comments.splice(m+1,1),_.value+="*//*"+f.value,_.range=[M(_),X(f)]),f=_}}return a.type==="Program"&&(a.range=[0,h.length]),a;function l(f,m){h[X(m)]!==";"&&(f.range=[M(f),X(m)])}}function ci(a){return a.type==="LogicalExpression"&&a.right.type==="LogicalExpression"&&a.operator===a.right.operator}function at(a){return ci(a)?at({type:"LogicalExpression",operator:a.operator,left:at({type:"LogicalExpression",operator:a.operator,left:a.left,right:a.right.left,range:[M(a.left),X(a.right.left)]}),right:a.right.right,range:[M(a),X(a)]}):a}var Ue=Ns;function Vs(a){let{filepath:u}=a;if(u){if(u=u.toLowerCase(),u.endsWith(".cjs"))return"script";if(u.endsWith(".mjs"))return"module"}}var qe=Vs;var Ds={ecmaVersion:"latest",allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,locations:!0,ranges:!0};function Fs(a){let{message:u,loc:c}=a;if(!c)return a;let{line:h,column:l}=c;return ce(u.replace(/ \(\d+:\d+\)$/,""),{loc:{start:{line:h,column:l+1}},cause:a})}var ut,js=()=>{if(!ut){let{Parser:a}=Ee(),u=ot();ut=a.extend(u())}return ut};function Ms(a,u){let c=js(),h=[],l=[],f=c.parse(a,{...Ds,sourceType:u,allowImportExportEverywhere:u==="module",onComment:h,onToken:l});return f.comments=h,f.tokens=l,f}function Us(a,u={}){let c=qe(u),h=(c?[c]:["module","script"]).map(f=>()=>Ms(a,f)),l;try{l=De(h)}catch({errors:[f]}){throw Fs(f)}return Ue(l,{text:a})}var yi=Fe(Us);var ir={ecmaVersion:"latest",range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};function sr(a){let{message:u,lineNumber:c,column:h}=a;return typeof c!="number"?a:ce(u,{loc:{start:{line:c,column:h}},cause:a})}function rr(a,u={}){let{parse:c}=bi(),h=qe(u),l=(h?[h]:["module","script"]).map(m=>()=>c(a,{...ir,sourceType:m})),f;try{f=De(l)}catch({errors:[m]}){throw sr(m)}return Ue(f,{text:a})}var Si=Fe(rr);var ar={acorn:yi,espree:Si};return ns(nr);});
\ No newline at end of file
+`):b=String.fromCharCode(x),this.options.locations&&(++this.curLine,this.lineStart=this.pos),b}jsx_readString(d){let x="",b=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let k=this.input.charCodeAt(this.pos);if(k===d)break;k===38?(x+=this.input.slice(b,this.pos),x+=this.jsx_readEntity(),b=this.pos):D(k)?(x+=this.input.slice(b,this.pos),x+=this.jsx_readNewLine(!1),b=this.pos):++this.pos}return x+=this.input.slice(b,this.pos++),this.finishToken(l.string,x)}jsx_readEntity(){let d="",x=0,b,k=this.input[this.pos];k!=="&"&&this.raise(this.pos,"Entity must start with an ampersand");let N=++this.pos;for(;this.pos")}let w=N.name?"Element":"Fragment";return b["opening"+w]=N,b["closing"+w]=H,b.children=k,this.type===l.relational&&this.value==="<"&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(b,"JSX"+w)}jsx_parseText(){let d=this.parseLiteral(this.value);return d.type="JSXText",d}jsx_parseElement(){let d=this.start,x=this.startLoc;return this.next(),this.jsx_parseElementAt(d,x)}parseExprAtom(d){return this.type===f.jsxText?this.jsx_parseText():this.type===f.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(d)}readToken(d){let x=this.curContext();if(x===P)return this.jsx_readToken();if(x===_||x===L){if(G(d))return this.jsx_readWord();if(d==62)return++this.pos,this.finishToken(f.jsxTagEnd);if((d===34||d===39)&&x==_)return this.jsx_readString(d)}return d===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(f.jsxTagStart)):super.readToken(d)}updateContext(d){if(this.type==l.braceL){var x=this.curContext();x==_?this.context.push(y.b_expr):x==P?this.context.push(y.b_tmpl):super.updateContext(d),this.exprAllowed=!0}else if(this.type===l.slash&&d===f.jsxTagStart)this.context.length-=2,this.context.push(L),this.exprAllowed=!1;else return super.updateContext(d)}}}});var vi=be(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});var Ms=ke(),Us=nt();function qs(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}function Ks(a){if(a&&a.__esModule)return a;var u=Object.create(null);return a&&Object.keys(a).forEach(function(c){if(c!=="default"){var h=Object.getOwnPropertyDescriptor(a,c);Object.defineProperty(u,c,h.get?h:{enumerable:!0,get:function(){return a[c]}})}}),u.default=a,Object.freeze(u)}var yi=Ks(Ms),Js=qs(Us),B={Boolean:"Boolean",EOF:"",Identifier:"Identifier",PrivateIdentifier:"PrivateIdentifier",Keyword:"Keyword",Null:"Null",Numeric:"Numeric",Punctuator:"Punctuator",String:"String",RegularExpression:"RegularExpression",Template:"Template",JSXIdentifier:"JSXIdentifier",JSXText:"JSXText"};function Gs(a,u){let c=a[0],h=a[a.length-1],l={type:B.Template,value:u.slice(c.start,h.end)};return c.loc&&(l.loc={start:c.loc.start,end:h.loc.end}),c.range&&(l.start=c.range[0],l.end=h.range[1],l.range=[l.start,l.end]),l}function ht(a,u){this._acornTokTypes=a,this._tokens=[],this._curlyBrace=null,this._code=u}ht.prototype={constructor:ht,translate(a,u){let c=a.type,h=this._acornTokTypes;if(c===h.name)a.type=B.Identifier,a.value==="static"&&(a.type=B.Keyword),u.ecmaVersion>5&&(a.value==="yield"||a.value==="let")&&(a.type=B.Keyword);else if(c===h.privateId)a.type=B.PrivateIdentifier;else if(c===h.semi||c===h.comma||c===h.parenL||c===h.parenR||c===h.braceL||c===h.braceR||c===h.dot||c===h.bracketL||c===h.colon||c===h.question||c===h.bracketR||c===h.ellipsis||c===h.arrow||c===h.jsxTagStart||c===h.incDec||c===h.starstar||c===h.jsxTagEnd||c===h.prefix||c===h.questionDot||c.binop&&!c.keyword||c.isAssign)a.type=B.Punctuator,a.value=this._code.slice(a.start,a.end);else if(c===h.jsxName)a.type=B.JSXIdentifier;else if(c.label==="jsxText"||c===h.jsxAttrValueToken)a.type=B.JSXText;else if(c.keyword)c.keyword==="true"||c.keyword==="false"?a.type=B.Boolean:c.keyword==="null"?a.type=B.Null:a.type=B.Keyword;else if(c===h.num)a.type=B.Numeric,a.value=this._code.slice(a.start,a.end);else if(c===h.string)u.jsxAttrValueToken?(u.jsxAttrValueToken=!1,a.type=B.JSXText):a.type=B.String,a.value=this._code.slice(a.start,a.end);else if(c===h.regexp){a.type=B.RegularExpression;let l=a.value;a.regex={flags:l.flags,pattern:l.pattern},a.value=`/${l.pattern}/${l.flags}`}return a},onToken(a,u){let c=this._acornTokTypes,h=u.tokens,l=this._tokens,f=()=>{h.push(Gs(this._tokens,this._code)),this._tokens=[]};if(a.type===c.eof){this._curlyBrace&&h.push(this.translate(this._curlyBrace,u));return}if(a.type===c.backQuote){this._curlyBrace&&(h.push(this.translate(this._curlyBrace,u)),this._curlyBrace=null),l.push(a),l.length>1&&f();return}if(a.type===c.dollarBraceL){l.push(a),f();return}if(a.type===c.braceR){this._curlyBrace&&h.push(this.translate(this._curlyBrace,u)),this._curlyBrace=a;return}if(a.type===c.template||a.type===c.invalidTemplate){this._curlyBrace&&(l.push(this._curlyBrace),this._curlyBrace=null),l.push(a);return}this._curlyBrace&&(h.push(this.translate(this._curlyBrace,u)),this._curlyBrace=null),h.push(this.translate(a,u))}};var pt=[3,5,6,7,8,9,10,11,12,13,14,15];function Ws(){return pt[pt.length-1]}function Xs(a=5){let u=a==="latest"?Ws():a;if(typeof u!="number")throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof a} instead.`);if(u>=2015&&(u-=2009),!pt.includes(u))throw new Error("Invalid ecmaVersion.");return u}function zs(a="script"){if(a==="script"||a==="module")return a;if(a==="commonjs")return"script";throw new Error("Invalid sourceType.")}function Hs(a){let u=Xs(a.ecmaVersion),c=zs(a.sourceType),h=a.range===!0,l=a.loc===!0;if(u!==3&&a.allowReserved)throw new Error("`allowReserved` is only supported when ecmaVersion is 3");if(typeof a.allowReserved<"u"&&typeof a.allowReserved!="boolean")throw new Error("`allowReserved`, when present, must be `true` or `false`");let f=u===3?a.allowReserved||"never":!1,y=a.ecmaFeatures||{},_=a.sourceType==="commonjs"||!!y.globalReturn;if(c==="module"&&u<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},a,{ecmaVersion:u,sourceType:c,ranges:h,locations:l,allowReserved:f,allowReturnOutsideFunction:_})}var re=Symbol("espree's internal state"),ut=Symbol("espree's esprimaFinishNode");function Qs(a,u,c,h,l,f,y){let _;a?_="Block":y.slice(c,c+2)==="#!"?_="Hashbang":_="Line";let L={type:_,value:u};return typeof c=="number"&&(L.start=c,L.end=h,L.range=[c,h]),typeof l=="object"&&(L.loc={start:l,end:f}),L}var gi=()=>a=>{let u=Object.assign({},a.acorn.tokTypes);return a.acornJsx&&Object.assign(u,a.acornJsx.tokTypes),class extends a{constructor(h,l){(typeof h!="object"||h===null)&&(h={}),typeof l!="string"&&!(l instanceof String)&&(l=String(l));let f=h.sourceType,y=Hs(h),_=y.ecmaFeatures||{},L=y.tokens===!0?new ht(u,l):null,P={originalSourceType:f||y.sourceType,tokens:L?[]:null,comments:y.comment===!0?[]:null,impliedStrict:_.impliedStrict===!0&&y.ecmaVersion>=5,ecmaVersion:y.ecmaVersion,jsxAttrValueToken:!1,lastToken:null,templateElements:[]};super({ecmaVersion:y.ecmaVersion,sourceType:y.sourceType,ranges:y.ranges,locations:y.locations,allowReserved:y.allowReserved,allowReturnOutsideFunction:y.allowReturnOutsideFunction,onToken(D){L&&L.onToken(D,P),D.type!==u.eof&&(P.lastToken=D)},onComment(D,G,F,d,x,b){if(P.comments){let k=Qs(D,G,F,d,x,b,l);P.comments.push(k)}}},l),this[re]=P}tokenize(){do this.next();while(this.type!==u.eof);this.next();let h=this[re],l=h.tokens;return h.comments&&(l.comments=h.comments),l}finishNode(...h){let l=super.finishNode(...h);return this[ut](l)}finishNodeAt(...h){let l=super.finishNodeAt(...h);return this[ut](l)}parse(){let h=this[re],l=super.parse();if(l.sourceType=h.originalSourceType,h.comments&&(l.comments=h.comments),h.tokens&&(l.tokens=h.tokens),l.body.length){let[f]=l.body;l.range&&(l.range[0]=f.range[0]),l.loc&&(l.loc.start=f.loc.start),l.start=f.start}return h.lastToken&&(l.range&&(l.range[1]=h.lastToken.range[1]),l.loc&&(l.loc.end=h.lastToken.loc.end),l.end=h.lastToken.end),this[re].templateElements.forEach(f=>{let _=f.tail?1:2;f.start+=-1,f.end+=_,f.range&&(f.range[0]+=-1,f.range[1]+=_),f.loc&&(f.loc.start.column+=-1,f.loc.end.column+=_)}),l}parseTopLevel(h){return this[re].impliedStrict&&(this.strict=!0),super.parseTopLevel(h)}raise(h,l){let f=a.acorn.getLineInfo(this.input,h),y=new SyntaxError(l);throw y.index=h,y.lineNumber=f.line,y.column=f.column+1,y}raiseRecoverable(h,l){this.raise(h,l)}unexpected(h){let l="Unexpected token";if(h!=null){if(this.pos=h,this.options.locations)for(;this.posthis.start&&(l+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,l)}jsx_readString(h){let l=super.jsx_readString(h);return this.type===u.string&&(this[re].jsxAttrValueToken=!0),l}[ut](h){return h.type==="TemplateElement"&&this[re].templateElements.push(h),h.type.includes("Function")&&!h.generator&&(h.generator=!1),h}}},Ys={_regular:null,_jsx:null,get regular(){return this._regular===null&&(this._regular=yi.Parser.extend(gi())),this._regular},get jsx(){return this._jsx===null&&(this._jsx=yi.Parser.extend(Js.default(),gi())),this._jsx},get(a){return!!(a&&a.ecmaFeatures&&a.ecmaFeatures.jsx)?this.jsx:this.regular}};function $s(a,u){let c=Ys.get(u);return new c(u,a).parse()}var Zs="espree";Ke.name=Zs;Ke.parse=$s});var rr={};ss(rr,{parsers:()=>sr});function ns(a,u){let c=new SyntaxError(a+" ("+u.loc.start.line+":"+u.loc.start.column+")");return Object.assign(c,u)}var Oe=ns;function os(a){let u=[];for(let c of a)try{return c()}catch(h){u.push(h)}throw Object.assign(new Error("All combinations failed"),{errors:u})}var Be=os;var ce=rs(ii(),1);function ys(a){if(!a.startsWith("#!"))return"";let u=a.indexOf(`
+`);return u===-1?a:a.slice(0,u)}var si=ys;function gs(a){let u=si(a);u&&(a=a.slice(u.length+1));let c=(0,ce.extract)(a),{pragmas:h,comments:l}=(0,ce.parseWithComments)(c);return{shebang:u,text:a,pragmas:h,comments:l}}function ri(a){let{pragmas:u}=gs(a);return Object.prototype.hasOwnProperty.call(u,"prettier")||Object.prototype.hasOwnProperty.call(u,"format")}function vs(a){return Array.isArray(a)&&a.length>0}var De=vs;function M(a){var h;let u=a.range?a.range[0]:a.start,c=((h=a.declaration)==null?void 0:h.decorators)??a.decorators;return De(c)?Math.min(M(c[0]),u):u}function z(a){return a.range?a.range[1]:a.end}function bs(a){return a=typeof a=="function"?{parse:a}:a,{astFormat:"estree",hasPragma:ri,locStart:M,locEnd:z,...a}}var Fe=bs;var Ss=(a,u,c)=>{if(!(a&&u==null))return Array.isArray(u)||typeof u=="string"?u[c<0?u.length+c:c]:u.at(c)},et=Ss;function _s(a){return a=new Set(a),u=>a.has(u==null?void 0:u.type)}var ai=_s;var Cs=ai(["Block","CommentBlock","MultiLine"]),Se=Cs;function ks(a){return Se(a)&&a.value[0]==="*"&&/@(?:type|satisfies)\b/.test(a.value)}var ni=ks;function Ts(a){let u=`*${a.value}*`.split(`
+`);return u.length>1&&u.every(c=>c.trimStart()[0]==="*")}var tt=Ts;var _e=null;function Ce(a){if(_e!==null&&typeof _e.property){let u=_e;return _e=Ce.prototype=null,u}return _e=Ce.prototype=a??Object.create(null),new Ce}var ws=10;for(let a=0;a<=ws;a++)Ce();function it(a){return Ce(a)}function Es(a,u="type"){it(a);function c(h){let l=h[u],f=a[l];if(!Array.isArray(f))throw Object.assign(new Error(`Missing visitor keys for '${l}'.`),{node:h});return f}return c}var oi=Es;var ui={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["test","body"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","params","body","returnType","typeParameters","predicate"],FunctionExpression:["id","params","body","returnType","typeParameters"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["key","params","body","decorators","returnType","typeParameters"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["params","body","returnType","typeParameters","predicate"],ClassBody:["body"],ClassExpression:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators","superTypeArguments"],ClassDeclaration:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators","superTypeArguments"],ExportAllDeclaration:["source","attributes","assertions","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes","assertions"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes","assertions"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["local","imported"],MetaProperty:["meta","property"],ClassMethod:["key","params","body","decorators","returnType","typeParameters"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","quasi","typeParameters","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],Import:[],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["key","value","typeAnnotation","decorators","variance"],ClassAccessorProperty:["key","value","typeAnnotation","decorators"],ClassPrivateProperty:["key","value","decorators","typeAnnotation","variance"],ClassPrivateMethod:["key","params","body","decorators","returnType","typeParameters"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source"],DeclareExportAllDeclaration:["source"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value","optional","static","method"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["id","key","value","variance"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["id","qualification"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeArguments","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],DecimalLiteral:[],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","typeAnnotation","nameType"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ImportExpression:["source","attributes"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareEnum:["id","body"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[]};var As=oi(ui),hi=As;function st(a,u){if(!(a!==null&&typeof a=="object"))return a;if(Array.isArray(a)){for(let h=0;h{var _;(_=y.leadingComments)!=null&&_.some(ni)&&f.add(M(y))}),a=je(a,y=>{if(y.type==="ParenthesizedExpression"){let{expression:_}=y;if(_.type==="TypeCastExpression")return _.range=y.range,_;let L=M(y);if(!f.has(L))return _.extra={..._.extra,parenthesized:!0},_}})}if(a=je(a,f=>{switch(f.type){case"LogicalExpression":if(pi(f))return rt(f);break;case"VariableDeclaration":{let y=et(!1,f.declarations,-1);y!=null&&y.init&&l(f,y);break}case"TSParenthesizedType":return f.typeAnnotation;case"TSTypeParameter":if(typeof f.name=="string"){let y=M(f);f.name={type:"Identifier",name:f.name,range:[y,y+f.name.length]}}break;case"TopicReference":a.extra={...a.extra,__isUsingHackPipeline:!0};break;case"ExportAllDeclaration":{let{exported:y}=f;if(c==="meriyah"&&(y==null?void 0:y.type)==="Identifier"){let _=h.slice(M(y),z(y));(_.startsWith('"')||_.startsWith("'"))&&(f.exported={...f.exported,type:"Literal",value:f.exported.name,raw:_})}break}case"TSUnionType":case"TSIntersectionType":if(f.types.length===1)return f.types[0];break}}),De(a.comments)){let f=et(!1,a.comments,-1);for(let y=a.comments.length-2;y>=0;y--){let _=a.comments[y];z(_)===M(f)&&Se(_)&&Se(f)&&tt(_)&&tt(f)&&(a.comments.splice(y+1,1),_.value+="*//*"+f.value,_.range=[M(_),z(f)]),f=_}}return a.type==="Program"&&(a.range=[0,h.length]),a;function l(f,y){h[z(y)]!==";"&&(f.range=[M(f),z(y)])}}function pi(a){return a.type==="LogicalExpression"&&a.right.type==="LogicalExpression"&&a.operator===a.right.operator}function rt(a){return pi(a)?rt({type:"LogicalExpression",operator:a.operator,left:rt({type:"LogicalExpression",operator:a.operator,left:a.left,right:a.right.left,range:[M(a.left),z(a.right.left)]}),right:a.right.right,range:[M(a),z(a)]}):a}var Me=Ps;function Is(a){let{filepath:u}=a;if(u){if(u=u.toLowerCase(),u.endsWith(".cjs"))return"script";if(u.endsWith(".mjs"))return"module"}}var Ue=Is;var Os={ecmaVersion:"latest",allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,locations:!0,ranges:!0};function Bs(a){let{message:u,loc:c}=a;if(!c)return a;let{line:h,column:l}=c;return Oe(u.replace(/ \(\d+:\d+\)$/,""),{loc:{start:{line:h,column:l+1}},cause:a})}var ot,Ds=()=>{if(!ot){let{Parser:a}=ke(),u=nt();ot=a.extend(u())}return ot};function Fs(a,u){let c=Ds(),h=[],l=[],f=c.parse(a,{...Os,sourceType:u,allowImportExportEverywhere:u==="module",onComment:h,onToken:l});return f.comments=h,f.tokens=l,f}function js(a,u={}){let c=Ue(u),h=(c?[c]:["module","script"]).map(f=>()=>Fs(a,f)),l;try{l=Be(h)}catch({errors:[f]}){throw Bs(f)}return Me(l,{text:a})}var xi=Fe(js);var er={ecmaVersion:"latest",range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};function tr(a){let{message:u,lineNumber:c,column:h}=a;return typeof c!="number"?a:Oe(u,{loc:{start:{line:c,column:h}},cause:a})}function ir(a,u={}){let{parse:c}=vi(),h=Ue(u),l=(h?[h]:["module","script"]).map(y=>()=>c(a,{...er,sourceType:y})),f;try{f=Be(l)}catch({errors:[y]}){throw tr(y)}return Me(f,{text:a})}var bi=Fe(ir);var sr={acorn:xi,espree:bi};return as(rr);});
\ No newline at end of file
diff --git a/node_modules/prettier/plugins/acorn.mjs b/node_modules/prettier/plugins/acorn.mjs
index 56e4bcc..97b5192 100644
--- a/node_modules/prettier/plugins/acorn.mjs
+++ b/node_modules/prettier/plugins/acorn.mjs
@@ -1,13 +1,13 @@
-var Zi=Object.create;var et=Object.defineProperty;var es=Object.getOwnPropertyDescriptor;var ts=Object.getOwnPropertyNames;var is=Object.getPrototypeOf,ss=Object.prototype.hasOwnProperty;var Se=(a,u)=>()=>(u||a((u={exports:{}}).exports,u),u.exports),rs=(a,u)=>{for(var c in u)et(a,c,{get:u[c],enumerable:!0})},as=(a,u,c,h)=>{if(u&&typeof u=="object"||typeof u=="function")for(let l of ts(u))!ss.call(a,l)&&l!==c&&et(a,l,{get:()=>u[l],enumerable:!(h=es(u,l))||h.enumerable});return a};var ns=(a,u,c)=>(c=a!=null?Zi(is(a)):{},as(u||!a||!a.__esModule?et(c,"default",{value:a,enumerable:!0}):c,a));var si=Se(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.extract=ds;se.parse=xs;se.parseWithComments=ii;se.print=ys;se.strip=ms;var hs=/\*\/$/,ps=/^\/\*\*?/,ei=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,cs=/(^|\s+)\/\/([^\r\n]*)/g,Yt=/^(\r?\n)+/,ls=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,$t=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,fs=/(\r?\n|^) *\* ?/g,ti=[];function ds(a){let u=a.match(ei);return u?u[0].trimLeft():""}function ms(a){let u=a.match(ei);return u&&u[0]?a.substring(u[0].length):a}function xs(a){return ii(a).pragmas}function ii(a){let u=`
-`;a=a.replace(ps,"").replace(hs,"").replace(fs,"$1");let c="";for(;c!==a;)c=a,a=a.replace(ls,`${u}$1 $2${u}`);a=a.replace(Yt,"").trimRight();let h=Object.create(null),l=a.replace($t,"").replace(Yt,"").trimRight(),f;for(;f=$t.exec(a);){let m=f[2].replace(cs,"");typeof h[f[1]]=="string"||Array.isArray(h[f[1]])?h[f[1]]=ti.concat(h[f[1]],m):h[f[1]]=m}return{comments:l,pragmas:h}}function ys({comments:a="",pragmas:u={}}){let c=`
-`,h="/**",l=" *",f=" */",m=Object.keys(u),_=m.map(P=>Zt(P,u[P])).reduce((P,D)=>P.concat(D),[]).map(P=>`${l} ${P}${c}`).join("");if(!a){if(m.length===0)return"";if(m.length===1&&!Array.isArray(u[m[0]])){let P=u[m[0]];return`${h} ${Zt(m[0],P)[0]}${f}`}}let L=a.split(c).map(P=>`${l} ${P}`).join(c)+c;return h+c+(a?L:"")+(a&&m.length?l+c:"")+_+f}function Zt(a,u){return ti.concat(u).map(c=>`@${a} ${c}`.trim())}});var Ee=Se((qe,li)=>{(function(a,u){typeof qe=="object"&&typeof li<"u"?u(qe):typeof define=="function"&&define.amd?define(["exports"],u):(a=typeof globalThis<"u"?globalThis:a||self,u(a.acorn={}))})(qe,function(a){"use strict";var u=[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],c=[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,3104,541,1507,4938,6,4191],h="\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\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\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",l="\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",f={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},m="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",_={5:m,"5module":m+" export import",6:m+" const class extends export import super"},L=/^in(stanceof)?$/,P=new RegExp("["+l+"]"),D=new RegExp("["+l+h+"]");function G(e,t){for(var i=65536,s=0;se)return!1;if(i+=t[s+1],i>=e)return!0}return!1}function F(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&P.test(String.fromCharCode(e)):t===!1?!1:G(e,c)}function d(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&D.test(String.fromCharCode(e)):t===!1?!1:G(e,c)||G(e,u)}var y=function(t,i){i===void 0&&(i={}),this.label=t,this.keyword=i.keyword,this.beforeExpr=!!i.beforeExpr,this.startsExpr=!!i.startsExpr,this.isLoop=!!i.isLoop,this.isAssign=!!i.isAssign,this.prefix=!!i.prefix,this.postfix=!!i.postfix,this.binop=i.binop||null,this.updateContext=null};function b(e,t){return new y(e,{beforeExpr:!0,binop:t})}var k={beforeExpr:!0},N={startsExpr:!0},H={};function E(e,t){return t===void 0&&(t={}),t.keyword=e,H[e]=new y(e,t)}var r={num:new y("num",N),regexp:new y("regexp",N),string:new y("string",N),name:new y("name",N),privateId:new y("privateId",N),eof:new y("eof"),bracketL:new y("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new y("]"),braceL:new y("{",{beforeExpr:!0,startsExpr:!0}),braceR:new y("}"),parenL:new y("(",{beforeExpr:!0,startsExpr:!0}),parenR:new y(")"),comma:new y(",",k),semi:new y(";",k),colon:new y(":",k),dot:new y("."),question:new y("?",k),questionDot:new y("?."),arrow:new y("=>",k),template:new y("template"),invalidTemplate:new y("invalidTemplate"),ellipsis:new y("...",k),backQuote:new y("`",N),dollarBraceL:new y("${",{beforeExpr:!0,startsExpr:!0}),eq:new y("=",{beforeExpr:!0,isAssign:!0}),assign:new y("_=",{beforeExpr:!0,isAssign:!0}),incDec:new y("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new y("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:b("||",1),logicalAND:b("&&",2),bitwiseOR:b("|",3),bitwiseXOR:b("^",4),bitwiseAND:b("&",5),equality:b("==/!=/===/!==",6),relational:b(">/<=/>=",7),bitShift:b("<>>/>>>",8),plusMin:new y("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:b("%",10),star:b("*",10),slash:b("/",10),starstar:new y("**",{beforeExpr:!0}),coalesce:b("??",1),_break:E("break"),_case:E("case",k),_catch:E("catch"),_continue:E("continue"),_debugger:E("debugger"),_default:E("default",k),_do:E("do",{isLoop:!0,beforeExpr:!0}),_else:E("else",k),_finally:E("finally"),_for:E("for",{isLoop:!0}),_function:E("function",N),_if:E("if"),_return:E("return",k),_switch:E("switch"),_throw:E("throw",k),_try:E("try"),_var:E("var"),_const:E("const"),_while:E("while",{isLoop:!0}),_with:E("with"),_new:E("new",{beforeExpr:!0,startsExpr:!0}),_this:E("this",N),_super:E("super",N),_class:E("class",N),_extends:E("extends",k),_export:E("export"),_import:E("import",N),_null:E("null",N),_true:E("true",N),_false:E("false",N),_in:E("in",{beforeExpr:!0,binop:7}),_instanceof:E("instanceof",{beforeExpr:!0,binop:7}),_typeof:E("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:E("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:E("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},j=/\r\n?|\n|\u2028|\u2029/,ft=new RegExp(j.source,"g");function te(e){return e===10||e===13||e===8232||e===8233}function dt(e,t,i){i===void 0&&(i=e.length);for(var s=t;s>10)+55296,(e&1023)+56320))}var ki=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,ae=function(t,i){this.line=t,this.column=i};ae.prototype.offset=function(t){return new ae(this.line,this.column+t)};var de=function(t,i,s){this.start=i,this.end=s,t.sourceFile!==null&&(this.source=t.sourceFile)};function Ge(e,t){for(var i=1,s=0;;){var n=dt(e,s,t);if(n<0)return new ae(i,t-s);++i,s=n}}var Ae={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},yt=!1;function Ti(e){var t={};for(var i in Ae)t[i]=e&&fe(e,i)?e[i]:Ae[i];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!yt&&typeof console=="object"&&console.warn&&(yt=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
-Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),xt(t.onToken)){var s=t.onToken;t.onToken=function(n){return s.push(n)}}return xt(t.onComment)&&(t.onComment=Ei(t,t.onComment)),t}function Ei(e,t){return function(i,s,n,o,p,x){var g={type:i?"Block":"Line",value:s,start:n,end:o};e.locations&&(g.loc=new de(this,p,x)),e.ranges&&(g.range=[n,o]),t.push(g)}}var me=1,ne=2,ze=4,gt=8,vt=16,bt=32,We=64,St=128,xe=256,Xe=me|ne|xe;function He(e,t){return ne|(e?ze:0)|(t?gt:0)}var Pe=0,Qe=1,Q=2,_t=3,Ct=4,kt=5,V=function(t,i,s){this.options=t=Ti(t),this.sourceFile=t.sourceFile,this.keywords=$(_[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var n="";t.allowReserved!==!0&&(n=f[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(n+=" await")),this.reservedWords=$(n);var o=(n?n+" ":"")+f.strict;this.reservedWordsStrict=$(o),this.reservedWordsStrictBind=$(o+" "+f.strictBind),this.input=String(i),this.containsEsc=!1,s?(this.pos=s,this.lineStart=this.input.lastIndexOf(`
-`,s-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(j).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=r.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(me),this.regexpState=null,this.privateNameStack=[]},z={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};V.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},z.inFunction.get=function(){return(this.currentVarScope().flags&ne)>0},z.inGenerator.get=function(){return(this.currentVarScope().flags>)>0&&!this.currentVarScope().inClassFieldInit},z.inAsync.get=function(){return(this.currentVarScope().flags&ze)>0&&!this.currentVarScope().inClassFieldInit},z.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&xe)return!1;if(t.flags&ne)return(t.flags&ze)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},z.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&We)>0||i||this.options.allowSuperOutsideMethod},z.allowDirectSuper.get=function(){return(this.currentThisScope().flags&St)>0},z.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},z.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&(ne|xe))>0||i},z.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&xe)>0},V.extend=function(){for(var t=[],i=arguments.length;i--;)t[i]=arguments[i];for(var s=this,n=0;n=,?^&]/.test(n)||n==="!"&&this.input.charAt(s+1)==="=")}e+=t[0].length,U.lastIndex=e,e+=U.exec(this.input)[0].length,this.input[e]===";"&&e++}},O.eat=function(e){return this.type===e?(this.next(),!0):!1},O.isContextual=function(e){return this.type===r.name&&this.value===e&&!this.containsEsc},O.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},O.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},O.canInsertSemicolon=function(){return this.type===r.eof||this.type===r.braceR||j.test(this.input.slice(this.lastTokEnd,this.start))},O.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},O.semicolon=function(){!this.eat(r.semi)&&!this.insertSemicolon()&&this.unexpected()},O.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},O.expect=function(e){this.eat(e)||this.unexpected()},O.unexpected=function(e){this.raise(e??this.start,"Unexpected token")};var Ie=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};O.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var i=t?e.parenthesizedAssign:e.parenthesizedBind;i>-1&&this.raiseRecoverable(i,t?"Assigning to rvalue":"Parenthesized pattern")}},O.checkExpressionErrors=function(e,t){if(!e)return!1;var i=e.shorthandAssign,s=e.doubleProto;if(!t)return i>=0||s>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},O.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&s<56320)return!0;if(F(s,!0)){for(var n=i+1;d(s=this.input.charCodeAt(n),!0);)++n;if(s===92||s>55295&&s<56320)return!0;var o=this.input.slice(i,n);if(!L.test(o))return!0}return!1},S.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;U.lastIndex=this.pos;var e=U.exec(this.input),t=this.pos+e[0].length,i;return!j.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(d(i=this.input.charCodeAt(t+8))||i>55295&&i<56320))},S.parseStatement=function(e,t,i){var s=this.type,n=this.startNode(),o;switch(this.isLet(e)&&(s=r._var,o="let"),s){case r._break:case r._continue:return this.parseBreakContinueStatement(n,s.keyword);case r._debugger:return this.parseDebuggerStatement(n);case r._do:return this.parseDoStatement(n);case r._for:return this.parseForStatement(n);case r._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!e);case r._class:return e&&this.unexpected(),this.parseClass(n,!0);case r._if:return this.parseIfStatement(n);case r._return:return this.parseReturnStatement(n);case r._switch:return this.parseSwitchStatement(n);case r._throw:return this.parseThrowStatement(n);case r._try:return this.parseTryStatement(n);case r._const:case r._var:return o=o||this.value,e&&o!=="var"&&this.unexpected(),this.parseVarStatement(n,o);case r._while:return this.parseWhileStatement(n);case r._with:return this.parseWithStatement(n);case r.braceL:return this.parseBlock(!0,n);case r.semi:return this.parseEmptyStatement(n);case r._export:case r._import:if(this.options.ecmaVersion>10&&s===r._import){U.lastIndex=this.pos;var p=U.exec(this.input),x=this.pos+p[0].length,g=this.input.charCodeAt(x);if(g===40||g===46)return this.parseExpressionStatement(n,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),s===r._import?this.parseImport(n):this.parseExport(n,i);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!e);var T=this.value,w=this.parseExpression();return s===r.name&&w.type==="Identifier"&&this.eat(r.colon)?this.parseLabeledStatement(n,T,w,e):this.parseExpressionStatement(n,w)}},S.parseBreakContinueStatement=function(e,t){var i=t==="break";this.next(),this.eat(r.semi)||this.insertSemicolon()?e.label=null:this.type!==r.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(r.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},S.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Ye),this.enterScope(0),this.expect(r.parenL),this.type===r.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var i=this.isLet();if(this.type===r._var||this.type===r._const||i){var s=this.startNode(),n=i?"let":this.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.type===r._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&s.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===r._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,s)):(t>-1&&this.unexpected(t),this.parseFor(e,s))}var o=this.isContextual("let"),p=!1,x=new Ie,g=this.parseExpression(t>-1?"await":!0,x);return this.type===r._in||(p=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===r._in?t>-1&&this.unexpected(t):e.await=t>-1),o&&p&&this.raise(g.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(g,!1,x),this.checkLValPattern(g),this.parseForIn(e,g)):(this.checkExpressionErrors(x,!0),t>-1&&this.unexpected(t),this.parseFor(e,g))},S.parseFunctionStatement=function(e,t,i){return this.next(),this.parseFunction(e,ye|(i?0:$e),!1,t)},S.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(r._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},S.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(r.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},S.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(r.braceL),this.labels.push(Ai),this.enterScope(0);for(var t,i=!1;this.type!==r.braceR;)if(this.type===r._case||this.type===r._default){var s=this.type===r._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),s?t.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,t.test=null),this.expect(r.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},S.parseThrowStatement=function(e){return this.next(),j.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Pi=[];S.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type==="Identifier";return this.enterScope(t?bt:0),this.checkLValPattern(e,t?Ct:Q),this.expect(r.parenR),e},S.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===r._catch){var t=this.startNode();this.next(),this.eat(r.parenL)?t.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0)),t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(r._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},S.parseVarStatement=function(e,t,i){return this.next(),this.parseVar(e,!1,t,i),this.semicolon(),this.finishNode(e,"VariableDeclaration")},S.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Ye),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},S.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},S.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},S.parseLabeledStatement=function(e,t,i,s){for(var n=0,o=this.labels;n=0;g--){var T=this.labels[g];if(T.statementStart===e.start)T.statementStart=this.start,T.kind=x;else break}return this.labels.push({name:t,kind:x,statementStart:this.start}),e.body=this.parseStatement(s?s.indexOf("label")===-1?s+"label":s:"label"),this.labels.pop(),e.label=i,this.finishNode(e,"LabeledStatement")},S.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},S.parseBlock=function(e,t,i){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(r.braceL),e&&this.enterScope(0);this.type!==r.braceR;){var s=this.parseStatement(null);t.body.push(s)}return i&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},S.parseFor=function(e,t){return e.init=t,this.expect(r.semi),e.test=this.type===r.semi?null:this.parseExpression(),this.expect(r.semi),e.update=this.type===r.parenR?null:this.parseExpression(),this.expect(r.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},S.parseForIn=function(e,t){var i=this.type===r._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!i||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(i?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=i?this.parseExpression():this.parseMaybeAssign(),this.expect(r.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,i?"ForInStatement":"ForOfStatement")},S.parseVar=function(e,t,i,s){for(e.declarations=[],e.kind=i;;){var n=this.startNode();if(this.parseVarId(n,i),this.eat(r.eq)?n.init=this.parseMaybeAssign(t):!s&&i==="const"&&!(this.type===r._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():!s&&n.id.type!=="Identifier"&&!(t&&(this.type===r._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):n.init=null,e.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(r.comma))break}return e},S.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?Qe:Q,!1)};var ye=1,$e=2,Tt=4;S.parseFunction=function(e,t,i,s,n){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(this.type===r.star&&t&$e&&this.unexpected(),e.generator=this.eat(r.star)),this.options.ecmaVersion>=8&&(e.async=!!s),t&ye&&(e.id=t&Tt&&this.type!==r.name?null:this.parseIdent(),e.id&&!(t&$e)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Qe:Q:_t));var o=this.yieldPos,p=this.awaitPos,x=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(He(e.async,e.generator)),t&ye||(e.id=this.type===r.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,i,!1,n),this.yieldPos=o,this.awaitPos=p,this.awaitIdentPos=x,this.finishNode(e,t&ye?"FunctionDeclaration":"FunctionExpression")},S.parseFunctionParams=function(e){this.expect(r.parenL),e.params=this.parseBindingList(r.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},S.parseClass=function(e,t){this.next();var i=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var s=this.enterClassBody(),n=this.startNode(),o=!1;for(n.body=[],this.expect(r.braceL);this.type!==r.braceR;){var p=this.parseClassElement(e.superClass!==null);p&&(n.body.push(p),p.type==="MethodDefinition"&&p.kind==="constructor"?(o&&this.raiseRecoverable(p.start,"Duplicate constructor in the same class"),o=!0):p.key&&p.key.type==="PrivateIdentifier"&&Ii(s,p)&&this.raiseRecoverable(p.key.start,"Identifier '#"+p.key.name+"' has already been declared"))}return this.strict=i,this.next(),e.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},S.parseClassElement=function(e){if(this.eat(r.semi))return null;var t=this.options.ecmaVersion,i=this.startNode(),s="",n=!1,o=!1,p="method",x=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(r.braceL))return this.parseClassStaticBlock(i),i;this.isClassElementNameStart()||this.type===r.star?x=!0:s="static"}if(i.static=x,!s&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===r.star)&&!this.canInsertSemicolon()?o=!0:s="async"),!s&&(t>=9||!o)&&this.eat(r.star)&&(n=!0),!s&&!o&&!n){var g=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?p=g:s=g)}if(s?(i.computed=!1,i.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),i.key.name=s,this.finishNode(i.key,"Identifier")):this.parseClassElementName(i),t<13||this.type===r.parenL||p!=="method"||n||o){var T=!i.static&&Ne(i,"constructor"),w=T&&e;T&&p!=="method"&&this.raise(i.key.start,"Constructor can't have get/set modifier"),i.kind=T?"constructor":p,this.parseClassMethod(i,n,o,w)}else this.parseClassField(i);return i},S.isClassElementNameStart=function(){return this.type===r.name||this.type===r.privateId||this.type===r.num||this.type===r.string||this.type===r.bracketL||this.type.keyword},S.parseClassElementName=function(e){this.type===r.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},S.parseClassMethod=function(e,t,i,s){var n=e.key;e.kind==="constructor"?(t&&this.raise(n.start,"Constructor can't be a generator"),i&&this.raise(n.start,"Constructor can't be an async method")):e.static&&Ne(e,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var o=e.value=this.parseMethod(t,i,s);return e.kind==="get"&&o.params.length!==0&&this.raiseRecoverable(o.start,"getter should have no params"),e.kind==="set"&&o.params.length!==1&&this.raiseRecoverable(o.start,"setter should have exactly one param"),e.kind==="set"&&o.params[0].type==="RestElement"&&this.raiseRecoverable(o.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},S.parseClassField=function(e){if(Ne(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Ne(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(r.eq)){var t=this.currentThisScope(),i=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=i}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},S.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(xe|We);this.type!==r.braceR;){var i=this.parseStatement(null);e.body.push(i)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},S.parseClassId=function(e,t){this.type===r.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Q,!1)):(t===!0&&this.unexpected(),e.id=null)},S.parseClassSuper=function(e){e.superClass=this.eat(r._extends)?this.parseExprSubscripts(null,!1):null},S.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},S.exitClassBody=function(){for(var e=this.privateNameStack.pop(),t=e.declared,i=e.used,s=this.privateNameStack.length,n=s===0?null:this.privateNameStack[s-1],o=0;o=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==r.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration")},S.parseExport=function(e,t){if(this.next(),this.eat(r.star))return this.parseExportAllDeclaration(e,t);if(this.eat(r._default))return this.checkExport(t,"default",this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==r.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var i=0,s=e.specifiers;i=13&&this.type===r.string){var e=this.parseLiteral(this.value);return ki.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},S.adaptDirectivePrologue=function(e){for(var t=0;t=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var q=V.prototype;q.toAssignable=function(e,t,i){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var s=0,n=e.properties;s=6)switch(this.type){case r.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(r.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case r.braceL:return this.parseObj(!0)}return this.parseIdent()},q.parseBindingList=function(e,t,i,s){for(var n=[],o=!0;!this.eat(e);)if(o?o=!1:this.expect(r.comma),t&&this.type===r.comma)n.push(null);else{if(i&&this.afterTrailingComma(e))break;if(this.type===r.ellipsis){var p=this.parseRestBinding();this.parseBindingListItem(p),n.push(p),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}else n.push(this.parseAssignableListItem(s))}return n},q.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},q.parseBindingListItem=function(e){return e},q.parseMaybeDefault=function(e,t,i){if(i=i||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(r.eq))return i;var s=this.startNodeAt(e,t);return s.left=i,s.right=this.parseMaybeAssign(),this.finishNode(s,"AssignmentPattern")},q.checkLValSimple=function(e,t,i){t===void 0&&(t=Pe);var s=t!==Pe;switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(s?"Binding ":"Assigning to ")+e.name+" in strict mode"),s&&(t===Q&&e.name==="let"&&this.raiseRecoverable(e.start,"let is disallowed as a lexically bound name"),i&&(fe(i,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),i[e.name]=!0),t!==kt&&this.declareName(e.name,t,e.start));break;case"ChainExpression":this.raiseRecoverable(e.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":s&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ParenthesizedExpression":return s&&this.raiseRecoverable(e.start,"Binding parenthesized expression"),this.checkLValSimple(e.expression,t,i);default:this.raise(e.start,(s?"Binding":"Assigning to")+" rvalue")}},q.checkLValPattern=function(e,t,i){switch(t===void 0&&(t=Pe),e.type){case"ObjectPattern":for(var s=0,n=e.properties;s=1;e--){var t=this.context[e];if(t.token==="function")return t.generator}return!1},oe.updateContext=function(e){var t,i=this.type;i.keyword&&e===r.dot?this.exprAllowed=!1:(t=i.updateContext)?t.call(this,e):this.exprAllowed=i.beforeExpr},oe.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},r.parenR.updateContext=r.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===I.b_stat&&this.curContext().token==="function"&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},r.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?I.b_stat:I.b_expr),this.exprAllowed=!0},r.dollarBraceL.updateContext=function(){this.context.push(I.b_tmpl),this.exprAllowed=!0},r.parenL.updateContext=function(e){var t=e===r._if||e===r._for||e===r._with||e===r._while;this.context.push(t?I.p_stat:I.p_expr),this.exprAllowed=!0},r.incDec.updateContext=function(){},r._function.updateContext=r._class.updateContext=function(e){e.beforeExpr&&e!==r._else&&!(e===r.semi&&this.curContext()!==I.p_stat)&&!(e===r._return&&j.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===r.colon||e===r.braceL)&&this.curContext()===I.b_stat)?this.context.push(I.f_expr):this.context.push(I.f_stat),this.exprAllowed=!1},r.backQuote.updateContext=function(){this.curContext()===I.q_tmpl?this.context.pop():this.context.push(I.q_tmpl),this.exprAllowed=!1},r.star.updateContext=function(e){if(e===r._function){var t=this.context.length-1;this.context[t]===I.f_expr?this.context[t]=I.f_expr_gen:this.context[t]=I.f_gen}this.exprAllowed=!0},r.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==r.dot&&(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var C=V.prototype;C.checkPropClash=function(e,t,i){if(!(this.options.ecmaVersion>=9&&e.type==="SpreadElement")&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var s=e.key,n;switch(s.type){case"Identifier":n=s.name;break;case"Literal":n=String(s.value);break;default:return}var o=e.kind;if(this.options.ecmaVersion>=6){n==="__proto__"&&o==="init"&&(t.proto&&(i?i.doubleProto<0&&(i.doubleProto=s.start):this.raiseRecoverable(s.start,"Redefinition of __proto__ property")),t.proto=!0);return}n="$"+n;var p=t[n];if(p){var x;o==="init"?x=this.strict&&p.init||p.get||p.set:x=p.init||p[o],x&&this.raiseRecoverable(s.start,"Redefinition of property")}else p=t[n]={init:!1,get:!1,set:!1};p[o]=!0}},C.parseExpression=function(e,t){var i=this.start,s=this.startLoc,n=this.parseMaybeAssign(e,t);if(this.type===r.comma){var o=this.startNodeAt(i,s);for(o.expressions=[n];this.eat(r.comma);)o.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(o,"SequenceExpression")}return n},C.parseMaybeAssign=function(e,t,i){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var s=!1,n=-1,o=-1,p=-1;t?(n=t.parenthesizedAssign,o=t.trailingComma,p=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new Ie,s=!0);var x=this.start,g=this.startLoc;(this.type===r.parenL||this.type===r.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e==="await");var T=this.parseMaybeConditional(e,t);if(i&&(T=i.call(this,T,x,g)),this.type.isAssign){var w=this.startNodeAt(x,g);return w.operator=this.value,this.type===r.eq&&(T=this.toAssignable(T,!1,t)),s||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=T.start&&(t.shorthandAssign=-1),this.type===r.eq?this.checkLValPattern(T):this.checkLValSimple(T),w.left=T,this.next(),w.right=this.parseMaybeAssign(e),p>-1&&(t.doubleProto=p),this.finishNode(w,"AssignmentExpression")}else s&&this.checkExpressionErrors(t,!0);return n>-1&&(t.parenthesizedAssign=n),o>-1&&(t.trailingComma=o),T},C.parseMaybeConditional=function(e,t){var i=this.start,s=this.startLoc,n=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return n;if(this.eat(r.question)){var o=this.startNodeAt(i,s);return o.test=n,o.consequent=this.parseMaybeAssign(),this.expect(r.colon),o.alternate=this.parseMaybeAssign(e),this.finishNode(o,"ConditionalExpression")}return n},C.parseExprOps=function(e,t){var i=this.start,s=this.startLoc,n=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||n.start===i&&n.type==="ArrowFunctionExpression"?n:this.parseExprOp(n,i,s,-1,e)},C.parseExprOp=function(e,t,i,s,n){var o=this.type.binop;if(o!=null&&(!n||this.type!==r._in)&&o>s){var p=this.type===r.logicalOR||this.type===r.logicalAND,x=this.type===r.coalesce;x&&(o=r.logicalAND.binop);var g=this.value;this.next();var T=this.start,w=this.startLoc,R=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,n),T,w,o,n),ie=this.buildBinary(t,i,e,R,g,p||x);return(p&&this.type===r.coalesce||x&&(this.type===r.logicalOR||this.type===r.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(ie,t,i,s,n)}return e},C.buildBinary=function(e,t,i,s,n,o){s.type==="PrivateIdentifier"&&this.raise(s.start,"Private identifier can only be left side of binary expression");var p=this.startNodeAt(e,t);return p.left=i,p.operator=n,p.right=s,this.finishNode(p,o?"LogicalExpression":"BinaryExpression")},C.parseMaybeUnary=function(e,t,i,s){var n=this.start,o=this.startLoc,p;if(this.isContextual("await")&&this.canAwait)p=this.parseAwait(s),t=!0;else if(this.type.prefix){var x=this.startNode(),g=this.type===r.incDec;x.operator=this.value,x.prefix=!0,this.next(),x.argument=this.parseMaybeUnary(null,!0,g,s),this.checkExpressionErrors(e,!0),g?this.checkLValSimple(x.argument):this.strict&&x.operator==="delete"&&x.argument.type==="Identifier"?this.raiseRecoverable(x.start,"Deleting local variable in strict mode"):x.operator==="delete"&&Et(x.argument)?this.raiseRecoverable(x.start,"Private fields can not be deleted"):t=!0,p=this.finishNode(x,g?"UpdateExpression":"UnaryExpression")}else if(!t&&this.type===r.privateId)(s||this.privateNameStack.length===0)&&this.unexpected(),p=this.parsePrivateIdent(),this.type!==r._in&&this.unexpected();else{if(p=this.parseExprSubscripts(e,s),this.checkExpressionErrors(e))return p;for(;this.type.postfix&&!this.canInsertSemicolon();){var T=this.startNodeAt(n,o);T.operator=this.value,T.prefix=!1,T.argument=p,this.checkLValSimple(p),this.next(),p=this.finishNode(T,"UpdateExpression")}}if(!i&&this.eat(r.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(n,o,p,this.parseMaybeUnary(null,!1,!1,s),"**",!1);else return p};function Et(e){return e.type==="MemberExpression"&&e.property.type==="PrivateIdentifier"||e.type==="ChainExpression"&&Et(e.expression)}C.parseExprSubscripts=function(e,t){var i=this.start,s=this.startLoc,n=this.parseExprAtom(e,t);if(n.type==="ArrowFunctionExpression"&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==")")return n;var o=this.parseSubscripts(n,i,s,!1,t);return e&&o.type==="MemberExpression"&&(e.parenthesizedAssign>=o.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=o.start&&(e.parenthesizedBind=-1),e.trailingComma>=o.start&&(e.trailingComma=-1)),o},C.parseSubscripts=function(e,t,i,s,n){for(var o=this.options.ecmaVersion>=8&&e.type==="Identifier"&&e.name==="async"&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,p=!1;;){var x=this.parseSubscript(e,t,i,s,o,p,n);if(x.optional&&(p=!0),x===e||x.type==="ArrowFunctionExpression"){if(p){var g=this.startNodeAt(t,i);g.expression=x,x=this.finishNode(g,"ChainExpression")}return x}e=x}},C.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(r.arrow)},C.parseSubscriptAsyncArrow=function(e,t,i,s){return this.parseArrowExpression(this.startNodeAt(e,t),i,!0,s)},C.parseSubscript=function(e,t,i,s,n,o,p){var x=this.options.ecmaVersion>=11,g=x&&this.eat(r.questionDot);s&&g&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var T=this.eat(r.bracketL);if(T||g&&this.type!==r.parenL&&this.type!==r.backQuote||this.eat(r.dot)){var w=this.startNodeAt(t,i);w.object=e,T?(w.property=this.parseExpression(),this.expect(r.bracketR)):this.type===r.privateId&&e.type!=="Super"?w.property=this.parsePrivateIdent():w.property=this.parseIdent(this.options.allowReserved!=="never"),w.computed=!!T,x&&(w.optional=g),e=this.finishNode(w,"MemberExpression")}else if(!s&&this.eat(r.parenL)){var R=new Ie,ie=this.yieldPos,be=this.awaitPos,ue=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var Oe=this.parseExprList(r.parenR,this.options.ecmaVersion>=8,!1,R);if(n&&!g&&this.shouldParseAsyncArrow())return this.checkPatternErrors(R,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=ie,this.awaitPos=be,this.awaitIdentPos=ue,this.parseSubscriptAsyncArrow(t,i,Oe,p);this.checkExpressionErrors(R,!0),this.yieldPos=ie||this.yieldPos,this.awaitPos=be||this.awaitPos,this.awaitIdentPos=ue||this.awaitIdentPos;var he=this.startNodeAt(t,i);he.callee=e,he.arguments=Oe,x&&(he.optional=g),e=this.finishNode(he,"CallExpression")}else if(this.type===r.backQuote){(g||o)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var pe=this.startNodeAt(t,i);pe.tag=e,pe.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(pe,"TaggedTemplateExpression")}return e},C.parseExprAtom=function(e,t,i){this.type===r.slash&&this.readRegexp();var s,n=this.potentialArrowAt===this.start;switch(this.type){case r._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),s=this.startNode(),this.next(),this.type===r.parenL&&!this.allowDirectSuper&&this.raise(s.start,"super() call outside constructor of a subclass"),this.type!==r.dot&&this.type!==r.bracketL&&this.type!==r.parenL&&this.unexpected(),this.finishNode(s,"Super");case r._this:return s=this.startNode(),this.next(),this.finishNode(s,"ThisExpression");case r.name:var o=this.start,p=this.startLoc,x=this.containsEsc,g=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!x&&g.name==="async"&&!this.canInsertSemicolon()&&this.eat(r._function))return this.overrideContext(I.f_expr),this.parseFunction(this.startNodeAt(o,p),0,!1,!0,t);if(n&&!this.canInsertSemicolon()){if(this.eat(r.arrow))return this.parseArrowExpression(this.startNodeAt(o,p),[g],!1,t);if(this.options.ecmaVersion>=8&&g.name==="async"&&this.type===r.name&&!x&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return g=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(r.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(o,p),[g],!0,t)}return g;case r.regexp:var T=this.value;return s=this.parseLiteral(T.value),s.regex={pattern:T.pattern,flags:T.flags},s;case r.num:case r.string:return this.parseLiteral(this.value);case r._null:case r._true:case r._false:return s=this.startNode(),s.value=this.type===r._null?null:this.type===r._true,s.raw=this.type.keyword,this.next(),this.finishNode(s,"Literal");case r.parenL:var w=this.start,R=this.parseParenAndDistinguishExpression(n,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(R)&&(e.parenthesizedAssign=w),e.parenthesizedBind<0&&(e.parenthesizedBind=w)),R;case r.bracketL:return s=this.startNode(),this.next(),s.elements=this.parseExprList(r.bracketR,!0,!0,e),this.finishNode(s,"ArrayExpression");case r.braceL:return this.overrideContext(I.b_expr),this.parseObj(!1,e);case r._function:return s=this.startNode(),this.next(),this.parseFunction(s,0);case r._class:return this.parseClass(this.startNode(),!1);case r._new:return this.parseNew();case r.backQuote:return this.parseTemplate();case r._import:return this.options.ecmaVersion>=11?this.parseExprImport(i):this.unexpected();default:return this.parseExprAtomDefault()}},C.parseExprAtomDefault=function(){this.unexpected()},C.parseExprImport=function(e){var t=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var i=this.parseIdent(!0);if(this.type===r.parenL&&!e)return this.parseDynamicImport(t);if(this.type===r.dot)return t.meta=i,this.parseImportMeta(t);this.unexpected()},C.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(r.parenR)){var t=this.start;this.eat(r.comma)&&this.eat(r.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},C.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},C.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},C.parseParenExpression=function(){this.expect(r.parenL);var e=this.parseExpression();return this.expect(r.parenR),e},C.shouldParseArrow=function(e){return!this.canInsertSemicolon()},C.parseParenAndDistinguishExpression=function(e,t){var i=this.start,s=this.startLoc,n,o=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var p=this.start,x=this.startLoc,g=[],T=!0,w=!1,R=new Ie,ie=this.yieldPos,be=this.awaitPos,ue;for(this.yieldPos=0,this.awaitPos=0;this.type!==r.parenR;)if(T?T=!1:this.expect(r.comma),o&&this.afterTrailingComma(r.parenR,!0)){w=!0;break}else if(this.type===r.ellipsis){ue=this.start,g.push(this.parseParenItem(this.parseRestBinding())),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}else g.push(this.parseMaybeAssign(!1,R,this.parseParenItem));var Oe=this.lastTokEnd,he=this.lastTokEndLoc;if(this.expect(r.parenR),e&&this.shouldParseArrow(g)&&this.eat(r.arrow))return this.checkPatternErrors(R,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=ie,this.awaitPos=be,this.parseParenArrowList(i,s,g,t);(!g.length||w)&&this.unexpected(this.lastTokStart),ue&&this.unexpected(ue),this.checkExpressionErrors(R,!0),this.yieldPos=ie||this.yieldPos,this.awaitPos=be||this.awaitPos,g.length>1?(n=this.startNodeAt(p,x),n.expressions=g,this.finishNodeAt(n,"SequenceExpression",Oe,he)):n=g[0]}else n=this.parseParenExpression();if(this.options.preserveParens){var pe=this.startNodeAt(i,s);return pe.expression=n,this.finishNode(pe,"ParenthesizedExpression")}else return n},C.parseParenItem=function(e){return e},C.parseParenArrowList=function(e,t,i,s){return this.parseArrowExpression(this.startNodeAt(e,t),i,!1,s)};var Ni=[];C.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(r.dot)){e.meta=t;var i=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),i&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var s=this.start,n=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),s,n,!0,!1),this.eat(r.parenL)?e.arguments=this.parseExprList(r.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ni,this.finishNode(e,"NewExpression")},C.parseTemplateElement=function(e){var t=e.isTagged,i=this.startNode();return this.type===r.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value,cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,`
-`),cooked:this.value},this.next(),i.tail=this.type===r.backQuote,this.finishNode(i,"TemplateElement")},C.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var i=this.startNode();this.next(),i.expressions=[];var s=this.parseTemplateElement({isTagged:t});for(i.quasis=[s];!s.tail;)this.type===r.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(r.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(r.braceR),i.quasis.push(s=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(i,"TemplateLiteral")},C.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===r.name||this.type===r.num||this.type===r.string||this.type===r.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===r.star)&&!j.test(this.input.slice(this.lastTokEnd,this.start))},C.parseObj=function(e,t){var i=this.startNode(),s=!0,n={};for(i.properties=[],this.next();!this.eat(r.braceR);){if(s)s=!1;else if(this.expect(r.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(r.braceR))break;var o=this.parseProperty(e,t);e||this.checkPropClash(o,n,t),i.properties.push(o)}return this.finishNode(i,e?"ObjectPattern":"ObjectExpression")},C.parseProperty=function(e,t){var i=this.startNode(),s,n,o,p;if(this.options.ecmaVersion>=9&&this.eat(r.ellipsis))return e?(i.argument=this.parseIdent(!1),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(i,"RestElement")):(i.argument=this.parseMaybeAssign(!1,t),this.type===r.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(i,"SpreadElement"));this.options.ecmaVersion>=6&&(i.method=!1,i.shorthand=!1,(e||t)&&(o=this.start,p=this.startLoc),e||(s=this.eat(r.star)));var x=this.containsEsc;return this.parsePropertyName(i),!e&&!x&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(i)?(n=!0,s=this.options.ecmaVersion>=9&&this.eat(r.star),this.parsePropertyName(i)):n=!1,this.parsePropertyValue(i,e,s,n,o,p,t,x),this.finishNode(i,"Property")},C.parseGetterSetter=function(e){e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var t=e.kind==="get"?0:1;if(e.value.params.length!==t){var i=e.value.start;e.kind==="get"?this.raiseRecoverable(i,"getter should have no params"):this.raiseRecoverable(i,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")},C.parsePropertyValue=function(e,t,i,s,n,o,p,x){(i||s)&&this.type===r.colon&&this.unexpected(),this.eat(r.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,p),e.kind="init"):this.options.ecmaVersion>=6&&this.type===r.parenL?(t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(i,s)):!t&&!x&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==r.comma&&this.type!==r.braceR&&this.type!==r.eq?((i||s)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((i||s)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,o,this.copyNode(e.key)):this.type===r.eq&&p?(p.shorthandAssign<0&&(p.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,o,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()},C.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(r.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(r.bracketR),e.key;e.computed=!1}return e.key=this.type===r.num||this.type===r.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},C.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},C.parseMethod=function(e,t,i){var s=this.startNode(),n=this.yieldPos,o=this.awaitPos,p=this.awaitIdentPos;return this.initFunction(s),this.options.ecmaVersion>=6&&(s.generator=e),this.options.ecmaVersion>=8&&(s.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(He(t,s.generator)|We|(i?St:0)),this.expect(r.parenL),s.params=this.parseBindingList(r.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(s,!1,!0,!1),this.yieldPos=n,this.awaitPos=o,this.awaitIdentPos=p,this.finishNode(s,"FunctionExpression")},C.parseArrowExpression=function(e,t,i,s){var n=this.yieldPos,o=this.awaitPos,p=this.awaitIdentPos;return this.enterScope(He(i,!1)|vt),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!i),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,s),this.yieldPos=n,this.awaitPos=o,this.awaitIdentPos=p,this.finishNode(e,"ArrowFunctionExpression")},C.parseFunctionBody=function(e,t,i,s){var n=t&&this.type!==r.braceL,o=this.strict,p=!1;if(n)e.body=this.parseMaybeAssign(s),e.expression=!0,this.checkParams(e,!1);else{var x=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!o||x)&&(p=this.strictDirective(this.end),p&&x&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var g=this.labels;this.labels=[],p&&(this.strict=!0),this.checkParams(e,!o&&!p&&!t&&!i&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,kt),e.body=this.parseBlock(!1,void 0,p&&!o),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=g}this.exitScope()},C.isSimpleParamList=function(e){for(var t=0,i=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&n.flags&me&&delete this.undefinedExports[e]}else if(t===Ct){var o=this.currentScope();o.lexical.push(e)}else if(t===_t){var p=this.currentScope();this.treatFunctionsAsVar?s=p.lexical.indexOf(e)>-1:s=p.lexical.indexOf(e)>-1||p.var.indexOf(e)>-1,p.functions.push(e)}else for(var x=this.scopeStack.length-1;x>=0;--x){var g=this.scopeStack[x];if(g.lexical.indexOf(e)>-1&&!(g.flags&bt&&g.lexical[0]===e)||!this.treatFunctionsAsVarInScope(g)&&g.functions.indexOf(e)>-1){s=!0;break}if(g.var.push(e),this.inModule&&g.flags&me&&delete this.undefinedExports[e],g.flags&Xe)break}s&&this.raiseRecoverable(i,"Identifier '"+e+"' has already been declared")},ee.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},ee.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},ee.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&Xe)return t}},ee.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&Xe&&!(t.flags&vt))return t}};var ge=function(t,i,s){this.type="",this.start=i,this.end=0,t.options.locations&&(this.loc=new de(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[i,0])},ve=V.prototype;ve.startNode=function(){return new ge(this,this.start,this.startLoc)},ve.startNodeAt=function(e,t){return new ge(this,e,t)};function wt(e,t,i,s){return e.type=t,e.end=i,this.options.locations&&(e.loc.end=s),this.options.ranges&&(e.range[1]=i),e}ve.finishNode=function(e,t){return wt.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},ve.finishNodeAt=function(e,t,i,s){return wt.call(this,e,t,i,s)},ve.copyNode=function(e){var t=new ge(this,e.start,this.startLoc);for(var i in e)t[i]=e[i];return t};var At="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Pt=At+" Extended_Pictographic",It=Pt,Nt=It+" EBase EComp EMod EPres ExtPict",Vt=Nt,Li=Vt,Ri={9:At,10:Pt,11:It,12:Nt,13:Vt,14:Li},Oi="Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji",Bi={9:"",10:"",11:"",12:"",13:"",14:Oi},Lt="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Rt="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Ot=Rt+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Bt=Ot+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Dt=Bt+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",Ft=Dt+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",Di=Ft+" Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz",Fi={9:Rt,10:Ot,11:Bt,12:Dt,13:Ft,14:Di},jt={};function ji(e){var t=jt[e]={binary:$(Ri[e]+" "+Lt),binaryOfStrings:$(Bi[e]),nonBinary:{General_Category:$(Lt),Script:$(Fi[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var Ze=0,Mt=[9,10,11,12,13,14];Ze=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=jt[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};W.prototype.reset=function(t,i,s){var n=s.indexOf("v")!==-1,o=s.indexOf("u")!==-1;this.start=t|0,this.source=i+"",this.flags=s,n&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=o&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=o&&this.parser.options.ecmaVersion>=9)},W.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},W.prototype.at=function(t,i){i===void 0&&(i=!1);var s=this.source,n=s.length;if(t>=n)return-1;var o=s.charCodeAt(t);if(!(i||this.switchU)||o<=55295||o>=57344||t+1>=n)return o;var p=s.charCodeAt(t+1);return p>=56320&&p<=57343?(o<<10)+p-56613888:o},W.prototype.nextIndex=function(t,i){i===void 0&&(i=!1);var s=this.source,n=s.length;if(t>=n)return n;var o=s.charCodeAt(t),p;return!(i||this.switchU)||o<=55295||o>=57344||t+1>=n||(p=s.charCodeAt(t+1))<56320||p>57343?t+1:t+2},W.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)},W.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},W.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)},W.prototype.eat=function(t,i){return i===void 0&&(i=!1),this.current(i)===t?(this.advance(i),!0):!1},W.prototype.eatChars=function(t,i){i===void 0&&(i=!1);for(var s=this.pos,n=0,o=t;n-1&&this.raise(e.start,"Duplicate regular expression flag"),p==="u"&&(s=!0),p==="v"&&(n=!0)}this.options.ecmaVersion>=15&&s&&n&&this.raise(e.start,"Invalid regular expression flag")},v.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},v.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,i=e.backReferenceNames;t=9&&(i=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!i,!0}return e.pos=t,!1},v.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},v.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},v.regexp_eatBracedQuantifier=function(e,t){var i=e.pos;if(e.eat(123)){var s=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(s=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return n!==-1&&n=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},v.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},v.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},v.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Ut(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Ut(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}v.regexp_eatPatternCharacters=function(e){for(var t=e.pos,i=0;(i=e.current())!==-1&&!Ut(i);)e.advance();return e.pos!==t},v.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},v.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise("Duplicate capture group name"),e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}},v.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},v.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Z(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Z(e.lastIntValue);return!0}return!1},v.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,s=e.current(i);return e.advance(i),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(s=e.lastIntValue),Ui(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function Ui(e){return F(e,!0)||e===36||e===95}v.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,s=e.current(i);return e.advance(i),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(s=e.lastIntValue),qi(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function qi(e){return d(e,!0)||e===36||e===95||e===8204||e===8205}v.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},v.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var i=e.lastIntValue;if(e.switchU)return i>e.maxBackReference&&(e.maxBackReference=i),!0;if(i<=e.numCapturingParens)return!0;e.pos=t}return!1},v.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},v.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},v.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},v.regexp_eatZero=function(e){return e.current()===48&&!Le(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},v.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},v.regexp_eatControlLetter=function(e){var t=e.current();return qt(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function qt(e){return e>=65&&e<=90||e>=97&&e<=122}v.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var i=e.pos,s=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(s&&n>=55296&&n<=56319){var o=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var p=e.lastIntValue;if(p>=56320&&p<=57343)return e.lastIntValue=(n-55296)*1024+(p-56320)+65536,!0}e.pos=o,e.lastIntValue=n}return!0}if(s&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Ki(e.lastIntValue))return!0;s&&e.raise("Invalid unicode escape"),e.pos=i}return!1};function Ki(e){return e>=0&&e<=1114111}v.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},v.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};var Kt=0,Y=1,J=2;v.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Ji(t))return e.lastIntValue=-1,e.advance(),Y;var i=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((i=t===80)||t===112)){e.lastIntValue=-1,e.advance();var s;if(e.eat(123)&&(s=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return i&&s===J&&e.raise("Invalid property name"),s;e.raise("Invalid property name")}return Kt};function Ji(e){return e===100||e===68||e===115||e===83||e===119||e===87}v.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var i=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var s=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,i,s),Y}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n)}return Kt},v.regexp_validateUnicodePropertyNameAndValue=function(e,t,i){fe(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(i)||e.raise("Invalid property value")},v.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return Y;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return J;e.raise("Invalid property name")},v.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Jt(t=e.current());)e.lastStringValue+=Z(t),e.advance();return e.lastStringValue!==""};function Jt(e){return qt(e)||e===95}v.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";Gi(t=e.current());)e.lastStringValue+=Z(t),e.advance();return e.lastStringValue!==""};function Gi(e){return Jt(e)||Le(e)}v.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},v.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),i=this.regexp_classContents(e);return e.eat(93)||e.raise("Unterminated character class"),t&&i===J&&e.raise("Negated character class may contain strings"),!0}return!1},v.regexp_classContents=function(e){return e.current()===93?Y:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),Y)},v.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var i=e.lastIntValue;e.switchU&&(t===-1||i===-1)&&e.raise("Invalid character class"),t!==-1&&i!==-1&&t>i&&e.raise("Range out of order in character class")}}},v.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var i=e.current();(i===99||Wt(i))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var s=e.current();return s!==93?(e.lastIntValue=s,e.advance(),!0):!1},v.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},v.regexp_classSetExpression=function(e){var t=Y,i;if(!this.regexp_eatClassSetRange(e))if(i=this.regexp_eatClassSetOperand(e)){i===J&&(t=J);for(var s=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(i=this.regexp_eatClassSetOperand(e))){i!==J&&(t=Y);continue}e.raise("Invalid character in character class")}if(s!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise("Invalid character in character class");if(s!==e.pos)return t}else e.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(e)){if(i=this.regexp_eatClassSetOperand(e),!i)return t;i===J&&(t=J)}},v.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var i=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var s=e.lastIntValue;return i!==-1&&s!==-1&&i>s&&e.raise("Range out of order in character class"),!0}e.pos=t}return!1},v.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?Y:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},v.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var i=e.eat(94),s=this.regexp_classContents(e);if(e.eat(93))return i&&s===J&&e.raise("Negated character class may contain strings"),s;e.pos=t}if(e.eat(92)){var n=this.regexp_eatCharacterClassEscape(e);if(n)return n;e.pos=t}return null},v.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var i=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return i}else e.raise("Invalid escape");e.pos=t}return null},v.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===J&&(t=J);return t},v.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?Y:J},v.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var i=e.current();return i<0||i===e.lookahead()&&zi(i)||Wi(i)?!1:(e.advance(),e.lastIntValue=i,!0)};function zi(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function Wi(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}v.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return Xi(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Xi(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}v.regexp_eatClassControlLetter=function(e){var t=e.current();return Le(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},v.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},v.regexp_eatDecimalDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Le(i=e.current());)e.lastIntValue=10*e.lastIntValue+(i-48),e.advance();return e.pos!==t};function Le(e){return e>=48&&e<=57}v.regexp_eatHexDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Gt(i=e.current());)e.lastIntValue=16*e.lastIntValue+zt(i),e.advance();return e.pos!==t};function Gt(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function zt(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}v.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var i=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+i*8+e.lastIntValue:e.lastIntValue=t*8+i}else e.lastIntValue=t;return!0}return!1},v.regexp_eatOctalDigit=function(e){var t=e.current();return Wt(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function Wt(e){return e>=48&&e<=55}v.regexp_eatFixedHexDigits=function(e,t){var i=e.pos;e.lastIntValue=0;for(var s=0;s=this.input.length)return this.finishToken(r.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},A.readToken=function(e){return F(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},A.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},A.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(i===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(var s=void 0,n=t;(s=dt(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=s;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,i),t,this.pos,e,this.curPosition())},A.skipLineComment=function(e){for(var t=this.pos,i=this.options.onComment&&this.curPosition(),s=this.input.charCodeAt(this.pos+=e);this.pos8&&e<14||e>=5760&&Je.test(String.fromCharCode(e)))++this.pos;else break e}}},A.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=e,this.value=t,this.updateContext(i)},A.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(r.ellipsis)):(++this.pos,this.finishToken(r.dot))},A.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(r.assign,2):this.finishOp(r.slash,1)},A.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),i=1,s=e===42?r.star:r.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++i,s=r.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(r.assign,i+1):this.finishOp(s,i)},A.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var i=this.input.charCodeAt(this.pos+2);if(i===61)return this.finishOp(r.assign,3)}return this.finishOp(e===124?r.logicalOR:r.logicalAND,2)}return t===61?this.finishOp(r.assign,2):this.finishOp(e===124?r.bitwiseOR:r.bitwiseAND,1)},A.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(r.assign,2):this.finishOp(r.bitwiseXOR,1)},A.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||j.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(r.incDec,2):t===61?this.finishOp(r.assign,2):this.finishOp(r.plusMin,1)},A.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),i=1;return t===e?(i=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+i)===61?this.finishOp(r.assign,i+1):this.finishOp(r.bitShift,i)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(i=2),this.finishOp(r.relational,i))},A.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(r.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(r.arrow)):this.finishOp(e===61?r.eq:r.prefix,1)},A.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var i=this.input.charCodeAt(this.pos+2);if(i<48||i>57)return this.finishOp(r.questionDot,2)}if(t===63){if(e>=12){var s=this.input.charCodeAt(this.pos+2);if(s===61)return this.finishOp(r.assign,3)}return this.finishOp(r.coalesce,2)}}return this.finishOp(r.question,1)},A.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),F(t,!0)||t===92))return this.finishToken(r.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Z(t)+"'")},A.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(r.parenL);case 41:return++this.pos,this.finishToken(r.parenR);case 59:return++this.pos,this.finishToken(r.semi);case 44:return++this.pos,this.finishToken(r.comma);case 91:return++this.pos,this.finishToken(r.bracketL);case 93:return++this.pos,this.finishToken(r.bracketR);case 123:return++this.pos,this.finishToken(r.braceL);case 125:return++this.pos,this.finishToken(r.braceR);case 58:return++this.pos,this.finishToken(r.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(r.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(r.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Z(e)+"'")},A.finishOp=function(e,t){var i=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,i)},A.readRegexp=function(){for(var e,t,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(j.test(s)&&this.raise(i,"Unterminated regular expression"),e)e=!1;else{if(s==="[")t=!0;else if(s==="]"&&t)t=!1;else if(s==="/"&&!t)break;e=s==="\\"}++this.pos}var n=this.input.slice(i,this.pos);++this.pos;var o=this.pos,p=this.readWord1();this.containsEsc&&this.unexpected(o);var x=this.regexpState||(this.regexpState=new W(this));x.reset(i,n,p),this.validateRegExpFlags(x),this.validateRegExpPattern(x);var g=null;try{g=new RegExp(n,p)}catch{}return this.finishToken(r.regexp,{pattern:n,flags:p,value:g})},A.readInt=function(e,t,i){for(var s=this.options.ecmaVersion>=12&&t===void 0,n=i&&this.input.charCodeAt(this.pos)===48,o=this.pos,p=0,x=0,g=0,T=t??1/0;g=97?R=w-97+10:w>=65?R=w-65+10:w>=48&&w<=57?R=w-48:R=1/0,R>=e)break;x=w,p=p*e+R}return s&&x===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===o||t!=null&&this.pos-o!==t?null:p};function Hi(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function Xt(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}A.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var i=this.readInt(e);return i==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(i=Xt(this.input.slice(t,this.pos)),++this.pos):F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(r.num,i)},A.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var i=this.pos-t>=2&&this.input.charCodeAt(t)===48;i&&this.strict&&this.raise(t,"Invalid number");var s=this.input.charCodeAt(this.pos);if(!i&&!e&&this.options.ecmaVersion>=11&&s===110){var n=Xt(this.input.slice(t,this.pos));return++this.pos,F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(r.num,n)}i&&/[89]/.test(this.input.slice(t,this.pos))&&(i=!1),s===46&&!i&&(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),(s===69||s===101)&&!i&&(s=this.input.charCodeAt(++this.pos),(s===43||s===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var o=Hi(this.input.slice(t,this.pos),i);return this.finishToken(r.num,o)},A.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var i=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(i,"Code point out of bounds")}else t=this.readHexChar(4);return t},A.readString=function(e){for(var t="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===e)break;s===92?(t+=this.input.slice(i,this.pos),t+=this.readEscapedChar(!1),i=this.pos):s===8232||s===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(te(s)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(i,this.pos++),this.finishToken(r.string,t)};var Ht={};A.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===Ht)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},A.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ht;this.raise(e,t)},A.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(i===96||i===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===r.template||this.type===r.invalidTemplate)?i===36?(this.pos+=2,this.finishToken(r.dollarBraceL)):(++this.pos,this.finishToken(r.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(r.template,e));if(i===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(te(i)){switch(e+=this.input.slice(t,this.pos),++this.pos,i){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`
+var $i=Object.create;var Ze=Object.defineProperty;var Zi=Object.getOwnPropertyDescriptor;var es=Object.getOwnPropertyNames;var ts=Object.getPrototypeOf,is=Object.prototype.hasOwnProperty;var be=(a,u)=>()=>(u||a((u={exports:{}}).exports,u),u.exports),ss=(a,u)=>{for(var c in u)Ze(a,c,{get:u[c],enumerable:!0})},rs=(a,u,c,h)=>{if(u&&typeof u=="object"||typeof u=="function")for(let l of es(u))!is.call(a,l)&&l!==c&&Ze(a,l,{get:()=>u[l],enumerable:!(h=Zi(u,l))||h.enumerable});return a};var as=(a,u,c)=>(c=a!=null?$i(ts(a)):{},rs(u||!a||!a.__esModule?Ze(c,"default",{value:a,enumerable:!0}):c,a));var ii=be(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.extract=fs;se.parse=ms;se.parseWithComments=ti;se.print=xs;se.strip=ds;var us=/\*\/$/,hs=/^\/\*\*?/,Zt=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,ps=/(^|\s+)\/\/([^\r\n]*)/g,Qt=/^(\r?\n)+/,cs=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Yt=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,ls=/(\r?\n|^) *\* ?/g,ei=[];function fs(a){let u=a.match(Zt);return u?u[0].trimLeft():""}function ds(a){let u=a.match(Zt);return u&&u[0]?a.substring(u[0].length):a}function ms(a){return ti(a).pragmas}function ti(a){let u=`
+`;a=a.replace(hs,"").replace(us,"").replace(ls,"$1");let c="";for(;c!==a;)c=a,a=a.replace(cs,`${u}$1 $2${u}`);a=a.replace(Qt,"").trimRight();let h=Object.create(null),l=a.replace(Yt,"").replace(Qt,"").trimRight(),f;for(;f=Yt.exec(a);){let y=f[2].replace(ps,"");typeof h[f[1]]=="string"||Array.isArray(h[f[1]])?h[f[1]]=ei.concat(h[f[1]],y):h[f[1]]=y}return{comments:l,pragmas:h}}function xs({comments:a="",pragmas:u={}}){let c=`
+`,h="/**",l=" *",f=" */",y=Object.keys(u),_=y.map(P=>$t(P,u[P])).reduce((P,D)=>P.concat(D),[]).map(P=>`${l} ${P}${c}`).join("");if(!a){if(y.length===0)return"";if(y.length===1&&!Array.isArray(u[y[0]])){let P=u[y[0]];return`${h} ${$t(y[0],P)[0]}${f}`}}let L=a.split(c).map(P=>`${l} ${P}`).join(c)+c;return h+c+(a?L:"")+(a&&y.length?l+c:"")+_+f}function $t(a,u){return ei.concat(u).map(c=>`@${a} ${c}`.trim())}});var ke=be((Ue,ci)=>{(function(a,u){typeof Ue=="object"&&typeof ci<"u"?u(Ue):typeof define=="function"&&define.amd?define(["exports"],u):(a=typeof globalThis<"u"?globalThis:a||self,u(a.acorn={}))})(Ue,function(a){"use strict";var u=[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],c=[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,3104,541,1507,4938,6,4191],h="\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\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\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",l="\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",f={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},y="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",_={5:y,"5module":y+" export import",6:y+" const class extends export import super"},L=/^in(stanceof)?$/,P=new RegExp("["+l+"]"),D=new RegExp("["+l+h+"]");function G(e,t){for(var i=65536,s=0;se)return!1;if(i+=t[s+1],i>=e)return!0}return!1}function F(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&P.test(String.fromCharCode(e)):t===!1?!1:G(e,c)}function d(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&D.test(String.fromCharCode(e)):t===!1?!1:G(e,c)||G(e,u)}var x=function(t,i){i===void 0&&(i={}),this.label=t,this.keyword=i.keyword,this.beforeExpr=!!i.beforeExpr,this.startsExpr=!!i.startsExpr,this.isLoop=!!i.isLoop,this.isAssign=!!i.isAssign,this.prefix=!!i.prefix,this.postfix=!!i.postfix,this.binop=i.binop||null,this.updateContext=null};function b(e,t){return new x(e,{beforeExpr:!0,binop:t})}var k={beforeExpr:!0},N={startsExpr:!0},H={};function w(e,t){return t===void 0&&(t={}),t.keyword=e,H[e]=new x(e,t)}var r={num:new x("num",N),regexp:new x("regexp",N),string:new x("string",N),name:new x("name",N),privateId:new x("privateId",N),eof:new x("eof"),bracketL:new x("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new x("]"),braceL:new x("{",{beforeExpr:!0,startsExpr:!0}),braceR:new x("}"),parenL:new x("(",{beforeExpr:!0,startsExpr:!0}),parenR:new x(")"),comma:new x(",",k),semi:new x(";",k),colon:new x(":",k),dot:new x("."),question:new x("?",k),questionDot:new x("?."),arrow:new x("=>",k),template:new x("template"),invalidTemplate:new x("invalidTemplate"),ellipsis:new x("...",k),backQuote:new x("`",N),dollarBraceL:new x("${",{beforeExpr:!0,startsExpr:!0}),eq:new x("=",{beforeExpr:!0,isAssign:!0}),assign:new x("_=",{beforeExpr:!0,isAssign:!0}),incDec:new x("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new x("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:b("||",1),logicalAND:b("&&",2),bitwiseOR:b("|",3),bitwiseXOR:b("^",4),bitwiseAND:b("&",5),equality:b("==/!=/===/!==",6),relational:b(">/<=/>=",7),bitShift:b("<>>/>>>",8),plusMin:new x("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:b("%",10),star:b("*",10),slash:b("/",10),starstar:new x("**",{beforeExpr:!0}),coalesce:b("??",1),_break:w("break"),_case:w("case",k),_catch:w("catch"),_continue:w("continue"),_debugger:w("debugger"),_default:w("default",k),_do:w("do",{isLoop:!0,beforeExpr:!0}),_else:w("else",k),_finally:w("finally"),_for:w("for",{isLoop:!0}),_function:w("function",N),_if:w("if"),_return:w("return",k),_switch:w("switch"),_throw:w("throw",k),_try:w("try"),_var:w("var"),_const:w("const"),_while:w("while",{isLoop:!0}),_with:w("with"),_new:w("new",{beforeExpr:!0,startsExpr:!0}),_this:w("this",N),_super:w("super",N),_class:w("class",N),_extends:w("extends",k),_export:w("export"),_import:w("import",N),_null:w("null",N),_true:w("true",N),_false:w("false",N),_in:w("in",{beforeExpr:!0,binop:7}),_instanceof:w("instanceof",{beforeExpr:!0,binop:7}),_typeof:w("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:w("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:w("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},j=/\r\n?|\n|\u2028|\u2029/,lt=new RegExp(j.source,"g");function te(e){return e===10||e===13||e===8232||e===8233}function ft(e,t,i){i===void 0&&(i=e.length);for(var s=t;s>10)+55296,(e&1023)+56320))}var Ci=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,ae=function(t,i){this.line=t,this.column=i};ae.prototype.offset=function(t){return new ae(this.line,this.column+t)};var fe=function(t,i,s){this.start=i,this.end=s,t.sourceFile!==null&&(this.source=t.sourceFile)};function Je(e,t){for(var i=1,s=0;;){var n=ft(e,s,t);if(n<0)return new ae(i,t-s);++i,s=n}}var we={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},xt=!1;function ki(e){var t={};for(var i in we)t[i]=e&&le(e,i)?e[i]:we[i];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!xt&&typeof console=="object"&&console.warn&&(xt=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
+Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),mt(t.onToken)){var s=t.onToken;t.onToken=function(n){return s.push(n)}}return mt(t.onComment)&&(t.onComment=Ti(t,t.onComment)),t}function Ti(e,t){return function(i,s,n,o,p,m){var g={type:i?"Block":"Line",value:s,start:n,end:o};e.locations&&(g.loc=new fe(this,p,m)),e.ranges&&(g.range=[n,o]),t.push(g)}}var de=1,ne=2,Ge=4,yt=8,gt=16,vt=32,We=64,bt=128,me=256,Xe=de|ne|me;function ze(e,t){return ne|(e?Ge:0)|(t?yt:0)}var Ee=0,He=1,Q=2,St=3,_t=4,Ct=5,V=function(t,i,s){this.options=t=ki(t),this.sourceFile=t.sourceFile,this.keywords=$(_[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var n="";t.allowReserved!==!0&&(n=f[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(n+=" await")),this.reservedWords=$(n);var o=(n?n+" ":"")+f.strict;this.reservedWordsStrict=$(o),this.reservedWordsStrictBind=$(o+" "+f.strictBind),this.input=String(i),this.containsEsc=!1,s?(this.pos=s,this.lineStart=this.input.lastIndexOf(`
+`,s-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(j).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=r.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(de),this.regexpState=null,this.privateNameStack=[]},W={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};V.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},W.inFunction.get=function(){return(this.currentVarScope().flags&ne)>0},W.inGenerator.get=function(){return(this.currentVarScope().flags&yt)>0&&!this.currentVarScope().inClassFieldInit},W.inAsync.get=function(){return(this.currentVarScope().flags&Ge)>0&&!this.currentVarScope().inClassFieldInit},W.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&me)return!1;if(t.flags&ne)return(t.flags&Ge)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},W.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&We)>0||i||this.options.allowSuperOutsideMethod},W.allowDirectSuper.get=function(){return(this.currentThisScope().flags&bt)>0},W.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},W.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&(ne|me))>0||i},W.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&me)>0},V.extend=function(){for(var t=[],i=arguments.length;i--;)t[i]=arguments[i];for(var s=this,n=0;n=,?^&]/.test(n)||n==="!"&&this.input.charAt(s+1)==="=")}e+=t[0].length,U.lastIndex=e,e+=U.exec(this.input)[0].length,this.input[e]===";"&&e++}},O.eat=function(e){return this.type===e?(this.next(),!0):!1},O.isContextual=function(e){return this.type===r.name&&this.value===e&&!this.containsEsc},O.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},O.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},O.canInsertSemicolon=function(){return this.type===r.eof||this.type===r.braceR||j.test(this.input.slice(this.lastTokEnd,this.start))},O.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},O.semicolon=function(){!this.eat(r.semi)&&!this.insertSemicolon()&&this.unexpected()},O.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},O.expect=function(e){this.eat(e)||this.unexpected()},O.unexpected=function(e){this.raise(e??this.start,"Unexpected token")};var Ae=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};O.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var i=t?e.parenthesizedAssign:e.parenthesizedBind;i>-1&&this.raiseRecoverable(i,t?"Assigning to rvalue":"Parenthesized pattern")}},O.checkExpressionErrors=function(e,t){if(!e)return!1;var i=e.shorthandAssign,s=e.doubleProto;if(!t)return i>=0||s>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},O.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&s<56320)return!0;if(F(s,!0)){for(var n=i+1;d(s=this.input.charCodeAt(n),!0);)++n;if(s===92||s>55295&&s<56320)return!0;var o=this.input.slice(i,n);if(!L.test(o))return!0}return!1},S.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;U.lastIndex=this.pos;var e=U.exec(this.input),t=this.pos+e[0].length,i;return!j.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(d(i=this.input.charCodeAt(t+8))||i>55295&&i<56320))},S.parseStatement=function(e,t,i){var s=this.type,n=this.startNode(),o;switch(this.isLet(e)&&(s=r._var,o="let"),s){case r._break:case r._continue:return this.parseBreakContinueStatement(n,s.keyword);case r._debugger:return this.parseDebuggerStatement(n);case r._do:return this.parseDoStatement(n);case r._for:return this.parseForStatement(n);case r._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!e);case r._class:return e&&this.unexpected(),this.parseClass(n,!0);case r._if:return this.parseIfStatement(n);case r._return:return this.parseReturnStatement(n);case r._switch:return this.parseSwitchStatement(n);case r._throw:return this.parseThrowStatement(n);case r._try:return this.parseTryStatement(n);case r._const:case r._var:return o=o||this.value,e&&o!=="var"&&this.unexpected(),this.parseVarStatement(n,o);case r._while:return this.parseWhileStatement(n);case r._with:return this.parseWithStatement(n);case r.braceL:return this.parseBlock(!0,n);case r.semi:return this.parseEmptyStatement(n);case r._export:case r._import:if(this.options.ecmaVersion>10&&s===r._import){U.lastIndex=this.pos;var p=U.exec(this.input),m=this.pos+p[0].length,g=this.input.charCodeAt(m);if(g===40||g===46)return this.parseExpressionStatement(n,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),s===r._import?this.parseImport(n):this.parseExport(n,i);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!e);var T=this.value,E=this.parseExpression();return s===r.name&&E.type==="Identifier"&&this.eat(r.colon)?this.parseLabeledStatement(n,T,E,e):this.parseExpressionStatement(n,E)}},S.parseBreakContinueStatement=function(e,t){var i=t==="break";this.next(),this.eat(r.semi)||this.insertSemicolon()?e.label=null:this.type!==r.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(r.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},S.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Qe),this.enterScope(0),this.expect(r.parenL),this.type===r.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var i=this.isLet();if(this.type===r._var||this.type===r._const||i){var s=this.startNode(),n=i?"let":this.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.type===r._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&s.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===r._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,s)):(t>-1&&this.unexpected(t),this.parseFor(e,s))}var o=this.isContextual("let"),p=!1,m=new Ae,g=this.parseExpression(t>-1?"await":!0,m);return this.type===r._in||(p=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===r._in?t>-1&&this.unexpected(t):e.await=t>-1),o&&p&&this.raise(g.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(g,!1,m),this.checkLValPattern(g),this.parseForIn(e,g)):(this.checkExpressionErrors(m,!0),t>-1&&this.unexpected(t),this.parseFor(e,g))},S.parseFunctionStatement=function(e,t,i){return this.next(),this.parseFunction(e,xe|(i?0:Ye),!1,t)},S.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(r._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},S.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(r.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},S.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(r.braceL),this.labels.push(Ei),this.enterScope(0);for(var t,i=!1;this.type!==r.braceR;)if(this.type===r._case||this.type===r._default){var s=this.type===r._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),s?t.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,t.test=null),this.expect(r.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},S.parseThrowStatement=function(e){return this.next(),j.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Ai=[];S.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type==="Identifier";return this.enterScope(t?vt:0),this.checkLValPattern(e,t?_t:Q),this.expect(r.parenR),e},S.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===r._catch){var t=this.startNode();this.next(),this.eat(r.parenL)?t.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0)),t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(r._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},S.parseVarStatement=function(e,t,i){return this.next(),this.parseVar(e,!1,t,i),this.semicolon(),this.finishNode(e,"VariableDeclaration")},S.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Qe),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},S.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},S.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},S.parseLabeledStatement=function(e,t,i,s){for(var n=0,o=this.labels;n=0;g--){var T=this.labels[g];if(T.statementStart===e.start)T.statementStart=this.start,T.kind=m;else break}return this.labels.push({name:t,kind:m,statementStart:this.start}),e.body=this.parseStatement(s?s.indexOf("label")===-1?s+"label":s:"label"),this.labels.pop(),e.label=i,this.finishNode(e,"LabeledStatement")},S.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},S.parseBlock=function(e,t,i){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(r.braceL),e&&this.enterScope(0);this.type!==r.braceR;){var s=this.parseStatement(null);t.body.push(s)}return i&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},S.parseFor=function(e,t){return e.init=t,this.expect(r.semi),e.test=this.type===r.semi?null:this.parseExpression(),this.expect(r.semi),e.update=this.type===r.parenR?null:this.parseExpression(),this.expect(r.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},S.parseForIn=function(e,t){var i=this.type===r._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!i||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(i?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=i?this.parseExpression():this.parseMaybeAssign(),this.expect(r.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,i?"ForInStatement":"ForOfStatement")},S.parseVar=function(e,t,i,s){for(e.declarations=[],e.kind=i;;){var n=this.startNode();if(this.parseVarId(n,i),this.eat(r.eq)?n.init=this.parseMaybeAssign(t):!s&&i==="const"&&!(this.type===r._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():!s&&n.id.type!=="Identifier"&&!(t&&(this.type===r._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):n.init=null,e.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(r.comma))break}return e},S.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?He:Q,!1)};var xe=1,Ye=2,kt=4;S.parseFunction=function(e,t,i,s,n){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(this.type===r.star&&t&Ye&&this.unexpected(),e.generator=this.eat(r.star)),this.options.ecmaVersion>=8&&(e.async=!!s),t&xe&&(e.id=t&kt&&this.type!==r.name?null:this.parseIdent(),e.id&&!(t&Ye)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?He:Q:St));var o=this.yieldPos,p=this.awaitPos,m=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(ze(e.async,e.generator)),t&xe||(e.id=this.type===r.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,i,!1,n),this.yieldPos=o,this.awaitPos=p,this.awaitIdentPos=m,this.finishNode(e,t&xe?"FunctionDeclaration":"FunctionExpression")},S.parseFunctionParams=function(e){this.expect(r.parenL),e.params=this.parseBindingList(r.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},S.parseClass=function(e,t){this.next();var i=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var s=this.enterClassBody(),n=this.startNode(),o=!1;for(n.body=[],this.expect(r.braceL);this.type!==r.braceR;){var p=this.parseClassElement(e.superClass!==null);p&&(n.body.push(p),p.type==="MethodDefinition"&&p.kind==="constructor"?(o&&this.raiseRecoverable(p.start,"Duplicate constructor in the same class"),o=!0):p.key&&p.key.type==="PrivateIdentifier"&&Pi(s,p)&&this.raiseRecoverable(p.key.start,"Identifier '#"+p.key.name+"' has already been declared"))}return this.strict=i,this.next(),e.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},S.parseClassElement=function(e){if(this.eat(r.semi))return null;var t=this.options.ecmaVersion,i=this.startNode(),s="",n=!1,o=!1,p="method",m=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(r.braceL))return this.parseClassStaticBlock(i),i;this.isClassElementNameStart()||this.type===r.star?m=!0:s="static"}if(i.static=m,!s&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===r.star)&&!this.canInsertSemicolon()?o=!0:s="async"),!s&&(t>=9||!o)&&this.eat(r.star)&&(n=!0),!s&&!o&&!n){var g=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?p=g:s=g)}if(s?(i.computed=!1,i.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),i.key.name=s,this.finishNode(i.key,"Identifier")):this.parseClassElementName(i),t<13||this.type===r.parenL||p!=="method"||n||o){var T=!i.static&&Pe(i,"constructor"),E=T&&e;T&&p!=="method"&&this.raise(i.key.start,"Constructor can't have get/set modifier"),i.kind=T?"constructor":p,this.parseClassMethod(i,n,o,E)}else this.parseClassField(i);return i},S.isClassElementNameStart=function(){return this.type===r.name||this.type===r.privateId||this.type===r.num||this.type===r.string||this.type===r.bracketL||this.type.keyword},S.parseClassElementName=function(e){this.type===r.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},S.parseClassMethod=function(e,t,i,s){var n=e.key;e.kind==="constructor"?(t&&this.raise(n.start,"Constructor can't be a generator"),i&&this.raise(n.start,"Constructor can't be an async method")):e.static&&Pe(e,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var o=e.value=this.parseMethod(t,i,s);return e.kind==="get"&&o.params.length!==0&&this.raiseRecoverable(o.start,"getter should have no params"),e.kind==="set"&&o.params.length!==1&&this.raiseRecoverable(o.start,"setter should have exactly one param"),e.kind==="set"&&o.params[0].type==="RestElement"&&this.raiseRecoverable(o.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},S.parseClassField=function(e){if(Pe(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Pe(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(r.eq)){var t=this.currentThisScope(),i=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=i}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},S.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(me|We);this.type!==r.braceR;){var i=this.parseStatement(null);e.body.push(i)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},S.parseClassId=function(e,t){this.type===r.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Q,!1)):(t===!0&&this.unexpected(),e.id=null)},S.parseClassSuper=function(e){e.superClass=this.eat(r._extends)?this.parseExprSubscripts(null,!1):null},S.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},S.exitClassBody=function(){var e=this.privateNameStack.pop(),t=e.declared,i=e.used;if(this.options.checkPrivateFields)for(var s=this.privateNameStack.length,n=s===0?null:this.privateNameStack[s-1],o=0;o=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==r.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration")},S.parseExport=function(e,t){if(this.next(),this.eat(r.star))return this.parseExportAllDeclaration(e,t);if(this.eat(r._default))return this.checkExport(t,"default",this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==r.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var i=0,s=e.specifiers;i=13&&this.type===r.string){var e=this.parseLiteral(this.value);return Ci.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},S.adaptDirectivePrologue=function(e){for(var t=0;t=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var q=V.prototype;q.toAssignable=function(e,t,i){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var s=0,n=e.properties;s=6)switch(this.type){case r.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(r.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case r.braceL:return this.parseObj(!0)}return this.parseIdent()},q.parseBindingList=function(e,t,i,s){for(var n=[],o=!0;!this.eat(e);)if(o?o=!1:this.expect(r.comma),t&&this.type===r.comma)n.push(null);else{if(i&&this.afterTrailingComma(e))break;if(this.type===r.ellipsis){var p=this.parseRestBinding();this.parseBindingListItem(p),n.push(p),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}else n.push(this.parseAssignableListItem(s))}return n},q.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},q.parseBindingListItem=function(e){return e},q.parseMaybeDefault=function(e,t,i){if(i=i||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(r.eq))return i;var s=this.startNodeAt(e,t);return s.left=i,s.right=this.parseMaybeAssign(),this.finishNode(s,"AssignmentPattern")},q.checkLValSimple=function(e,t,i){t===void 0&&(t=Ee);var s=t!==Ee;switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(s?"Binding ":"Assigning to ")+e.name+" in strict mode"),s&&(t===Q&&e.name==="let"&&this.raiseRecoverable(e.start,"let is disallowed as a lexically bound name"),i&&(le(i,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),i[e.name]=!0),t!==Ct&&this.declareName(e.name,t,e.start));break;case"ChainExpression":this.raiseRecoverable(e.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":s&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ParenthesizedExpression":return s&&this.raiseRecoverable(e.start,"Binding parenthesized expression"),this.checkLValSimple(e.expression,t,i);default:this.raise(e.start,(s?"Binding":"Assigning to")+" rvalue")}},q.checkLValPattern=function(e,t,i){switch(t===void 0&&(t=Ee),e.type){case"ObjectPattern":for(var s=0,n=e.properties;s=1;e--){var t=this.context[e];if(t.token==="function")return t.generator}return!1},oe.updateContext=function(e){var t,i=this.type;i.keyword&&e===r.dot?this.exprAllowed=!1:(t=i.updateContext)?t.call(this,e):this.exprAllowed=i.beforeExpr},oe.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},r.parenR.updateContext=r.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===I.b_stat&&this.curContext().token==="function"&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},r.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?I.b_stat:I.b_expr),this.exprAllowed=!0},r.dollarBraceL.updateContext=function(){this.context.push(I.b_tmpl),this.exprAllowed=!0},r.parenL.updateContext=function(e){var t=e===r._if||e===r._for||e===r._with||e===r._while;this.context.push(t?I.p_stat:I.p_expr),this.exprAllowed=!0},r.incDec.updateContext=function(){},r._function.updateContext=r._class.updateContext=function(e){e.beforeExpr&&e!==r._else&&!(e===r.semi&&this.curContext()!==I.p_stat)&&!(e===r._return&&j.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===r.colon||e===r.braceL)&&this.curContext()===I.b_stat)?this.context.push(I.f_expr):this.context.push(I.f_stat),this.exprAllowed=!1},r.backQuote.updateContext=function(){this.curContext()===I.q_tmpl?this.context.pop():this.context.push(I.q_tmpl),this.exprAllowed=!1},r.star.updateContext=function(e){if(e===r._function){var t=this.context.length-1;this.context[t]===I.f_expr?this.context[t]=I.f_expr_gen:this.context[t]=I.f_gen}this.exprAllowed=!0},r.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==r.dot&&(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var C=V.prototype;C.checkPropClash=function(e,t,i){if(!(this.options.ecmaVersion>=9&&e.type==="SpreadElement")&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var s=e.key,n;switch(s.type){case"Identifier":n=s.name;break;case"Literal":n=String(s.value);break;default:return}var o=e.kind;if(this.options.ecmaVersion>=6){n==="__proto__"&&o==="init"&&(t.proto&&(i?i.doubleProto<0&&(i.doubleProto=s.start):this.raiseRecoverable(s.start,"Redefinition of __proto__ property")),t.proto=!0);return}n="$"+n;var p=t[n];if(p){var m;o==="init"?m=this.strict&&p.init||p.get||p.set:m=p.init||p[o],m&&this.raiseRecoverable(s.start,"Redefinition of property")}else p=t[n]={init:!1,get:!1,set:!1};p[o]=!0}},C.parseExpression=function(e,t){var i=this.start,s=this.startLoc,n=this.parseMaybeAssign(e,t);if(this.type===r.comma){var o=this.startNodeAt(i,s);for(o.expressions=[n];this.eat(r.comma);)o.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(o,"SequenceExpression")}return n},C.parseMaybeAssign=function(e,t,i){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var s=!1,n=-1,o=-1,p=-1;t?(n=t.parenthesizedAssign,o=t.trailingComma,p=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new Ae,s=!0);var m=this.start,g=this.startLoc;(this.type===r.parenL||this.type===r.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e==="await");var T=this.parseMaybeConditional(e,t);if(i&&(T=i.call(this,T,m,g)),this.type.isAssign){var E=this.startNodeAt(m,g);return E.operator=this.value,this.type===r.eq&&(T=this.toAssignable(T,!1,t)),s||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=T.start&&(t.shorthandAssign=-1),this.type===r.eq?this.checkLValPattern(T):this.checkLValSimple(T),E.left=T,this.next(),E.right=this.parseMaybeAssign(e),p>-1&&(t.doubleProto=p),this.finishNode(E,"AssignmentExpression")}else s&&this.checkExpressionErrors(t,!0);return n>-1&&(t.parenthesizedAssign=n),o>-1&&(t.trailingComma=o),T},C.parseMaybeConditional=function(e,t){var i=this.start,s=this.startLoc,n=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return n;if(this.eat(r.question)){var o=this.startNodeAt(i,s);return o.test=n,o.consequent=this.parseMaybeAssign(),this.expect(r.colon),o.alternate=this.parseMaybeAssign(e),this.finishNode(o,"ConditionalExpression")}return n},C.parseExprOps=function(e,t){var i=this.start,s=this.startLoc,n=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||n.start===i&&n.type==="ArrowFunctionExpression"?n:this.parseExprOp(n,i,s,-1,e)},C.parseExprOp=function(e,t,i,s,n){var o=this.type.binop;if(o!=null&&(!n||this.type!==r._in)&&o>s){var p=this.type===r.logicalOR||this.type===r.logicalAND,m=this.type===r.coalesce;m&&(o=r.logicalAND.binop);var g=this.value;this.next();var T=this.start,E=this.startLoc,R=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,n),T,E,o,n),ie=this.buildBinary(t,i,e,R,g,p||m);return(p&&this.type===r.coalesce||m&&(this.type===r.logicalOR||this.type===r.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(ie,t,i,s,n)}return e},C.buildBinary=function(e,t,i,s,n,o){s.type==="PrivateIdentifier"&&this.raise(s.start,"Private identifier can only be left side of binary expression");var p=this.startNodeAt(e,t);return p.left=i,p.operator=n,p.right=s,this.finishNode(p,o?"LogicalExpression":"BinaryExpression")},C.parseMaybeUnary=function(e,t,i,s){var n=this.start,o=this.startLoc,p;if(this.isContextual("await")&&this.canAwait)p=this.parseAwait(s),t=!0;else if(this.type.prefix){var m=this.startNode(),g=this.type===r.incDec;m.operator=this.value,m.prefix=!0,this.next(),m.argument=this.parseMaybeUnary(null,!0,g,s),this.checkExpressionErrors(e,!0),g?this.checkLValSimple(m.argument):this.strict&&m.operator==="delete"&&m.argument.type==="Identifier"?this.raiseRecoverable(m.start,"Deleting local variable in strict mode"):m.operator==="delete"&&Tt(m.argument)?this.raiseRecoverable(m.start,"Private fields can not be deleted"):t=!0,p=this.finishNode(m,g?"UpdateExpression":"UnaryExpression")}else if(!t&&this.type===r.privateId)(s||this.privateNameStack.length===0)&&this.options.checkPrivateFields&&this.unexpected(),p=this.parsePrivateIdent(),this.type!==r._in&&this.unexpected();else{if(p=this.parseExprSubscripts(e,s),this.checkExpressionErrors(e))return p;for(;this.type.postfix&&!this.canInsertSemicolon();){var T=this.startNodeAt(n,o);T.operator=this.value,T.prefix=!1,T.argument=p,this.checkLValSimple(p),this.next(),p=this.finishNode(T,"UpdateExpression")}}if(!i&&this.eat(r.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(n,o,p,this.parseMaybeUnary(null,!1,!1,s),"**",!1);else return p};function Tt(e){return e.type==="MemberExpression"&&e.property.type==="PrivateIdentifier"||e.type==="ChainExpression"&&Tt(e.expression)}C.parseExprSubscripts=function(e,t){var i=this.start,s=this.startLoc,n=this.parseExprAtom(e,t);if(n.type==="ArrowFunctionExpression"&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==")")return n;var o=this.parseSubscripts(n,i,s,!1,t);return e&&o.type==="MemberExpression"&&(e.parenthesizedAssign>=o.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=o.start&&(e.parenthesizedBind=-1),e.trailingComma>=o.start&&(e.trailingComma=-1)),o},C.parseSubscripts=function(e,t,i,s,n){for(var o=this.options.ecmaVersion>=8&&e.type==="Identifier"&&e.name==="async"&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,p=!1;;){var m=this.parseSubscript(e,t,i,s,o,p,n);if(m.optional&&(p=!0),m===e||m.type==="ArrowFunctionExpression"){if(p){var g=this.startNodeAt(t,i);g.expression=m,m=this.finishNode(g,"ChainExpression")}return m}e=m}},C.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(r.arrow)},C.parseSubscriptAsyncArrow=function(e,t,i,s){return this.parseArrowExpression(this.startNodeAt(e,t),i,!0,s)},C.parseSubscript=function(e,t,i,s,n,o,p){var m=this.options.ecmaVersion>=11,g=m&&this.eat(r.questionDot);s&&g&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var T=this.eat(r.bracketL);if(T||g&&this.type!==r.parenL&&this.type!==r.backQuote||this.eat(r.dot)){var E=this.startNodeAt(t,i);E.object=e,T?(E.property=this.parseExpression(),this.expect(r.bracketR)):this.type===r.privateId&&e.type!=="Super"?E.property=this.parsePrivateIdent():E.property=this.parseIdent(this.options.allowReserved!=="never"),E.computed=!!T,m&&(E.optional=g),e=this.finishNode(E,"MemberExpression")}else if(!s&&this.eat(r.parenL)){var R=new Ae,ie=this.yieldPos,ve=this.awaitPos,ue=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var Le=this.parseExprList(r.parenR,this.options.ecmaVersion>=8,!1,R);if(n&&!g&&this.shouldParseAsyncArrow())return this.checkPatternErrors(R,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=ie,this.awaitPos=ve,this.awaitIdentPos=ue,this.parseSubscriptAsyncArrow(t,i,Le,p);this.checkExpressionErrors(R,!0),this.yieldPos=ie||this.yieldPos,this.awaitPos=ve||this.awaitPos,this.awaitIdentPos=ue||this.awaitIdentPos;var he=this.startNodeAt(t,i);he.callee=e,he.arguments=Le,m&&(he.optional=g),e=this.finishNode(he,"CallExpression")}else if(this.type===r.backQuote){(g||o)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var pe=this.startNodeAt(t,i);pe.tag=e,pe.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(pe,"TaggedTemplateExpression")}return e},C.parseExprAtom=function(e,t,i){this.type===r.slash&&this.readRegexp();var s,n=this.potentialArrowAt===this.start;switch(this.type){case r._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),s=this.startNode(),this.next(),this.type===r.parenL&&!this.allowDirectSuper&&this.raise(s.start,"super() call outside constructor of a subclass"),this.type!==r.dot&&this.type!==r.bracketL&&this.type!==r.parenL&&this.unexpected(),this.finishNode(s,"Super");case r._this:return s=this.startNode(),this.next(),this.finishNode(s,"ThisExpression");case r.name:var o=this.start,p=this.startLoc,m=this.containsEsc,g=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!m&&g.name==="async"&&!this.canInsertSemicolon()&&this.eat(r._function))return this.overrideContext(I.f_expr),this.parseFunction(this.startNodeAt(o,p),0,!1,!0,t);if(n&&!this.canInsertSemicolon()){if(this.eat(r.arrow))return this.parseArrowExpression(this.startNodeAt(o,p),[g],!1,t);if(this.options.ecmaVersion>=8&&g.name==="async"&&this.type===r.name&&!m&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return g=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(r.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(o,p),[g],!0,t)}return g;case r.regexp:var T=this.value;return s=this.parseLiteral(T.value),s.regex={pattern:T.pattern,flags:T.flags},s;case r.num:case r.string:return this.parseLiteral(this.value);case r._null:case r._true:case r._false:return s=this.startNode(),s.value=this.type===r._null?null:this.type===r._true,s.raw=this.type.keyword,this.next(),this.finishNode(s,"Literal");case r.parenL:var E=this.start,R=this.parseParenAndDistinguishExpression(n,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(R)&&(e.parenthesizedAssign=E),e.parenthesizedBind<0&&(e.parenthesizedBind=E)),R;case r.bracketL:return s=this.startNode(),this.next(),s.elements=this.parseExprList(r.bracketR,!0,!0,e),this.finishNode(s,"ArrayExpression");case r.braceL:return this.overrideContext(I.b_expr),this.parseObj(!1,e);case r._function:return s=this.startNode(),this.next(),this.parseFunction(s,0);case r._class:return this.parseClass(this.startNode(),!1);case r._new:return this.parseNew();case r.backQuote:return this.parseTemplate();case r._import:return this.options.ecmaVersion>=11?this.parseExprImport(i):this.unexpected();default:return this.parseExprAtomDefault()}},C.parseExprAtomDefault=function(){this.unexpected()},C.parseExprImport=function(e){var t=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var i=this.parseIdent(!0);if(this.type===r.parenL&&!e)return this.parseDynamicImport(t);if(this.type===r.dot)return t.meta=i,this.parseImportMeta(t);this.unexpected()},C.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(r.parenR)){var t=this.start;this.eat(r.comma)&&this.eat(r.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},C.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},C.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},C.parseParenExpression=function(){this.expect(r.parenL);var e=this.parseExpression();return this.expect(r.parenR),e},C.shouldParseArrow=function(e){return!this.canInsertSemicolon()},C.parseParenAndDistinguishExpression=function(e,t){var i=this.start,s=this.startLoc,n,o=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var p=this.start,m=this.startLoc,g=[],T=!0,E=!1,R=new Ae,ie=this.yieldPos,ve=this.awaitPos,ue;for(this.yieldPos=0,this.awaitPos=0;this.type!==r.parenR;)if(T?T=!1:this.expect(r.comma),o&&this.afterTrailingComma(r.parenR,!0)){E=!0;break}else if(this.type===r.ellipsis){ue=this.start,g.push(this.parseParenItem(this.parseRestBinding())),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}else g.push(this.parseMaybeAssign(!1,R,this.parseParenItem));var Le=this.lastTokEnd,he=this.lastTokEndLoc;if(this.expect(r.parenR),e&&this.shouldParseArrow(g)&&this.eat(r.arrow))return this.checkPatternErrors(R,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=ie,this.awaitPos=ve,this.parseParenArrowList(i,s,g,t);(!g.length||E)&&this.unexpected(this.lastTokStart),ue&&this.unexpected(ue),this.checkExpressionErrors(R,!0),this.yieldPos=ie||this.yieldPos,this.awaitPos=ve||this.awaitPos,g.length>1?(n=this.startNodeAt(p,m),n.expressions=g,this.finishNodeAt(n,"SequenceExpression",Le,he)):n=g[0]}else n=this.parseParenExpression();if(this.options.preserveParens){var pe=this.startNodeAt(i,s);return pe.expression=n,this.finishNode(pe,"ParenthesizedExpression")}else return n},C.parseParenItem=function(e){return e},C.parseParenArrowList=function(e,t,i,s){return this.parseArrowExpression(this.startNodeAt(e,t),i,!1,s)};var Ii=[];C.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(r.dot)){e.meta=t;var i=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),i&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var s=this.start,n=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),s,n,!0,!1),this.eat(r.parenL)?e.arguments=this.parseExprList(r.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ii,this.finishNode(e,"NewExpression")},C.parseTemplateElement=function(e){var t=e.isTagged,i=this.startNode();return this.type===r.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value,cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,`
+`),cooked:this.value},this.next(),i.tail=this.type===r.backQuote,this.finishNode(i,"TemplateElement")},C.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var i=this.startNode();this.next(),i.expressions=[];var s=this.parseTemplateElement({isTagged:t});for(i.quasis=[s];!s.tail;)this.type===r.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(r.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(r.braceR),i.quasis.push(s=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(i,"TemplateLiteral")},C.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===r.name||this.type===r.num||this.type===r.string||this.type===r.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===r.star)&&!j.test(this.input.slice(this.lastTokEnd,this.start))},C.parseObj=function(e,t){var i=this.startNode(),s=!0,n={};for(i.properties=[],this.next();!this.eat(r.braceR);){if(s)s=!1;else if(this.expect(r.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(r.braceR))break;var o=this.parseProperty(e,t);e||this.checkPropClash(o,n,t),i.properties.push(o)}return this.finishNode(i,e?"ObjectPattern":"ObjectExpression")},C.parseProperty=function(e,t){var i=this.startNode(),s,n,o,p;if(this.options.ecmaVersion>=9&&this.eat(r.ellipsis))return e?(i.argument=this.parseIdent(!1),this.type===r.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(i,"RestElement")):(i.argument=this.parseMaybeAssign(!1,t),this.type===r.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(i,"SpreadElement"));this.options.ecmaVersion>=6&&(i.method=!1,i.shorthand=!1,(e||t)&&(o=this.start,p=this.startLoc),e||(s=this.eat(r.star)));var m=this.containsEsc;return this.parsePropertyName(i),!e&&!m&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(i)?(n=!0,s=this.options.ecmaVersion>=9&&this.eat(r.star),this.parsePropertyName(i)):n=!1,this.parsePropertyValue(i,e,s,n,o,p,t,m),this.finishNode(i,"Property")},C.parseGetterSetter=function(e){e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var t=e.kind==="get"?0:1;if(e.value.params.length!==t){var i=e.value.start;e.kind==="get"?this.raiseRecoverable(i,"getter should have no params"):this.raiseRecoverable(i,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")},C.parsePropertyValue=function(e,t,i,s,n,o,p,m){(i||s)&&this.type===r.colon&&this.unexpected(),this.eat(r.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,p),e.kind="init"):this.options.ecmaVersion>=6&&this.type===r.parenL?(t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(i,s)):!t&&!m&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==r.comma&&this.type!==r.braceR&&this.type!==r.eq?((i||s)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((i||s)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,o,this.copyNode(e.key)):this.type===r.eq&&p?(p.shorthandAssign<0&&(p.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,o,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()},C.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(r.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(r.bracketR),e.key;e.computed=!1}return e.key=this.type===r.num||this.type===r.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},C.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},C.parseMethod=function(e,t,i){var s=this.startNode(),n=this.yieldPos,o=this.awaitPos,p=this.awaitIdentPos;return this.initFunction(s),this.options.ecmaVersion>=6&&(s.generator=e),this.options.ecmaVersion>=8&&(s.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(ze(t,s.generator)|We|(i?bt:0)),this.expect(r.parenL),s.params=this.parseBindingList(r.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(s,!1,!0,!1),this.yieldPos=n,this.awaitPos=o,this.awaitIdentPos=p,this.finishNode(s,"FunctionExpression")},C.parseArrowExpression=function(e,t,i,s){var n=this.yieldPos,o=this.awaitPos,p=this.awaitIdentPos;return this.enterScope(ze(i,!1)|gt),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!i),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,s),this.yieldPos=n,this.awaitPos=o,this.awaitIdentPos=p,this.finishNode(e,"ArrowFunctionExpression")},C.parseFunctionBody=function(e,t,i,s){var n=t&&this.type!==r.braceL,o=this.strict,p=!1;if(n)e.body=this.parseMaybeAssign(s),e.expression=!0,this.checkParams(e,!1);else{var m=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!o||m)&&(p=this.strictDirective(this.end),p&&m&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var g=this.labels;this.labels=[],p&&(this.strict=!0),this.checkParams(e,!o&&!p&&!t&&!i&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Ct),e.body=this.parseBlock(!1,void 0,p&&!o),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=g}this.exitScope()},C.isSimpleParamList=function(e){for(var t=0,i=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&n.flags&de&&delete this.undefinedExports[e]}else if(t===_t){var o=this.currentScope();o.lexical.push(e)}else if(t===St){var p=this.currentScope();this.treatFunctionsAsVar?s=p.lexical.indexOf(e)>-1:s=p.lexical.indexOf(e)>-1||p.var.indexOf(e)>-1,p.functions.push(e)}else for(var m=this.scopeStack.length-1;m>=0;--m){var g=this.scopeStack[m];if(g.lexical.indexOf(e)>-1&&!(g.flags&vt&&g.lexical[0]===e)||!this.treatFunctionsAsVarInScope(g)&&g.functions.indexOf(e)>-1){s=!0;break}if(g.var.push(e),this.inModule&&g.flags&de&&delete this.undefinedExports[e],g.flags&Xe)break}s&&this.raiseRecoverable(i,"Identifier '"+e+"' has already been declared")},ee.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},ee.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},ee.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&Xe)return t}},ee.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&Xe&&!(t.flags>))return t}};var ye=function(t,i,s){this.type="",this.start=i,this.end=0,t.options.locations&&(this.loc=new fe(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[i,0])},ge=V.prototype;ge.startNode=function(){return new ye(this,this.start,this.startLoc)},ge.startNodeAt=function(e,t){return new ye(this,e,t)};function wt(e,t,i,s){return e.type=t,e.end=i,this.options.locations&&(e.loc.end=s),this.options.ranges&&(e.range[1]=i),e}ge.finishNode=function(e,t){return wt.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},ge.finishNodeAt=function(e,t,i,s){return wt.call(this,e,t,i,s)},ge.copyNode=function(e){var t=new ye(this,e.start,this.startLoc);for(var i in e)t[i]=e[i];return t};var Et="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",At=Et+" Extended_Pictographic",Pt=At,It=Pt+" EBase EComp EMod EPres ExtPict",Nt=It,Vi=Nt,Li={9:Et,10:At,11:Pt,12:It,13:Nt,14:Vi},Ri="Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji",Oi={9:"",10:"",11:"",12:"",13:"",14:Ri},Vt="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Lt="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Rt=Lt+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Ot=Rt+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Bt=Ot+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",Dt=Bt+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",Bi=Dt+" Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz",Di={9:Lt,10:Rt,11:Ot,12:Bt,13:Dt,14:Bi},Ft={};function Fi(e){var t=Ft[e]={binary:$(Li[e]+" "+Vt),binaryOfStrings:$(Oi[e]),nonBinary:{General_Category:$(Vt),Script:$(Di[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var $e=0,jt=[9,10,11,12,13,14];$e=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=Ft[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};X.prototype.reset=function(t,i,s){var n=s.indexOf("v")!==-1,o=s.indexOf("u")!==-1;this.start=t|0,this.source=i+"",this.flags=s,n&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=o&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=o&&this.parser.options.ecmaVersion>=9)},X.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},X.prototype.at=function(t,i){i===void 0&&(i=!1);var s=this.source,n=s.length;if(t>=n)return-1;var o=s.charCodeAt(t);if(!(i||this.switchU)||o<=55295||o>=57344||t+1>=n)return o;var p=s.charCodeAt(t+1);return p>=56320&&p<=57343?(o<<10)+p-56613888:o},X.prototype.nextIndex=function(t,i){i===void 0&&(i=!1);var s=this.source,n=s.length;if(t>=n)return n;var o=s.charCodeAt(t),p;return!(i||this.switchU)||o<=55295||o>=57344||t+1>=n||(p=s.charCodeAt(t+1))<56320||p>57343?t+1:t+2},X.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)},X.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},X.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)},X.prototype.eat=function(t,i){return i===void 0&&(i=!1),this.current(i)===t?(this.advance(i),!0):!1},X.prototype.eatChars=function(t,i){i===void 0&&(i=!1);for(var s=this.pos,n=0,o=t;n-1&&this.raise(e.start,"Duplicate regular expression flag"),p==="u"&&(s=!0),p==="v"&&(n=!0)}this.options.ecmaVersion>=15&&s&&n&&this.raise(e.start,"Invalid regular expression flag")},v.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},v.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,i=e.backReferenceNames;t=9&&(i=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!i,!0}return e.pos=t,!1},v.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},v.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},v.regexp_eatBracedQuantifier=function(e,t){var i=e.pos;if(e.eat(123)){var s=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(s=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return n!==-1&&n=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},v.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},v.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},v.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Mt(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Mt(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}v.regexp_eatPatternCharacters=function(e){for(var t=e.pos,i=0;(i=e.current())!==-1&&!Mt(i);)e.advance();return e.pos!==t},v.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},v.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise("Duplicate capture group name"),e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}},v.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},v.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Z(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Z(e.lastIntValue);return!0}return!1},v.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,s=e.current(i);return e.advance(i),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(s=e.lastIntValue),Mi(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function Mi(e){return F(e,!0)||e===36||e===95}v.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,s=e.current(i);return e.advance(i),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(s=e.lastIntValue),Ui(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function Ui(e){return d(e,!0)||e===36||e===95||e===8204||e===8205}v.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},v.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var i=e.lastIntValue;if(e.switchU)return i>e.maxBackReference&&(e.maxBackReference=i),!0;if(i<=e.numCapturingParens)return!0;e.pos=t}return!1},v.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},v.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},v.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},v.regexp_eatZero=function(e){return e.current()===48&&!Ne(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},v.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},v.regexp_eatControlLetter=function(e){var t=e.current();return Ut(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function Ut(e){return e>=65&&e<=90||e>=97&&e<=122}v.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var i=e.pos,s=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(s&&n>=55296&&n<=56319){var o=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var p=e.lastIntValue;if(p>=56320&&p<=57343)return e.lastIntValue=(n-55296)*1024+(p-56320)+65536,!0}e.pos=o,e.lastIntValue=n}return!0}if(s&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&qi(e.lastIntValue))return!0;s&&e.raise("Invalid unicode escape"),e.pos=i}return!1};function qi(e){return e>=0&&e<=1114111}v.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},v.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};var qt=0,Y=1,J=2;v.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Ki(t))return e.lastIntValue=-1,e.advance(),Y;var i=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((i=t===80)||t===112)){e.lastIntValue=-1,e.advance();var s;if(e.eat(123)&&(s=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return i&&s===J&&e.raise("Invalid property name"),s;e.raise("Invalid property name")}return qt};function Ki(e){return e===100||e===68||e===115||e===83||e===119||e===87}v.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var i=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var s=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,i,s),Y}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n)}return qt},v.regexp_validateUnicodePropertyNameAndValue=function(e,t,i){le(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(i)||e.raise("Invalid property value")},v.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return Y;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return J;e.raise("Invalid property name")},v.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Kt(t=e.current());)e.lastStringValue+=Z(t),e.advance();return e.lastStringValue!==""};function Kt(e){return Ut(e)||e===95}v.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";Ji(t=e.current());)e.lastStringValue+=Z(t),e.advance();return e.lastStringValue!==""};function Ji(e){return Kt(e)||Ne(e)}v.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},v.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),i=this.regexp_classContents(e);return e.eat(93)||e.raise("Unterminated character class"),t&&i===J&&e.raise("Negated character class may contain strings"),!0}return!1},v.regexp_classContents=function(e){return e.current()===93?Y:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),Y)},v.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var i=e.lastIntValue;e.switchU&&(t===-1||i===-1)&&e.raise("Invalid character class"),t!==-1&&i!==-1&&t>i&&e.raise("Range out of order in character class")}}},v.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var i=e.current();(i===99||Wt(i))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var s=e.current();return s!==93?(e.lastIntValue=s,e.advance(),!0):!1},v.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},v.regexp_classSetExpression=function(e){var t=Y,i;if(!this.regexp_eatClassSetRange(e))if(i=this.regexp_eatClassSetOperand(e)){i===J&&(t=J);for(var s=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(i=this.regexp_eatClassSetOperand(e))){i!==J&&(t=Y);continue}e.raise("Invalid character in character class")}if(s!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise("Invalid character in character class");if(s!==e.pos)return t}else e.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(e)){if(i=this.regexp_eatClassSetOperand(e),!i)return t;i===J&&(t=J)}},v.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var i=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var s=e.lastIntValue;return i!==-1&&s!==-1&&i>s&&e.raise("Range out of order in character class"),!0}e.pos=t}return!1},v.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?Y:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},v.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var i=e.eat(94),s=this.regexp_classContents(e);if(e.eat(93))return i&&s===J&&e.raise("Negated character class may contain strings"),s;e.pos=t}if(e.eat(92)){var n=this.regexp_eatCharacterClassEscape(e);if(n)return n;e.pos=t}return null},v.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var i=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return i}else e.raise("Invalid escape");e.pos=t}return null},v.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===J&&(t=J);return t},v.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?Y:J},v.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var i=e.current();return i<0||i===e.lookahead()&&Gi(i)||Wi(i)?!1:(e.advance(),e.lastIntValue=i,!0)};function Gi(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function Wi(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}v.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return Xi(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Xi(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}v.regexp_eatClassControlLetter=function(e){var t=e.current();return Ne(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},v.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},v.regexp_eatDecimalDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Ne(i=e.current());)e.lastIntValue=10*e.lastIntValue+(i-48),e.advance();return e.pos!==t};function Ne(e){return e>=48&&e<=57}v.regexp_eatHexDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;Jt(i=e.current());)e.lastIntValue=16*e.lastIntValue+Gt(i),e.advance();return e.pos!==t};function Jt(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Gt(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}v.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var i=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+i*8+e.lastIntValue:e.lastIntValue=t*8+i}else e.lastIntValue=t;return!0}return!1},v.regexp_eatOctalDigit=function(e){var t=e.current();return Wt(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function Wt(e){return e>=48&&e<=55}v.regexp_eatFixedHexDigits=function(e,t){var i=e.pos;e.lastIntValue=0;for(var s=0;s=this.input.length)return this.finishToken(r.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},A.readToken=function(e){return F(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},A.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},A.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(i===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(var s=void 0,n=t;(s=ft(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=s;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,i),t,this.pos,e,this.curPosition())},A.skipLineComment=function(e){for(var t=this.pos,i=this.options.onComment&&this.curPosition(),s=this.input.charCodeAt(this.pos+=e);this.pos8&&e<14||e>=5760&&Ke.test(String.fromCharCode(e)))++this.pos;else break e}}},A.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=e,this.value=t,this.updateContext(i)},A.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(r.ellipsis)):(++this.pos,this.finishToken(r.dot))},A.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(r.assign,2):this.finishOp(r.slash,1)},A.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),i=1,s=e===42?r.star:r.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++i,s=r.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(r.assign,i+1):this.finishOp(s,i)},A.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var i=this.input.charCodeAt(this.pos+2);if(i===61)return this.finishOp(r.assign,3)}return this.finishOp(e===124?r.logicalOR:r.logicalAND,2)}return t===61?this.finishOp(r.assign,2):this.finishOp(e===124?r.bitwiseOR:r.bitwiseAND,1)},A.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(r.assign,2):this.finishOp(r.bitwiseXOR,1)},A.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||j.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(r.incDec,2):t===61?this.finishOp(r.assign,2):this.finishOp(r.plusMin,1)},A.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),i=1;return t===e?(i=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+i)===61?this.finishOp(r.assign,i+1):this.finishOp(r.bitShift,i)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(i=2),this.finishOp(r.relational,i))},A.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(r.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(r.arrow)):this.finishOp(e===61?r.eq:r.prefix,1)},A.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var i=this.input.charCodeAt(this.pos+2);if(i<48||i>57)return this.finishOp(r.questionDot,2)}if(t===63){if(e>=12){var s=this.input.charCodeAt(this.pos+2);if(s===61)return this.finishOp(r.assign,3)}return this.finishOp(r.coalesce,2)}}return this.finishOp(r.question,1)},A.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),F(t,!0)||t===92))return this.finishToken(r.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Z(t)+"'")},A.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(r.parenL);case 41:return++this.pos,this.finishToken(r.parenR);case 59:return++this.pos,this.finishToken(r.semi);case 44:return++this.pos,this.finishToken(r.comma);case 91:return++this.pos,this.finishToken(r.bracketL);case 93:return++this.pos,this.finishToken(r.bracketR);case 123:return++this.pos,this.finishToken(r.braceL);case 125:return++this.pos,this.finishToken(r.braceR);case 58:return++this.pos,this.finishToken(r.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(r.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(r.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Z(e)+"'")},A.finishOp=function(e,t){var i=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,i)},A.readRegexp=function(){for(var e,t,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(j.test(s)&&this.raise(i,"Unterminated regular expression"),e)e=!1;else{if(s==="[")t=!0;else if(s==="]"&&t)t=!1;else if(s==="/"&&!t)break;e=s==="\\"}++this.pos}var n=this.input.slice(i,this.pos);++this.pos;var o=this.pos,p=this.readWord1();this.containsEsc&&this.unexpected(o);var m=this.regexpState||(this.regexpState=new X(this));m.reset(i,n,p),this.validateRegExpFlags(m),this.validateRegExpPattern(m);var g=null;try{g=new RegExp(n,p)}catch{}return this.finishToken(r.regexp,{pattern:n,flags:p,value:g})},A.readInt=function(e,t,i){for(var s=this.options.ecmaVersion>=12&&t===void 0,n=i&&this.input.charCodeAt(this.pos)===48,o=this.pos,p=0,m=0,g=0,T=t??1/0;g=97?R=E-97+10:E>=65?R=E-65+10:E>=48&&E<=57?R=E-48:R=1/0,R>=e)break;m=E,p=p*e+R}return s&&m===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===o||t!=null&&this.pos-o!==t?null:p};function zi(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function Xt(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}A.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var i=this.readInt(e);return i==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(i=Xt(this.input.slice(t,this.pos)),++this.pos):F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(r.num,i)},A.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var i=this.pos-t>=2&&this.input.charCodeAt(t)===48;i&&this.strict&&this.raise(t,"Invalid number");var s=this.input.charCodeAt(this.pos);if(!i&&!e&&this.options.ecmaVersion>=11&&s===110){var n=Xt(this.input.slice(t,this.pos));return++this.pos,F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(r.num,n)}i&&/[89]/.test(this.input.slice(t,this.pos))&&(i=!1),s===46&&!i&&(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),(s===69||s===101)&&!i&&(s=this.input.charCodeAt(++this.pos),(s===43||s===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),F(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var o=zi(this.input.slice(t,this.pos),i);return this.finishToken(r.num,o)},A.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var i=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(i,"Code point out of bounds")}else t=this.readHexChar(4);return t},A.readString=function(e){for(var t="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===e)break;s===92?(t+=this.input.slice(i,this.pos),t+=this.readEscapedChar(!1),i=this.pos):s===8232||s===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(te(s)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(i,this.pos++),this.finishToken(r.string,t)};var zt={};A.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===zt)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},A.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw zt;this.raise(e,t)},A.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(i===96||i===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===r.template||this.type===r.invalidTemplate)?i===36?(this.pos+=2,this.finishToken(r.dollarBraceL)):(++this.pos,this.finishToken(r.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(r.template,e));if(i===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(te(i)){switch(e+=this.input.slice(t,this.pos),++this.pos,i){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`
`;break;default:e+=String.fromCharCode(i);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},A.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var s=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(s,8);return n>255&&(s=s.slice(0,-1),n=parseInt(s,8)),this.pos+=s.length-1,t=this.input.charCodeAt(this.pos),(s!=="0"||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-s.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return te(t)?"":String.fromCharCode(t)}},A.readHexChar=function(e){var t=this.pos,i=this.readInt(16,e);return i===null&&this.invalidStringToken(t,"Bad character escape sequence"),i},A.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos{fi.exports={}});var ot=Se((ea,nt)=>{"use strict";var Ls=di(),Rs=/^[\da-fA-F]+$/,Os=/^\d+$/,mi=new WeakMap;function xi(a){a=a.Parser.acorn||a;let u=mi.get(a);if(!u){let c=a.tokTypes,h=a.TokContext,l=a.TokenType,f=new h("... ",!0,!0),L={tc_oTag:f,tc_cTag:m,tc_expr:_},P={jsxName:new l("jsxName"),jsxText:new l("jsxText",{beforeExpr:!0}),jsxTagStart:new l("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new l("jsxTagEnd")};P.jsxTagStart.updateContext=function(){this.context.push(_),this.context.push(f),this.exprAllowed=!1},P.jsxTagEnd.updateContext=function(D){let G=this.context.pop();G===f&&D===c.slash||G===m?(this.context.pop(),this.exprAllowed=this.curContext()===_):this.exprAllowed=!0},u={tokContexts:L,tokTypes:P},mi.set(a,u)}return u}function we(a){if(!a)return a;if(a.type==="JSXIdentifier")return a.name;if(a.type==="JSXNamespacedName")return a.namespace.name+":"+a.name.name;if(a.type==="JSXMemberExpression")return we(a.object)+"."+we(a.property)}nt.exports=function(a){return a=a||{},function(u){return Bs({allowNamespaces:a.allowNamespaces!==!1,allowNamespacedObjects:!!a.allowNamespacedObjects},u)}};Object.defineProperty(nt.exports,"tokTypes",{get:function(){return xi(Ee()).tokTypes},configurable:!0,enumerable:!0});function Bs(a,u){let c=u.acorn||Ee(),h=xi(c),l=c.tokTypes,f=h.tokTypes,m=c.tokContexts,_=h.tokContexts.tc_oTag,L=h.tokContexts.tc_cTag,P=h.tokContexts.tc_expr,D=c.isNewLine,G=c.isIdentifierStart,F=c.isIdentifierChar;return class extends u{static get acornJsx(){return h}jsx_readToken(){let d="",y=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let b=this.input.charCodeAt(this.pos);switch(b){case 60:case 123:return this.pos===this.start?b===60&&this.exprAllowed?(++this.pos,this.finishToken(f.jsxTagStart)):this.getTokenFromCode(b):(d+=this.input.slice(y,this.pos),this.finishToken(f.jsxText,d));case 38:d+=this.input.slice(y,this.pos),d+=this.jsx_readEntity(),y=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(b===62?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:D(b)?(d+=this.input.slice(y,this.pos),d+=this.jsx_readNewLine(!0),y=this.pos):++this.pos}}}jsx_readNewLine(d){let y=this.input.charCodeAt(this.pos),b;return++this.pos,y===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,b=d?`
+`;case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Z(this.readCodePoint());case 116:return" ";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),e){var i=this.pos-1;this.invalidStringToken(i,"Invalid escape sequence in template string")}default:if(t>=48&&t<=55){var s=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(s,8);return n>255&&(s=s.slice(0,-1),n=parseInt(s,8)),this.pos+=s.length-1,t=this.input.charCodeAt(this.pos),(s!=="0"||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-s.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return te(t)?"":String.fromCharCode(t)}},A.readHexChar=function(e){var t=this.pos,i=this.readInt(16,e);return i===null&&this.invalidStringToken(t,"Bad character escape sequence"),i},A.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos{li.exports={}});var nt=be((Hr,at)=>{"use strict";var Ns=fi(),Vs=/^[\da-fA-F]+$/,Ls=/^\d+$/,di=new WeakMap;function mi(a){a=a.Parser.acorn||a;let u=di.get(a);if(!u){let c=a.tokTypes,h=a.TokContext,l=a.TokenType,f=new h("... ",!0,!0),L={tc_oTag:f,tc_cTag:y,tc_expr:_},P={jsxName:new l("jsxName"),jsxText:new l("jsxText",{beforeExpr:!0}),jsxTagStart:new l("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new l("jsxTagEnd")};P.jsxTagStart.updateContext=function(){this.context.push(_),this.context.push(f),this.exprAllowed=!1},P.jsxTagEnd.updateContext=function(D){let G=this.context.pop();G===f&&D===c.slash||G===y?(this.context.pop(),this.exprAllowed=this.curContext()===_):this.exprAllowed=!0},u={tokContexts:L,tokTypes:P},di.set(a,u)}return u}function Te(a){if(!a)return a;if(a.type==="JSXIdentifier")return a.name;if(a.type==="JSXNamespacedName")return a.namespace.name+":"+a.name.name;if(a.type==="JSXMemberExpression")return Te(a.object)+"."+Te(a.property)}at.exports=function(a){return a=a||{},function(u){return Rs({allowNamespaces:a.allowNamespaces!==!1,allowNamespacedObjects:!!a.allowNamespacedObjects},u)}};Object.defineProperty(at.exports,"tokTypes",{get:function(){return mi(ke()).tokTypes},configurable:!0,enumerable:!0});function Rs(a,u){let c=u.acorn||ke(),h=mi(c),l=c.tokTypes,f=h.tokTypes,y=c.tokContexts,_=h.tokContexts.tc_oTag,L=h.tokContexts.tc_cTag,P=h.tokContexts.tc_expr,D=c.isNewLine,G=c.isIdentifierStart,F=c.isIdentifierChar;return class extends u{static get acornJsx(){return h}jsx_readToken(){let d="",x=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let b=this.input.charCodeAt(this.pos);switch(b){case 60:case 123:return this.pos===this.start?b===60&&this.exprAllowed?(++this.pos,this.finishToken(f.jsxTagStart)):this.getTokenFromCode(b):(d+=this.input.slice(x,this.pos),this.finishToken(f.jsxText,d));case 38:d+=this.input.slice(x,this.pos),d+=this.jsx_readEntity(),x=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(b===62?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:D(b)?(d+=this.input.slice(x,this.pos),d+=this.jsx_readNewLine(!0),x=this.pos):++this.pos}}}jsx_readNewLine(d){let x=this.input.charCodeAt(this.pos),b;return++this.pos,x===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,b=d?`
`:`\r
-`):b=String.fromCharCode(y),this.options.locations&&(++this.curLine,this.lineStart=this.pos),b}jsx_readString(d){let y="",b=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let k=this.input.charCodeAt(this.pos);if(k===d)break;k===38?(y+=this.input.slice(b,this.pos),y+=this.jsx_readEntity(),b=this.pos):D(k)?(y+=this.input.slice(b,this.pos),y+=this.jsx_readNewLine(!1),b=this.pos):++this.pos}return y+=this.input.slice(b,this.pos++),this.finishToken(l.string,y)}jsx_readEntity(){let d="",y=0,b,k=this.input[this.pos];k!=="&"&&this.raise(this.pos,"Entity must start with an ampersand");let N=++this.pos;for(;this.pos")}let E=N.name?"Element":"Fragment";return b["opening"+E]=N,b["closing"+E]=H,b.children=k,this.type===l.relational&&this.value==="<"&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(b,"JSX"+E)}jsx_parseText(){let d=this.parseLiteral(this.value);return d.type="JSXText",d}jsx_parseElement(){let d=this.start,y=this.startLoc;return this.next(),this.jsx_parseElementAt(d,y)}parseExprAtom(d){return this.type===f.jsxText?this.jsx_parseText():this.type===f.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(d)}readToken(d){let y=this.curContext();if(y===P)return this.jsx_readToken();if(y===_||y===L){if(G(d))return this.jsx_readWord();if(d==62)return++this.pos,this.finishToken(f.jsxTagEnd);if((d===34||d===39)&&y==_)return this.jsx_readString(d)}return d===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(f.jsxTagStart)):super.readToken(d)}updateContext(d){if(this.type==l.braceL){var y=this.curContext();y==_?this.context.push(m.b_expr):y==P?this.context.push(m.b_tmpl):super.updateContext(d),this.exprAllowed=!0}else if(this.type===l.slash&&d===f.jsxTagStart)this.context.length-=2,this.context.push(L),this.exprAllowed=!1;else return super.updateContext(d)}}}});var bi=Se(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});var qs=Ee(),Ks=ot();function Js(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}function Gs(a){if(a&&a.__esModule)return a;var u=Object.create(null);return a&&Object.keys(a).forEach(function(c){if(c!=="default"){var h=Object.getOwnPropertyDescriptor(a,c);Object.defineProperty(u,c,h.get?h:{enumerable:!0,get:function(){return a[c]}})}}),u.default=a,Object.freeze(u)}var gi=Gs(qs),zs=Js(Ks),B={Boolean:"Boolean",EOF:"",Identifier:"Identifier",PrivateIdentifier:"PrivateIdentifier",Keyword:"Keyword",Null:"Null",Numeric:"Numeric",Punctuator:"Punctuator",String:"String",RegularExpression:"RegularExpression",Template:"Template",JSXIdentifier:"JSXIdentifier",JSXText:"JSXText"};function Ws(a,u){let c=a[0],h=a[a.length-1],l={type:B.Template,value:u.slice(c.start,h.end)};return c.loc&&(l.loc={start:c.loc.start,end:h.loc.end}),c.range&&(l.start=c.range[0],l.end=h.range[1],l.range=[l.start,l.end]),l}function pt(a,u){this._acornTokTypes=a,this._tokens=[],this._curlyBrace=null,this._code=u}pt.prototype={constructor:pt,translate(a,u){let c=a.type,h=this._acornTokTypes;if(c===h.name)a.type=B.Identifier,a.value==="static"&&(a.type=B.Keyword),u.ecmaVersion>5&&(a.value==="yield"||a.value==="let")&&(a.type=B.Keyword);else if(c===h.privateId)a.type=B.PrivateIdentifier;else if(c===h.semi||c===h.comma||c===h.parenL||c===h.parenR||c===h.braceL||c===h.braceR||c===h.dot||c===h.bracketL||c===h.colon||c===h.question||c===h.bracketR||c===h.ellipsis||c===h.arrow||c===h.jsxTagStart||c===h.incDec||c===h.starstar||c===h.jsxTagEnd||c===h.prefix||c===h.questionDot||c.binop&&!c.keyword||c.isAssign)a.type=B.Punctuator,a.value=this._code.slice(a.start,a.end);else if(c===h.jsxName)a.type=B.JSXIdentifier;else if(c.label==="jsxText"||c===h.jsxAttrValueToken)a.type=B.JSXText;else if(c.keyword)c.keyword==="true"||c.keyword==="false"?a.type=B.Boolean:c.keyword==="null"?a.type=B.Null:a.type=B.Keyword;else if(c===h.num)a.type=B.Numeric,a.value=this._code.slice(a.start,a.end);else if(c===h.string)u.jsxAttrValueToken?(u.jsxAttrValueToken=!1,a.type=B.JSXText):a.type=B.String,a.value=this._code.slice(a.start,a.end);else if(c===h.regexp){a.type=B.RegularExpression;let l=a.value;a.regex={flags:l.flags,pattern:l.pattern},a.value=`/${l.pattern}/${l.flags}`}return a},onToken(a,u){let c=this,h=this._acornTokTypes,l=u.tokens,f=this._tokens;function m(){l.push(Ws(c._tokens,c._code)),c._tokens=[]}if(a.type===h.eof){this._curlyBrace&&l.push(this.translate(this._curlyBrace,u));return}if(a.type===h.backQuote){this._curlyBrace&&(l.push(this.translate(this._curlyBrace,u)),this._curlyBrace=null),f.push(a),f.length>1&&m();return}if(a.type===h.dollarBraceL){f.push(a),m();return}if(a.type===h.braceR){this._curlyBrace&&l.push(this.translate(this._curlyBrace,u)),this._curlyBrace=a;return}if(a.type===h.template||a.type===h.invalidTemplate){this._curlyBrace&&(f.push(this._curlyBrace),this._curlyBrace=null),f.push(a);return}this._curlyBrace&&(l.push(this.translate(this._curlyBrace,u)),this._curlyBrace=null),l.push(this.translate(a,u))}};var ct=[3,5,6,7,8,9,10,11,12,13,14,15];function Xs(){return ct[ct.length-1]}function Hs(a=5){let u=a==="latest"?Xs():a;if(typeof u!="number")throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof a} instead.`);if(u>=2015&&(u-=2009),!ct.includes(u))throw new Error("Invalid ecmaVersion.");return u}function Qs(a="script"){if(a==="script"||a==="module")return a;if(a==="commonjs")return"script";throw new Error("Invalid sourceType.")}function Ys(a){let u=Hs(a.ecmaVersion),c=Qs(a.sourceType),h=a.range===!0,l=a.loc===!0;if(u!==3&&a.allowReserved)throw new Error("`allowReserved` is only supported when ecmaVersion is 3");if(typeof a.allowReserved<"u"&&typeof a.allowReserved!="boolean")throw new Error("`allowReserved`, when present, must be `true` or `false`");let f=u===3?a.allowReserved||"never":!1,m=a.ecmaFeatures||{},_=a.sourceType==="commonjs"||!!m.globalReturn;if(c==="module"&&u<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},a,{ecmaVersion:u,sourceType:c,ranges:h,locations:l,allowReserved:f,allowReturnOutsideFunction:_})}var re=Symbol("espree's internal state"),ht=Symbol("espree's esprimaFinishNode");function $s(a,u,c,h,l,f,m){let _;a?_="Block":m.slice(c,c+2)==="#!"?_="Hashbang":_="Line";let L={type:_,value:u};return typeof c=="number"&&(L.start=c,L.end=h,L.range=[c,h]),typeof l=="object"&&(L.loc={start:l,end:f}),L}var vi=()=>a=>{let u=Object.assign({},a.acorn.tokTypes);return a.acornJsx&&Object.assign(u,a.acornJsx.tokTypes),class extends a{constructor(h,l){(typeof h!="object"||h===null)&&(h={}),typeof l!="string"&&!(l instanceof String)&&(l=String(l));let f=h.sourceType,m=Ys(h),_=m.ecmaFeatures||{},L=m.tokens===!0?new pt(u,l):null,P={originalSourceType:f||m.sourceType,tokens:L?[]:null,comments:m.comment===!0?[]:null,impliedStrict:_.impliedStrict===!0&&m.ecmaVersion>=5,ecmaVersion:m.ecmaVersion,jsxAttrValueToken:!1,lastToken:null,templateElements:[]};super({ecmaVersion:m.ecmaVersion,sourceType:m.sourceType,ranges:m.ranges,locations:m.locations,allowReserved:m.allowReserved,allowReturnOutsideFunction:m.allowReturnOutsideFunction,onToken:D=>{L&&L.onToken(D,P),D.type!==u.eof&&(P.lastToken=D)},onComment:(D,G,F,d,y,b)=>{if(P.comments){let k=$s(D,G,F,d,y,b,l);P.comments.push(k)}}},l),this[re]=P}tokenize(){do this.next();while(this.type!==u.eof);this.next();let h=this[re],l=h.tokens;return h.comments&&(l.comments=h.comments),l}finishNode(...h){let l=super.finishNode(...h);return this[ht](l)}finishNodeAt(...h){let l=super.finishNodeAt(...h);return this[ht](l)}parse(){let h=this[re],l=super.parse();if(l.sourceType=h.originalSourceType,h.comments&&(l.comments=h.comments),h.tokens&&(l.tokens=h.tokens),l.body.length){let[f]=l.body;l.range&&(l.range[0]=f.range[0]),l.loc&&(l.loc.start=f.loc.start),l.start=f.start}return h.lastToken&&(l.range&&(l.range[1]=h.lastToken.range[1]),l.loc&&(l.loc.end=h.lastToken.loc.end),l.end=h.lastToken.end),this[re].templateElements.forEach(f=>{let _=f.tail?1:2;f.start+=-1,f.end+=_,f.range&&(f.range[0]+=-1,f.range[1]+=_),f.loc&&(f.loc.start.column+=-1,f.loc.end.column+=_)}),l}parseTopLevel(h){return this[re].impliedStrict&&(this.strict=!0),super.parseTopLevel(h)}raise(h,l){let f=a.acorn.getLineInfo(this.input,h),m=new SyntaxError(l);throw m.index=h,m.lineNumber=f.line,m.column=f.column+1,m}raiseRecoverable(h,l){this.raise(h,l)}unexpected(h){let l="Unexpected token";if(h!=null){if(this.pos=h,this.options.locations)for(;this.posthis.start&&(l+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,l)}jsx_readString(h){let l=super.jsx_readString(h);return this.type===u.string&&(this[re].jsxAttrValueToken=!0),l}[ht](h){return h.type==="TemplateElement"&&this[re].templateElements.push(h),h.type.includes("Function")&&!h.generator&&(h.generator=!1),h}}},Zs={_regular:null,_jsx:null,get regular(){return this._regular===null&&(this._regular=gi.Parser.extend(vi())),this._regular},get jsx(){return this._jsx===null&&(this._jsx=gi.Parser.extend(zs.default(),vi())),this._jsx},get(a){return!!(a&&a.ecmaFeatures&&a.ecmaFeatures.jsx)?this.jsx:this.regular}};function er(a,u){let c=Zs.get(u);return new c(u,a).parse()}var tr="espree";Ke.name=tr;Ke.parse=er});var lt={};rs(lt,{parsers:()=>ar});function os(a,u){let c=new SyntaxError(a+" ("+u.loc.start.line+":"+u.loc.start.column+")");return Object.assign(c,u)}var ce=os;function us(a){let u=[];for(let c of a)try{return c()}catch(h){u.push(h)}throw Object.assign(new Error("All combinations failed"),{errors:u})}var Be=us;var le=ns(si(),1);function gs(a){if(!a.startsWith("#!"))return"";let u=a.indexOf(`
-`);return u===-1?a:a.slice(0,u)}var ri=gs;function vs(a){let u=ri(a);u&&(a=a.slice(u.length+1));let c=(0,le.extract)(a),{pragmas:h,comments:l}=(0,le.parseWithComments)(c);return{shebang:u,text:a,pragmas:h,comments:l}}function ai(a){let{pragmas:u}=vs(a);return Object.prototype.hasOwnProperty.call(u,"prettier")||Object.prototype.hasOwnProperty.call(u,"format")}function bs(a){return Array.isArray(a)&&a.length>0}var _e=bs;function M(a){var h;let u=a.range?a.range[0]:a.start,c=((h=a.declaration)==null?void 0:h.decorators)??a.decorators;return _e(c)?Math.min(M(c[0]),u):u}function X(a){return a.range?a.range[1]:a.end}function Ss(a){return a=typeof a=="function"?{parse:a}:a,{astFormat:"estree",hasPragma:ai,locStart:M,locEnd:X,...a}}var De=Ss;var _s=(a,u,c)=>{if(!(a&&u==null))return Array.isArray(u)||typeof u=="string"?u[c<0?u.length+c:c]:u.at(c)},tt=_s;function Cs(a){return a=new Set(a),u=>a.has(u==null?void 0:u.type)}var ni=Cs;var ks=ni(["Block","CommentBlock","MultiLine"]),Ce=ks;function Ts(a){return Ce(a)&&a.value[0]==="*"&&/@(?:type|satisfies)\b/.test(a.value)}var oi=Ts;function Es(a){let u=`*${a.value}*`.split(`
-`);return u.length>1&&u.every(c=>c.trimStart()[0]==="*")}var it=Es;var ke=null;function Te(a){if(ke!==null&&typeof ke.property){let u=ke;return ke=Te.prototype=null,u}return ke=Te.prototype=a??Object.create(null),new Te}var ws=10;for(let a=0;a<=ws;a++)Te();function st(a){return Te(a)}function As(a,u="type"){st(a);function c(h){let l=h[u],f=a[l];if(!Array.isArray(f))throw Object.assign(new Error(`Missing visitor keys for '${l}'.`),{node:h});return f}return c}var ui=As;var hi={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["test","body"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","params","body","returnType","typeParameters","predicate"],FunctionExpression:["id","params","body","returnType","typeParameters"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["key","params","body","decorators","returnType","typeParameters"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["params","body","returnType","typeParameters","predicate"],ClassBody:["body"],ClassExpression:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],ClassDeclaration:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],ExportAllDeclaration:["source","attributes","assertions","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes","assertions"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes","assertions"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["local","imported"],MetaProperty:["meta","property"],ClassMethod:["key","params","body","decorators","returnType","typeParameters"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","quasi","typeParameters"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],Import:[],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["key","value","typeAnnotation","decorators","variance"],ClassAccessorProperty:["key","value","typeAnnotation","decorators"],ClassPrivateProperty:["key","value","decorators","typeAnnotation","variance"],ClassPrivateMethod:["key","params","body","decorators","returnType","typeParameters"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source"],DeclareExportAllDeclaration:["source"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value","optional","static","method"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["id","key","value","variance"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["id","qualification"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],DecimalLiteral:[],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","typeAnnotation","nameType"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","parameter"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ImportExpression:["source","attributes"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareEnum:["id","body"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[]};var Ps=ui(hi),pi=Ps;function rt(a,u){if(!(a!==null&&typeof a=="object"))return a;if(Array.isArray(a)){for(let h=0;h{var _;(_=m.leadingComments)!=null&&_.some(oi)&&f.add(M(m))}),a=Fe(a,m=>{if(m.type==="ParenthesizedExpression"){let{expression:_}=m;if(_.type==="TypeCastExpression")return _.range=m.range,_;let L=M(m);if(!f.has(L))return _.extra={..._.extra,parenthesized:!0},_}})}if(a=Fe(a,f=>{switch(f.type){case"LogicalExpression":if(ci(f))return at(f);break;case"VariableDeclaration":{let m=tt(!1,f.declarations,-1);m!=null&&m.init&&l(f,m);break}case"TSParenthesizedType":return f.typeAnnotation;case"TSTypeParameter":if(typeof f.name=="string"){let m=M(f);f.name={type:"Identifier",name:f.name,range:[m,m+f.name.length]}}break;case"ObjectExpression":if(c==="typescript"){let m=f.properties.find(_=>_.type==="Property"&&_.value.type==="TSEmptyBodyFunctionExpression");m&&je(m.value,"Unexpected token.")}break;case"TSInterfaceDeclaration":_e(f.implements)&&je(f.implements[0],"Interface declaration cannot have 'implements' clause.");break;case"TSPropertySignature":f.initializer&&je(f.initializer,"An interface property cannot have an initializer.");break;case"TopicReference":a.extra={...a.extra,__isUsingHackPipeline:!0};break;case"ExportAllDeclaration":{let{exported:m}=f;if(c==="meriyah"&&(m==null?void 0:m.type)==="Identifier"){let _=h.slice(M(m),X(m));(_.startsWith('"')||_.startsWith("'"))&&(f.exported={...f.exported,type:"Literal",value:f.exported.name,raw:_})}break}case"TSUnionType":case"TSIntersectionType":if(f.types.length===1)return f.types[0];break}}),_e(a.comments)){let f=tt(!1,a.comments,-1);for(let m=a.comments.length-2;m>=0;m--){let _=a.comments[m];X(_)===M(f)&&Ce(_)&&Ce(f)&&it(_)&&it(f)&&(a.comments.splice(m+1,1),_.value+="*//*"+f.value,_.range=[M(_),X(f)]),f=_}}return a.type==="Program"&&(a.range=[0,h.length]),a;function l(f,m){h[X(m)]!==";"&&(f.range=[M(f),X(m)])}}function ci(a){return a.type==="LogicalExpression"&&a.right.type==="LogicalExpression"&&a.operator===a.right.operator}function at(a){return ci(a)?at({type:"LogicalExpression",operator:a.operator,left:at({type:"LogicalExpression",operator:a.operator,left:a.left,right:a.right.left,range:[M(a.left),X(a.right.left)]}),right:a.right.right,range:[M(a),X(a)]}):a}var Me=Ns;function Vs(a){let{filepath:u}=a;if(u){if(u=u.toLowerCase(),u.endsWith(".cjs"))return"script";if(u.endsWith(".mjs"))return"module"}}var Ue=Vs;var Ds={ecmaVersion:"latest",allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,locations:!0,ranges:!0};function Fs(a){let{message:u,loc:c}=a;if(!c)return a;let{line:h,column:l}=c;return ce(u.replace(/ \(\d+:\d+\)$/,""),{loc:{start:{line:h,column:l+1}},cause:a})}var ut,js=()=>{if(!ut){let{Parser:a}=Ee(),u=ot();ut=a.extend(u())}return ut};function Ms(a,u){let c=js(),h=[],l=[],f=c.parse(a,{...Ds,sourceType:u,allowImportExportEverywhere:u==="module",onComment:h,onToken:l});return f.comments=h,f.tokens=l,f}function Us(a,u={}){let c=Ue(u),h=(c?[c]:["module","script"]).map(f=>()=>Ms(a,f)),l;try{l=Be(h)}catch({errors:[f]}){throw Fs(f)}return Me(l,{text:a})}var yi=De(Us);var ir={ecmaVersion:"latest",range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};function sr(a){let{message:u,lineNumber:c,column:h}=a;return typeof c!="number"?a:ce(u,{loc:{start:{line:c,column:h}},cause:a})}function rr(a,u={}){let{parse:c}=bi(),h=Ue(u),l=(h?[h]:["module","script"]).map(m=>()=>c(a,{...ir,sourceType:m})),f;try{f=Be(l)}catch({errors:[m]}){throw sr(m)}return Me(f,{text:a})}var Si=De(rr);var ar={acorn:yi,espree:Si};var ga=lt;export{ga as default,ar as parsers};
+`):b=String.fromCharCode(x),this.options.locations&&(++this.curLine,this.lineStart=this.pos),b}jsx_readString(d){let x="",b=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let k=this.input.charCodeAt(this.pos);if(k===d)break;k===38?(x+=this.input.slice(b,this.pos),x+=this.jsx_readEntity(),b=this.pos):D(k)?(x+=this.input.slice(b,this.pos),x+=this.jsx_readNewLine(!1),b=this.pos):++this.pos}return x+=this.input.slice(b,this.pos++),this.finishToken(l.string,x)}jsx_readEntity(){let d="",x=0,b,k=this.input[this.pos];k!=="&"&&this.raise(this.pos,"Entity must start with an ampersand");let N=++this.pos;for(;this.pos")}let w=N.name?"Element":"Fragment";return b["opening"+w]=N,b["closing"+w]=H,b.children=k,this.type===l.relational&&this.value==="<"&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(b,"JSX"+w)}jsx_parseText(){let d=this.parseLiteral(this.value);return d.type="JSXText",d}jsx_parseElement(){let d=this.start,x=this.startLoc;return this.next(),this.jsx_parseElementAt(d,x)}parseExprAtom(d){return this.type===f.jsxText?this.jsx_parseText():this.type===f.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(d)}readToken(d){let x=this.curContext();if(x===P)return this.jsx_readToken();if(x===_||x===L){if(G(d))return this.jsx_readWord();if(d==62)return++this.pos,this.finishToken(f.jsxTagEnd);if((d===34||d===39)&&x==_)return this.jsx_readString(d)}return d===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(f.jsxTagStart)):super.readToken(d)}updateContext(d){if(this.type==l.braceL){var x=this.curContext();x==_?this.context.push(y.b_expr):x==P?this.context.push(y.b_tmpl):super.updateContext(d),this.exprAllowed=!0}else if(this.type===l.slash&&d===f.jsxTagStart)this.context.length-=2,this.context.push(L),this.exprAllowed=!1;else return super.updateContext(d)}}}});var vi=be(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});var Ms=ke(),Us=nt();function qs(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}function Ks(a){if(a&&a.__esModule)return a;var u=Object.create(null);return a&&Object.keys(a).forEach(function(c){if(c!=="default"){var h=Object.getOwnPropertyDescriptor(a,c);Object.defineProperty(u,c,h.get?h:{enumerable:!0,get:function(){return a[c]}})}}),u.default=a,Object.freeze(u)}var yi=Ks(Ms),Js=qs(Us),B={Boolean:"Boolean",EOF:"",Identifier:"Identifier",PrivateIdentifier:"PrivateIdentifier",Keyword:"Keyword",Null:"Null",Numeric:"Numeric",Punctuator:"Punctuator",String:"String",RegularExpression:"RegularExpression",Template:"Template",JSXIdentifier:"JSXIdentifier",JSXText:"JSXText"};function Gs(a,u){let c=a[0],h=a[a.length-1],l={type:B.Template,value:u.slice(c.start,h.end)};return c.loc&&(l.loc={start:c.loc.start,end:h.loc.end}),c.range&&(l.start=c.range[0],l.end=h.range[1],l.range=[l.start,l.end]),l}function ht(a,u){this._acornTokTypes=a,this._tokens=[],this._curlyBrace=null,this._code=u}ht.prototype={constructor:ht,translate(a,u){let c=a.type,h=this._acornTokTypes;if(c===h.name)a.type=B.Identifier,a.value==="static"&&(a.type=B.Keyword),u.ecmaVersion>5&&(a.value==="yield"||a.value==="let")&&(a.type=B.Keyword);else if(c===h.privateId)a.type=B.PrivateIdentifier;else if(c===h.semi||c===h.comma||c===h.parenL||c===h.parenR||c===h.braceL||c===h.braceR||c===h.dot||c===h.bracketL||c===h.colon||c===h.question||c===h.bracketR||c===h.ellipsis||c===h.arrow||c===h.jsxTagStart||c===h.incDec||c===h.starstar||c===h.jsxTagEnd||c===h.prefix||c===h.questionDot||c.binop&&!c.keyword||c.isAssign)a.type=B.Punctuator,a.value=this._code.slice(a.start,a.end);else if(c===h.jsxName)a.type=B.JSXIdentifier;else if(c.label==="jsxText"||c===h.jsxAttrValueToken)a.type=B.JSXText;else if(c.keyword)c.keyword==="true"||c.keyword==="false"?a.type=B.Boolean:c.keyword==="null"?a.type=B.Null:a.type=B.Keyword;else if(c===h.num)a.type=B.Numeric,a.value=this._code.slice(a.start,a.end);else if(c===h.string)u.jsxAttrValueToken?(u.jsxAttrValueToken=!1,a.type=B.JSXText):a.type=B.String,a.value=this._code.slice(a.start,a.end);else if(c===h.regexp){a.type=B.RegularExpression;let l=a.value;a.regex={flags:l.flags,pattern:l.pattern},a.value=`/${l.pattern}/${l.flags}`}return a},onToken(a,u){let c=this._acornTokTypes,h=u.tokens,l=this._tokens,f=()=>{h.push(Gs(this._tokens,this._code)),this._tokens=[]};if(a.type===c.eof){this._curlyBrace&&h.push(this.translate(this._curlyBrace,u));return}if(a.type===c.backQuote){this._curlyBrace&&(h.push(this.translate(this._curlyBrace,u)),this._curlyBrace=null),l.push(a),l.length>1&&f();return}if(a.type===c.dollarBraceL){l.push(a),f();return}if(a.type===c.braceR){this._curlyBrace&&h.push(this.translate(this._curlyBrace,u)),this._curlyBrace=a;return}if(a.type===c.template||a.type===c.invalidTemplate){this._curlyBrace&&(l.push(this._curlyBrace),this._curlyBrace=null),l.push(a);return}this._curlyBrace&&(h.push(this.translate(this._curlyBrace,u)),this._curlyBrace=null),h.push(this.translate(a,u))}};var pt=[3,5,6,7,8,9,10,11,12,13,14,15];function Ws(){return pt[pt.length-1]}function Xs(a=5){let u=a==="latest"?Ws():a;if(typeof u!="number")throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof a} instead.`);if(u>=2015&&(u-=2009),!pt.includes(u))throw new Error("Invalid ecmaVersion.");return u}function zs(a="script"){if(a==="script"||a==="module")return a;if(a==="commonjs")return"script";throw new Error("Invalid sourceType.")}function Hs(a){let u=Xs(a.ecmaVersion),c=zs(a.sourceType),h=a.range===!0,l=a.loc===!0;if(u!==3&&a.allowReserved)throw new Error("`allowReserved` is only supported when ecmaVersion is 3");if(typeof a.allowReserved<"u"&&typeof a.allowReserved!="boolean")throw new Error("`allowReserved`, when present, must be `true` or `false`");let f=u===3?a.allowReserved||"never":!1,y=a.ecmaFeatures||{},_=a.sourceType==="commonjs"||!!y.globalReturn;if(c==="module"&&u<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},a,{ecmaVersion:u,sourceType:c,ranges:h,locations:l,allowReserved:f,allowReturnOutsideFunction:_})}var re=Symbol("espree's internal state"),ut=Symbol("espree's esprimaFinishNode");function Qs(a,u,c,h,l,f,y){let _;a?_="Block":y.slice(c,c+2)==="#!"?_="Hashbang":_="Line";let L={type:_,value:u};return typeof c=="number"&&(L.start=c,L.end=h,L.range=[c,h]),typeof l=="object"&&(L.loc={start:l,end:f}),L}var gi=()=>a=>{let u=Object.assign({},a.acorn.tokTypes);return a.acornJsx&&Object.assign(u,a.acornJsx.tokTypes),class extends a{constructor(h,l){(typeof h!="object"||h===null)&&(h={}),typeof l!="string"&&!(l instanceof String)&&(l=String(l));let f=h.sourceType,y=Hs(h),_=y.ecmaFeatures||{},L=y.tokens===!0?new ht(u,l):null,P={originalSourceType:f||y.sourceType,tokens:L?[]:null,comments:y.comment===!0?[]:null,impliedStrict:_.impliedStrict===!0&&y.ecmaVersion>=5,ecmaVersion:y.ecmaVersion,jsxAttrValueToken:!1,lastToken:null,templateElements:[]};super({ecmaVersion:y.ecmaVersion,sourceType:y.sourceType,ranges:y.ranges,locations:y.locations,allowReserved:y.allowReserved,allowReturnOutsideFunction:y.allowReturnOutsideFunction,onToken(D){L&&L.onToken(D,P),D.type!==u.eof&&(P.lastToken=D)},onComment(D,G,F,d,x,b){if(P.comments){let k=Qs(D,G,F,d,x,b,l);P.comments.push(k)}}},l),this[re]=P}tokenize(){do this.next();while(this.type!==u.eof);this.next();let h=this[re],l=h.tokens;return h.comments&&(l.comments=h.comments),l}finishNode(...h){let l=super.finishNode(...h);return this[ut](l)}finishNodeAt(...h){let l=super.finishNodeAt(...h);return this[ut](l)}parse(){let h=this[re],l=super.parse();if(l.sourceType=h.originalSourceType,h.comments&&(l.comments=h.comments),h.tokens&&(l.tokens=h.tokens),l.body.length){let[f]=l.body;l.range&&(l.range[0]=f.range[0]),l.loc&&(l.loc.start=f.loc.start),l.start=f.start}return h.lastToken&&(l.range&&(l.range[1]=h.lastToken.range[1]),l.loc&&(l.loc.end=h.lastToken.loc.end),l.end=h.lastToken.end),this[re].templateElements.forEach(f=>{let _=f.tail?1:2;f.start+=-1,f.end+=_,f.range&&(f.range[0]+=-1,f.range[1]+=_),f.loc&&(f.loc.start.column+=-1,f.loc.end.column+=_)}),l}parseTopLevel(h){return this[re].impliedStrict&&(this.strict=!0),super.parseTopLevel(h)}raise(h,l){let f=a.acorn.getLineInfo(this.input,h),y=new SyntaxError(l);throw y.index=h,y.lineNumber=f.line,y.column=f.column+1,y}raiseRecoverable(h,l){this.raise(h,l)}unexpected(h){let l="Unexpected token";if(h!=null){if(this.pos=h,this.options.locations)for(;this.posthis.start&&(l+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,l)}jsx_readString(h){let l=super.jsx_readString(h);return this.type===u.string&&(this[re].jsxAttrValueToken=!0),l}[ut](h){return h.type==="TemplateElement"&&this[re].templateElements.push(h),h.type.includes("Function")&&!h.generator&&(h.generator=!1),h}}},Ys={_regular:null,_jsx:null,get regular(){return this._regular===null&&(this._regular=yi.Parser.extend(gi())),this._regular},get jsx(){return this._jsx===null&&(this._jsx=yi.Parser.extend(Js.default(),gi())),this._jsx},get(a){return!!(a&&a.ecmaFeatures&&a.ecmaFeatures.jsx)?this.jsx:this.regular}};function $s(a,u){let c=Ys.get(u);return new c(u,a).parse()}var Zs="espree";qe.name=Zs;qe.parse=$s});var ct={};ss(ct,{parsers:()=>sr});function ns(a,u){let c=new SyntaxError(a+" ("+u.loc.start.line+":"+u.loc.start.column+")");return Object.assign(c,u)}var Re=ns;function os(a){let u=[];for(let c of a)try{return c()}catch(h){u.push(h)}throw Object.assign(new Error("All combinations failed"),{errors:u})}var Oe=os;var ce=as(ii(),1);function ys(a){if(!a.startsWith("#!"))return"";let u=a.indexOf(`
+`);return u===-1?a:a.slice(0,u)}var si=ys;function gs(a){let u=si(a);u&&(a=a.slice(u.length+1));let c=(0,ce.extract)(a),{pragmas:h,comments:l}=(0,ce.parseWithComments)(c);return{shebang:u,text:a,pragmas:h,comments:l}}function ri(a){let{pragmas:u}=gs(a);return Object.prototype.hasOwnProperty.call(u,"prettier")||Object.prototype.hasOwnProperty.call(u,"format")}function vs(a){return Array.isArray(a)&&a.length>0}var Be=vs;function M(a){var h;let u=a.range?a.range[0]:a.start,c=((h=a.declaration)==null?void 0:h.decorators)??a.decorators;return Be(c)?Math.min(M(c[0]),u):u}function z(a){return a.range?a.range[1]:a.end}function bs(a){return a=typeof a=="function"?{parse:a}:a,{astFormat:"estree",hasPragma:ri,locStart:M,locEnd:z,...a}}var De=bs;var Ss=(a,u,c)=>{if(!(a&&u==null))return Array.isArray(u)||typeof u=="string"?u[c<0?u.length+c:c]:u.at(c)},et=Ss;function _s(a){return a=new Set(a),u=>a.has(u==null?void 0:u.type)}var ai=_s;var Cs=ai(["Block","CommentBlock","MultiLine"]),Se=Cs;function ks(a){return Se(a)&&a.value[0]==="*"&&/@(?:type|satisfies)\b/.test(a.value)}var ni=ks;function Ts(a){let u=`*${a.value}*`.split(`
+`);return u.length>1&&u.every(c=>c.trimStart()[0]==="*")}var tt=Ts;var _e=null;function Ce(a){if(_e!==null&&typeof _e.property){let u=_e;return _e=Ce.prototype=null,u}return _e=Ce.prototype=a??Object.create(null),new Ce}var ws=10;for(let a=0;a<=ws;a++)Ce();function it(a){return Ce(a)}function Es(a,u="type"){it(a);function c(h){let l=h[u],f=a[l];if(!Array.isArray(f))throw Object.assign(new Error(`Missing visitor keys for '${l}'.`),{node:h});return f}return c}var oi=Es;var ui={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["test","body"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","params","body","returnType","typeParameters","predicate"],FunctionExpression:["id","params","body","returnType","typeParameters"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["key","params","body","decorators","returnType","typeParameters"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["params","body","returnType","typeParameters","predicate"],ClassBody:["body"],ClassExpression:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators","superTypeArguments"],ClassDeclaration:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators","superTypeArguments"],ExportAllDeclaration:["source","attributes","assertions","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes","assertions"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes","assertions"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["local","imported"],MetaProperty:["meta","property"],ClassMethod:["key","params","body","decorators","returnType","typeParameters"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","quasi","typeParameters","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],Import:[],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["key","value","typeAnnotation","decorators","variance"],ClassAccessorProperty:["key","value","typeAnnotation","decorators"],ClassPrivateProperty:["key","value","decorators","typeAnnotation","variance"],ClassPrivateMethod:["key","params","body","decorators","returnType","typeParameters"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source"],DeclareExportAllDeclaration:["source"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value","optional","static","method"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["id","key","value","variance"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["id","qualification"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeArguments","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],DecimalLiteral:[],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","typeAnnotation","nameType"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ImportExpression:["source","attributes"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareEnum:["id","body"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[]};var As=oi(ui),hi=As;function st(a,u){if(!(a!==null&&typeof a=="object"))return a;if(Array.isArray(a)){for(let h=0;h{var _;(_=y.leadingComments)!=null&&_.some(ni)&&f.add(M(y))}),a=Fe(a,y=>{if(y.type==="ParenthesizedExpression"){let{expression:_}=y;if(_.type==="TypeCastExpression")return _.range=y.range,_;let L=M(y);if(!f.has(L))return _.extra={..._.extra,parenthesized:!0},_}})}if(a=Fe(a,f=>{switch(f.type){case"LogicalExpression":if(pi(f))return rt(f);break;case"VariableDeclaration":{let y=et(!1,f.declarations,-1);y!=null&&y.init&&l(f,y);break}case"TSParenthesizedType":return f.typeAnnotation;case"TSTypeParameter":if(typeof f.name=="string"){let y=M(f);f.name={type:"Identifier",name:f.name,range:[y,y+f.name.length]}}break;case"TopicReference":a.extra={...a.extra,__isUsingHackPipeline:!0};break;case"ExportAllDeclaration":{let{exported:y}=f;if(c==="meriyah"&&(y==null?void 0:y.type)==="Identifier"){let _=h.slice(M(y),z(y));(_.startsWith('"')||_.startsWith("'"))&&(f.exported={...f.exported,type:"Literal",value:f.exported.name,raw:_})}break}case"TSUnionType":case"TSIntersectionType":if(f.types.length===1)return f.types[0];break}}),Be(a.comments)){let f=et(!1,a.comments,-1);for(let y=a.comments.length-2;y>=0;y--){let _=a.comments[y];z(_)===M(f)&&Se(_)&&Se(f)&&tt(_)&&tt(f)&&(a.comments.splice(y+1,1),_.value+="*//*"+f.value,_.range=[M(_),z(f)]),f=_}}return a.type==="Program"&&(a.range=[0,h.length]),a;function l(f,y){h[z(y)]!==";"&&(f.range=[M(f),z(y)])}}function pi(a){return a.type==="LogicalExpression"&&a.right.type==="LogicalExpression"&&a.operator===a.right.operator}function rt(a){return pi(a)?rt({type:"LogicalExpression",operator:a.operator,left:rt({type:"LogicalExpression",operator:a.operator,left:a.left,right:a.right.left,range:[M(a.left),z(a.right.left)]}),right:a.right.right,range:[M(a),z(a)]}):a}var je=Ps;function Is(a){let{filepath:u}=a;if(u){if(u=u.toLowerCase(),u.endsWith(".cjs"))return"script";if(u.endsWith(".mjs"))return"module"}}var Me=Is;var Os={ecmaVersion:"latest",allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,locations:!0,ranges:!0};function Bs(a){let{message:u,loc:c}=a;if(!c)return a;let{line:h,column:l}=c;return Re(u.replace(/ \(\d+:\d+\)$/,""),{loc:{start:{line:h,column:l+1}},cause:a})}var ot,Ds=()=>{if(!ot){let{Parser:a}=ke(),u=nt();ot=a.extend(u())}return ot};function Fs(a,u){let c=Ds(),h=[],l=[],f=c.parse(a,{...Os,sourceType:u,allowImportExportEverywhere:u==="module",onComment:h,onToken:l});return f.comments=h,f.tokens=l,f}function js(a,u={}){let c=Me(u),h=(c?[c]:["module","script"]).map(f=>()=>Fs(a,f)),l;try{l=Oe(h)}catch({errors:[f]}){throw Bs(f)}return je(l,{text:a})}var xi=De(js);var er={ecmaVersion:"latest",range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};function tr(a){let{message:u,lineNumber:c,column:h}=a;return typeof c!="number"?a:Re(u,{loc:{start:{line:c,column:h}},cause:a})}function ir(a,u={}){let{parse:c}=vi(),h=Me(u),l=(h?[h]:["module","script"]).map(y=>()=>c(a,{...er,sourceType:y})),f;try{f=Oe(l)}catch({errors:[y]}){throw tr(y)}return je(f,{text:a})}var bi=De(ir);var sr={acorn:xi,espree:bi};var fa=ct;export{fa as default,sr as parsers};
diff --git a/node_modules/prettier/plugins/angular.js b/node_modules/prettier/plugins/angular.js
index 7f3b22f..5a681dc 100644
--- a/node_modules/prettier/plugins/angular.js
+++ b/node_modules/prettier/plugins/angular.js
@@ -1,2 +1,2 @@
-(function(n){function e(){var i=n();return i.default||i}if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var t=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};t.prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.angular=e()}})(function(){"use strict";var Pe=Object.defineProperty;var Kt=Object.getOwnPropertyDescriptor;var Tt=Object.getOwnPropertyNames;var _t=Object.prototype.hasOwnProperty;var Ze=(r,e)=>{for(var t in e)Pe(r,t,{get:e[t],enumerable:!0})},Mt=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Tt(e))!_t.call(r,n)&&n!==t&&Pe(r,n,{get:()=>e[n],enumerable:!(s=Kt(e,n))||s.enumerable});return r};var Ft=r=>Mt(Pe({},"__esModule",{value:!0}),r);var _r={};Ze(_r,{parsers:()=>Ie});var Ie={};Ze(Ie,{__ng_action:()=>br,__ng_binding:()=>Br,__ng_directive:()=>Tr,__ng_interpolation:()=>Kr});var me=`
-`,Je="\r",Ye=function(){function r(e){this.length=e.length;for(var t=[0],s=0;sthis.length)return null;for(var t=0,s=this.offsets;s[t+1]<=e;)t++;var n=e-s[t];return{line:t,column:n}},r.prototype.indexForLocation=function(e){var t=e.line,s=e.column;return t<0||t>=this.offsets.length||s<0||s>this.lengthOfLine(t)?null:this.offsets[t]+s},r.prototype.lengthOfLine=function(e){var t=this.offsets[e],s=e===this.offsets.length-1?this.length:this.offsets[e+1];return s-t},r}();var le=class{text;locator;constructor(e){this.text=e,this.locator=new Le(this.text)}},Le=class{_linesAndColumns;constructor(e){this._linesAndColumns=new Ye(e)}locationForIndex(e){let{line:t,column:s}=this._linesAndColumns.locationForIndex(e);return{line:t+1,column:s,index:e}}};var G=class{constructor(e,t,s,n){this.input=t,this.errLocation=s,this.ctxLocation=n,this.message=`Parser Error: ${e} ${s} [${t}] in ${n}`}},P=class{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new I(e+this.start,e+this.end)}},S=class{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},D=class extends S{constructor(e,t,s){super(e,t),this.nameSpan=s}},E=class extends S{visit(e,t=null){}},L=class extends S{visit(e,t=null){return e.visitImplicitReceiver(this,t)}},Se=class extends L{visit(e,t=null){var s;return(s=e.visitThisReceiver)==null?void 0:s.call(e,this,t)}},V=class extends S{constructor(e,t,s){super(e,t),this.expressions=s}visit(e,t=null){return e.visitChain(this,t)}},W=class extends S{constructor(e,t,s,n,i){super(e,t),this.condition=s,this.trueExp=n,this.falseExp=i}visit(e,t=null){return e.visitConditional(this,t)}},B=class extends D{constructor(e,t,s,n,i){super(e,t,s),this.receiver=n,this.name=i}visit(e,t=null){return e.visitPropertyRead(this,t)}},Q=class extends D{constructor(e,t,s,n,i,a){super(e,t,s),this.receiver=n,this.name=i,this.value=a}visit(e,t=null){return e.visitPropertyWrite(this,t)}},H=class extends D{constructor(e,t,s,n,i){super(e,t,s),this.receiver=n,this.name=i}visit(e,t=null){return e.visitSafePropertyRead(this,t)}},j=class extends S{constructor(e,t,s,n){super(e,t),this.receiver=s,this.key=n}visit(e,t=null){return e.visitKeyedRead(this,t)}},z=class extends S{constructor(e,t,s,n){super(e,t),this.receiver=s,this.key=n}visit(e,t=null){return e.visitSafeKeyedRead(this,t)}},q=class extends S{constructor(e,t,s,n,i){super(e,t),this.receiver=s,this.key=n,this.value=i}visit(e,t=null){return e.visitKeyedWrite(this,t)}},X=class extends D{constructor(e,t,s,n,i,a){super(e,t,a),this.exp=s,this.name=n,this.args=i}visit(e,t=null){return e.visitPipe(this,t)}},A=class extends S{constructor(e,t,s){super(e,t),this.value=s}visit(e,t=null){return e.visitLiteralPrimitive(this,t)}},Z=class extends S{constructor(e,t,s){super(e,t),this.expressions=s}visit(e,t=null){return e.visitLiteralArray(this,t)}},J=class extends S{constructor(e,t,s,n){super(e,t),this.keys=s,this.values=n}visit(e,t=null){return e.visitLiteralMap(this,t)}},we=class extends S{constructor(e,t,s,n){super(e,t),this.strings=s,this.expressions=n}visit(e,t=null){return e.visitInterpolation(this,t)}},$=class extends S{constructor(e,t,s,n,i){super(e,t),this.operation=s,this.left=n,this.right=i}visit(e,t=null){return e.visitBinary(this,t)}},K=class r extends ${static createMinus(e,t,s){return new r(e,t,"-",s,"-",new A(e,t,0),s)}static createPlus(e,t,s){return new r(e,t,"+",s,"-",s,new A(e,t,0))}constructor(e,t,s,n,i,a,h){super(e,t,i,a,h),this.operator=s,this.expr=n,this.left=null,this.right=null,this.operation=null}visit(e,t=null){return e.visitUnary!==void 0?e.visitUnary(this,t):e.visitBinary(this,t)}},Y=class extends S{constructor(e,t,s){super(e,t),this.expression=s}visit(e,t=null){return e.visitPrefixNot(this,t)}},ee=class extends S{constructor(e,t,s){super(e,t),this.expression=s}visit(e,t=null){return e.visitNonNullAssert(this,t)}},te=class extends S{constructor(e,t,s,n,i){super(e,t),this.receiver=s,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitCall(this,t)}},re=class extends S{constructor(e,t,s,n,i){super(e,t),this.receiver=s,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitSafeCall(this,t)}},I=class{constructor(e,t){this.start=e,this.end=t}},R=class extends S{constructor(e,t,s,n,i){super(new P(0,t===null?0:t.length),new I(n,t===null?n:n+t.length)),this.ast=e,this.source=t,this.location=s,this.errors=i}visit(e,t=null){return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return`${this.source} in ${this.location}`}},T=class{constructor(e,t,s){this.sourceSpan=e,this.key=t,this.value=s}},se=class{constructor(e,t,s){this.sourceSpan=e,this.key=t,this.value=s}},ye=class{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitAll(e,t){for(let s of e)this.visit(s,t)}};var et;(function(r){r[r.DEFAULT=0]="DEFAULT",r[r.LITERAL_ATTR=1]="LITERAL_ATTR",r[r.ANIMATION=2]="ANIMATION"})(et||(et={}));function tt(r){return r>=9&&r<=32||r==160}function b(r){return 48<=r&&r<=57}function rt(r){return r>=97&&r<=122||r>=65&&r<=90}function be(r){return r===39||r===34||r===96}var d;(function(r){r[r.Character=0]="Character",r[r.Identifier=1]="Identifier",r[r.PrivateIdentifier=2]="PrivateIdentifier",r[r.Keyword=3]="Keyword",r[r.String=4]="String",r[r.Operator=5]="Operator",r[r.Number=6]="Number",r[r.Error=7]="Error"})(d||(d={}));var dr=["var","let","as","null","undefined","true","false","if","else","this"],xe=class{tokenize(e){let t=new Te(e),s=[],n=t.scanToken();for(;n!=null;)s.push(n),n=t.scanToken();return s}},N=class{constructor(e,t,s,n,i){this.index=e,this.end=t,this.type=s,this.numValue=n,this.strValue=i}isCharacter(e){return this.type==d.Character&&this.numValue==e}isNumber(){return this.type==d.Number}isString(){return this.type==d.String}isOperator(e){return this.type==d.Operator&&this.strValue==e}isIdentifier(){return this.type==d.Identifier}isPrivateIdentifier(){return this.type==d.PrivateIdentifier}isKeyword(){return this.type==d.Keyword}isKeywordLet(){return this.type==d.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==d.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==d.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==d.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==d.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==d.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==d.Keyword&&this.strValue=="this"}isError(){return this.type==d.Error}toNumber(){return this.type==d.Number?this.numValue:-1}toString(){switch(this.type){case d.Character:case d.Identifier:case d.Keyword:case d.Operator:case d.PrivateIdentifier:case d.String:case d.Error:return this.strValue;case d.Number:return this.numValue.toString();default:return null}}};function ot(r,e,t){return new N(r,e,d.Character,t,String.fromCharCode(t))}function vr(r,e,t){return new N(r,e,d.Identifier,0,t)}function gr(r,e,t){return new N(r,e,d.PrivateIdentifier,0,t)}function mr(r,e,t){return new N(r,e,d.Keyword,0,t)}function Ke(r,e,t){return new N(r,e,d.Operator,0,t)}function Sr(r,e,t){return new N(r,e,d.String,0,t)}function wr(r,e,t){return new N(r,e,d.Number,t,"")}function yr(r,e,t){return new N(r,e,d.Error,0,t)}var Ce=new N(-1,-1,d.Character,0,""),Te=class{constructor(e){this.input=e,this.peek=0,this.index=-1,this.length=e.length,this.advance()}advance(){this.peek=++this.index>=this.length?0:this.input.charCodeAt(this.index)}scanToken(){let e=this.input,t=this.length,s=this.peek,n=this.index;for(;s<=32;)if(++n>=t){s=0;break}else s=e.charCodeAt(n);if(this.peek=s,this.index=n,n>=t)return null;if(ct(s))return this.scanIdentifier();if(b(s))return this.scanNumber(n);let i=n;switch(s){case 46:return this.advance(),b(this.peek)?this.scanNumber(i):ot(i,this.index,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(i,s);case 39:case 34:return this.scanString();case 35:return this.scanPrivateIdentifier();case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(i,String.fromCharCode(s));case 63:return this.scanQuestion(i);case 60:case 62:return this.scanComplexOperator(i,String.fromCharCode(s),61,"=");case 33:case 61:return this.scanComplexOperator(i,String.fromCharCode(s),61,"=",61,"=");case 38:return this.scanComplexOperator(i,"&",38,"&");case 124:return this.scanComplexOperator(i,"|",124,"|");case 160:for(;tt(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(s)}]`,0)}scanCharacter(e,t){return this.advance(),ot(e,this.index,t)}scanOperator(e,t){return this.advance(),Ke(e,this.index,t)}scanComplexOperator(e,t,s,n,i,a){this.advance();let h=t;return this.peek==s&&(this.advance(),h+=n),i!=null&&this.peek==i&&(this.advance(),h+=a),Ke(e,this.index,h)}scanIdentifier(){let e=this.index;for(this.advance();ht(this.peek);)this.advance();let t=this.input.substring(e,this.index);return dr.indexOf(t)>-1?mr(e,this.index,t):vr(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!ct(this.peek))return this.error("Invalid character [#]",-1);for(;ht(this.peek);)this.advance();let t=this.input.substring(e,this.index);return gr(e,this.index,t)}scanNumber(e){let t=this.index===e,s=!1;for(this.advance();;){if(!b(this.peek))if(this.peek===95){if(!b(this.input.charCodeAt(this.index-1))||!b(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);s=!0}else if(this.peek===46)t=!1;else if(Er(this.peek)){if(this.advance(),Ar(this.peek)&&this.advance(),!b(this.peek))return this.error("Invalid exponent",-1);t=!1}else break;this.advance()}let n=this.input.substring(e,this.index);s&&(n=n.replace(/_/g,""));let i=t?Cr(n):parseFloat(n);return wr(e,this.index,i)}scanString(){let e=this.index,t=this.peek;this.advance();let s="",n=this.index,i=this.input;for(;this.peek!=t;)if(this.peek==92){s+=i.substring(n,this.index);let h;if(this.advance(),this.peek==117){let v=i.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(v))h=parseInt(v,16);else return this.error(`Invalid unicode escape [\\u${v}]`,0);for(let f=0;f<5;f++)this.advance()}else h=$r(this.peek),this.advance();s+=String.fromCharCode(h),n=this.index}else{if(this.peek==0)return this.error("Unterminated quote",0);this.advance()}let a=i.substring(n,this.index);return this.advance(),Sr(e,this.index,s+a)}scanQuestion(e){this.advance();let t="?";return(this.peek===63||this.peek===46)&&(t+=this.peek===46?".":"?",this.advance()),Ke(e,this.index,t)}error(e,t){let s=this.index+t;return yr(s,this.index,`Lexer Error: ${e} at column ${s} in expression [${this.input}]`)}};function ct(r){return 97<=r&&r<=122||65<=r&&r<=90||r==95||r==36}function ht(r){return rt(r)||b(r)||r==95||r==36}function Er(r){return r==101||r==69}function Ar(r){return r==45||r==43}function $r(r){switch(r){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return r}}function Cr(r){let e=parseInt(r);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+r);return e}var Or=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function xt(r,e){if(e!=null&&!(Array.isArray(e)&&e.length==2))throw new Error(`Expected '${r}' to be an array, [start, end].`);if(e!=null){let t=e[0],s=e[1];Or.forEach(n=>{if(n.test(t)||n.test(s))throw new Error(`['${t}', '${s}'] contains unusable interpolation symbol.`)})}}var Me=class r{static fromArray(e){return e?(xt("interpolation",e),new r(e[0],e[1])):F}constructor(e,t){this.start=e,this.end=t}},F=new Me("{{","}}");var Fe=class{constructor(e,t,s){this.strings=e,this.expressions=t,this.offsets=s}},Ue=class{constructor(e,t,s){this.templateBindings=e,this.warnings=t,this.errors=s}},ve=class{constructor(e){this._lexer=e,this.errors=[]}parseAction(e,t,s,n,i=F){this._checkNoInterpolation(e,s,i);let a=this._stripComments(e),h=this._lexer.tokenize(a),v=1;t&&(v|=2);let f=new U(e,s,n,h,v,this.errors,0).parseChain();return new R(f,e,s,n,this.errors)}parseBinding(e,t,s,n=F){let i=this._parseBindingAst(e,t,s,n);return new R(i,e,t,s,this.errors)}checkSimpleExpression(e){let t=new Ge;return e.visit(t),t.errors}parseSimpleBinding(e,t,s,n=F){let i=this._parseBindingAst(e,t,s,n),a=this.checkSimpleExpression(i);return a.length>0&&this._reportError(`Host binding expression cannot contain ${a.join(" ")}`,e,t),new R(i,e,t,s,this.errors)}_reportError(e,t,s,n){this.errors.push(new G(e,t,s,n))}_parseBindingAst(e,t,s,n){this._checkNoInterpolation(e,t,n);let i=this._stripComments(e),a=this._lexer.tokenize(i);return new U(e,t,s,a,0,this.errors,0).parseChain()}parseTemplateBindings(e,t,s,n,i){let a=this._lexer.tokenize(t);return new U(t,s,i,a,0,this.errors,0).parseTemplateBindings({source:e,span:new I(n,n+e.length)})}parseInterpolation(e,t,s,n,i=F){let{strings:a,expressions:h,offsets:v}=this.splitInterpolation(e,t,n,i);if(h.length===0)return null;let f=[];for(let w=0;ww.text),f,e,t,s)}parseInterpolationExpression(e,t,s){let n=this._stripComments(e),i=this._lexer.tokenize(n),a=new U(e,t,s,i,0,this.errors,0).parseChain(),h=["",""];return this.createInterpolationAst(h,[a],e,t,s)}createInterpolationAst(e,t,s,n,i){let a=new P(0,s.length),h=new we(a,a.toAbsolute(i),e,t);return new R(h,s,n,i,this.errors)}splitInterpolation(e,t,s,n=F){let i=[],a=[],h=[],v=s?Nr(s):null,f=0,w=!1,k=!1,{start:C,end:y}=n;for(;f-1)break;i>-1&&a>-1&&this._reportError(`Got interpolation (${s}${n}) where expression was expected`,e,`at column ${i} in`,t)}_getInterpolationEndIndex(e,t,s){for(let n of this._forEachUnquotedChar(e,s)){if(e.startsWith(t,n))return n;if(e.startsWith("//",n))return e.indexOf(t,n)}return-1}*_forEachUnquotedChar(e,t){let s=null,n=0;for(let i=t;i=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.input.length+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let s=this.currentEndIndex;if(t!==void 0&&t>this.currentEndIndex&&(s=t),e>s){let n=s;s=e,e=n}return new P(e,s)}sourceSpan(e,t){let s=`${e}@${this.inputIndex}:${t}`;return this.sourceSpanCache.has(s)||this.sourceSpanCache.set(s,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(s)}advance(){this.index++}withContext(e,t){this.context|=e;let s=t();return this.context^=e,s}consumeOptionalCharacter(e){return this.next.isCharacter(e)?(this.advance(),!0):!1}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error(`Missing expected ${String.fromCharCode(e)}`)}consumeOptionalOperator(e){return this.next.isOperator(e)?(this.advance(),!0):!1}expectOperator(e){this.consumeOptionalOperator(e)||this.error(`Missing expected operator ${e}`)}prettyPrintToken(e){return e===Ce?"end of input":`token ${e}`}expectIdentifierOrKeyword(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier or keyword`),null):(this.advance(),e.toString())}expectIdentifierOrKeywordOrString(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()&&!e.isString()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier, keyword, or string`),""):(this.advance(),e.toString())}parseChain(){let e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();let n=this.parseAdditive();t=new $(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parseAdditive(){let e=this.inputIndex,t=this.parseMultiplicative();for(;this.next.type==d.Operator;){let s=this.next.strValue;switch(s){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new $(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parseMultiplicative(){let e=this.inputIndex,t=this.parsePrefix();for(;this.next.type==d.Operator;){let s=this.next.strValue;switch(s){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new $(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parsePrefix(){if(this.next.type==d.Operator){let e=this.inputIndex,t=this.next.strValue,s;switch(t){case"+":return this.advance(),s=this.parsePrefix(),K.createPlus(this.span(e),this.sourceSpan(e),s);case"-":return this.advance(),s=this.parsePrefix(),K.createMinus(this.span(e),this.sourceSpan(e),s);case"!":return this.advance(),s=this.parsePrefix(),new Y(this.span(e),this.sourceSpan(e),s)}}return this.parseCallChain()}parseCallChain(){let e=this.inputIndex,t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(46))t=this.parseAccessMember(t,e,!1);else if(this.consumeOptionalOperator("?."))this.consumeOptionalCharacter(40)?t=this.parseCall(t,e,!0):t=this.consumeOptionalCharacter(91)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMember(t,e,!0);else if(this.consumeOptionalCharacter(91))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(40))t=this.parseCall(t,e,!1);else if(this.consumeOptionalOperator("!"))t=new ee(this.span(e),this.sourceSpan(e),t);else return t}parsePrimary(){let e=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;let t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),t}else{if(this.next.isKeywordNull())return this.advance(),new A(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new A(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new A(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new A(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Se(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;let t=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new Z(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMember(new L(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new A(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new A(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new E(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new E(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new E(this.span(e),this.sourceSpan(e)))}}}parseExpressionList(e){let t=[];do if(!this.next.isCharacter(e))t.push(this.parsePipe());else break;while(this.consumeOptionalCharacter(44));return t}parseLiteralMap(){let e=[],t=[],s=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(125)){this.rbracesExpected++;do{let n=this.inputIndex,i=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();if(e.push({key:a,quoted:i}),i)this.expectCharacter(58),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(58))t.push(this.parsePipe());else{let h=this.span(n),v=this.sourceSpan(n);t.push(new B(h,v,v,new L(h,v),a))}}while(this.consumeOptionalCharacter(44)&&!this.next.isCharacter(125));this.rbracesExpected--,this.expectCharacter(125)}return new J(this.span(s),this.sourceSpan(s),e,t)}parseAccessMember(e,t,s){let n=this.inputIndex,i=this.withContext(he.Writable,()=>{let v=this.expectIdentifierOrKeyword()??"";return v.length===0&&this.error("Expected identifier for property access",e.span.end),v}),a=this.sourceSpan(n),h;if(s)this.consumeOptionalAssignment()?(this.error("The '?.' operator cannot be used in the assignment"),h=new E(this.span(t),this.sourceSpan(t))):h=new H(this.span(t),this.sourceSpan(t),a,e,i);else if(this.consumeOptionalAssignment()){if(!(this.parseFlags&1))return this.error("Bindings cannot contain assignments"),new E(this.span(t),this.sourceSpan(t));let v=this.parseConditional();h=new Q(this.span(t),this.sourceSpan(t),a,e,i,v)}else h=new B(this.span(t),this.sourceSpan(t),a,e,i);return h}parseCall(e,t,s){let n=this.inputIndex;this.rparensExpected++;let i=this.parseCallArguments(),a=this.span(n,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(41),this.rparensExpected--;let h=this.span(t),v=this.sourceSpan(t);return s?new re(h,v,e,i,a):new te(h,v,e,i,a)}consumeOptionalAssignment(){return this.parseFlags&2&&this.next.isOperator("!")&&this.peek(1).isOperator("=")?(this.advance(),this.advance(),!0):this.consumeOptionalOperator("=")}parseCallArguments(){if(this.next.isCharacter(41))return[];let e=[];do e.push(this.parsePipe());while(this.consumeOptionalCharacter(44));return e}expectTemplateBindingKey(){let e="",t=!1,s=this.currentAbsoluteOffset;do e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-");while(t);return{source:e,span:new I(s,s+e.length)}}parseTemplateBindings(e){let t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index{this.rbracketsExpected++;let n=this.parsePipe();if(n instanceof E&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(93),this.consumeOptionalOperator("="))if(s)this.error("The '?.' operator cannot be used in the assignment");else{let i=this.parseConditional();return new q(this.span(t),this.sourceSpan(t),e,n,i)}else return s?new z(this.span(t),this.sourceSpan(t),e,n):new j(this.span(t),this.sourceSpan(t),e,n);return new E(this.span(t),this.sourceSpan(t))})}parseDirectiveKeywordBindings(e){let t=[];this.consumeOptionalCharacter(58);let s=this.getDirectiveBoundTarget(),n=this.currentAbsoluteOffset,i=this.parseAsBinding(e);i||(this.consumeStatementTerminator(),n=this.currentAbsoluteOffset);let a=new I(e.span.start,n);return t.push(new se(a,e,s)),i&&t.push(i),t}getDirectiveBoundTarget(){if(this.next===Ce||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:s}=e.span,n=this.input.substring(t,s);return new R(e,n,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();let t=this.expectTemplateBindingKey();this.consumeStatementTerminator();let s=new I(e.span.start,this.currentAbsoluteOffset);return new T(s,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;let e=this.currentAbsoluteOffset;this.advance();let t=this.expectTemplateBindingKey(),s=null;this.consumeOptionalOperator("=")&&(s=this.expectTemplateBindingKey()),this.consumeStatementTerminator();let n=new I(e,this.currentAbsoluteOffset);return new T(n,t,s)}consumeStatementTerminator(){this.consumeOptionalCharacter(59)||this.consumeOptionalCharacter(44)}error(e,t=null){this.errors.push(new G(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(e=null){return e==null&&(e=this.index),eh+v.length,0);s+=a,t+=a}e.set(s,t),n++}return e}var dt="angular-estree-parser",Ve="NgEstreeParser",De=0,We=[dt,De];function vt(){return new ve(new xe)}function Qe(r,e){let t=vt(),{astInput:s,comments:n}=Ir(r,t),{ast:i,errors:a}=e(s,t);return yt(a),{ast:i,comments:n}}function gt(r){return Qe(r,(e,t)=>t.parseBinding(e,...We))}function mt(r){return Qe(r,(e,t)=>t.parseAction(e,!1,...We))}function St(r){return Qe(r,(e,t)=>{let s=t.parseInterpolationExpression(e,...We);return s.ast=s.ast.expressions[0],s})}function wt(r){let e=vt(),{templateBindings:t,errors:s}=e.parseTemplateBindings(Ve,r,dt,De,De);return yt(s),t}function yt(r){if(r.length!==0){let[{message:e}]=r;throw new SyntaxError(e.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function Ir(r,e){let t=e._commentStart(r);return t===null?{astInput:r,comments:[]}:{astInput:r.slice(0,t),comments:[{type:"Comment",value:r.slice(t+2),sourceSpan:{start:t,end:r.length}}]}}function Et(r){return r instanceof K?"Unary":r instanceof $?"Binary":r instanceof X?"BindingPipe":r instanceof te?"Call":r instanceof V?"Chain":r instanceof W?"Conditional":r instanceof E?"EmptyExpr":r instanceof L?"ImplicitReceiver":r instanceof j?"KeyedRead":r instanceof z?"SafeKeyedRead":r instanceof q?"KeyedWrite":r instanceof Z?"LiteralArray":r instanceof J?"LiteralMap":r instanceof A?"LiteralPrimitive":r instanceof ee?"NonNullAssert":r instanceof Y?"PrefixNot":r instanceof B?"PropertyRead":r instanceof Q?"PropertyWrite":r instanceof re?"SafeCall":r instanceof H?"SafePropertyRead":r.type}function ft({start:r,end:e},t){let s=r,n=e;for(;n!==s&&/\s/.test(t[n-1]);)n--;for(;s!==n&&/\s/.test(t[s]);)s++;return{start:s,end:n}}function Rr({start:r,end:e},t){let s=r,n=e;for(;n!==t.length&&/\s/.test(t[n]);)n++;for(;s!==0&&/\s/.test(t[s-1]);)s--;return{start:s,end:n}}function Pr(r,e){return e[r.start-1]==="("&&e[r.end]===")"?{start:r.start-1,end:r.end+1}:r}function At(r,e,t){let s=0,n={start:r.start,end:r.end};for(;;){let i=Rr(n,e),a=Pr(i,e);if(i.start===a.start&&i.end===a.end)break;n.start=a.start,n.end=a.end,s++}return{hasParens:(t?s-1:s)!==0,outerSpan:ft(t?{start:n.start+1,end:n.end-1}:n,e),innerSpan:ft(r,e)}}function $t(r,e,t){let s=e;for(;!r.test(t[s]);)if(--s<0)throw new Error(`Cannot find front char ${r} from index ${e} in ${JSON.stringify(t)}`);return s}function Oe(r,e,t){let s=e;for(;!r.test(t[s]);)if(++s>=t.length)throw new Error(`Cannot find back char ${r} from index ${e} in ${JSON.stringify(t)}`);return s}function Ct(r){return r.slice(0,1).toLowerCase()+r.slice(1)}function Ot(r){return r.length===0?void 0:r[r.length-1]}var pe=(r,e,t=!1)=>{let s=Et(r);switch(s){case"Unary":{let{operator:c,expr:o}=r,x=n(o);return a("UnaryExpression",{prefix:!0,argument:x,operator:c},r.sourceSpan,{hasParentParens:t})}case"Binary":{let{left:c,operation:o,right:x}=r,p=n(c),u=n(x);return a(o==="&&"||o==="||"||o==="??"?"LogicalExpression":"BinaryExpression",{left:p,right:u,operator:o},{start:y(p),end:m(u)},{hasParentParens:t})}case"BindingPipe":{let{exp:c,name:o,args:x}=r,p=n(c),u=f(/\S/,f(/\|/,m(p))+1),g=a("Identifier",{name:o},{start:u,end:u+o.length}),l=x.map(n);return a("NGPipeExpression",{left:p,right:g,arguments:l},{start:y(p),end:m(l.length===0?g:Ot(l))},{hasParentParens:t})}case"Chain":{let{expressions:c}=r;return a("NGChainedExpression",{expressions:c.map(n)},r.sourceSpan,{hasParentParens:t})}case"Comment":{let{value:c}=r;return a("CommentLine",{value:c},r.sourceSpan,{processSpan:!1})}case"Conditional":{let{condition:c,trueExp:o,falseExp:x}=r,p=n(c),u=n(o),g=n(x);return a("ConditionalExpression",{test:p,consequent:u,alternate:g},{start:y(p),end:m(g)},{hasParentParens:t})}case"EmptyExpr":return a("NGEmptyExpression",{},r.sourceSpan,{hasParentParens:t});case"ImplicitReceiver":return a("ThisExpression",{},r.sourceSpan,{hasParentParens:t});case"KeyedRead":case"SafeKeyedRead":{let c=s==="SafeKeyedRead",{key:o}=r,x=Object.prototype.hasOwnProperty.call(r,"receiver")?r.receiver:r.obj,p=n(o);return h(x,p,{computed:!0,optional:c},{end:r.sourceSpan.end,hasParentParens:t})}case"LiteralArray":{let{expressions:c}=r;return a("ArrayExpression",{elements:c.map(n)},r.sourceSpan,{hasParentParens:t})}case"LiteralMap":{let{keys:c,values:o}=r,x=o.map(u=>n(u)),p=c.map(({key:u,quoted:g},l)=>{let O=x[l],ue=y(O),qe=m(O),Re=f(/\S/,l===0?r.sourceSpan.start+1:f(/,/,m(x[l-1]))+1),bt=ue===Re?qe:v(/\S/,v(/:/,ue-1)-1)+1,Xe={start:Re,end:bt},ge=g?a("StringLiteral",{value:u},Xe):a("Identifier",{name:u},Xe),Bt=ge.end=c.sourceSpan.end||/^\s+$/.test(e.text.slice(c.sourceSpan.start,c.sourceSpan.end))}function k(c){return(c.type==="OptionalCallExpression"||c.type==="OptionalMemberExpression")&&!C(c)}function C(c){return c.extra&&c.extra.parenthesized}function y(c){return C(c)?c.extra.parenStart:c.start}function m(c){return C(c)?c.extra.parenEnd:c.end}};function Ne(r,e,t=!1,s=!1){if(!t){let{start:h,end:v}=r;return{start:h,end:v,loc:{start:e.locator.locationForIndex(h),end:e.locator.locationForIndex(v)}}}let{outerSpan:n,innerSpan:i,hasParens:a}=At(r,e.text,s);return{start:i.start,end:i.end,loc:{start:e.locator.locationForIndex(i.start),end:e.locator.locationForIndex(i.end)},...a&&{extra:{parenthesized:!0,parenStart:n.start,parenEnd:n.end}}}}function Nt(r,e){r.forEach(y);let[t]=r,{key:s}=t,n=e.text.slice(t.sourceSpan.start,t.sourceSpan.end).trim().length===0?r.slice(1):r,i=[],a=null;for(let o=0;o({...O,...Ne({start:O.start,end:ue},e)}),g=O=>({...u(O,p.end),alias:p}),l=i.pop();if(l.type==="NGMicrosyntaxExpression")i.push(g(l));else if(l.type==="NGMicrosyntaxKeyedExpression"){let O=g(l.expression);i.push(u({...l,expression:O},O.end))}else throw new Error(`Unexpected type ${l.type}`)}else i.push(h(x,o));a=x}return f("NGMicrosyntax",{body:i},i.length===0?r[0].sourceSpan:{start:i[0].start,end:i[i.length-1].end});function h(o,x){if(k(o)){let{key:p,value:u}=o;return u?x===0?f("NGMicrosyntaxExpression",{expression:v(u.ast),alias:null},u.sourceSpan):f("NGMicrosyntaxKeyedExpression",{key:f("NGMicrosyntaxKey",{name:w(p.source)},p.span),expression:f("NGMicrosyntaxExpression",{expression:v(u.ast),alias:null},u.sourceSpan)},{start:p.span.start,end:u.sourceSpan.end}):f("NGMicrosyntaxKey",{name:w(p.source)},p.span)}else{let{key:p,sourceSpan:u}=o;if(/^let\s$/.test(e.text.slice(u.start,u.start+4))){let{value:l}=o;return f("NGMicrosyntaxLet",{key:f("NGMicrosyntaxKey",{name:p.source},p.span),value:l?f("NGMicrosyntaxKey",{name:l.source},l.span):null},{start:u.start,end:l?l.span.end:p.span.end})}else{let l=c(o);return f("NGMicrosyntaxAs",{key:f("NGMicrosyntaxKey",{name:l.source},l.span),alias:f("NGMicrosyntaxKey",{name:p.source},p.span)},{start:l.span.start,end:p.span.end})}}}function v(o){return pe(o,e)}function f(o,x,p,u=!0){return{type:o,...Ne(p,e,u),...x}}function w(o){return Ct(o.slice(s.source.length))}function k(o){return o instanceof se}function C(o){return o instanceof T}function y(o){m(o.key.span),C(o)&&o.value&&m(o.value.span)}function m(o){if(e.text[o.start]!=='"'&&e.text[o.start]!=="'")return;let x=e.text[o.start],p=!1;for(let u=o.start+1;upe(h,n),a=i(t);return a.comments=s.map(h=>i(h)),a}function kt(r){return He(r,gt)}function It(r){return He(r,St)}function je(r){return He(r,mt)}function Rt(r){return Nt(wt(r),new le(r))}function Lr(r){return Array.isArray(r)&&r.length>0}var Pt=Lr;function ze(r){var s;let e=r.range?r.range[0]:r.start,t=((s=r.declaration)==null?void 0:s.decorators)??r.decorators;return Pt(t)?Math.min(ze(t[0]),e):e}function Lt(r){return r.range?r.range[1]:r.end}function ke(r){return{astFormat:"estree",parse(e){let t=r(e);return{type:"NGRoot",node:r===je&&t.type!=="NGChainedExpression"?{...t,type:"NGChainedExpression",expressions:[t]}:t}},locStart:ze,locEnd:Lt}}var br=ke(je),Br=ke(kt),Kr=ke(It),Tr=ke(Rt);return Ft(_r);});
\ No newline at end of file
+(function(n){function e(){var i=n();return i.default||i}if(typeof exports=="object"&&typeof module=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else{var t=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:this||{};t.prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.angular=e()}})(function(){"use strict";var Re=Object.defineProperty;var Kt=Object.getOwnPropertyDescriptor;var Tt=Object.getOwnPropertyNames;var _t=Object.prototype.hasOwnProperty;var Ze=(r,e)=>{for(var t in e)Re(r,t,{get:e[t],enumerable:!0})},Mt=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Tt(e))!_t.call(r,n)&&n!==t&&Re(r,n,{get:()=>e[n],enumerable:!(s=Kt(e,n))||s.enumerable});return r};var Ft=r=>Mt(Re({},"__esModule",{value:!0}),r);var _r={};Ze(_r,{parsers:()=>ze});var ze={};Ze(ze,{__ng_action:()=>br,__ng_binding:()=>Br,__ng_directive:()=>Tr,__ng_interpolation:()=>Kr});var me=`
+`,Je="\r",Ye=function(){function r(e){this.length=e.length;for(var t=[0],s=0;sthis.length)return null;for(var t=0,s=this.offsets;s[t+1]<=e;)t++;var n=e-s[t];return{line:t,column:n}},r.prototype.indexForLocation=function(e){var t=e.line,s=e.column;return t<0||t>=this.offsets.length||s<0||s>this.lengthOfLine(t)?null:this.offsets[t]+s},r.prototype.lengthOfLine=function(e){var t=this.offsets[e],s=e===this.offsets.length-1?this.length:this.offsets[e+1];return s-t},r}();var le=class{text;locator;constructor(e){this.text=e,this.locator=new Pe(this.text)}},Pe=class{_linesAndColumns;constructor(e){this._linesAndColumns=new Ye(e)}locationForIndex(e){let{line:t,column:s}=this._linesAndColumns.locationForIndex(e);return{line:t+1,column:s,index:e}}};var G=class{constructor(e,t,s,n){this.input=t,this.errLocation=s,this.ctxLocation=n,this.message=`Parser Error: ${e} ${s} [${t}] in ${n}`}},P=class{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new I(e+this.start,e+this.end)}},S=class{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},D=class extends S{constructor(e,t,s){super(e,t),this.nameSpan=s}},E=class extends S{visit(e,t=null){}},L=class extends S{visit(e,t=null){return e.visitImplicitReceiver(this,t)}},Se=class extends L{visit(e,t=null){var s;return(s=e.visitThisReceiver)==null?void 0:s.call(e,this,t)}},V=class extends S{constructor(e,t,s){super(e,t),this.expressions=s}visit(e,t=null){return e.visitChain(this,t)}},W=class extends S{constructor(e,t,s,n,i){super(e,t),this.condition=s,this.trueExp=n,this.falseExp=i}visit(e,t=null){return e.visitConditional(this,t)}},B=class extends D{constructor(e,t,s,n,i){super(e,t,s),this.receiver=n,this.name=i}visit(e,t=null){return e.visitPropertyRead(this,t)}},Q=class extends D{constructor(e,t,s,n,i,a){super(e,t,s),this.receiver=n,this.name=i,this.value=a}visit(e,t=null){return e.visitPropertyWrite(this,t)}},H=class extends D{constructor(e,t,s,n,i){super(e,t,s),this.receiver=n,this.name=i}visit(e,t=null){return e.visitSafePropertyRead(this,t)}},j=class extends S{constructor(e,t,s,n){super(e,t),this.receiver=s,this.key=n}visit(e,t=null){return e.visitKeyedRead(this,t)}},z=class extends S{constructor(e,t,s,n){super(e,t),this.receiver=s,this.key=n}visit(e,t=null){return e.visitSafeKeyedRead(this,t)}},q=class extends S{constructor(e,t,s,n,i){super(e,t),this.receiver=s,this.key=n,this.value=i}visit(e,t=null){return e.visitKeyedWrite(this,t)}},X=class extends D{constructor(e,t,s,n,i,a){super(e,t,a),this.exp=s,this.name=n,this.args=i}visit(e,t=null){return e.visitPipe(this,t)}},A=class extends S{constructor(e,t,s){super(e,t),this.value=s}visit(e,t=null){return e.visitLiteralPrimitive(this,t)}},Z=class extends S{constructor(e,t,s){super(e,t),this.expressions=s}visit(e,t=null){return e.visitLiteralArray(this,t)}},J=class extends S{constructor(e,t,s,n){super(e,t),this.keys=s,this.values=n}visit(e,t=null){return e.visitLiteralMap(this,t)}},we=class extends S{constructor(e,t,s,n){super(e,t),this.strings=s,this.expressions=n}visit(e,t=null){return e.visitInterpolation(this,t)}},$=class extends S{constructor(e,t,s,n,i){super(e,t),this.operation=s,this.left=n,this.right=i}visit(e,t=null){return e.visitBinary(this,t)}},K=class r extends ${static createMinus(e,t,s){return new r(e,t,"-",s,"-",new A(e,t,0),s)}static createPlus(e,t,s){return new r(e,t,"+",s,"-",s,new A(e,t,0))}constructor(e,t,s,n,i,a,h){super(e,t,i,a,h),this.operator=s,this.expr=n,this.left=null,this.right=null,this.operation=null}visit(e,t=null){return e.visitUnary!==void 0?e.visitUnary(this,t):e.visitBinary(this,t)}},Y=class extends S{constructor(e,t,s){super(e,t),this.expression=s}visit(e,t=null){return e.visitPrefixNot(this,t)}},ee=class extends S{constructor(e,t,s){super(e,t),this.expression=s}visit(e,t=null){return e.visitNonNullAssert(this,t)}},te=class extends S{constructor(e,t,s,n,i){super(e,t),this.receiver=s,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitCall(this,t)}},re=class extends S{constructor(e,t,s,n,i){super(e,t),this.receiver=s,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitSafeCall(this,t)}},I=class{constructor(e,t){this.start=e,this.end=t}},R=class extends S{constructor(e,t,s,n,i){super(new P(0,t===null?0:t.length),new I(n,t===null?n:n+t.length)),this.ast=e,this.source=t,this.location=s,this.errors=i}visit(e,t=null){return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return`${this.source} in ${this.location}`}},T=class{constructor(e,t,s){this.sourceSpan=e,this.key=t,this.value=s}},se=class{constructor(e,t,s){this.sourceSpan=e,this.key=t,this.value=s}},ye=class{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitAll(e,t){for(let s of e)this.visit(s,t)}};var et;(function(r){r[r.DEFAULT=0]="DEFAULT",r[r.LITERAL_ATTR=1]="LITERAL_ATTR",r[r.ANIMATION=2]="ANIMATION"})(et||(et={}));function tt(r){return r>=9&&r<=32||r==160}function b(r){return 48<=r&&r<=57}function rt(r){return r>=97&&r<=122||r>=65&&r<=90}function Le(r){return r===39||r===34||r===96}var d;(function(r){r[r.Character=0]="Character",r[r.Identifier=1]="Identifier",r[r.PrivateIdentifier=2]="PrivateIdentifier",r[r.Keyword=3]="Keyword",r[r.String=4]="String",r[r.Operator=5]="Operator",r[r.Number=6]="Number",r[r.Error=7]="Error"})(d||(d={}));var dr=["var","let","as","null","undefined","true","false","if","else","this"],xe=class{tokenize(e){let t=new Ke(e),s=[],n=t.scanToken();for(;n!=null;)s.push(n),n=t.scanToken();return s}},N=class{constructor(e,t,s,n,i){this.index=e,this.end=t,this.type=s,this.numValue=n,this.strValue=i}isCharacter(e){return this.type==d.Character&&this.numValue==e}isNumber(){return this.type==d.Number}isString(){return this.type==d.String}isOperator(e){return this.type==d.Operator&&this.strValue==e}isIdentifier(){return this.type==d.Identifier}isPrivateIdentifier(){return this.type==d.PrivateIdentifier}isKeyword(){return this.type==d.Keyword}isKeywordLet(){return this.type==d.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==d.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==d.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==d.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==d.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==d.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==d.Keyword&&this.strValue=="this"}isError(){return this.type==d.Error}toNumber(){return this.type==d.Number?this.numValue:-1}toString(){switch(this.type){case d.Character:case d.Identifier:case d.Keyword:case d.Operator:case d.PrivateIdentifier:case d.String:case d.Error:return this.strValue;case d.Number:return this.numValue.toString();default:return null}}};function ot(r,e,t){return new N(r,e,d.Character,t,String.fromCharCode(t))}function vr(r,e,t){return new N(r,e,d.Identifier,0,t)}function gr(r,e,t){return new N(r,e,d.PrivateIdentifier,0,t)}function mr(r,e,t){return new N(r,e,d.Keyword,0,t)}function Be(r,e,t){return new N(r,e,d.Operator,0,t)}function Sr(r,e,t){return new N(r,e,d.String,0,t)}function wr(r,e,t){return new N(r,e,d.Number,t,"")}function yr(r,e,t){return new N(r,e,d.Error,0,t)}var Ce=new N(-1,-1,d.Character,0,""),Ke=class{constructor(e){this.input=e,this.peek=0,this.index=-1,this.length=e.length,this.advance()}advance(){this.peek=++this.index>=this.length?0:this.input.charCodeAt(this.index)}scanToken(){let e=this.input,t=this.length,s=this.peek,n=this.index;for(;s<=32;)if(++n>=t){s=0;break}else s=e.charCodeAt(n);if(this.peek=s,this.index=n,n>=t)return null;if(ct(s))return this.scanIdentifier();if(b(s))return this.scanNumber(n);let i=n;switch(s){case 46:return this.advance(),b(this.peek)?this.scanNumber(i):ot(i,this.index,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(i,s);case 39:case 34:return this.scanString();case 35:return this.scanPrivateIdentifier();case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(i,String.fromCharCode(s));case 63:return this.scanQuestion(i);case 60:case 62:return this.scanComplexOperator(i,String.fromCharCode(s),61,"=");case 33:case 61:return this.scanComplexOperator(i,String.fromCharCode(s),61,"=",61,"=");case 38:return this.scanComplexOperator(i,"&",38,"&");case 124:return this.scanComplexOperator(i,"|",124,"|");case 160:for(;tt(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(s)}]`,0)}scanCharacter(e,t){return this.advance(),ot(e,this.index,t)}scanOperator(e,t){return this.advance(),Be(e,this.index,t)}scanComplexOperator(e,t,s,n,i,a){this.advance();let h=t;return this.peek==s&&(this.advance(),h+=n),i!=null&&this.peek==i&&(this.advance(),h+=a),Be(e,this.index,h)}scanIdentifier(){let e=this.index;for(this.advance();ht(this.peek);)this.advance();let t=this.input.substring(e,this.index);return dr.indexOf(t)>-1?mr(e,this.index,t):vr(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!ct(this.peek))return this.error("Invalid character [#]",-1);for(;ht(this.peek);)this.advance();let t=this.input.substring(e,this.index);return gr(e,this.index,t)}scanNumber(e){let t=this.index===e,s=!1;for(this.advance();;){if(!b(this.peek))if(this.peek===95){if(!b(this.input.charCodeAt(this.index-1))||!b(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);s=!0}else if(this.peek===46)t=!1;else if(Er(this.peek)){if(this.advance(),Ar(this.peek)&&this.advance(),!b(this.peek))return this.error("Invalid exponent",-1);t=!1}else break;this.advance()}let n=this.input.substring(e,this.index);s&&(n=n.replace(/_/g,""));let i=t?Cr(n):parseFloat(n);return wr(e,this.index,i)}scanString(){let e=this.index,t=this.peek;this.advance();let s="",n=this.index,i=this.input;for(;this.peek!=t;)if(this.peek==92){s+=i.substring(n,this.index);let h;if(this.advance(),this.peek==117){let v=i.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(v))h=parseInt(v,16);else return this.error(`Invalid unicode escape [\\u${v}]`,0);for(let f=0;f<5;f++)this.advance()}else h=$r(this.peek),this.advance();s+=String.fromCharCode(h),n=this.index}else{if(this.peek==0)return this.error("Unterminated quote",0);this.advance()}let a=i.substring(n,this.index);return this.advance(),Sr(e,this.index,s+a)}scanQuestion(e){this.advance();let t="?";return(this.peek===63||this.peek===46)&&(t+=this.peek===46?".":"?",this.advance()),Be(e,this.index,t)}error(e,t){let s=this.index+t;return yr(s,this.index,`Lexer Error: ${e} at column ${s} in expression [${this.input}]`)}};function ct(r){return 97<=r&&r<=122||65<=r&&r<=90||r==95||r==36}function ht(r){return rt(r)||b(r)||r==95||r==36}function Er(r){return r==101||r==69}function Ar(r){return r==45||r==43}function $r(r){switch(r){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return r}}function Cr(r){let e=parseInt(r);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+r);return e}var Or=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function xt(r,e){if(e!=null&&!(Array.isArray(e)&&e.length==2))throw new Error(`Expected '${r}' to be an array, [start, end].`);if(e!=null){let t=e[0],s=e[1];Or.forEach(n=>{if(n.test(t)||n.test(s))throw new Error(`['${t}', '${s}'] contains unusable interpolation symbol.`)})}}var _e=class r{static fromArray(e){return e?(xt("interpolation",e),new r(e[0],e[1])):F}constructor(e,t){this.start=e,this.end=t}},F=new _e("{{","}}");var Me=class{constructor(e,t,s){this.strings=e,this.expressions=t,this.offsets=s}},Fe=class{constructor(e,t,s){this.templateBindings=e,this.warnings=t,this.errors=s}},ve=class{constructor(e){this._lexer=e,this.errors=[]}parseAction(e,t,s,n,i=F){this._checkNoInterpolation(e,s,i);let a=this._stripComments(e),h=this._lexer.tokenize(a),v=1;t&&(v|=2);let f=new U(e,s,n,h,v,this.errors,0).parseChain();return new R(f,e,s,n,this.errors)}parseBinding(e,t,s,n=F){let i=this._parseBindingAst(e,t,s,n);return new R(i,e,t,s,this.errors)}checkSimpleExpression(e){let t=new Ue;return e.visit(t),t.errors}parseSimpleBinding(e,t,s,n=F){let i=this._parseBindingAst(e,t,s,n),a=this.checkSimpleExpression(i);return a.length>0&&this._reportError(`Host binding expression cannot contain ${a.join(" ")}`,e,t),new R(i,e,t,s,this.errors)}_reportError(e,t,s,n){this.errors.push(new G(e,t,s,n))}_parseBindingAst(e,t,s,n){this._checkNoInterpolation(e,t,n);let i=this._stripComments(e),a=this._lexer.tokenize(i);return new U(e,t,s,a,0,this.errors,0).parseChain()}parseTemplateBindings(e,t,s,n,i){let a=this._lexer.tokenize(t);return new U(t,s,i,a,0,this.errors,0).parseTemplateBindings({source:e,span:new I(n,n+e.length)})}parseInterpolation(e,t,s,n,i=F){let{strings:a,expressions:h,offsets:v}=this.splitInterpolation(e,t,n,i);if(h.length===0)return null;let f=[];for(let w=0;ww.text),f,e,t,s)}parseInterpolationExpression(e,t,s){let n=this._stripComments(e),i=this._lexer.tokenize(n),a=new U(e,t,s,i,0,this.errors,0).parseChain(),h=["",""];return this.createInterpolationAst(h,[a],e,t,s)}createInterpolationAst(e,t,s,n,i){let a=new P(0,s.length),h=new we(a,a.toAbsolute(i),e,t);return new R(h,s,n,i,this.errors)}splitInterpolation(e,t,s,n=F){let i=[],a=[],h=[],v=s?Nr(s):null,f=0,w=!1,k=!1,{start:C,end:y}=n;for(;f-1)break;i>-1&&a>-1&&this._reportError(`Got interpolation (${s}${n}) where expression was expected`,e,`at column ${i} in`,t)}_getInterpolationEndIndex(e,t,s){for(let n of this._forEachUnquotedChar(e,s)){if(e.startsWith(t,n))return n;if(e.startsWith("//",n))return e.indexOf(t,n)}return-1}*_forEachUnquotedChar(e,t){let s=null,n=0;for(let i=t;i=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.input.length+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let s=this.currentEndIndex;if(t!==void 0&&t>this.currentEndIndex&&(s=t),e>s){let n=s;s=e,e=n}return new P(e,s)}sourceSpan(e,t){let s=`${e}@${this.inputIndex}:${t}`;return this.sourceSpanCache.has(s)||this.sourceSpanCache.set(s,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(s)}advance(){this.index++}withContext(e,t){this.context|=e;let s=t();return this.context^=e,s}consumeOptionalCharacter(e){return this.next.isCharacter(e)?(this.advance(),!0):!1}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error(`Missing expected ${String.fromCharCode(e)}`)}consumeOptionalOperator(e){return this.next.isOperator(e)?(this.advance(),!0):!1}expectOperator(e){this.consumeOptionalOperator(e)||this.error(`Missing expected operator ${e}`)}prettyPrintToken(e){return e===Ce?"end of input":`token ${e}`}expectIdentifierOrKeyword(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier or keyword`),null):(this.advance(),e.toString())}expectIdentifierOrKeywordOrString(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()&&!e.isString()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier, keyword, or string`),""):(this.advance(),e.toString())}parseChain(){let e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();let n=this.parseAdditive();t=new $(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parseAdditive(){let e=this.inputIndex,t=this.parseMultiplicative();for(;this.next.type==d.Operator;){let s=this.next.strValue;switch(s){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new $(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parseMultiplicative(){let e=this.inputIndex,t=this.parsePrefix();for(;this.next.type==d.Operator;){let s=this.next.strValue;switch(s){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new $(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parsePrefix(){if(this.next.type==d.Operator){let e=this.inputIndex,t=this.next.strValue,s;switch(t){case"+":return this.advance(),s=this.parsePrefix(),K.createPlus(this.span(e),this.sourceSpan(e),s);case"-":return this.advance(),s=this.parsePrefix(),K.createMinus(this.span(e),this.sourceSpan(e),s);case"!":return this.advance(),s=this.parsePrefix(),new Y(this.span(e),this.sourceSpan(e),s)}}return this.parseCallChain()}parseCallChain(){let e=this.inputIndex,t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(46))t=this.parseAccessMember(t,e,!1);else if(this.consumeOptionalOperator("?."))this.consumeOptionalCharacter(40)?t=this.parseCall(t,e,!0):t=this.consumeOptionalCharacter(91)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMember(t,e,!0);else if(this.consumeOptionalCharacter(91))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(40))t=this.parseCall(t,e,!1);else if(this.consumeOptionalOperator("!"))t=new ee(this.span(e),this.sourceSpan(e),t);else return t}parsePrimary(){let e=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;let t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),t}else{if(this.next.isKeywordNull())return this.advance(),new A(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new A(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new A(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new A(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Se(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;let t=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new Z(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMember(new L(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new A(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new A(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new E(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new E(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new E(this.span(e),this.sourceSpan(e)))}}}parseExpressionList(e){let t=[];do if(!this.next.isCharacter(e))t.push(this.parsePipe());else break;while(this.consumeOptionalCharacter(44));return t}parseLiteralMap(){let e=[],t=[],s=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(125)){this.rbracesExpected++;do{let n=this.inputIndex,i=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();if(e.push({key:a,quoted:i}),i)this.expectCharacter(58),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(58))t.push(this.parsePipe());else{let h=this.span(n),v=this.sourceSpan(n);t.push(new B(h,v,v,new L(h,v),a))}}while(this.consumeOptionalCharacter(44)&&!this.next.isCharacter(125));this.rbracesExpected--,this.expectCharacter(125)}return new J(this.span(s),this.sourceSpan(s),e,t)}parseAccessMember(e,t,s){let n=this.inputIndex,i=this.withContext(he.Writable,()=>{let v=this.expectIdentifierOrKeyword()??"";return v.length===0&&this.error("Expected identifier for property access",e.span.end),v}),a=this.sourceSpan(n),h;if(s)this.consumeOptionalAssignment()?(this.error("The '?.' operator cannot be used in the assignment"),h=new E(this.span(t),this.sourceSpan(t))):h=new H(this.span(t),this.sourceSpan(t),a,e,i);else if(this.consumeOptionalAssignment()){if(!(this.parseFlags&1))return this.error("Bindings cannot contain assignments"),new E(this.span(t),this.sourceSpan(t));let v=this.parseConditional();h=new Q(this.span(t),this.sourceSpan(t),a,e,i,v)}else h=new B(this.span(t),this.sourceSpan(t),a,e,i);return h}parseCall(e,t,s){let n=this.inputIndex;this.rparensExpected++;let i=this.parseCallArguments(),a=this.span(n,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(41),this.rparensExpected--;let h=this.span(t),v=this.sourceSpan(t);return s?new re(h,v,e,i,a):new te(h,v,e,i,a)}consumeOptionalAssignment(){return this.parseFlags&2&&this.next.isOperator("!")&&this.peek(1).isOperator("=")?(this.advance(),this.advance(),!0):this.consumeOptionalOperator("=")}parseCallArguments(){if(this.next.isCharacter(41))return[];let e=[];do e.push(this.parsePipe());while(this.consumeOptionalCharacter(44));return e}expectTemplateBindingKey(){let e="",t=!1,s=this.currentAbsoluteOffset;do e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-");while(t);return{source:e,span:new I(s,s+e.length)}}parseTemplateBindings(e){let t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index{this.rbracketsExpected++;let n=this.parsePipe();if(n instanceof E&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(93),this.consumeOptionalOperator("="))if(s)this.error("The '?.' operator cannot be used in the assignment");else{let i=this.parseConditional();return new q(this.span(t),this.sourceSpan(t),e,n,i)}else return s?new z(this.span(t),this.sourceSpan(t),e,n):new j(this.span(t),this.sourceSpan(t),e,n);return new E(this.span(t),this.sourceSpan(t))})}parseDirectiveKeywordBindings(e){let t=[];this.consumeOptionalCharacter(58);let s=this.getDirectiveBoundTarget(),n=this.currentAbsoluteOffset,i=this.parseAsBinding(e);i||(this.consumeStatementTerminator(),n=this.currentAbsoluteOffset);let a=new I(e.span.start,n);return t.push(new se(a,e,s)),i&&t.push(i),t}getDirectiveBoundTarget(){if(this.next===Ce||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:s}=e.span,n=this.input.substring(t,s);return new R(e,n,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();let t=this.expectTemplateBindingKey();this.consumeStatementTerminator();let s=new I(e.span.start,this.currentAbsoluteOffset);return new T(s,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;let e=this.currentAbsoluteOffset;this.advance();let t=this.expectTemplateBindingKey(),s=null;this.consumeOptionalOperator("=")&&(s=this.expectTemplateBindingKey()),this.consumeStatementTerminator();let n=new I(e,this.currentAbsoluteOffset);return new T(n,t,s)}consumeStatementTerminator(){this.consumeOptionalCharacter(59)||this.consumeOptionalCharacter(44)}error(e,t=null){this.errors.push(new G(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(e=null){return e==null&&(e=this.index),eh+v.length,0);s+=a,t+=a}e.set(s,t),n++}return e}var dt="angular-estree-parser",De="NgEstreeParser",Ge=0,Ve=[dt,Ge];function vt(){return new ve(new xe)}function We(r,e){let t=vt(),{astInput:s,comments:n}=Ir(r,t),{ast:i,errors:a}=e(s,t);return yt(a),{ast:i,comments:n}}function gt(r){return We(r,(e,t)=>t.parseBinding(e,...Ve))}function mt(r){return We(r,(e,t)=>t.parseAction(e,!1,...Ve))}function St(r){return We(r,(e,t)=>{let s=t.parseInterpolationExpression(e,...Ve);return s.ast=s.ast.expressions[0],s})}function wt(r){let e=vt(),{templateBindings:t,errors:s}=e.parseTemplateBindings(De,r,dt,Ge,Ge);return yt(s),t}function yt(r){if(r.length!==0){let[{message:e}]=r;throw new SyntaxError(e.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function Ir(r,e){let t=e._commentStart(r);return t===null?{astInput:r,comments:[]}:{astInput:r.slice(0,t),comments:[{type:"Comment",value:r.slice(t+2),sourceSpan:{start:t,end:r.length}}]}}function Et(r){return r instanceof K?"Unary":r instanceof $?"Binary":r instanceof X?"BindingPipe":r instanceof te?"Call":r instanceof V?"Chain":r instanceof W?"Conditional":r instanceof E?"EmptyExpr":r instanceof L?"ImplicitReceiver":r instanceof j?"KeyedRead":r instanceof z?"SafeKeyedRead":r instanceof q?"KeyedWrite":r instanceof Z?"LiteralArray":r instanceof J?"LiteralMap":r instanceof A?"LiteralPrimitive":r instanceof ee?"NonNullAssert":r instanceof Y?"PrefixNot":r instanceof B?"PropertyRead":r instanceof Q?"PropertyWrite":r instanceof re?"SafeCall":r instanceof H?"SafePropertyRead":r.type}function ft({start:r,end:e},t){let s=r,n=e;for(;n!==s&&/\s/.test(t[n-1]);)n--;for(;s!==n&&/\s/.test(t[s]);)s++;return{start:s,end:n}}function Rr({start:r,end:e},t){let s=r,n=e;for(;n!==t.length&&/\s/.test(t[n]);)n++;for(;s!==0&&/\s/.test(t[s-1]);)s--;return{start:s,end:n}}function Pr(r,e){return e[r.start-1]==="("&&e[r.end]===")"?{start:r.start-1,end:r.end+1}:r}function At(r,e,t){let s=0,n={start:r.start,end:r.end};for(;;){let i=Rr(n,e),a=Pr(i,e);if(i.start===a.start&&i.end===a.end)break;n.start=a.start,n.end=a.end,s++}return{hasParens:(t?s-1:s)!==0,outerSpan:ft(t?{start:n.start+1,end:n.end-1}:n,e),innerSpan:ft(r,e)}}function $t(r,e,t){let s=e;for(;!r.test(t[s]);)if(--s<0)throw new Error(`Cannot find front char ${r} from index ${e} in ${JSON.stringify(t)}`);return s}function Oe(r,e,t){let s=e;for(;!r.test(t[s]);)if(++s>=t.length)throw new Error(`Cannot find back char ${r} from index ${e} in ${JSON.stringify(t)}`);return s}function Ct(r){return r.slice(0,1).toLowerCase()+r.slice(1)}function Ot(r){return r.length===0?void 0:r[r.length-1]}var pe=(r,e,t=!1)=>{let s=Et(r);switch(s){case"Unary":{let{operator:c,expr:o}=r,x=n(o);return a("UnaryExpression",{prefix:!0,argument:x,operator:c},r.sourceSpan,{hasParentParens:t})}case"Binary":{let{left:c,operation:o,right:x}=r,p=n(c),u=n(x);return a(o==="&&"||o==="||"||o==="??"?"LogicalExpression":"BinaryExpression",{left:p,right:u,operator:o},{start:y(p),end:m(u)},{hasParentParens:t})}case"BindingPipe":{let{exp:c,name:o,args:x}=r,p=n(c),u=f(/\S/,f(/\|/,m(p))+1),g=a("Identifier",{name:o},{start:u,end:u+o.length}),l=x.map(n);return a("NGPipeExpression",{left:p,right:g,arguments:l},{start:y(p),end:m(l.length===0?g:Ot(l))},{hasParentParens:t})}case"Chain":{let{expressions:c}=r;return a("NGChainedExpression",{expressions:c.map(n)},r.sourceSpan,{hasParentParens:t})}case"Comment":{let{value:c}=r;return a("CommentLine",{value:c},r.sourceSpan,{processSpan:!1})}case"Conditional":{let{condition:c,trueExp:o,falseExp:x}=r,p=n(c),u=n(o),g=n(x);return a("ConditionalExpression",{test:p,consequent:u,alternate:g},{start:y(p),end:m(g)},{hasParentParens:t})}case"EmptyExpr":return a("NGEmptyExpression",{},r.sourceSpan,{hasParentParens:t});case"ImplicitReceiver":return a("ThisExpression",{},r.sourceSpan,{hasParentParens:t});case"KeyedRead":case"SafeKeyedRead":{let c=s==="SafeKeyedRead",{key:o}=r,x=Object.prototype.hasOwnProperty.call(r,"receiver")?r.receiver:r.obj,p=n(o);return h(x,p,{computed:!0,optional:c},{end:r.sourceSpan.end,hasParentParens:t})}case"LiteralArray":{let{expressions:c}=r;return a("ArrayExpression",{elements:c.map(n)},r.sourceSpan,{hasParentParens:t})}case"LiteralMap":{let{keys:c,values:o}=r,x=o.map(u=>n(u)),p=c.map(({key:u,quoted:g},l)=>{let O=x[l],ue=y(O),qe=m(O),Ie=f(/\S/,l===0?r.sourceSpan.start+1:f(/,/,m(x[l-1]))+1),bt=ue===Ie?qe:v(/\S/,v(/:/,ue-1)-1)+1,Xe={start:Ie,end:bt},ge=g?a("StringLiteral",{value:u},Xe):a("Identifier",{name:u},Xe),Bt=ge.end=c.sourceSpan.end||/^\s+$/.test(e.text.slice(c.sourceSpan.start,c.sourceSpan.end))}function k(c){return(c.type==="OptionalCallExpression"||c.type==="OptionalMemberExpression")&&!C(c)}function C(c){return c.extra&&c.extra.parenthesized}function y(c){return C(c)?c.extra.parenStart:c.start}function m(c){return C(c)?c.extra.parenEnd:c.end}};function Ne(r,e,t=!1,s=!1){if(!t){let{start:h,end:v}=r;return{start:h,end:v,loc:{start:e.locator.locationForIndex(h),end:e.locator.locationForIndex(v)}}}let{outerSpan:n,innerSpan:i,hasParens:a}=At(r,e.text,s);return{start:i.start,end:i.end,loc:{start:e.locator.locationForIndex(i.start),end:e.locator.locationForIndex(i.end)},...a&&{extra:{parenthesized:!0,parenStart:n.start,parenEnd:n.end}}}}function Nt(r,e){r.forEach(y);let[t]=r,{key:s}=t,n=e.text.slice(t.sourceSpan.start,t.sourceSpan.end).trim().length===0?r.slice(1):r,i=[],a=null;for(let o=0;o({...O,...Ne({start:O.start,end:ue},e)}),g=O=>({...u(O,p.end),alias:p}),l=i.pop();if(l.type==="NGMicrosyntaxExpression")i.push(g(l));else if(l.type==="NGMicrosyntaxKeyedExpression"){let O=g(l.expression);i.push(u({...l,expression:O},O.end))}else throw new Error(`Unexpected type ${l.type}`)}else i.push(h(x,o));a=x}return f("NGMicrosyntax",{body:i},i.length===0?r[0].sourceSpan:{start:i[0].start,end:i[i.length-1].end});function h(o,x){if(k(o)){let{key:p,value:u}=o;return u?x===0?f("NGMicrosyntaxExpression",{expression:v(u.ast),alias:null},u.sourceSpan):f("NGMicrosyntaxKeyedExpression",{key:f("NGMicrosyntaxKey",{name:w(p.source)},p.span),expression:f("NGMicrosyntaxExpression",{expression:v(u.ast),alias:null},u.sourceSpan)},{start:p.span.start,end:u.sourceSpan.end}):f("NGMicrosyntaxKey",{name:w(p.source)},p.span)}else{let{key:p,sourceSpan:u}=o;if(/^let\s$/.test(e.text.slice(u.start,u.start+4))){let{value:l}=o;return f("NGMicrosyntaxLet",{key:f("NGMicrosyntaxKey",{name:p.source},p.span),value:l?f("NGMicrosyntaxKey",{name:l.source},l.span):null},{start:u.start,end:l?l.span.end:p.span.end})}else{let l=c(o);return f("NGMicrosyntaxAs",{key:f("NGMicrosyntaxKey",{name:l.source},l.span),alias:f("NGMicrosyntaxKey",{name:p.source},p.span)},{start:l.span.start,end:p.span.end})}}}function v(o){return pe(o,e)}function f(o,x,p,u=!0){return{type:o,...Ne(p,e,u),...x}}function w(o){return Ct(o.slice(s.source.length))}function k(o){return o instanceof se}function C(o){return o instanceof T}function y(o){m(o.key.span),C(o)&&o.value&&m(o.value.span)}function m(o){if(e.text[o.start]!=='"'&&e.text[o.start]!=="'")return;let x=e.text[o.start],p=!1;for(let u=o.start+1;upe(h,n),a=i(t);return a.comments=s.map(h=>i(h)),a}function kt(r){return Qe(r,gt)}function It(r){return Qe(r,St)}function He(r){return Qe(r,mt)}function Rt(r){return Nt(wt(r),new le(r))}function Lr(r){return Array.isArray(r)&&r.length>0}var Pt=Lr;function je(r){var s;let e=r.range?r.range[0]:r.start,t=((s=r.declaration)==null?void 0:s.decorators)??r.decorators;return Pt(t)?Math.min(je(t[0]),e):e}function Lt(r){return r.range?r.range[1]:r.end}function ke(r){return{astFormat:"estree",parse(e){let t=r(e);return{type:"NGRoot",node:r===He&&t.type!=="NGChainedExpression"?{...t,type:"NGChainedExpression",expressions:[t]}:t}},locStart:je,locEnd:Lt}}var br=ke(He),Br=ke(kt),Kr=ke(It),Tr=ke(Rt);return Ft(_r);});
\ No newline at end of file
diff --git a/node_modules/prettier/plugins/angular.mjs b/node_modules/prettier/plugins/angular.mjs
index 91fae53..8de7e17 100644
--- a/node_modules/prettier/plugins/angular.mjs
+++ b/node_modules/prettier/plugins/angular.mjs
@@ -1,2 +1,2 @@
-var Kt=Object.defineProperty;var Ze=(s,e)=>{for(var t in e)Kt(s,t,{get:e[t],enumerable:!0})};var ze={};Ze(ze,{parsers:()=>Ie});var Ie={};Ze(Ie,{__ng_action:()=>Ir,__ng_binding:()=>Rr,__ng_directive:()=>Lr,__ng_interpolation:()=>Pr});var me=`
-`,Je="\r",Ye=function(){function s(e){this.length=e.length;for(var t=[0],r=0;rthis.length)return null;for(var t=0,r=this.offsets;r[t+1]<=e;)t++;var n=e-r[t];return{line:t,column:n}},s.prototype.indexForLocation=function(e){var t=e.line,r=e.column;return t<0||t>=this.offsets.length||r<0||r>this.lengthOfLine(t)?null:this.offsets[t]+r},s.prototype.lengthOfLine=function(e){var t=this.offsets[e],r=e===this.offsets.length-1?this.length:this.offsets[e+1];return r-t},s}();var le=class{text;locator;constructor(e){this.text=e,this.locator=new Pe(this.text)}},Pe=class{_linesAndColumns;constructor(e){this._linesAndColumns=new Ye(e)}locationForIndex(e){let{line:t,column:r}=this._linesAndColumns.locationForIndex(e);return{line:t+1,column:r,index:e}}};var G=class{constructor(e,t,r,n){this.input=t,this.errLocation=r,this.ctxLocation=n,this.message=`Parser Error: ${e} ${r} [${t}] in ${n}`}},P=class{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new I(e+this.start,e+this.end)}},S=class{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},D=class extends S{constructor(e,t,r){super(e,t),this.nameSpan=r}},E=class extends S{visit(e,t=null){}},L=class extends S{visit(e,t=null){return e.visitImplicitReceiver(this,t)}},Se=class extends L{visit(e,t=null){var r;return(r=e.visitThisReceiver)==null?void 0:r.call(e,this,t)}},V=class extends S{constructor(e,t,r){super(e,t),this.expressions=r}visit(e,t=null){return e.visitChain(this,t)}},W=class extends S{constructor(e,t,r,n,i){super(e,t),this.condition=r,this.trueExp=n,this.falseExp=i}visit(e,t=null){return e.visitConditional(this,t)}},B=class extends D{constructor(e,t,r,n,i){super(e,t,r),this.receiver=n,this.name=i}visit(e,t=null){return e.visitPropertyRead(this,t)}},Q=class extends D{constructor(e,t,r,n,i,a){super(e,t,r),this.receiver=n,this.name=i,this.value=a}visit(e,t=null){return e.visitPropertyWrite(this,t)}},H=class extends D{constructor(e,t,r,n,i){super(e,t,r),this.receiver=n,this.name=i}visit(e,t=null){return e.visitSafePropertyRead(this,t)}},j=class extends S{constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e,t=null){return e.visitKeyedRead(this,t)}},z=class extends S{constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e,t=null){return e.visitSafeKeyedRead(this,t)}},q=class extends S{constructor(e,t,r,n,i){super(e,t),this.receiver=r,this.key=n,this.value=i}visit(e,t=null){return e.visitKeyedWrite(this,t)}},X=class extends D{constructor(e,t,r,n,i,a){super(e,t,a),this.exp=r,this.name=n,this.args=i}visit(e,t=null){return e.visitPipe(this,t)}},A=class extends S{constructor(e,t,r){super(e,t),this.value=r}visit(e,t=null){return e.visitLiteralPrimitive(this,t)}},Z=class extends S{constructor(e,t,r){super(e,t),this.expressions=r}visit(e,t=null){return e.visitLiteralArray(this,t)}},J=class extends S{constructor(e,t,r,n){super(e,t),this.keys=r,this.values=n}visit(e,t=null){return e.visitLiteralMap(this,t)}},we=class extends S{constructor(e,t,r,n){super(e,t),this.strings=r,this.expressions=n}visit(e,t=null){return e.visitInterpolation(this,t)}},$=class extends S{constructor(e,t,r,n,i){super(e,t),this.operation=r,this.left=n,this.right=i}visit(e,t=null){return e.visitBinary(this,t)}},K=class s extends ${static createMinus(e,t,r){return new s(e,t,"-",r,"-",new A(e,t,0),r)}static createPlus(e,t,r){return new s(e,t,"+",r,"-",r,new A(e,t,0))}constructor(e,t,r,n,i,a,h){super(e,t,i,a,h),this.operator=r,this.expr=n,this.left=null,this.right=null,this.operation=null}visit(e,t=null){return e.visitUnary!==void 0?e.visitUnary(this,t):e.visitBinary(this,t)}},Y=class extends S{constructor(e,t,r){super(e,t),this.expression=r}visit(e,t=null){return e.visitPrefixNot(this,t)}},ee=class extends S{constructor(e,t,r){super(e,t),this.expression=r}visit(e,t=null){return e.visitNonNullAssert(this,t)}},te=class extends S{constructor(e,t,r,n,i){super(e,t),this.receiver=r,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitCall(this,t)}},re=class extends S{constructor(e,t,r,n,i){super(e,t),this.receiver=r,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitSafeCall(this,t)}},I=class{constructor(e,t){this.start=e,this.end=t}},R=class extends S{constructor(e,t,r,n,i){super(new P(0,t===null?0:t.length),new I(n,t===null?n:n+t.length)),this.ast=e,this.source=t,this.location=r,this.errors=i}visit(e,t=null){return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return`${this.source} in ${this.location}`}},T=class{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},se=class{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},ye=class{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitAll(e,t){for(let r of e)this.visit(r,t)}};var et;(function(s){s[s.DEFAULT=0]="DEFAULT",s[s.LITERAL_ATTR=1]="LITERAL_ATTR",s[s.ANIMATION=2]="ANIMATION"})(et||(et={}));function tt(s){return s>=9&&s<=32||s==160}function b(s){return 48<=s&&s<=57}function rt(s){return s>=97&&s<=122||s>=65&&s<=90}function Le(s){return s===39||s===34||s===96}var d;(function(s){s[s.Character=0]="Character",s[s.Identifier=1]="Identifier",s[s.PrivateIdentifier=2]="PrivateIdentifier",s[s.Keyword=3]="Keyword",s[s.String=4]="String",s[s.Operator=5]="Operator",s[s.Number=6]="Number",s[s.Error=7]="Error"})(d||(d={}));var ur=["var","let","as","null","undefined","true","false","if","else","this"],xe=class{tokenize(e){let t=new Ke(e),r=[],n=t.scanToken();for(;n!=null;)r.push(n),n=t.scanToken();return r}},N=class{constructor(e,t,r,n,i){this.index=e,this.end=t,this.type=r,this.numValue=n,this.strValue=i}isCharacter(e){return this.type==d.Character&&this.numValue==e}isNumber(){return this.type==d.Number}isString(){return this.type==d.String}isOperator(e){return this.type==d.Operator&&this.strValue==e}isIdentifier(){return this.type==d.Identifier}isPrivateIdentifier(){return this.type==d.PrivateIdentifier}isKeyword(){return this.type==d.Keyword}isKeywordLet(){return this.type==d.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==d.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==d.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==d.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==d.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==d.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==d.Keyword&&this.strValue=="this"}isError(){return this.type==d.Error}toNumber(){return this.type==d.Number?this.numValue:-1}toString(){switch(this.type){case d.Character:case d.Identifier:case d.Keyword:case d.Operator:case d.PrivateIdentifier:case d.String:case d.Error:return this.strValue;case d.Number:return this.numValue.toString();default:return null}}};function ot(s,e,t){return new N(s,e,d.Character,t,String.fromCharCode(t))}function lr(s,e,t){return new N(s,e,d.Identifier,0,t)}function xr(s,e,t){return new N(s,e,d.PrivateIdentifier,0,t)}function fr(s,e,t){return new N(s,e,d.Keyword,0,t)}function Be(s,e,t){return new N(s,e,d.Operator,0,t)}function dr(s,e,t){return new N(s,e,d.String,0,t)}function vr(s,e,t){return new N(s,e,d.Number,t,"")}function gr(s,e,t){return new N(s,e,d.Error,0,t)}var Ce=new N(-1,-1,d.Character,0,""),Ke=class{constructor(e){this.input=e,this.peek=0,this.index=-1,this.length=e.length,this.advance()}advance(){this.peek=++this.index>=this.length?0:this.input.charCodeAt(this.index)}scanToken(){let e=this.input,t=this.length,r=this.peek,n=this.index;for(;r<=32;)if(++n>=t){r=0;break}else r=e.charCodeAt(n);if(this.peek=r,this.index=n,n>=t)return null;if(ct(r))return this.scanIdentifier();if(b(r))return this.scanNumber(n);let i=n;switch(r){case 46:return this.advance(),b(this.peek)?this.scanNumber(i):ot(i,this.index,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(i,r);case 39:case 34:return this.scanString();case 35:return this.scanPrivateIdentifier();case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(i,String.fromCharCode(r));case 63:return this.scanQuestion(i);case 60:case 62:return this.scanComplexOperator(i,String.fromCharCode(r),61,"=");case 33:case 61:return this.scanComplexOperator(i,String.fromCharCode(r),61,"=",61,"=");case 38:return this.scanComplexOperator(i,"&",38,"&");case 124:return this.scanComplexOperator(i,"|",124,"|");case 160:for(;tt(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(r)}]`,0)}scanCharacter(e,t){return this.advance(),ot(e,this.index,t)}scanOperator(e,t){return this.advance(),Be(e,this.index,t)}scanComplexOperator(e,t,r,n,i,a){this.advance();let h=t;return this.peek==r&&(this.advance(),h+=n),i!=null&&this.peek==i&&(this.advance(),h+=a),Be(e,this.index,h)}scanIdentifier(){let e=this.index;for(this.advance();ht(this.peek);)this.advance();let t=this.input.substring(e,this.index);return ur.indexOf(t)>-1?fr(e,this.index,t):lr(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!ct(this.peek))return this.error("Invalid character [#]",-1);for(;ht(this.peek);)this.advance();let t=this.input.substring(e,this.index);return xr(e,this.index,t)}scanNumber(e){let t=this.index===e,r=!1;for(this.advance();;){if(!b(this.peek))if(this.peek===95){if(!b(this.input.charCodeAt(this.index-1))||!b(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);r=!0}else if(this.peek===46)t=!1;else if(mr(this.peek)){if(this.advance(),Sr(this.peek)&&this.advance(),!b(this.peek))return this.error("Invalid exponent",-1);t=!1}else break;this.advance()}let n=this.input.substring(e,this.index);r&&(n=n.replace(/_/g,""));let i=t?yr(n):parseFloat(n);return vr(e,this.index,i)}scanString(){let e=this.index,t=this.peek;this.advance();let r="",n=this.index,i=this.input;for(;this.peek!=t;)if(this.peek==92){r+=i.substring(n,this.index);let h;if(this.advance(),this.peek==117){let v=i.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(v))h=parseInt(v,16);else return this.error(`Invalid unicode escape [\\u${v}]`,0);for(let f=0;f<5;f++)this.advance()}else h=wr(this.peek),this.advance();r+=String.fromCharCode(h),n=this.index}else{if(this.peek==0)return this.error("Unterminated quote",0);this.advance()}let a=i.substring(n,this.index);return this.advance(),dr(e,this.index,r+a)}scanQuestion(e){this.advance();let t="?";return(this.peek===63||this.peek===46)&&(t+=this.peek===46?".":"?",this.advance()),Be(e,this.index,t)}error(e,t){let r=this.index+t;return gr(r,this.index,`Lexer Error: ${e} at column ${r} in expression [${this.input}]`)}};function ct(s){return 97<=s&&s<=122||65<=s&&s<=90||s==95||s==36}function ht(s){return rt(s)||b(s)||s==95||s==36}function mr(s){return s==101||s==69}function Sr(s){return s==45||s==43}function wr(s){switch(s){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return s}}function yr(s){let e=parseInt(s);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+s);return e}var Er=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function xt(s,e){if(e!=null&&!(Array.isArray(e)&&e.length==2))throw new Error(`Expected '${s}' to be an array, [start, end].`);if(e!=null){let t=e[0],r=e[1];Er.forEach(n=>{if(n.test(t)||n.test(r))throw new Error(`['${t}', '${r}'] contains unusable interpolation symbol.`)})}}var _e=class s{static fromArray(e){return e?(xt("interpolation",e),new s(e[0],e[1])):F}constructor(e,t){this.start=e,this.end=t}},F=new _e("{{","}}");var Me=class{constructor(e,t,r){this.strings=e,this.expressions=t,this.offsets=r}},Fe=class{constructor(e,t,r){this.templateBindings=e,this.warnings=t,this.errors=r}},ve=class{constructor(e){this._lexer=e,this.errors=[]}parseAction(e,t,r,n,i=F){this._checkNoInterpolation(e,r,i);let a=this._stripComments(e),h=this._lexer.tokenize(a),v=1;t&&(v|=2);let f=new U(e,r,n,h,v,this.errors,0).parseChain();return new R(f,e,r,n,this.errors)}parseBinding(e,t,r,n=F){let i=this._parseBindingAst(e,t,r,n);return new R(i,e,t,r,this.errors)}checkSimpleExpression(e){let t=new Ue;return e.visit(t),t.errors}parseSimpleBinding(e,t,r,n=F){let i=this._parseBindingAst(e,t,r,n),a=this.checkSimpleExpression(i);return a.length>0&&this._reportError(`Host binding expression cannot contain ${a.join(" ")}`,e,t),new R(i,e,t,r,this.errors)}_reportError(e,t,r,n){this.errors.push(new G(e,t,r,n))}_parseBindingAst(e,t,r,n){this._checkNoInterpolation(e,t,n);let i=this._stripComments(e),a=this._lexer.tokenize(i);return new U(e,t,r,a,0,this.errors,0).parseChain()}parseTemplateBindings(e,t,r,n,i){let a=this._lexer.tokenize(t);return new U(t,r,i,a,0,this.errors,0).parseTemplateBindings({source:e,span:new I(n,n+e.length)})}parseInterpolation(e,t,r,n,i=F){let{strings:a,expressions:h,offsets:v}=this.splitInterpolation(e,t,n,i);if(h.length===0)return null;let f=[];for(let w=0;ww.text),f,e,t,r)}parseInterpolationExpression(e,t,r){let n=this._stripComments(e),i=this._lexer.tokenize(n),a=new U(e,t,r,i,0,this.errors,0).parseChain(),h=["",""];return this.createInterpolationAst(h,[a],e,t,r)}createInterpolationAst(e,t,r,n,i){let a=new P(0,r.length),h=new we(a,a.toAbsolute(i),e,t);return new R(h,r,n,i,this.errors)}splitInterpolation(e,t,r,n=F){let i=[],a=[],h=[],v=r?Ar(r):null,f=0,w=!1,k=!1,{start:C,end:y}=n;for(;f-1)break;i>-1&&a>-1&&this._reportError(`Got interpolation (${r}${n}) where expression was expected`,e,`at column ${i} in`,t)}_getInterpolationEndIndex(e,t,r){for(let n of this._forEachUnquotedChar(e,r)){if(e.startsWith(t,n))return n;if(e.startsWith("//",n))return e.indexOf(t,n)}return-1}*_forEachUnquotedChar(e,t){let r=null,n=0;for(let i=t;i=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.input.length+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let r=this.currentEndIndex;if(t!==void 0&&t>this.currentEndIndex&&(r=t),e>r){let n=r;r=e,e=n}return new P(e,r)}sourceSpan(e,t){let r=`${e}@${this.inputIndex}:${t}`;return this.sourceSpanCache.has(r)||this.sourceSpanCache.set(r,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(r)}advance(){this.index++}withContext(e,t){this.context|=e;let r=t();return this.context^=e,r}consumeOptionalCharacter(e){return this.next.isCharacter(e)?(this.advance(),!0):!1}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error(`Missing expected ${String.fromCharCode(e)}`)}consumeOptionalOperator(e){return this.next.isOperator(e)?(this.advance(),!0):!1}expectOperator(e){this.consumeOptionalOperator(e)||this.error(`Missing expected operator ${e}`)}prettyPrintToken(e){return e===Ce?"end of input":`token ${e}`}expectIdentifierOrKeyword(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier or keyword`),null):(this.advance(),e.toString())}expectIdentifierOrKeywordOrString(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()&&!e.isString()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier, keyword, or string`),""):(this.advance(),e.toString())}parseChain(){let e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();let n=this.parseAdditive();t=new $(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseAdditive(){let e=this.inputIndex,t=this.parseMultiplicative();for(;this.next.type==d.Operator;){let r=this.next.strValue;switch(r){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new $(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseMultiplicative(){let e=this.inputIndex,t=this.parsePrefix();for(;this.next.type==d.Operator;){let r=this.next.strValue;switch(r){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new $(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parsePrefix(){if(this.next.type==d.Operator){let e=this.inputIndex,t=this.next.strValue,r;switch(t){case"+":return this.advance(),r=this.parsePrefix(),K.createPlus(this.span(e),this.sourceSpan(e),r);case"-":return this.advance(),r=this.parsePrefix(),K.createMinus(this.span(e),this.sourceSpan(e),r);case"!":return this.advance(),r=this.parsePrefix(),new Y(this.span(e),this.sourceSpan(e),r)}}return this.parseCallChain()}parseCallChain(){let e=this.inputIndex,t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(46))t=this.parseAccessMember(t,e,!1);else if(this.consumeOptionalOperator("?."))this.consumeOptionalCharacter(40)?t=this.parseCall(t,e,!0):t=this.consumeOptionalCharacter(91)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMember(t,e,!0);else if(this.consumeOptionalCharacter(91))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(40))t=this.parseCall(t,e,!1);else if(this.consumeOptionalOperator("!"))t=new ee(this.span(e),this.sourceSpan(e),t);else return t}parsePrimary(){let e=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;let t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),t}else{if(this.next.isKeywordNull())return this.advance(),new A(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new A(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new A(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new A(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Se(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;let t=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new Z(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMember(new L(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new A(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new A(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new E(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new E(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new E(this.span(e),this.sourceSpan(e)))}}}parseExpressionList(e){let t=[];do if(!this.next.isCharacter(e))t.push(this.parsePipe());else break;while(this.consumeOptionalCharacter(44));return t}parseLiteralMap(){let e=[],t=[],r=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(125)){this.rbracesExpected++;do{let n=this.inputIndex,i=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();if(e.push({key:a,quoted:i}),i)this.expectCharacter(58),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(58))t.push(this.parsePipe());else{let h=this.span(n),v=this.sourceSpan(n);t.push(new B(h,v,v,new L(h,v),a))}}while(this.consumeOptionalCharacter(44)&&!this.next.isCharacter(125));this.rbracesExpected--,this.expectCharacter(125)}return new J(this.span(r),this.sourceSpan(r),e,t)}parseAccessMember(e,t,r){let n=this.inputIndex,i=this.withContext(he.Writable,()=>{let v=this.expectIdentifierOrKeyword()??"";return v.length===0&&this.error("Expected identifier for property access",e.span.end),v}),a=this.sourceSpan(n),h;if(r)this.consumeOptionalAssignment()?(this.error("The '?.' operator cannot be used in the assignment"),h=new E(this.span(t),this.sourceSpan(t))):h=new H(this.span(t),this.sourceSpan(t),a,e,i);else if(this.consumeOptionalAssignment()){if(!(this.parseFlags&1))return this.error("Bindings cannot contain assignments"),new E(this.span(t),this.sourceSpan(t));let v=this.parseConditional();h=new Q(this.span(t),this.sourceSpan(t),a,e,i,v)}else h=new B(this.span(t),this.sourceSpan(t),a,e,i);return h}parseCall(e,t,r){let n=this.inputIndex;this.rparensExpected++;let i=this.parseCallArguments(),a=this.span(n,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(41),this.rparensExpected--;let h=this.span(t),v=this.sourceSpan(t);return r?new re(h,v,e,i,a):new te(h,v,e,i,a)}consumeOptionalAssignment(){return this.parseFlags&2&&this.next.isOperator("!")&&this.peek(1).isOperator("=")?(this.advance(),this.advance(),!0):this.consumeOptionalOperator("=")}parseCallArguments(){if(this.next.isCharacter(41))return[];let e=[];do e.push(this.parsePipe());while(this.consumeOptionalCharacter(44));return e}expectTemplateBindingKey(){let e="",t=!1,r=this.currentAbsoluteOffset;do e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-");while(t);return{source:e,span:new I(r,r+e.length)}}parseTemplateBindings(e){let t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index{this.rbracketsExpected++;let n=this.parsePipe();if(n instanceof E&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(93),this.consumeOptionalOperator("="))if(r)this.error("The '?.' operator cannot be used in the assignment");else{let i=this.parseConditional();return new q(this.span(t),this.sourceSpan(t),e,n,i)}else return r?new z(this.span(t),this.sourceSpan(t),e,n):new j(this.span(t),this.sourceSpan(t),e,n);return new E(this.span(t),this.sourceSpan(t))})}parseDirectiveKeywordBindings(e){let t=[];this.consumeOptionalCharacter(58);let r=this.getDirectiveBoundTarget(),n=this.currentAbsoluteOffset,i=this.parseAsBinding(e);i||(this.consumeStatementTerminator(),n=this.currentAbsoluteOffset);let a=new I(e.span.start,n);return t.push(new se(a,e,r)),i&&t.push(i),t}getDirectiveBoundTarget(){if(this.next===Ce||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:r}=e.span,n=this.input.substring(t,r);return new R(e,n,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();let t=this.expectTemplateBindingKey();this.consumeStatementTerminator();let r=new I(e.span.start,this.currentAbsoluteOffset);return new T(r,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;let e=this.currentAbsoluteOffset;this.advance();let t=this.expectTemplateBindingKey(),r=null;this.consumeOptionalOperator("=")&&(r=this.expectTemplateBindingKey()),this.consumeStatementTerminator();let n=new I(e,this.currentAbsoluteOffset);return new T(n,t,r)}consumeStatementTerminator(){this.consumeOptionalCharacter(59)||this.consumeOptionalCharacter(44)}error(e,t=null){this.errors.push(new G(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(e=null){return e==null&&(e=this.index),eh+v.length,0);r+=a,t+=a}e.set(r,t),n++}return e}var dt="angular-estree-parser",De="NgEstreeParser",Ge=0,Ve=[dt,Ge];function vt(){return new ve(new xe)}function We(s,e){let t=vt(),{astInput:r,comments:n}=Cr(s,t),{ast:i,errors:a}=e(r,t);return yt(a),{ast:i,comments:n}}function gt(s){return We(s,(e,t)=>t.parseBinding(e,...Ve))}function mt(s){return We(s,(e,t)=>t.parseAction(e,!1,...Ve))}function St(s){return We(s,(e,t)=>{let r=t.parseInterpolationExpression(e,...Ve);return r.ast=r.ast.expressions[0],r})}function wt(s){let e=vt(),{templateBindings:t,errors:r}=e.parseTemplateBindings(De,s,dt,Ge,Ge);return yt(r),t}function yt(s){if(s.length!==0){let[{message:e}]=s;throw new SyntaxError(e.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function Cr(s,e){let t=e._commentStart(s);return t===null?{astInput:s,comments:[]}:{astInput:s.slice(0,t),comments:[{type:"Comment",value:s.slice(t+2),sourceSpan:{start:t,end:s.length}}]}}function Et(s){return s instanceof K?"Unary":s instanceof $?"Binary":s instanceof X?"BindingPipe":s instanceof te?"Call":s instanceof V?"Chain":s instanceof W?"Conditional":s instanceof E?"EmptyExpr":s instanceof L?"ImplicitReceiver":s instanceof j?"KeyedRead":s instanceof z?"SafeKeyedRead":s instanceof q?"KeyedWrite":s instanceof Z?"LiteralArray":s instanceof J?"LiteralMap":s instanceof A?"LiteralPrimitive":s instanceof ee?"NonNullAssert":s instanceof Y?"PrefixNot":s instanceof B?"PropertyRead":s instanceof Q?"PropertyWrite":s instanceof re?"SafeCall":s instanceof H?"SafePropertyRead":s.type}function ft({start:s,end:e},t){let r=s,n=e;for(;n!==r&&/\s/.test(t[n-1]);)n--;for(;r!==n&&/\s/.test(t[r]);)r++;return{start:r,end:n}}function Or({start:s,end:e},t){let r=s,n=e;for(;n!==t.length&&/\s/.test(t[n]);)n++;for(;r!==0&&/\s/.test(t[r-1]);)r--;return{start:r,end:n}}function Nr(s,e){return e[s.start-1]==="("&&e[s.end]===")"?{start:s.start-1,end:s.end+1}:s}function At(s,e,t){let r=0,n={start:s.start,end:s.end};for(;;){let i=Or(n,e),a=Nr(i,e);if(i.start===a.start&&i.end===a.end)break;n.start=a.start,n.end=a.end,r++}return{hasParens:(t?r-1:r)!==0,outerSpan:ft(t?{start:n.start+1,end:n.end-1}:n,e),innerSpan:ft(s,e)}}function $t(s,e,t){let r=e;for(;!s.test(t[r]);)if(--r<0)throw new Error(`Cannot find front char ${s} from index ${e} in ${JSON.stringify(t)}`);return r}function Oe(s,e,t){let r=e;for(;!s.test(t[r]);)if(++r>=t.length)throw new Error(`Cannot find back char ${s} from index ${e} in ${JSON.stringify(t)}`);return r}function Ct(s){return s.slice(0,1).toLowerCase()+s.slice(1)}function Ot(s){return s.length===0?void 0:s[s.length-1]}var pe=(s,e,t=!1)=>{let r=Et(s);switch(r){case"Unary":{let{operator:c,expr:o}=s,x=n(o);return a("UnaryExpression",{prefix:!0,argument:x,operator:c},s.sourceSpan,{hasParentParens:t})}case"Binary":{let{left:c,operation:o,right:x}=s,p=n(c),u=n(x);return a(o==="&&"||o==="||"||o==="??"?"LogicalExpression":"BinaryExpression",{left:p,right:u,operator:o},{start:y(p),end:m(u)},{hasParentParens:t})}case"BindingPipe":{let{exp:c,name:o,args:x}=s,p=n(c),u=f(/\S/,f(/\|/,m(p))+1),g=a("Identifier",{name:o},{start:u,end:u+o.length}),l=x.map(n);return a("NGPipeExpression",{left:p,right:g,arguments:l},{start:y(p),end:m(l.length===0?g:Ot(l))},{hasParentParens:t})}case"Chain":{let{expressions:c}=s;return a("NGChainedExpression",{expressions:c.map(n)},s.sourceSpan,{hasParentParens:t})}case"Comment":{let{value:c}=s;return a("CommentLine",{value:c},s.sourceSpan,{processSpan:!1})}case"Conditional":{let{condition:c,trueExp:o,falseExp:x}=s,p=n(c),u=n(o),g=n(x);return a("ConditionalExpression",{test:p,consequent:u,alternate:g},{start:y(p),end:m(g)},{hasParentParens:t})}case"EmptyExpr":return a("NGEmptyExpression",{},s.sourceSpan,{hasParentParens:t});case"ImplicitReceiver":return a("ThisExpression",{},s.sourceSpan,{hasParentParens:t});case"KeyedRead":case"SafeKeyedRead":{let c=r==="SafeKeyedRead",{key:o}=s,x=Object.prototype.hasOwnProperty.call(s,"receiver")?s.receiver:s.obj,p=n(o);return h(x,p,{computed:!0,optional:c},{end:s.sourceSpan.end,hasParentParens:t})}case"LiteralArray":{let{expressions:c}=s;return a("ArrayExpression",{elements:c.map(n)},s.sourceSpan,{hasParentParens:t})}case"LiteralMap":{let{keys:c,values:o}=s,x=o.map(u=>n(u)),p=c.map(({key:u,quoted:g},l)=>{let O=x[l],ue=y(O),qe=m(O),Re=f(/\S/,l===0?s.sourceSpan.start+1:f(/,/,m(x[l-1]))+1),bt=ue===Re?qe:v(/\S/,v(/:/,ue-1)-1)+1,Xe={start:Re,end:bt},ge=g?a("StringLiteral",{value:u},Xe):a("Identifier",{name:u},Xe),Bt=ge.end